深度学习之参数初始化策略

本文探讨了深度学习中参数初始化的重要性,分析了全零初始化的问题,并介绍了标准初始化、Xavier初始化和He初始化等策略。文章指出,合适的初始化能够防止激活值饱和,保持梯度不为0,从而加速训练过程。Xavier初始化适用于激活值对称且梯度为1的函数,而He初始化则更适合ReLU激活函数。
摘要由CSDN通过智能技术生成

为什么需要参数初始化策略

目的

为了让神经网络在训练过程中学习到有用的信息,需要参数更新时的梯度不为0。在一般的全连接网络中,参数更新的梯度和反向传播得到的状态梯度以及输入激活值有关。那么参数初始化应该满足以下两个条件:

  1. 初始化必要条件一:各层激活值不会出现饱和现象(对于sigmoid,tanh);
  2. 初始化必要条件二:各层激活值不为0。

全零初始化存在的问题

全零初始化方法在前向传播过程中会使得隐层神经元的激活值均未0,在反向过程中根据BP公式,不同维度的参数会得到相同的更新。
需要破坏这种“对称性”。
这里写图片描述

激活函数输入值的方差

这里写图片描述
这里写图片描述
从上述推导可以看出,神经元输出的方差会随着神经元数量的增大而变多。
这里写图片描述

标准初始化

标准初始化方法通过对方差乘以一个系数确保每层神经元的输出具有相同的方差,提高训练收敛速度。

标准均匀初始化方法保证了激活函数的输入值的均值为0,方差为常量 1 3 \frac{1}{3} 31,和网络的层数和神经元的数量无关。对于sigmoid激活函数来说,可以确保自变量处于有梯度的范围内。
但是注意对于 s i g m o i d sigmoid sigmoid函数,其输出是大于零的,这违反了上面推导中关于 E ( x i ) = 0 E(x_i)=0 E(xi)=0的假设。综上,标准初始化方法更适用于 t a n h tanh tanh激活函数。

标准正态初始化方法保证激活函数的输入均值为,方差为1。

对于含有 n i n n_{in} nin个输入和 n o u t n_{out} nout个输出的全连接层,

  • standard_normal
    W i , j ∼ N ( 0 , 1 n i n ) W_{i,j}\sim N(0,\frac{1}{\sqrt{n_{in}}}) Wi,jN(0,nin 1)
  • standard_uniform
    W i , j ∼ U ( − 1 n i n , 1 n i n ) W_{i,j}\sim U(-\frac{1}{\sqrt{n_{in}}},\frac{1}{\sqrt{n_{in}}}) Wi,jU(nin
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值