深度学习--第10篇: Pytorch卷积层,池化层,线性层和激活函数层

1. 卷积层 Conv Layer

1.1 卷积 1d/2d/3d

 定义:
 - 卷积运算:卷积核在输入信号(图像)上滑动,相应位置上进行乘加;
 - 卷积核:又称为滤波器,过滤器,可认为是某种模式,某种特征;
 - 卷积维度:一般情况下,卷积核在几个维度上滑动,就是几维卷积
功能:
	卷积过程类似于用一个模板去图像上寻找与他相似的区域,与卷积核模式越相似,激活值越高,从而实现特征提取;

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

1.2 nn.Conv2d

nn.Conv2d  功能:对多个二维信号进行二维卷积
主要参数(包含默认值):
     in_channels:输入通道数
     out_channels:输出通道数,等价于卷积核个数
     kernel_size:卷积核尺寸
     stride=1:步长
     padding=0:填充个数
     dilation=1:空调卷积大小
     groups=1:分组卷积设置
     bias=True:偏置
     padding_mode='zeros': 填充模式

在这里插入图片描述

  • 图像尺寸计算公式:

参数:

  • 输入图片大小 Input*Input
  • Filter(卷积核)大小 f*f
  • 空调卷积大小 d
  • 步长 Step
  • padding(填充)的像素数p,p=1就相当于给图像填充后图像大小为(input+1) *(input+1)
  • 输出图片的大小 output * output

注意: 对于计算不能得到整数的输出结果,采用np.floor 向下取整处理.

简化版:
O u t p u t = I n p u t − f + 2 p S t e p + 1 Output = \frac{Input-f+2p}{Step}+1 Output=StepInputf+2p+1

完整版:
O u t p u t = I n p u t + 2 p − d × ( f − 1 ) − 1 S t e p + 1 Output = \frac{Input+2p-d \times(f-1)-1 }{Step}+1 Output=StepInput+2pd×(f1)1+1

1.3 转置卷积 nn.ConvTranspose

转置卷积又称反卷积和部分跨越卷积,用于对图像进行上采样.

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2. 池化层 Pooling Layer

池化运算:对信号进行“收集”并“总结”,类似水池收集水资源,因而得名池化层
“收集”:多变少   “总结”:最大值/平均值

在这里插入图片描述

2.1 最大池化 nn.MaxPool2d

在这里插入图片描述

2.2 平均值池化 nn.AvgPool2d

在这里插入图片描述

2.3 最大池化上采样 nn.MaxUnpool2d

在这里插入图片描述

3. 线性层 Linear Layer

线性层又称全连接层,其每个神经元与上一层所有神经元相连实现对前一层的线性组合,线性变换.

nn.Linear(in_features, out_features, bias=True) 
功能:对一维信号(向量)进行线性组合
主要参数:
     in_features:输入结点数
      out_features:输出结点数
      bias:是否需要偏置

在这里插入图片描述
在这里插入图片描述

4. 激活函数层 Activation Layer

激活函数对特征进行非线性变换,赋予多层神经网络具有深度的意义.

没有激活函数的多个线性层连接,相当于单个线性层.
H1 = X * W1
H2 = H1 * W2
Output = H2 * W3
            = H1 * W2 * W3
            = X * (W1 * W2 * W3)
            = X * W

在这里插入图片描述

4.1 nn.Sigmoid

特性:
    输出值在(0,1),符合概率
    导数范围是[0, 0.25],易导致梯度消失
    输出非零均值,破坏数据分布

在这里插入图片描述

4.2 nn.tanh

特性:
    输出值在(-1,1),数据符合0均值
    导数范围是(0,1),易导致梯度消失

在这里插入图片描述

4.3 nn.ReLu

特性:
    输出值均为正数,负半轴导致死神经元
     导数是1,缓解梯度消失,但易引发梯度爆炸

在这里插入图片描述

4.4 其他激活函数

在这里插入图片描述

5. 正则化

torch.nn.Dropout(p=0.5, inplace=False)
功能: 随机性失活
参数:
	p:被舍弃的概率,失活概率,默认0.5

在这里插入图片描述

6. 批量标准化

nn.BatchNorm1d(feature_in)
nn.BatchNorm2d(feature_in)
nn.BatchNorm3d(feature_in)

参数:
	feature_in: 特征数量,2维一般特指特征深度的数量

在这里插入图片描述