Neural Networks and Deep Learning神经网络与深度学习(中文版)
⼀个以原理为导向的⽅法,本书⼀个坚定的信念,是让读者更好地去深刻理解神经⽹络和深度学习,⽽不是像⼀张冗⻓的洗⾐单⼀样模糊地列出⼀堆想法。如果你很好理解了核⼼理念,你就可以很快地理解其他新的推论。⽤编程语⾔对⽐,把这理解为掌握⼀种新语⾔的核⼼语法、库和数据结构。你可能仍然只是 “知道” 整个编程语⾔的⼀⼩部分—许多编程语⾔有巨⼤的标准库—但新的库和数据结构可以很快且容易被理解。这就意味着这本书的重点不是作为⼀个如何使⽤⼀些特定神经⽹络库的教程。如果你主要想围绕着某个程序库的⽅式去学习,那不要读这本书!找到你想学习的程序库,并通过教程和⽂档来完成。注意这点。虽然这也许能很快解决你的问题,但是,如果你想理解神经⽹络中究竟发⽣了什么,如果你想要了解今后⼏年都不会过时的原理,那么只是学习些热⻔的程序库是不够的。你需要领悟让神经⽹络⼯作的原理。技术来来去去,但原理是永恒的。 ⼀个动⼿实践的⽅法 我们将通过攻克⼀个具体的问题:教会计算机识别⼿写数字的问题,来学习神经⽹络和深度学习的核⼼理论。这个问题⽤常规的⽅法来编程解决是⾮常困难的。然⽽,正如我们所看到的,它可以很好地利⽤⼀个简单的神经⽹络来解决,只需⼏⼗⾏代码,没有特别的库。更多的是,我们会通过多次迭代来改进程 序,逐步融⼊神经⽹络和深度学习的核⼼思想。 这⼀动⼿的⽅法意味着你需要⼀些编程经验来阅读这本书。但你不必是⼀个专业的程序员。我⽤ Python(2.7 版)写了代码,即使你不是⽤ Python 编程,努⼒⼀下也应该很容易理解。通vii过这本书,我们将开发⼀个⼩的神经⽹络库,它可以⽤来实验和建⽴理解。所有的代码都可以在这⾥下载。⼀旦你完成了这本书,或者你读它,你可以轻松地学会⼀个功能更加完善的神经⽹络库⽤于⽣产