深度学习之参数初始化问题

参数初始化

1、 参数初始化可以减缓梯度爆炸和梯度消失问题
2、tanh一般使用Xavier初始化方法
3、Relu及其变种使用Kaiming初始化方法

在这里插入图片描述

V a r ( X ) = E ( X 2 ) − E ( X ) 2 V a r ( X + Y ) = V a r ( X ) + V a r ( Y ) , 当 X 和 Y 互相独立 V a r ( X Y ) = V a r ( X ) V a r ( Y ) + V a r ( X ) E ( Y ) 2 + V a r ( Y ) E ( X ) 2 Var(X) = E(X^2) - E(X)^2 \\ Var(X+Y) = Var(X) +Var(Y), 当X和Y互相独立 \\ Var(XY) = Var(X)Var(Y) + Var(X)E(Y)^2 + Var(Y)E(X)^2 Var(X)=E(X2)E(X)2Var(X+Y)=Var(X)+Var(Y),XY互相独立Var(XY)=Var(X)Var(Y)+Var(X)E(Y)2+Var(Y)E(X)2

方差的基本性质

1、方差的定义:对于随机变量X,其方差定义为
V a r ( X ) = E [ E − E [ X ] ] 2 Var(X) = E[E-E[X]]^2 Var(X)=E[EE[X]]2
其中E[X]是X的期望值。
2、方差的线性性质:对于两个随机变量X和Y,如果它们是独立的,那么Var(X+Y) = Var(X) +Var(Y)
在这里插入图片描述
当参数都初始化为0,两个神经元的梯度一样,初始值一样,最后会导致训练过程中的变化也一样,无法学习更复杂的特征,这种情况称为对称现象
在这里插入图片描述
我们从正态分布N(0,1)中采样参数的初始值

在这里插入图片描述
输入经过神经元后,标准差从1变成了1.732,意味着输入经过神经元后,输出的离散程度提高了。

如果输入不止3个,而是n个输入,y的离散程度将会被进一步放大,当不使用任何激活函数的时候,放大的y值将被累积在反向传播的过程里,这将造成梯度爆炸,如果使用tanh作为激活函数,也有可能因为y的值过大或者过小得到一个非常小或者非常大的梯度,造成梯度爆炸和梯度消失。
在这里插入图片描述
所以,为了让神经网络训练过程稳定下来,需要让y的方差落在一个可控的范围内。让y的方差等于1,这样求出参数w分布的方差就等于1/n。同时考虑输入和输出,则参数w的方差应该满足2/(输入+输出)
在这里插入图片描述
在这里插入图片描述
上述两种初始化对于tanh友好,但无法在relu函数上使用。
kaiming初始化适合relu
在这里插入图片描述

  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值