吴恩达深度学习笔记(21)-神经网络的权重初始化为什么要随机?

随机初始化(Random+Initialization)

当你训练神经网络时,权重随机初始化是很重要的。

对于逻辑回归,把权重初始化为0当然也是可以的。

但是对于一个神经网络,如果你把权重或者参数都初始化为0,那么梯度下降将不会起作用

让我们看看这是为什么?

有两个输入特征,n^([0])=2,2个隐藏层单元n^([1])就等于2。 因此与一个隐藏层相关的矩阵,或者说W^([1])是2*2的矩阵,假设把它初始化为0的2*2矩阵,b^([1])也等于 [0 0]^T,把偏置项b初始化为0是合理的,但是把w初始化为0就有问题了。

那这个问题如果按照这样初始化的话,你总是会发现a_1^([1]) 和 a_2^([1])相等,这个激活单元和这个激活单元就会一样。因为两个隐含单元计算同样的函数,当你做反向传播计算时,这会导致dz_1^([1]) 和 dz_2^([1])也会一样,对称这些隐含单元会初始化得一样,这样输出的权值也会一模一样,由此W^([2])等于[0 0];

如果你这样初始化这个神经网络,那么这两个隐含单元就会完全一样,因此他们完全对称,也就意味着计算同样的函数,并且肯定的是最终经过每次训练的迭代,这两个隐含单元仍然是同一个函数,令人困惑。

dW会是一个这样的矩阵,每一行有同样的值因此我们做权重更新

把权重W^([1])⟹W^([1])-adW每次迭代后的W^([1]),第一行等于第二行。

由此可以推导,如果你把权重都初始化为0,

那么由于隐含单元开始计算同一个函数,所有的隐含单元就会对输出单元有同样的影响。

一次迭代后同样的表达式结果仍然是相同的,即隐含单元仍是对称的。

通过推导,两次、三次、无论多少次迭代,不管你训练网络多长时间,隐含单元仍然计算的是同样的函数。

因此这种情况下超过1个隐含单元也没什么意义,因为他们计算同样的东西。当然更大的网络,比如你有3个特征,还有相当多的隐含单元。

如果你要初始化成0,由于所有的隐含单元都是对称的,无论你运行梯度下降多久,他们一直计算同样的函数。这没有任何帮助,因为你想要两个不同的隐含单元计算不同的函数,

这个问题的解决方法就是随机初始化参数。

你应该这么做:

把W^([1])设为np.random.randn(2,2)(生成高斯分布),通常再乘上一个小的数,比如0.01,这样把它初始化为很小的随机数。

然后b没有这个对称的问题(叫做symmetry breaking problem),所以可以把 b 初始化为0,因为只要随机初始化W你就有不同的隐含单元计算不同的东西,因此不会有symmetry breaking问题了。相似的,对于W^([2])你可以随机初始化,b^([2])可以初始化为0。

W^[1] =np.random.randn(2,2) *0.01,b^([1])=np.zeros((2,1)) W^([2])=np.random.randn(2,2) *0.01, b^([2])=0

你也许会疑惑,这个常数从哪里来,为什么是0.01,而不是100或者1000。

我们通常倾向于初始化为很小的随机数。因为如果你用tanh或者sigmoid激活函数,或者说只在输出层有一个Sigmoid,如果(数值)波动太大,

当你计算激活值时z^([1])=W^([1]) x+b^([1]) , a^([1])=σ(z^([1]))=g^([1]) (z^([1]))

如果W很大,z就会很大。z的一些值a就会很大或者很小,因此这种情况下你很可能停在tanh/sigmoid函数的平坦的地方(见下图),

这些地方梯度很小也就意味着梯度下降会很慢,因此学习也就很慢。

回顾一下:

如果w很大,那么你很可能最终停在(甚至在训练刚刚开始的时候)z很大的值,这会造成tanh/Sigmoid激活函数饱和在龟速的学习上,

如果你没有sigmoid/tanh激活函数在你整个的神经网络里,就不成问题。

但如果你做二分类并且你的输出单元是Sigmoid函数,那么你不会想让初始参数太大,因此这就是为什么乘上0.01或者其他一些小数是合理的尝试。对于w^([2])一样,就是np.random.randn((1,2)),我猜会是乘以0.01。

事实上有时有比0.01更好的常数,当你训练一个只有一层隐藏层的网络时(相对浅的神经网络,没有太多的隐藏层),设为0.01可能也可以。

但当你训练一个非常非常深的神经网络,你可能会选择一个不同于的常数而不是0.01。

那么如何设置常数呢?这个等下一章深度学习网络时再做进一步说明!

点击关注,持续更新中……

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

推荐阅读更多精彩内容