[翻译]神经网络与深度学习-About

Before:
首页
目录[need to be added]


本章目录

这本书的内容
    一种原则导向的方法
    实际动手


这本书的内容


神经网络是当前最为神奇的编程范式之一。传统的编程,我们告诉计算机去做什么,把大问题分解成许多计算机容易处理的、精确定义的小问题。相反,在神经网络中,我们并不告诉计算机怎么样去解决问题,而是让它在观察到的数据中进行学习,进而得到解决问题的办法。

在数据中自主的进行学习,听起来似乎非常棒。但事实上,直到2006年以前,除了一小部分特殊的问题,我们并不知道怎么去训练这样一个神经网络,它的表现能超过那些传统的方法。在2006年情况发生了改变,一种叫做“深度神经网络”的技术被发现了。这些技术如今叫做“深度学习”,并且在例如计算机视觉、语音识别和自然语言处理等重要领域取得了非常好的表现。并且它广泛的得到了应用,诸如谷歌、微软以及脸书等公司都使用了这些技术。

这本书的目的是去帮助你掌握神经网络中的核心概念,包括流行于深度学习之中的技术等。在学习完本书之后,你将会了解如何使用包含神经网络和深度学习技术的代码去解决复杂的模式识别问题。你也会掌握将神经网络和深度学习运用于去解决你自己设计的问题。

一种原则导向的方法


贯穿本书的一个信念是,更好的去理解神经网络和深度学习的核心概念,而不是学习了一大堆不知所云的理念。如果你很好的理解了核心概念,那么其他新的内容你会非常快的上手。就像学习编程语言,你只需要精通那些核心的语法、库和数据结构等。完整的一门编程语言拥有巨量的标准库,你也许只“懂”其中一小部分,但对于新的库和新的数据结构来说,去理解它们会变得非常容易和快捷。

所以本书并不是一个教你怎么去使用几个特定神经网络的教程。所以如果你仅仅想学习一个具体的神经网络,那么你并不需要阅读本书,而是去阅读那个神经网络的教程和文档。但必须得提醒你,尽管直接去学习一个具体的神经网络可以很快的解决一个问题,但如果你想去理解神经网络到底是怎么运作的,如果你想理解蕴含在神经网络之中的理念,那么仅仅学习几个热门的神经网络是不够的。你需要去学习那些隐藏在神经网络之中,真正使神经网络变的有用的理念。“俗话”说的好,技术来来去去,只有理念是永恒的。

实际动手


我们会在这样一个具体的问题上来学习神经网络和深度学习的核心概念:教会计算机去识别手写数字。用传统的编程方法去解决这个问题是十分困难的。但是使用一个仅仅有几十行代码的简单的神经网络,这个问题就迎刃而解了。接下来,我们会逐渐地提升这个程序的性能,并且与神经网络和深度学习的核心概念结合起来。

这意味着你需要一些编程基础去阅读本书。我使用了Python (2.7 版本)来编写代码,就算你不懂编程,在付出一小点努力的情况下,应该也可以理解接下来要讲的内容。在本书的课程里,我们会开发一个小规模的神经网络库,来帮助你去实验和理解。所有的代码可以在这里下载。当你阅读完本书之后,你应该可以没有困难的去使用其他拥有更多功能和特征的基于神经网络的项目。

其他方面,本书包含的数学知识的难度是适中的。每个章节里都会包含数学知识,但它们大多数都只是一些基础的代数和函数等,我相信大多数的读者应该都可以理解它们。我偶尔会使用一些更高深的数学知识,但也提供了一些资料以供你更深入的学习。使用数学知识比较多的章节是第二章[need to be added],包括一些多变量的微积分和线性代数知识。如果你对这些知识并不熟悉,我在第二章[need to be added]的开头提供了一些资料来帮助你去理解。如果你发现这些知识确实很难理解,你也可以简单的跳过它们,直接阅读第二章的内容总结[need to be added]。但在大多数情况下,你并不需要去担心这些东西。

一本书既专注于理论又专注于实验是很奇怪的,但我相信在构建好神经网络的基础之后你会学的更好。我们会开发出可以运行的代码,而不仅仅是抽象的理论。这样你会更好的在理论层面和实验层面上理解基础,并且在基础之上学习更多的知识。


Next:
有关“习题”与“难题”

猜你喜欢

转载自blog.csdn.net/xovee/article/details/81385212