一、参数初始化
对于某一个神经元来说,需要初始化的参数有两类:一类是权重W,还有一类是偏置b,偏置b初始化为0即可。而权重W的初始化比较重要,我们着重来介绍常见的初始化方式。
(1)随机初始化
随机初始化从均值为 0,标准差是 1 的高斯分布(也叫正态分布)中取样,使用一些很小的值对参数 W 进行初始化。
(2)标准初始化
权重参数初始化从区间均匀随机取值。即在(-1/√d,1/√d)均匀分布中生成当前神经元的权重,其中 d 为每个神经元的输入数量。
(3)Xavier 初始化(在 tf.keras 中 默认 使用)
该方法的基本思想是各层的激活值和梯度的方差在传播过程中保持一致,也叫做 Glorot 初始化。在tf.keras中实现的方法有两种:
① 正态化的 Xavier 初始化
Glorot 正态分布初始化器,也称为 Xavier 正态分布初始化器。它从以 0 为中心,标准差为 stddev = sqrt(2 / (fan_in + fan_out)) 的正态分布中抽取样本, 其中 fan_in 是输入神经元的个数, fan_out 是输出的神经元个数。
# 导入工具包
imp