《神经网络和深度学习》系列文章三十七:结论

​出处: Michael Nielsen的《Neural Network and Deep Learning》。本节译者:朱小虎 、张广宇。

目录

1、使用神经网络识别手写数字

2、反向传播算法是如何工作的

3、改进神经网络的学习方法

4、神经网络可以计算任何函数的可视化证明

  • 两个预先声明
  • 一个输入和一个输出的普遍性
  • 多个输入变量
  • S型神经元的延伸
  • 修补阶跃函数
  • 结论

5、为什么深度神经网络的训练是困难的

6、深度学习

我们已经讨论的对于普遍性的解释当然不是如何使用神经网络计算的切实可行的用法!其更像是 NAND 门或者其它类似的普遍性证明。因为这个原因,我主要专注于让解释更清晰和易于理解,而不是过于挖掘细节。然而,你可以发现如果你能改进这个解释是个很有趣和有教益的练习。

尽管这个结果并不能直接用于解释网络,它还是是很重要的,因为它解开了是否使用一个神经网络可以计算任意特定函数的问题。对这个问题的答案总是“是”。所以需要问的正确问题,并不是是否任意函数可计算,而是计算函数的好的方法是什么。

我们建立的对于普遍性的解释只使用了两个隐藏层来计算一个任意的函数。而且,正如我们已经讨论过的,只使用单个的隐藏层来取得相同的结果是可能的。鉴于此,你可能想知道为什么我们会对深度网络感兴趣,即具有很多隐藏层的网络。我们不能简单地把这些网络用浅层的、单个隐藏层的网络替换吗?

尽管在原理上这是可能的,使用深度网络仍然有实际的原因。正如在第一章中表明过,深度网络有一个分级结构,使其尤其适用于学习分级的知识,这看上去可用于解决现实世界的问题。但是更具体地,当攻克诸如图像识别的问题,使用一个不仅能理解单独的像素,还能理解越来越复杂的概念的系统是有帮助的,这里说的复杂的概念,可以从图像的边缘信息到简单的几何形状,以及所有复杂的、多物体场景的方式。在后面的章节中,我们将看到在学习这样的分级知识时,深度网络要比浅层网络做得更好。总结一下:普遍性告诉我们神经网络能计算任何函数;而实际经验依据提示深度网络最能适用于学习能够解决许多现实世界问题的函数。

本章致谢:感谢 Jen Dodd 和 Chris Olah 对很多神经网络中关于普遍性的讨论。尤其非常感谢 Chris 建议使用一个查询表来证明普遍性。本章可交互的可视化形式灵感来源于很多人的工作成果,例如 Mike Bostock,Amit Patel,Bret Victor 和Steven Wittens。

本文来源于哈工大SCIR

原文链接点击即可跳转

哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

工程理论书籍深度学习神经网络哈工大
暂无评论
暂无评论~