神经网络的初始化参数方法

神经网络的参数也就是权重W很多,通过BP反向传播可以逐渐得到使Cost Function最小的参数,但是这些参数的初始值对于收敛的速度,最后的准确率有很大的影响,那么我们应该怎么初始化呢?

1.全部置为0

这种方法简单粗暴,但是是不可行的,试想权重全为0,那么前向传播结果为0,反向同样为0,无法更新。

2.置为很小的值

W=0.01*np.random.rand(D,H)
这种初始化方法在神经网络的层数很少时可以使用,层数多了就会出现问题,最后参数全部为0,首先在前向传播过程中输出为h(wx+b)因为w很小,所以输出很小,同时反向传播过程中梯度的变化也很小,那么参数的改变也很小,在不断的正向传播乘很小的数,反向传播又几乎不变的情况下,最后w会越来越小,趋近于0,出现梯度弥散现象。

3.Xavier initial

上面的初始化方法都是存在问题的,而在激活函数里可以看到sigmoid函数会出现饱和现象出现梯度消失,而ReLU核没有限制参数的范围,那么如果初始化出现问题势必会造成深度网络中参数过大失去控制,影响模型效果,而参数过小会使得参数趋向于0,那么Xavier就是针对反向传播效果很好的ReLU核在参数控制方面所做的努力,通过Xavier可以将参数置于


区间范围内,那么具体的推导方法时通过这篇文章学习的。
https://zhuanlan.zhihu.com/p/22028079
首先是与方差有关的定理:
1.w*x就会服从均值为0,方差为σ 2 的分布
2.w*x+w*x就会服从均值为0,方差为2*σ2的分布.

我们在输入数据到神经网络的时候都要先对数据进行处理,具体来说我们可以将数据处理为均值为0,方差为σx的分布,我们将参数w初始化成均值为0,方差为σw的分布,我们假设第一次是大家喜闻乐见的卷积层,卷积层共有n个参数(n=channelkernel_hkernel_w),于是为了计算出一个线性部分的结果,我们有:


线性输出部分的一个结果值,实际上是由n个乘加计算出来的,那么下面是一道抢答题,按照我们刚才对x和w的定义,加上前面我们说过的两个方差计算公式,这个z会服从一个什么分布呢?
均值肯定还是0。
方差好像积累了一大堆东西:n*σxw
为了更好地表达,我们将层号写在变量的上标处,于是就有:

对于k层就有:

继续把这个公式展开,就会得到它的最终形态:

可以看出,后面的那个连乘实际上看着就像个定时炸弹(相信看到这,我应该能成功地吸引大家的注意力,帮助大家把非线性函数线性化的事情忘掉了……),如果总是大于1,那么随着层数越深,数值的方差会越来越大,反过来如果乘积小于1,那么随着层数越深,数值的方差就会越来越小。niwi越来越大,就容易Hold不住导致溢出,越来越小,就容易导致数据差异小而不易产生有力的梯度。这就是深层模型的一大命门。
那么我们回头看最初的公式


如果两层的x的方差相等即:

那么
image.png

所以我们用均值为0,方差为上面的式子的数来初始化就可以。

这是通过前向传播所得到的结论,我们希望反向传播仍然有这样的特点,那么梯度的改变是遵循这样一种分布的,最后参数的变化是数值稳定的,那么我们来看看梯度的变化。

假设我们还是一个k层的网络,现在我们得到了第k层的梯度,那么对于第k-1层输入的梯度,有

也就是说,K-1层一个数值的梯度,相当于上一层的n个参数的乘加。这个n个参数的计算方式和之前方式一样,只是表示了输出端的数据维度,在此先不去赘述了。
于是我们如果假设每一层的参数也服从某种均值为0,方差为某值的分布就像前向传播那样,会有:



同样的,为了方差为定值,需要:

得到

但是两个n实际上不是同一个n。对于全连接来说,前向操作时,n表示了输入的维度,而后向操作时,n表示了输出的维度。而输出的维度也可以等于下一层的输入维度。所以两个公式实际上可以写作:


这么看上去前向后向不是很统一,所以前辈将两者融合,得到了方差为:


的均匀分布。

那么我们假设数据落在[-a,a]之间那么方差为



此时计算所得

所以Xavier 的范围就是这个,具体的初始化方法
W=np.random.randn(fan_in,fan_out)/np.sqrt(fan_in/2)(ReLU)
W=np.random.randn(fan_in,fan_out)/np.sqrt(fan_in)(tanh)
当然caffe等现成库是有的,直接设置一下就好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容