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

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


参考

相关推荐
爱吃泡芙的小白白9 小时前
CNN参数量计算全解析:从基础公式到前沿优化
人工智能·神经网络·cnn·参数量
Network_Engineer16 小时前
从零手写RNN&BiRNN:从原理到双向实现
人工智能·rnn·深度学习·神经网络
想进部的张同学16 小时前
week1-day5-CNN卷积补充感受野-CUDA 一、CUDA 编程模型基础 1.1 CPU vs GPU 架构线程索引与向量乘法
人工智能·神经网络·cnn
肾透侧视攻城狮18 小时前
《深入PyTorch数据引擎:自定义数据封装、高效加载策略与多源融合实战》
人工智能·神经网络·自定义dataset·dataloader 加载数据·常见的图像预处理操作·图像数据增强·加载 mnist 数据集
众趣科技21 小时前
前馈神经网络入门:空间计算的三维重建魔法
人工智能·神经网络·空间计算
爱喝可乐的老王21 小时前
PyTorch搭建神经网络
pytorch·深度学习·神经网络
神经蛙没头脑1 天前
2026年AI产品榜·全球总榜, 2月3日更新
人工智能·神经网络·机器学习·计算机视觉·语言模型·自然语言处理·自动驾驶
大傻^1 天前
大模型基础知识-神经网络
人工智能·深度学习·神经网络
生成论实验室1 天前
生成式通用智能(GAGI):基于《易经》状态空间的认知架构
人工智能·神经网络·算法·架构·信息与通信
咩咩不吃草1 天前
【深度学习】:从神经网络到AI大模型的核心逻辑
人工智能·深度学习·神经网络