两种神经网络参数初始化方法

重点介绍一下Xavier和Kaiming初始化:

Xavier

为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等。

正态分布参数初始化

N ( 0 , 2 n in + n out ) \mathcal{N}\left(0, \frac{2}{n_{\text {in }}+n_{\text {out }}}\right) N(0,nin +nout 2)

均匀分布参数初始化

U ( − 6 n in + n out , 6 n in + n out ) \mathcal{U}\left(-\sqrt{\frac{6}{n_{\text {in }}+n_{\text {out }}}}, \sqrt{\frac{6}{n_{\text {in }}+n_{\text {out }}}}\right) U(−nin +nout 6 ,nin +nout 6 )

Kaiming

Xavier初始化的问题在于,它只适用于线性激活函数,但实际上,对于深层神经网络来说,线性激活函数是没有价值,神经网络需要非线性激活函数(例如ReLU)来构建复杂网络。

前向传播时每层的方差都是1
反向传播时梯度的方差都是1

正态分布参数初始化

N ( 0 , 2 n in ) \mathcal{N}\left(0, \frac{2}{n_{\text {in }}}\right) N(0,nin 2)

均匀分布参数初始化

U ( − 6 n in , 6 n in ) \mathcal{U}\left(-\sqrt{\frac{6}{n_{\text {in }}}}, \sqrt{\frac{6}{n_{\text {in }}}}\right) U(−nin 6 ,nin 6 )

n i n n_{in} nin表示每层输入的神经元数量


参考

相关推荐
serve the people9 分钟前
神经网络中梯度计算求和公式求导问题
神经网络·算法·机器学习
Start_Present32 分钟前
Pytorch 第七回:卷积神经网络——VGG模型
pytorch·python·神经网络·cnn·分类算法
zxfeng~15 小时前
深度学习之-“深入理解梯度下降”
人工智能·python·深度学习·神经网络
胡耀超17 小时前
3.激活函数:神经网络中的非线性驱动器——大模型开发深度学习理论基础
人工智能·深度学习·神经网络·大模型
西猫雷婶1 天前
神经网络|(十一)|神经元和神经网络
人工智能·深度学习·神经网络
西猫雷婶1 天前
神经网络|(十三)|SOM神经网络
人工智能·深度学习·神经网络
windwant1 天前
神经网络为什么要用 ReLU 增加非线性?
人工智能·深度学习·神经网络
阿克兔2 天前
建筑兔零基础人工智能自学记录34|深度学习与神经网络2
人工智能·深度学习·神经网络
白云千载尽2 天前
端到端自动驾驶——cnn网络搭建
人工智能·神经网络·算法·机器学习·cnn·自动驾驶·ros
AI趋势预见2 天前
实时金融信息搜索的新突破:基于大型语言模型的智能代理框架
人工智能·神经网络·语言模型·自然语言处理·金融