第2节 神经网络
1.单隐层感知机
输入层-》一层隐藏层-》输出层
计算过程:
b为偏置、w为权重向量,f_1、f_2为激活函数
2.感知器的信息传递
多层感知器也成为前馈神经网络。
3.激活函数
激活函数的非线性使得神经网络几乎可以任意逼近非线性函数。如果不适用激活函数,无论有多少层,都只是上一层输入的线性组合,表达能力有限。
对激活函数的基本要求:连续可导,可允许在少数点上不可导
- S型激活函数-有界
Sigmoid:,将任意大小的输入压缩到0-1之间。应用:二分类最后一层的激活函数;类似于开关调节器,用于对其他信息的调节。
Tanh:
- ReLU及其变种
,单侧抑制。优势:为隐藏层输出带来一定的稀疏性,缓解梯度消失的问题。不足:某些情况下会导致某个神经元死亡。
,避免某个神经元死亡。
,将加入可训练的参数中。
,在输入为负的时候,进行非线性变换。a为超参数,具有调节激活值的均值为0的功能,可以加速神经网络的收敛
4.训练神经网络
神经网络运行过程:向前传播、反向传播、参数更新,通过不断迭代进行模型参数的更新。
前向传播:给定输入和参数,逐层向前进行计算,最后输出预测结果。
反向传播:基于前向传播得到的预测结果,使用损失函数得到损失值,然后计算相关参数的梯度,该计算方法成为反向传播。以多层感知机为例介绍反向传播
参数更新:使用梯度下降算法对参数进行更新,重复上述过程,逐步迭代,直到模型收敛。
优化困境:梯度消失、局部最优与鞍点。详细内容参见:梯度消失、局部最优与鞍点