笔记 - 神经网络:参数初始化方式

57 篇文章 1 订阅
7 篇文章 0 订阅
本文探讨了神经网络中参数初始化的各种方式,包括均匀分布和正态分布的初始化,如Xavier初始化,以及它们对训练结果的影响。文章指出在特定场景下,如分类样本量大时,均匀分布更优,以避免样本不平衡。同时,讨论了权重和偏置的初始化策略,并强调初始化的重要性。
摘要由CSDN通过智能技术生成

服从均匀分布的初始化

  • random_uniform
    • 自定义区间的均匀分布
tf.random_uniform(shape = (n_input, n_output), 
					minval=start, maxval=end, dtype=tf.float32)
  • rand
    • [0,1)区间的均匀分布
# 10行一列
X = np.random.rand(10,1)
"""
 Create an array of the given shape and populate it with
 random samples from a uniform distribution
 over ``[0, 1)``.
"""

服从正态分布的初始化

  • random_normal
    • 生成正态分布随机数
    • 定义均值与方差,shape可以用 () 表示,也可以用 [] 表示
def random_normal(shape,
                  mean=0.0,
                  stddev=1.0,
                  dtype=dtypes.float32,
                  seed=None,
                  name=None):
------------------------------------------------------------------------
initial = tf.random_normal(shape=shape, stddev=stddev, dtype=tf.float32)


tf.Variable(initial, dtype=tf.float32, name=name_str)
  • truncated_normal
    • 产生截断正态分布随机数
    • 取值范围为 [ mean - 2 * stddev, mean + 2 * stddev ]
def truncated_normal(
    shape,
    mean=0.0,
    stddev=1.0,
    dtype=tf.float32,
    seed=None,
    name=None
)
--------------------------------------------------------------------------
initial = tf.truncated_normal(shape=shape, stddev=stddev, dtype=tf.float32)

  • randn
    • 均值为0方差为1的正态分布
# 10行一列
Y = np.random.randn(10,1)

Xavier均匀初始化

def xavier_init(n_input, n_output, constant=1):
    start = -constant * np.sqrt(6.0/(n_input + n_output))
    end = constant * np.sqrt(6.0/(n_input + n_output))
    return tf.random_uniform((n_input, n_output), minval=start, maxval=end, dtype=tf.float32)

正态分布 与 均匀分布有什么不同

  • 概率计算的方式不一样

不同初始化方式分别对训练结果有什么影响

均匀分布 与 正态分布

在这里插入图片描述
在这里插入图片描述

选择均匀分布的场景

  • 分类的训练集太大,使用均匀分布随机抽取样本
    • 如果使用正态分布,则会导致分类样本不均匀,比如学小猫的特征比较多,学小狗的特征比较少

------------------------------更新------------------------------

权重w 初始化方式

在这里插入图片描述
究竟什么东西影响着不同随机方式带来的效果
在这里插入图片描述
如何理解权重参数初始化不能近似于 0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 感觉稀疏初始化不太好

偏执bias 初始化方式

在这里插入图片描述


总结

在这里插入图片描述


参考

神经网络之权重初始化方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值