《神经网络与深度学习》 - 关于这本书
原文链接:http://neuralnetworksanddeeplearning.com/about.html
Neural Networks and Deep Learning 是一本免费的在线电子书。这本书会教你关于:
- 神经网络,一种漂亮的由生物学启发的编程范式,它可以让计算机从数据中学习
- 深度学习, 在神经网络训练学习中很强大的技术
神经网络和深度学习为当前在图片识别语音识别和自然语音处理方面提供最好的解决方案。这本书教你神经网络和深度学习背后的几个核心概念。
更多详情,请往下看,或者你可以跳过下面的简介,直接去看第一章 Chapter 1 开始学习。第一章的地址:http://www.cnblogs.com/pathrough/p/5297031.html
原理
神经网络是最漂亮的编程范式发明之一。传统的编程,我们告诉计算机做什么,将大的问题打碎成很多小问题,精确地定义计算机易于执行的任务。与之相反的是,在神经网络中我们不会告诉计算机怎样解决问题,相反它从数据中学习,自己找出问题的解决方案。
自动从数据中学习听起来很厉害。然而直到2006年除了少数专门的问题 ,我们不知道怎样训练神经网络让神经网络超于传统方法(传统编程方式)。2006年,一种叫做深度神经网络学习技术改变了这种现状。这种技术随着深度学习的流行被人熟知。它们不断发展,今天深度神经网络和深度学习在计算机视觉/语音识别/自然语言处理的领域很多难题的解决方面获得了出色的性能。它们已被 Google, Microsoft 和 Facebook等大型公司广泛部署。
这本书的目的是帮助你掌握神经网络的核心概念,包括现代的深度学习技术。学完这本书之后你就能使用神经网络和深度学习来写写代码解决赋值的模式识别难题,你会有一些使用神经网络和深度学习解决问题基础能力。
面向原理(A principle-oriented approach)
这本书的信念是对神经网络和深度学习的少量核心规则的深入理解,比肤浅地了解太多概念要好。如果你能很好的理解核心思想,你会很快理解其它新的东西。在编程语言学习中,你想一下你掌握了一门新语言的核心语法、类库和数据结构。 你可能只知道某编程语言的很少的一部分 - 很多语言有大量的标准类库 - 但新类库和数据结构可以很快理解。
这意味着这本书不是教你怎样去使用一些特定的神经网络类库的教程。如果你一心想学习一个神经网络框架的类库,就不用读这本书了,去找一个你想学的类库,通读教程和文档。但我警告你哈, 如果你想立即神经网络到底怎么工作的,如果你想理解几年后都有用的知识,那么学习某个热门的类库是不够的。你需要深入理解那些不变底层原理。技术起起落落,不变的是原理和思想。
通过亲自动手实现来学习(A hands-on approach)
我们会通过攻克一个具体的难题来学习神经网络和深度学习背后的核心原理:一个教计算机识别手写数字的难题。这个难题如果使用传统方法来编程会极度困难。现在我们将看到,它可以通过一个简单的神经网络来很好地解决, 只需要几十行的代码,没有使用特别的类库。我们会通过几次迭代改善这个程序,逐步接触到神经网络和深度学习的核心思想。
亲自动手意味着你需要一下编程经验才能读懂这本书,但不要求你是一个专业的程序员。 我会用Python (版本 2.7)来写这本书涉及的代码,即使你不少Python程序员,只要稍加努力就能很容易理解这些代码。通过这本书的课程我们会开发一个小的神经网络类库,用于实验和建立理解。所有代码都可以在这里下载 here。 一旦你读完这本书,或者正在读,你将更容易上手生产环境的功能完备的神经网络类库。
提醒一下,你要有有适当的数学基础。在大多数章节都有涉及一下数学知识,但通常是基础代数和一些函数,我希望大多数读者都看懂这些。我偶尔也会使用一些更加高级的数学,尽管有些数学细节会让你感到迷惑,但我会提供相关的材料供你查阅学习。有一章广泛地使用了数学,是第二章 Chapter 2,这一章要求有一些多元微积分和线性代数知识。如果你不熟悉这些,我在第二章以数学的引导的讨论作为开始。如果你发现真的学习很难进行,你可以直接跳到章节的总结部分。无论如何,在开始时你不需要担心这些。
很少有书能像本书这样同时兼顾理论和实践。我相信你能够学好如果我们建立了神经网络的基本思想。我们会现场写出活生生的代码,不只是讲抽象理论,你可以对这些代码进行探索和拓展。通过这些方式你会理解神经网络和深度学习在理论和实践方面基础知识,逐步掌握各种知识。
开始学习第一章:http://www.cnblogs.com/pathrough/p/5297031.html