- 池化层 - Pooling Layer
- 线性层 - Linear Layer
- 激活函数层 - Activation Layer
一、池化层
池化运算:对信号进行“收集”并“总结”,类似水池收集水资源,因而得名池化层
“收集”:多变少 “总结”:最大值/平均值
nn.MaxPool2d()
nn.MaxPool2d(
kernel_size, stride=None,
padding=0, dilation=1,
return_indices=False,
ceil_mode=False)
功能:对二维信号(图像)进行最大值池化
主要参数:
kernel_size
:池化核尺寸stride
:步长padding
:填充个数dilation
:池化核间隔大小ceil_mode
:尺寸向上取整return_indices
:记录池化像素索引,用来记录最大值的像素位置
nn.AvgPool2d()
nn.AvgPool2d(
kernel_size,
stride=None,
padding=0,
ceil_mode=False,
count_include_pad=True,
divisor_override=None)
功能:对二维信号(图像)进行最大值池化
主要参数:
kernel_size
:池化核尺寸stride
:步长padding
:填充个数ceil_mode
:尺寸向上取整count_include_pad
:填充值用于计算divisor_override
:除法因子nn.MaxUnpool2d()
```python nn.MaxUnpool2d( kernel_size,
stride=None, padding=0)
forward(self, input, indices, output_size=None)
功能:对二维信号(图像)进行最大值池化上采样<br />主要参数:
- `kernel_size` :池化核尺寸
- `stride` :步长
- `padding` :填充个数
<a name="PQIIn"></a>
# 二、线性层 `nn.Linear()`
线性层又称全连接层,其每个神经元与上一层所有神经元相连,实现对前一层的线性组合,线性变换。
```python
nn.Linear(in_features, out_features, bias=True)
- 功能:对一维信号(向量)进行线性组合
- 主要参数:
in_features
:输入结点数out_features
:输出结点数bias
:是否需要偏置
- 计算公式:
三、激活函数层
激活函数对特征进行非线性变换,赋予多层神经网络具有深度的意义
3.1 nn.Sigmoid()
- 计算公式:
- 梯度公式:
特性:
计算公式:
- 梯度公式:
特性:
计算公式:
- 梯度公式:
特性:
negative_slope:负半轴斜率
nn.PReLU()
- init: 可学习斜率
nn.RReLU()
- lower: 均匀分布下限
- upper:均匀分布上限