深度学习的Xavier初始化方法

news/2024/12/29 10:33:00/

在tensorflow中,有一个初始化函数:tf.contrib.layers.variance_scaling_initializer。Tensorflow 官网的介绍为:

variance_scaling_initializer(
factor=2.0,
mode='FAN_IN',
uniform=False,
seed=None,
dtype=tf.float32
)
1
2
3
4
5
6
7
Returns an initializer that generates tensors without scaling variance.

When initializing a deep network, it is in principle advantageous to keep the scale of the input variance constant, so it does not explode or diminish by reaching the final layer. This initializer use the following formula:

if mode='FAN_IN': # Count only number of input connections.
n = fan_in
elif mode='FAN_OUT': # Count only number of output connections.
n = fan_out
elif mode='FAN_AVG': # Average number of inputs and output connections.
n = (fan_in + fan_out)/2.0

truncated_normal(shape, 0.0, stddev=sqrt(factor / n))
1
2
3
4
5
6
7
8
这段话可以理解为,通过使用这种初始化方法,我们能够保证输入变量的变化尺度不变,从而避免变化尺度在最后一层网络中爆炸或者弥散。

这个方法就是 Xavier 初始化方法,可以从以下这两篇论文去了解这个方法:

·X. Glorot and Y. Bengio. Understanding the difficulty of training deepfeedforward neural networks. In International Conference on Artificial Intelligence and Statistics, pages 249–256, 2010.
Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S.Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast featureembedding. arXiv:1408.5093, 2014.
或者可以通过这些文章去了解:

CNN数值
三种权重的初始化方法
深度学习——Xavier初始化方法
---------------------
作者:路虽远在路上
来源:CSDN
原文:https://blog.csdn.net/u010185894/article/details/71104387
版权声明:本文为博主原创文章,转载请附上博文链接!

 


http://www.ppmy.cn/news/606200.html

相关文章

LeetCode简单题之分发饼干

题目 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸…

Linux学习(7)——开机、重启和用户管理

✨ Linux——开机、重启和用户登录注销🍑Linux关机和重启🍑用户登录和注销🍊🍊基本介绍🍊🍊使用细节🍑用户管理🍊🍊基本介绍🍊🍊添加用户&#x1…

【Data Studio 2.1.0连接openGauss2.1.0】

Data Studio 2.1.0连接openGauss2.1.0 一、实验环境说明二、配置客户端接入方式三、Data Studio2.1.0连接openGauss数据库 一、实验环境说明 openGauss2.1.0版本Data Studio 2.1.0 版本 二、配置客户端接入方式 【以下操作是omm用户进行】 修改配置文件pg_hba.conf&#xf…

LeetCode简单题之图像渲染

题目 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。 给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅…

深度学习——Xavier初始化方法

20210609 https://blog.csdn.net/u011534057/article/details/51673458 https://blog.csdn.net/luoxuexiong/article/details/95772045 “Xavier”初始化方法是一种很有效的神经网络初始化方法,方法来源于2010年的一篇论文《Understanding the difficulty of traini…

Linux学习(8)——常用指令

✨Linux常用指令⛱️ 运行级别🌈🌈基本介绍🌈🌈如何指定运行级别⛱️(面试题)如何找回root密码⛱️帮助指令⛱️文件目录类⛱️博客推荐📃个人主页:不断前进的皮卡丘🌞博客描述: 梦想也许遥不可及&#xff…

LeetCode简单题之石头与宝石

题目 给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 字母区分大小写,因此 “a” 和 “A” 是不同类型的石头…

期望、方差、协方差及相关系数的基本运算

这篇文章总结了概率统计中期望、方差、协方差和相关系数的定义、性质和基本运算规则。 一、期望 定义: 设P(x)是一个离散概率分布函数自变量的取值范围是。那么其期望被定义为:设P(x)是一个连续概率分布函数 ,那么他的期望是:性质…