文章目录

  • 池化层pooling layer
  • 概念
  • 参数
  • nn.MaxPool2d
  • nn.AvgPool2d
  • nn.MaxUnpool2d
  • 线性层 linear layer
  • 概念
  • 参数
  • 激活函数层 Activation Layer
  • 概念
  • 参数
  • nn.Sigmoid
  • nn.tanh
  • nn.ReLU
  • 其他激活函数


池化层pooling layer

概念

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

激活函数与归一化的关系_激活函数

激活函数与归一化的关系_池化_02

参数
nn.MaxPool2d

功能:对二维信号(图像)进行最大值池化

主要参数:

• kernel_size:池化核尺寸

• stride:步长

• padding :填充个数

• dilation:池化核间隔大小

• ceil_mode:尺寸向上取整

• return_indices:记录池化像素索引

激活函数与归一化的关系_2d_03

nn.AvgPool2d

功能:对二维信号(图像)进行平均值池化

主要参数:

• kernel_size:池化核尺寸

• stride:步长

• padding :填充个数

• ceil_mode:尺寸向上取整

• count_include_pad:填充值用于计算

• divisor_override :除法因子

激活函数与归一化的关系_激活函数_04

nn.MaxUnpool2d

功能:对二维信号(图像)进行最大值池化

上采样

主要参数:

• kernel_size:池化核尺寸

• stride:步长

• padding :填充个数

激活函数与归一化的关系_2d_05

线性层 linear layer

概念

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

激活函数与归一化的关系_激活函数_06


激活函数与归一化的关系_池化_07

参数

nn.Linear

功能:对一维信号(向量)进行线性组合

主要参数:

• in_features:输入结点数

• out_features:输出结点数

• bias :是否需要偏置

计算公式:y = 𝒙𝑾𝑻 + 𝒃𝒊𝒂 s

激活函数与归一化的关系_激活函数与归一化的关系_08

激活函数层 Activation Layer

概念

激活函数对特征进行非线性变换,赋予多层神经网络具有深度的意义 𝑯𝟏 = 𝑿 ∗ 𝑾𝟏 𝑯𝟐 = 𝑯𝟏 ∗ 𝑾𝟐

O𝒖𝒕𝒑𝒖𝒕 = 𝑯𝟐 ∗ 𝑾𝟑 = 𝑯𝟏 ∗ 𝑾𝟐 ∗ 𝑾𝟑 = 𝑿 ∗ (𝑾𝟏 ∗ 𝑾𝟐 ∗ 𝑾𝟑) = 𝑿 ∗ 𝑾

激活函数与归一化的关系_池化_09

参数
nn.Sigmoid

计算公式:𝐲 = 𝟏/ 𝟏+𝒆−𝒙

梯度公式:𝒚′ = 𝒚 ∗ 𝟏 − 𝒚

特性:

• 输出值在(0,1),符合概率

• 导数范围是[0, 0.25],易导致梯度消失

• 输出为非0均值,破坏数据分布

激活函数与归一化的关系_激活函数与归一化的关系_10

nn.tanh

计算公式:𝐲 =

s in𝒙

𝒄𝒐𝒔𝒙

= 𝒆𝒙−𝒆−𝒙 𝒆− +𝒆−𝒙 = 𝟐 𝟏+𝒆−𝟐𝒙 + 𝟏

梯度公式:𝒚′ = 𝟏 − y 𝟐

特性:

• 输出值在(-1,1),数据符合0均值

• 导数范围是(0, 1),易导致梯度消失

激活函数与归一化的关系_激活函数_11

nn.ReLU

计算公式:𝐲 = max(𝟎, 𝒙)

梯度公式:𝒚′ = ቐ𝟏, 𝒙 > 𝟎

𝒖𝒏𝒅𝒆𝒇 𝒊𝒏𝒆𝒅, 𝒙 = 𝟎 𝟎, 𝒙 < 𝟎

特性:

• 输出值均为正数,负半轴导致死神经元

• 导数是1,缓解梯度消失,但易引发梯度爆


激活函数与归一化的关系_激活函数与归一化的关系_12

其他激活函数

nn.LeakyReLU

• negative_slope: 负半轴斜率

nn.PReLU

• init: 可学习斜率

nn.RReLU

• lower: 均匀分布下限

• upper:均匀分布上限

激活函数与归一化的关系_2d_13