《神经网络和深度学习》系列文章三十六:修补阶跃函数
出处: Michael Nielsen的《Neural Network and Deep Learning》,点击末尾“阅读原文”即可查看英文原文。
声明:我们将在每周四连载该书的中文翻译。
本节译者:朱小虎 、张广宇。转载已获得译者授权,禁止二次转载。
使用神经网络识别手写数字
反向传播算法是如何工作的
改进神经网络的学习方法
神经网络可以计算任何函数的可视化证明
两个预先声明
一个输入和一个输出的普遍性
多个输入变量
S型神经元的延伸
修补阶跃函数
结论
为什么深度神经网络的训练是困难的
深度学习
目前为止,我们假定神经元可以准确生成阶跃函数。这是一个非常好的近似,但也仅仅是近似。实际上,会有一个很窄的故障窗口,如下图说明,在这里函数会表现得和阶跃函数非常不同。
在这些故障窗口中我给出的普遍性的解释会失败。
现在,它不是一个很严重的故障。通过使得输入到神经元的权重为一个足够大的值,我们能把这些故障窗口变得任意小。当然,我们可以把故障窗口窄过我在上面显示的~——~窄得我们的眼睛都看不到。所以也许我们可以不用过于担心这个问题。
尽管如此,有一些方法解决问题是很好的。
实际上,这个问题很容易解决。让我们看看只有一个输入和一个输出的神经网络如何修补其计算函数。同样的想法也可以解决有更多输入和输出的问题。
特别地,假设我们想要我们的网络计算函数
如果我们要使用前面描述的技术做到这一点,我们会使用隐藏神经元产生一系列的凹凸函数:
再说一下,我夸大了图上的故障窗口大小,好让它们更容易看到。很明显如果我们把所有这些凹凸函数加起来,我们最终会得到一个合理的
假设我们使用一系列隐藏神经元来计算我们最初的目标函数的一半,即
并且假设我们使用另一系列隐藏神经元来计算一个
现在我们有两个不同的
我们甚至能通过加入大量的,用
“哈工大SCIR”公众号
编辑部:郭江,李家琦,徐俊,李忠阳,俞霖霖
本期编辑:李家琦
长按下图并点击 “识别图中二维码”,即可关注哈尔滨工业大学社会计算与信息检索研究中心微信公共号:”哈工大SCIR” 。点击左下角“阅读原文”,即可查看原文。