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

重点介绍一下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表示每层输入的神经元数量


参考

相关推荐
hboot4 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
宝贝儿好16 天前
【LLM】第二章:HuggingFace入门学习
人工智能·深度学习·神经网络·学习·算法·自然语言处理
神仙别闹16 天前
基于C++ 实现 BP 神经网络
开发语言·c++·神经网络
我登哥MVP17 天前
NeuSO揭秘:用神经网络玩转图数据库子图查询优化
数据库·人工智能·神经网络·图数据库
DXM052117 天前
第14期|高阶分割模型:Transformer/SegFormer遥感应用
人工智能·python·神经网络·算法·计算机视觉·cnn·ageo
装不满的克莱因瓶18 天前
掌握3D CNN模型结构——从时空特征建模到视频理解与医学影像核心架构
人工智能·pytorch·python·深度学习·神经网络·3d·cnn
小龙报18 天前
用ChatGPT 5.5构建个人写作工作流:从大纲、初稿到风格润色的提示词链
人工智能·神经网络·低代码·自然语言处理·chatgpt·gpt-3·知识图谱
极光代码工作室18 天前
基于深度学习的手写数字识别系统
人工智能·python·深度学习·神经网络·机器学习
weixin_5500831518 天前
全量的记忆压缩与意义保存
人工智能·深度学习·神经网络·transformer·agi
湘美书院--湘美谈教育18 天前
湘美谈教育湘美书院考古教育系列:湖湘一万年序列整理研究
大数据·人工智能·深度学习·神经网络·机器学习