Neural Networks and Deep Learning之中文翻译-关于本书

本章原文地址:http://neuralnetworksanddeeplearning.com/about.html

神经网络是有史以来最美的编程范式之一,传统的编程方式是我们告诉电脑如何做,我们会把一个复杂的问题分解成许多小的、能够精确定义的、电脑能够很容易执行的子任务。相比之下,在神经网络中,我们不会告诉电脑如何去解决我们的问题,然而它会从观测数据中学习找到自己的解决方法。

自动从数据中学习听起来前途无量,然而在2006年以前我们居然无法找到一种有效的方法来训练神经网络,使它能够表现得比传统的方法更优越,除了极少数的几种特定问题。促使局面发生改变的是2006年被称为深度神经网络学习的技术的发现。这些技术就是现在被人们所知的深度学习。如今它们已经得到进一步的发展,今天神经网络与深度学习已经在许多重要问题上取得令人瞩目的表现,这包括计算机视觉、语音识别、自然语言处理等。同时它们也被一些像谷歌、微软、Facebook这样的公司大规模地部署采用。

这本书旨在帮助你掌握神经网络的核心概念包括一些现代深度学习技术。当学习完本书内容后,你将可以编写代码利用神经网络与深度学习去解决复杂的模式识别问题并且也为你利用神经网络和深度学习来解决你自己设计的问题打下了基础。

以基本思想为导向

本书的理念之一是扎实地掌握与理解神经网络及深度学习的核心原理要比模糊理解一长串观点更好。如果你已经很好的理解了其核心观点,那么你也能很快地掌握其它新的内容。就拿编程语言来打比方,如果你掌握了一门新语言的核心语法、库与数据结构,尽管你可能只知道了整个语言的一小部分(因为通常一门语言包含大量标准库),但是你可以以此很容易迅速掌握其它的库和数据结构。

这就意味着本书绝不是一本教你如何使用某一特定神经网络库(像TensorFlow)的教程,如果你主要想学习通过现成的库来使用神经网络那么就不要阅读本书了!找到你想要学习的库,直接学习例程,阅读文档即可(比如你想学习TensorFlow可以访问它的官网www.tensorflow.org)。但是我要提醒你的是,尽管这样或许能够直接解决你的问题,但是如果你想要了解神经网络是如何真正运行的,想要获得在未来仍然有意义的见解,那么仅仅学习当前流行的深度学习库是远远不够的。你需要理解那些神经网络底层的运行机制,这些见解是持久不变的。技术会更新换代,但是那些基本机制原则是永恒不变的。

与实践相结合
我们将会通过解决具体的问题来学习神经网络背后的核心原理:教电脑识别手写数字这个问题如果用传统的编程方法去实现是极其困难的,然而我们可以看到利用一个简单的神经网络就可以很好的解决,这仅仅需要花费数十行的代码,不需要任何其他额外的特殊库。更重要的是我们将通过多次迭代改进这个程序,逐步地将越来越多的有关神经网络与深度学习的核心思想融入进来。

与实践结合的方法就意味着要阅读本书你需要一些编程经验,但是也不一定要求你是一名专业的程序员。我已经用Python(v2.7)编写了代码,即使你不使用python编程,只要稍加努力应该也能比较容易理解它(ps:作者的代码命名还是比较规范的,能够比较容易理解其逻辑),通过本书的课程我们会开发一个小的神经网络库,你可以利用它去试验以加深对神经网络的理解。所有的代码可以在这里下载。一旦你完成了本书的学习甚至还在阅读的的时候,你就可以很容易地掌握一个功能完备的神经网络库并将其应用到产品开发中。

值得一提的是,阅读本书对数学有适度的要求,在大部分章节都有涉及一些数学,但是通常只是一些基础代数和函数图像,我希望大部分读者都能适应。偶尔我也会使用更高级的数学方法,但是我会把它结构组织化即使你不能理解其数学细节你依然能跟上本书的节奏。本书的第二章有大量的数学涉及多元微积分与线性代数,如果你对这些数学知识不熟悉,我在该章节的开头讨论了如何掌握数学。如果你觉得实在无法进行,那么你可以简单地直接跳到本章主要结论的总结部分。所以无论如何请不要在一开始就担心数学不好这个问题。

要求一本书既能展现核心思想又需要与实践相结合是不容易的,但是我相信如果我们建立了神经网络的基本思想,你会学到最好的。我们不仅只是讲抽象的理论也会编写可运行的代码,你可以去探索和拓展这些代码。这样你可以在理论和实践两个层面理解其基本原理,并且为你的知识的深入做进一步的准备。


猜你喜欢

转载自blog.csdn.net/wangchongttg/article/details/78492608