知行编程网知行编程网  2022-05-14 11:00 知行编程网 隐藏边栏 |   抢沙发  48 
文章评分 0 次,平均分 0.0
为什么神经网络参数不能全部初始化为全0?
转自 | 机器学习算法与自然语言处理
作者 | 忆臻


最近试了一个小实验,发现当神经网络参数全部初始化为全0的时候(这样最省力嘛),效果并不好,后来和请教了ybb并且网上查阅了一些资料,记录一下自己的笔记和总结,欢迎大家指错交流~

还是原来的写作风格,通过一个具体例子,在讲例子的过程中,通俗解释要讲的知识点。见下!

假设我们现在需要初始化的神经网络如下所示:


为什么神经网络参数不能全部初始化为全0?

我们初始化权值为


为什么神经网络参数不能全部初始化为全0?
为什么神经网络参数不能全部初始化为全0?

其中W1代表输入层到隐藏层的权值矩阵,W2代表隐藏层到输出层的权值矩阵。

假设网络的输入为[x1,x2,x3],然后通过网络的正向传播,可以得出:


为什么神经网络参数不能全部初始化为全0?

由于

为什么神经网络参数不能全部初始化为全0?


我们可以知道:


为什么神经网络参数不能全部初始化为全0?

从上面可以知道,此时隐藏层的值是相同的,然后经过激活函数f后,得到的a4,a5仍然是相同的,如下:

为什么神经网络参数不能全部初始化为全0?

最终网络的输出为:

为什么神经网络参数不能全部初始化为全0?

此时,假设我们的真实输出为y,则均方误差损失函数可以表示为


为什么神经网络参数不能全部初始化为全0?

到了这里,此时又应该到我们伟大的BP反向传播算法出场了!我们需要反向更新权值,它使得预测的输出值与真实值越来越靠近。

这里假设我们的读者已经知道了BP反向传播的过程,可以参看通俗理解神经网络BP传播算法 - 知乎专栏。

可以知道,通过反向传播后,结点4,5的梯度改变是一样的,假设都是,那么此时结点4与结点6之间的参数,与结点5与结点6之间的参数变为了,如下:

由上式可以看出,新的参数相同了!!!!

同理可以得出输入层与隐藏层之间的参数更新都是一样的,得出更新之后的参数


为什么神经网络参数不能全部初始化为全0?


都是相同的!然后不管进行多少轮正向传播以及反向传播,每俩层之间的参数都是一样的。

换句话说,本来我们希望不同的结点学习到不同的参数,但是由于参数相同以及输出值都一样,不同的结点根本无法学到不同的特征!这样就失去了网络学习特征的意义了。

隐藏层与其它层多个结点,其实仅仅相当于一个结点!!如下图表示:

为什么神经网络参数不能全部初始化为全0?


这样总结来看:w初始化全为0,很可能直接导致模型失效,无法收敛。

因此可以对w初始化为随机值解决(在cnn中,w的随机化,也是为了使得同一层的多个filter,初始w不同,可以学到不同的特征,如果都是0或某个值,由于计算方式相同,可能达不到学习不同特征的目的)

<section style="margin-right: 8px;margin-left: 8px;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;widows: 1;line-height: 1.75em;"><strong><span style="letter-spacing: 0.5px;font-size: 14px;"><strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;">—</span></strong>完<strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;font-size: 14px;"><strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;">—</span></strong></span></strong></span></strong></section><section style="white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;widows: 1;"><section powered-by="xiumi.us"><section style="margin-top: 15px;margin-bottom: 25px;opacity: 0.8;"><section><section style="letter-spacing: 0.544px;"><section powered-by="xiumi.us"><section style="margin-top: 15px;margin-bottom: 25px;opacity: 0.8;"><section><section style="margin-right: 8px;margin-bottom: 15px;margin-left: 8px;padding-right: 0em;padding-left: 0em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;"><span style="color: rgb(0, 0, 0);"><strong><span style="font-size: 16px;font-family: 微软雅黑;caret-color: red;">为您推荐</span></strong></span></section><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;">一文通俗了解对抗生成网络(GAN)核心思想<br  /></p><section style="margin-bottom: 5px;"><span style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;font-size: 14px;">MIT最新深度学习入门课,安排起来!</span></section><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;">五分钟了解机器学习十大算法</p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;"><span style="color: rgb(87, 107, 149);"><span style="font-size: 14px;">图深度学习入门难?这篇教程帮你理清楚了脉络</span></span><br  /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;">谷歌出现新冠肺炎确诊病例,限制员工出行;比尔·盖茨:可能成百年不遇的大流行病<br  /></p></section></section></section></section></section></section></section></section>

为什么神经网络参数不能全部初始化为全0?

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享