深度学习权重初始化的原则

深度学习模型中权重初始化至关重要,过小可能导致信号衰减,过大则引起信号爆炸。理论建议权重初始化应使均值为0,方差为2除以输入和输出神经元总数,以均匀分布或高斯分布进行初始化。示例展示了符合该原则的权重矩阵。
摘要由CSDN通过智能技术生成

深度学习权重的初始化的太小,那信号将会在每层传递时逐渐缩小导致难以产生作用,如果权重初始化的太大,那信号将在每层间传递逐渐放大导致发散和失效,根据深度学习大牛的理论说明列,权重应该是满足均值为0,方差为2除以两层神经元个数之和,就是权重链接的那两层。满足的分布就是均匀分布或者高斯分布。

例如:

import tensorflow as tf;
import numpy as np;
import sklearn.preprocessing as pre;
from tensorflow.examples.tutorials.mnist import input_data

def xavier_init(fan_in, fan_out, distribution='Gaussian'):
	if distribution == 'Gaussian':
		return tf.random_normal((fan_in, fan_out), mean=0, stddev=2.0/(fan_in+fan_out), dtype=tf.float32)
	else:
		low = -np.sqrt(6.0 / (fan_in + fan_out))
		high = np.sqrt(6.0 / (fan_in + fan_out))
		return tf.random_uniform((fan_in, fan_out), minval=low, maxval=high, dtype=tf.float32)

with tf.Session() as sess:
	sess.run(tf.initialize_all_variables())
	print sess.run(xavier_init(3, 5))
	print sess.run(xavier_init(3, 5, distributio
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值