深度学习参数初始化(weights initializer)策略

  1. 参数初始化的几个基本条件
    什么样的初始化参数才是最好的呢?这里直接引入几个参 数初始化的要求:

Glorot条件:优秀的初始化应该保证以下两个条件:

(1)各个层的激活值h(输出值)的方差要保持一致
(2)各个层对状态Z的梯度的方差要保持一致

  1. 关于方差的三个客观事实
    既然要保持上面的两个方差在各个网络层中不改变,那 也就是它实际上是会改变的,关于为什么会改变的公式推导,这里不详细说明了,直接引入三个基本的客观事实(两有关一无关):

(1)各个层激活值h(输出值)的方差与网络的层数有关

(2)关于状态Z的梯度的方差与网络的层数有关

(3)各个层参数W的梯度的方差与层数无关
参考论文:http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf

  1. 参数初始化的几点要求
    (1)参数不能全部初始化为0,也不能全部初始化同一个值,为什么,请参见“对称失效”;

(2)最好保证参数初始化的均值为0,正负交错,正负参数大致上数量相等;

(3)初始化参数不能太大或者是太小,参数太小会导致特征在每层间逐渐缩小而难以产生作用,参数太大会导致数据在逐层间传递时逐渐放大而导致梯度消失发散,不能训练

(4)如果有可能满足Glorot条件也是不错的

上面的几点要求中,(1)(2)(3)基本上是硬性要求,这也就衍生出了一系列的参数初始化方法,什么正态标准化等诸如此类的标准化方法。

  1. 常见的参数初始化方法
    (1)正态化的Glorot初始化——glorot_normal
    (2)标准化的Glorot初始化——glorot_uniform
    (3)Glorot初始化器的缺点

    因为Xavier的推导过程是基于几个假设的,其中一个是激活函数是线性的,这并不适用于ReLU,sigmoid等非线性激活函数;另一个是激活值关于0对称,这个不适用于sigmoid函数和ReLU函数它们不是关于0对称的。

  2. Batch Normalization

BN是将输入的数据分布变成高斯分布,这样可以保证每一层神经网络的输入保持相同分布。

优点

随着网络层数的增加,分布逐渐发生偏移,之所以收敛慢,是因为整体分布往非线性函数取值区间的上下限靠近。这会导致反向传播时梯度消失。BN就是通过规范化的手段,把每层神经网络任意神经元这个输入值的分布强行拉回到均值0方差1的标准正态分布,使得激活输入值落入非线性函数中比较敏感的区域。可以让梯度变大,学习收敛速度快,能大大加快收敛速度。

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习中,"偏置统一初始化"通常是指在神经网络模型中初始化偏置项的一种策略,它与权重(weights)的初始化不同。偏置项(bias)是在激活函数之前添加到输入信号中的,用于调整模型对输入的敏感度。 **标准做法**: 一般来说,偏置项的初始值会被设置为零,这是因为在很多情况下,模型开始时不需要有特定的偏好方向。然而,这可能导致训练过程中的梯度消失或爆炸问题。因此,一些研究者提出了使用非零初始值的方法来加速收敛。 **统一初始化**: 一种常见的偏置统一初始化方法是使用一个小的常数(如0.01),这样可以避免由于某些偏置过大导致的模型过拟合。例如,在`He initialization`中,对于全连接层的偏置项,也会采用类似的方式,即给每个节点一个非常小但不为零的偏置,公式通常是 `b = 0` 或 `b = small_constant`。 ```python # 假设small_constant = 0.01 bias_initializer = tf.keras.initializers.Constant(value=0.01) ``` **其他策略**: 还有些工作推荐使用更复杂的初始化方式,比如在卷积神经网络(CNN)中,偏置项可能会根据层的特性进行不同的初始化,比如在ReLU激活后的偏置可以选择正数,以保证至少有一个正值输出。 在实践中,选择哪种初始化取决于具体的模型架构和实验需求。在实际代码中,你可以通过库如TensorFlow或PyTorch的内置初始化函数来实现这一操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值