Halo
发布于 2022-08-12 / 124 阅读 / 0 评论 / 0 点赞

神经网络入门简介

激活函数

也叫损失函数, 把输入值按照一定的规则做归化

线性激活函数

最简单的激活函数被称为线性激活,其中根本没有应用任何转换

sigmoid 激活函数

也被称为 Logistic函数神经网络,是一个常见的神经网络激活函数.

功能

  • 函数的输入被转换成介于0.0和1.0之间的值。大于1.0的输入被转换为值1.0,同样,小于0.0的值被折断为0.0.

缺点

  • 只对其输入中间点周围的变化敏感

tanh 激活函数

也被称为双曲正切激活函数, 是一个常见的神经网络激活函数.

功能

  • 函数的输入被转换成介于-1.0和1.0之间的值。大于1.0的输入被转换为值1.0,同样,小于-1.0的值被折断为-1.0

缺点

  • 只对其输入中间点周围的变化敏感

ReLU 激活函数

ReLU(Rectified Linear Activation Function), 它看起来和行为都像一个线性函数,但实际上是一个非线性函数

功能

  • 如果函数输入大于0,直接返回作为输入提供的值;如果输入是0或更小,返回值0
  • 反向传播训练神经网络时,它具有很多线性激活函数的理想特性

BN(BatchNorm) 激活函数

BN在干什么了吧?其实就是把隐层神经元激活输入x=WU+B从变化不拘一格的正态分布通过BN操作拉回到了均值为0,方差为1的正态分布.

功能

  • 把原始正态分布中心左移或者右移到以0为均值,拉伸或者缩减形态形成以1为方差的图形。
  • 就是说经过BN后,目前大部分Activation的值落入非线性函数的线性区内,其对应的导数远离导数饱和区,这样来加速训练收敛过程。

值域饱和

sigmoid/tanh 等激活函数, 对于远离中间点的值不敏感, 从而导致输入值有效范围固定, 叫做值域饱和

正向传播

上一层输出值, 传递给下一层作为输入, 进行计算, 叫做正向传播.

反响传播

根据激活函数得到的梯度和模型, 计算出预测值和实际值的误差, 来指导神经网络参数的变化, 叫做反向传播

梯度

梯度就是在某一区域上连续偏导数, 某一方向的最大值.
在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率.

梯度消失

由于 sigmoid/tanh 等激活函数的输出值在[-1, 1]之间, 随着神经网络的层数增加, 输出值会越来越小, 从而导致梯度也越来越小

梯度爆炸

如果激活函数的输出值大于1, 随着神经网络的层数增加, 输出值会越来越大, 从而导致梯度也越来越大

ResNet(Residual Network)

与普通网络的串行结构相比,残差单元增加了跳跃映射,将输入与输出直接进行相加,补充卷积过程中损失的特征信息

DenseNet(Dense Convolutional Network )

在DenseNet中, 第i层的输入不仅与i-1层的输出相关,还有所有之前层的输出有关.


评论