文章目录

  • 1. 权重初始化
  • 2. 偏置初始化
  • 3. 损失函数loss
  • 4.反向传播


1. 权重初始化

  • 不初始化时,为0学不到东西
  • 应使各层的激活值既不饱和也不为0,正确的初始化可以加快收敛,降低梯度消失、爆炸的风险
  • 常见的初始化方法,小随机数初始化、服从一个多变量高斯分布或多变量均匀分布
  • 初始化不合适,训练变慢难收敛
    诊断方法
  • 观察所有层的激活值和梯度分布的柱状图
    例:双曲正切激活函数在区间[-1,1]内都有分布,全为0或者全饱和都是有问题的
  • 检查每一层的激活值和梯度方差

2. 偏置初始化

b:0
(relu有时用一个小值如0.01)

3. 损失函数loss

loss函数是定量估测预测值和目标值的偏差
神经网络loss曲线查看 神经网络loss图_神经网络
其中,N是数据集数量,{(神经网络loss曲线查看 神经网络loss图_神经网络_02,神经网络loss曲线查看 神经网络loss图_初始化_03),…} 数据集,神经网络loss曲线查看 神经网络loss图_神经网络_02是数据图像,神经网络loss曲线查看 神经网络loss图_初始化_03是标签值,w参数矩阵
其中神经网络loss曲线查看 神经网络loss图_初始化_06需要根据网络不同进行不同的设置
如:

  1. 针对回归问题
  • 均方误差(MSE)
    神经网络loss曲线查看 神经网络loss图_深度学习_07
    神经网络loss曲线查看 神经网络loss图_神经网络loss曲线查看_08为目标标签值,神经网络loss曲线查看 神经网络loss图_神经网络_09是输出的预测值
  1. 针对分类问题
  • 交叉熵损失函数
    交叉熵的含义:两个概率分布之间的差异程度(相关程度)
    设有两概率分布:神经网络loss曲线查看 神经网络loss图_神经网络loss曲线查看_10, 神经网络loss曲线查看 神经网络loss图_初始化_11 p表示目标分布, q表示预测分布,有
    神经网络loss曲线查看 神经网络loss图_神经网络_12
    注意:神经网络loss曲线查看 神经网络loss图_神经网络_13
    物理意义:用神经网络loss曲线查看 神经网络loss图_初始化_11来表示概率神经网络loss曲线查看 神经网络loss图_神经网络loss曲线查看_10的困难程度
    交叉熵损失函数
    神经网络loss曲线查看 神经网络loss图_神经网络_16
    其中 神经网络loss曲线查看 神经网络loss图_初始化_17为输出分布,神经网络loss曲线查看 神经网络loss图_神经网络loss曲线查看_08取值范围为0或1, 其中目标类别取1,其他类别为0,神经网络loss曲线查看 神经网络loss图_神经网络_19为参数矩阵
  • Softmax
    神经网络loss曲线查看 神经网络loss图_初始化_20
    神经网络loss曲线查看 神经网络loss图_神经网络_09:输入样本神经网络loss曲线查看 神经网络loss图_损失函数_22时,softmax层之前的神经网络的输出得分

4.反向传播

逐层反向求损失函数对神经网络参数矩阵的梯度,用于参数更新

  • 法则1、感知器法则(前提数据是线性可分的)
    训练过程:从随机参数开始用感知器对每一个训练数据进行训练,当错误分类时,修改参数,如此重复,直到正确分类所有训练数据。
    神经网络loss曲线查看 神经网络loss图_神经网络_23神经网络loss曲线查看 神经网络loss图_初始化_24
    神经网络loss曲线查看 神经网络loss图_神经网络_25是第神经网络loss曲线查看 神经网络loss图_深度学习_26个输入,神经网络loss曲线查看 神经网络loss图_深度学习_27每次训练时神经网络loss曲线查看 神经网络loss图_神经网络_25对应的参数
    神经网络loss曲线查看 神经网络loss图_深度学习_27修正值,神经网络loss曲线查看 神经网络loss图_深度学习_30是当前训练数据目标标签,神经网络loss曲线查看 神经网络loss图_深度学习_31是感知器输出,神经网络loss曲线查看 神经网络loss图_神经网络_32是学习速率,通常设为较小的值,如0.1、0.01,且会随训练数据的增加而变小。
  • 法则2、delta法则
    BP反向传播 (backpropagation)
    使用梯度下降法来逐步逼近最佳参数
    输出 神经网络loss曲线查看 神经网络loss图_损失函数_33
    均方差损失
    神经网络loss曲线查看 神经网络loss图_深度学习_34
    其中,D训练数据集,神经网络loss曲线查看 神经网络loss图_损失函数_35输入d的目标输出,神经网络loss曲线查看 神经网络loss图_神经网络_36实际预测输出
    从随机参数开始,以很小的步伐,每一步都沿着梯度方向,修改参数,反复执行,知道找到全局最小误差点
    神经网络loss曲线查看 神经网络loss图_损失函数_37神经网络loss曲线查看 神经网络loss图_深度学习_38
    其中神经网络loss曲线查看 神经网络loss图_神经网络_32为梯度下降中的步长,负号代表参数方向损失函数E下降的方向移动
    神经网络loss曲线查看 神经网络loss图_神经网络_23神经网络loss曲线查看 神经网络loss图_初始化_41神经网络loss曲线查看 神经网络loss图_深度学习_42

链式法则:将链路中所有局部梯度相乘





X

神经元

Y

L


神经网络loss曲线查看 神经网络loss图_神经网络_43
神经网络loss曲线查看 神经网络loss图_初始化_44
神经网络loss曲线查看 神经网络loss图_初始化_45