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

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


参考

相关推荐
无风听海2 小时前
神经网络之反向传播
人工智能·深度学习·神经网络
学好statistics和DS4 小时前
【CV】神经网络中哪些参数需要被学习?
人工智能·神经网络·学习
姜—姜4 小时前
通过构建神经网络实现项目预测
人工智能·pytorch·深度学习·神经网络
HyperAI超神经11 小时前
AI预判等离子体「暴走」,MIT等基于机器学习实现小样本下的等离子体动力学高精度预测
人工智能·神经网络·机器学习·ai·强化学习·可控核聚变·托卡马克
MYX_30913 小时前
第四章 神经网络的基本组件
pytorch·深度学习·神经网络·学习
机器学习之心HML18 小时前
MATLAB基于GWO-BP神经网络对某拨叉件锻造金属流动性的参数分析
开发语言·神经网络·matlab
hudawei99618 小时前
机器学习,深度学习,神经网络,Transformer的关系
深度学习·神经网络·机器学习
无风听海1 天前
神经网络之计算图
人工智能·深度学习·神经网络
二向箔reverse1 天前
神经网络中的批归一化(BatchNorm)
人工智能·深度学习·神经网络
老兵发新帖1 天前
主流神经网络快速应用指南
人工智能·深度学习·神经网络