文章目录
- 1. 权重初始化
- 2. 偏置初始化
- 3. 损失函数loss
- 4.反向传播
1. 权重初始化
- 不初始化时,为0学不到东西
- 应使各层的激活值既不饱和也不为0,正确的初始化可以加快收敛,降低梯度消失、爆炸的风险
- 常见的初始化方法,小随机数初始化、服从一个多变量高斯分布或多变量均匀分布
- 初始化不合适,训练变慢难收敛
诊断方法
- 观察所有层的激活值和梯度分布的柱状图
例:双曲正切激活函数在区间[-1,1]内都有分布,全为0或者全饱和都是有问题的 - 检查每一层的激活值和梯度方差
2. 偏置初始化
b:0
(relu有时用一个小值如0.01)
3. 损失函数loss
loss函数是定量估测预测值和目标值的偏差
其中,N是数据集数量,{(,),…} 数据集,是数据图像,是标签值,w参数矩阵
其中需要根据网络不同进行不同的设置
如:
- 针对回归问题
- 均方误差(MSE)
为目标标签值,是输出的预测值
- 针对分类问题
- 交叉熵损失函数
交叉熵的含义:两个概率分布之间的差异程度(相关程度)
设有两概率分布:, p表示目标分布, q表示预测分布,有
注意:
物理意义:用来表示概率的困难程度
交叉熵损失函数
其中 为输出分布,取值范围为0或1, 其中目标类别取1,其他类别为0,为参数矩阵 - Softmax
:输入样本时,softmax层之前的神经网络的输出得分
4.反向传播
逐层反向求损失函数对神经网络参数矩阵的梯度,用于参数更新
- 法则1、感知器法则(前提数据是线性可分的)
训练过程:从随机参数开始用感知器对每一个训练数据进行训练,当错误分类时,修改参数,如此重复,直到正确分类所有训练数据。
是第个输入,每次训练时对应的参数
修正值,是当前训练数据目标标签,是感知器输出,是学习速率,通常设为较小的值,如0.1、0.01,且会随训练数据的增加而变小。 - 法则2、delta法则
BP反向传播 (backpropagation)
使用梯度下降法来逐步逼近最佳参数
输出
均方差损失
其中,D训练数据集,输入d的目标输出,实际预测输出
从随机参数开始,以很小的步伐,每一步都沿着梯度方向,修改参数,反复执行,知道找到全局最小误差点
其中为梯度下降中的步长,负号代表参数方向损失函数E下降的方向移动
链式法则:将链路中所有局部梯度相乘
X
神经元
Y
L