Xavier初始化和He初始化

转自https://blog.csdn.net/xxy0118/article/details/84333635

  1. Xavier初始化:
  • 条件:正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。
  • 初始化方法:
    W∼U[−6√ni+ni+1√,6√ni+ni+1√]

W∼U[−ni​+ni+1​​6​​,ni​+ni+1​​6

  • ​​]
  • 假设激活函数关于0对称,且主要针对于全连接神经网络。适用于tanh和softsign
  • 论文地址:Understanding the difficulty of training deep feedforward neural networks
  • 参考资料:
    深度学习之参数初始化(一)——Xavier初始化
  1. He初始化
  • 条件:正向传播时,状态值的方差保持不变;反向传播时,关于激活值的梯度的方差保持不变。
  • 适用于ReLU的初始化方法:
    W∼N[0,2niˆ−−√]

W∼N[0,ni​^​2​

  • ​]
  • 适用于Leaky ReLU的初始化方法:
    W∼N[0,2(1+α2)niˆ−−−−−−−√]
  • W∼N[0,(1+α2)ni​^​2​​]
    niˆ=hi∗wi∗dini​^​=hi​∗wi​∗di​
    其中,hihi​、wiwi​分别表示卷积层中卷积核的高和宽,而didi​当前层卷积核的个数。
    • 疑问:在论文里,当前层卷积核个数di
    di​与当前层输出通道个数outiouti​(下一层输入通道个数ini+1ini+1​)是一致的,即di=outi−1=ini+1di​=outi−1​=ini+1​。但是在tensorflow的实现中,di=ini∗outi
    • di​=ini​∗outi​。在用tensorflow实现He初始化时,应该以哪个为准?(个人倾向前者)
  • 论文地址:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
  • 参考资料:
    深度学习之参数初始化(二)——Kaiming初始化
    He初始化论文阅读笔记与实现

你可能感兴趣的:(Xavier初始化和He初始化)