权重初始化的方法有哪些?是否可以从0开始初始化

本文探讨了深度学习中权重初始化的重要性,解释了为什么不能从0开始初始化,并介绍了随机初始化的问题。接着,详细阐述了Xavier初始化和MSRA初始化方法,它们旨在保持输入与输出的方差一致,防止梯度消失。Xavier适用于tanh激活函数,而MSRA适用于relu函数。此外,提到了批归一化在初始化中的作用以及如何通过调整参数来避免数据丢失。最后,指出在迁移学习中通常使用预训练模型初始化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先是不能从0开始初始化:因为若权重是0,那么所有神经元的输出都会相同,在反向传播的过程中学到的东西是一致的,梯度相等,权重相等,当中间隐藏层神经元的输出是相同的话,那么反向传播回来的梯度以及权重都不会更新,网络不工作

随机初始化

随机初始化是一种简单的初始化方法:比如标准高斯分布初始化方法,均值为0标准差为1,但随着网络层数的叠加,后面激活函数的输出均为0.  

当选择数值比较小的高斯分布 均值为0 方差为0.01. 在后面的输出过程中,输出值迅速向0靠拢,几乎所有的输出值都很接近0,并且会出现梯度消失的情况(在小型的网络中常见)deep的网络会出现梯度消失

当均值为0,方差为1的高斯分布,在前向传播的时候,要么值为-1要么为1,被抑制或者被饱和,进行激活函数的上线sigmoid 以及tanh函数,造成梯度消失

Xavier初始化

帮助解决梯度消失的情况,是网络能够反响传播

基本思想:保持输入与输出的方差一致,(有相同的分布),避免了所有的输出趋向0

一般Xavier初始化的方法是,将权值初始化为标准高斯分布,均值为0,方差为1/N,其中N是输入的样本个数

那么在前向传播的过程中能够保持输出与输入分布的一致性

适用于tanh激活函数,不适用于relu激活函数

MSRA 何恺明的初始化方法

权值初始化的方法为 标准高斯分布。均值为0,方法为2/N,其中N是输入的样本数

并且适用于relu函数

批归一化

bn层,在隐藏层与激活层之间,将数据进行标准化,强制标准化会造成数据的丢失,比如relu的神经云死亡,因此需要将输出与输入保持一致性,带入可学习的参数,伽马与sigma ,来对输出分布进行变换到输入

降低模型参数初始化敏感度

summary:

1. 当前的主流初始化方式 Xavier,MSRA 主要是为了保持每层的输入与输出方差相等, 而参数的分布采用均匀分布或高斯分布都行。

2. 在广泛采用 Batch Normalization 的情况下,使用普通的小方差的高斯分布即可。

3. 在迁移学习的情况下,优先采用预训练的模型进行参数初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值