Xavier

正确的权重初始化有利于网络收敛,权重初始化的目的是防止激活值饱导致梯度不能传播。两种权重初始化方式:Xavier和hekaiming。本文介绍Xavier,论文名:Understanding the difficulty of training deep feedforward neural 。

1 Xavier概述

Xavier初始化是2010年由Xavier提出来的。这篇文章假设条件比较多,模型结构为简单的5层全连阶层,主要用于初始化全连接层,假设激活函数有如下性质:

  1. 当激活函数是线性激活函数。
  2. 满足 f ′ ( 0 ) = 1 f'(0)=1 f(0)=1
  3. 激活函数关于原点对称,这样可以使均值为0.

论文首先使用标准的初始化方法 W i , j W_{i,j} Wi,j~ U [ − 1 n , 1 n ] U[-\frac{1}{\sqrt n},\frac{1}{\sqrt n}] U[n 1,n 1],使用tanh激活函数,观察激活值(图1.1)、反向梯度(图1.2)和对权重的梯度图。
在这里插入图片描述

图1.1 激活值图:上图是标准初始化,下图是Xavier初始化

在这里插入图片描述

图1.2 反向梯度值图:上图是标准初始化,下图是Xavier初始化

2 Xavier推导

2.1 前向传播

保证每层激活值的方差相等就可以了。推导过程:
z i = w i ∗ h i − 1 z^i=w^i*h^{i-1} zi=wihi1 h i = f ( z i ) h^i=f(z^i) hi=f(zi),注意本文的公式与论文中的不同。则根据bp推导:
在这里插入图片描述
在这里插入图片描述
根据 V a r ( h l i ) = V a r ( h l i + 1 ) Var(h^i_l)=Var(h^{i+1}_l) Var(hli)=Var(hli+1)可得:
在这里插入图片描述

2.2 反向传播

保证反向传播的梯度(损失函数对激活函数的输入值的求导)的方差相等就可以了。
在这里插入图片描述
根据 V a r ( ∂ C o s t ∂ z i ) = V a r ( ∂ C o s t ∂ z i + 1 ) Var(\frac{\partial{Cost}}{\partial z^i})=Var(\frac{\partial{Cost}}{\partial z^{i+1}}) Var(ziCost)=Var(zi+1Cost),可得:
在这里插入图片描述
根据前向传播和反向传播,取一个中间值:

在这里插入图片描述
可得:
在这里插入图片描述
V a r ( W ) = 1 n Var(W)=\frac{1}{n} Var(W)=n1
除此之外还可以求得(并未参与其他计算):
在这里插入图片描述

3 缺点

  1. 对激活函数限制太多。
  2. 只能用于几层的神经网络(论文中为5层)。

注:参考文章

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值