权重初始化

本文介绍了深度学习中权重初始化的重要性,详细阐述了高斯分布初始化的问题,Xavier初始化的原理及其在TensorFlow中的实现,以及针对ReLU激活函数优化的MSRA初始化方法。通过推导证明,解释了为何MSRA在深层网络中能更好地保持方差一致性,从而有助于模型收敛。实验结果显示,随着网络加深,MSRA相比Xavier表现出更优的性能。
摘要由CSDN通过智能技术生成

深度学习的初始化主要有以下方法:

1.高斯分布:

在tensorflow中代码如下所示:

w = tf.Variable(tf.random_normal(shape, stddev=0.01))
w = tf.Variable(np.random.randn())

看上去都是随机生成符合正态分布的值,但是实际上tf.random_normal(shape, stddev=0.01) 是从正态分布中返回符合你输入的shape和均值与方差的值。

tf.random_normal(
    shape,
    mean=0.0,
    stddev=1.0,
    dtype=tf.float32,
    seed=None,
    name=None
)

shape: A 1-D integer Tensor or Python array.输出tensor的shape 
mean: A 0-D Tensor or Python value of type dtype. 正态分布的均值 
stddev: A 0-D Tensor or Python value of type dtype. 正态分布的方差 
dtype: The type of the output.

numpy.random.randn(d0, d1, ..., dn) 返回参数中要求的shape的样本,具有标准正态分布。 
如果想得到任意的正态分布,而不仅仅是标准正态,可以如下写法

N(μ, σ2):

σ * np.random.randn(…) + μ

这种初始化方式的弊端在CS231n这门课中讨论如下:

高斯初始化,给权重较小的值。这种更新方式在小网络中很常见,然而当网络deep的时候,会出现梯度弥散的情况 :


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值