中文简短的《神经网络与深度学习》极佳入门书-出自量子物理学家

朱小虎 Freeman Zhang 等翻译

前言

《神经网络和深度学习》是一本免费的在线书。本书会教会你: • 神经网络,一种美妙的受生物学启发的编程范式,可以让计算机从观测数据中进行学习

• 深度学习,一个强有力的用于神经网络学习的众多技术的集合

神经网络和深度学习目前给出了在图像识别、语音识别和自然语言处理领域中很多问题的最好解决方案。本书将会教你在神经网络和深度学习背后的众多核心概念.

这本书是关于什么的?

神经网络是有史以来发明的最优美的编程范式之一。在传统的编程方法中,我们告诉计算机做什么,把大问题分成许多小的、精确定义的任务,计算机可以很容易地执行。相比之下,在神经网络中,我们不告诉计算机如何解决我们的问题。相反,它从观测数据中学习,找出它自己的解决问题的方法。

从数据中自动学习,听上去很有前途。然而,直到 2006 年,除了用于一些特殊的问题,我 们仍然不知道如何训练神经网络去超越传统的方法。2006 年,被称为 “深度神经网络” 的学习技术的发现引起了变革。这些技术现在被称为 “深度学习”。它们已被进一步发展,今天深度神经网络和深度学习在计算机视觉、语音识别、自然语言处理等许多重要问题上都取得了显著的性能。他们正被谷歌、微软、Facebook 等公司大规模部署。

这本书的目的是帮助你掌握神经网络的核心概念,包括现代技术的深度学习。在完成这本书的学习之后,你将使用神经网络和深度学习来解决复杂模式识别问题。你将为使用神经网络和深度学习打下基础,来攻坚你自己设计中碰到的问题。

一个以原理为导向的方法

本书一个坚定的信念,是让读者更好地去深刻理解神经网络和深度学习,而不是像一张冗⻓的洗衣单一样模糊地列出一堆想法。如果你很好理解了核心理念,你就可以很快地理解其他新的推论。用编程语言对比,把这理解为掌握一种新语言的核心语法、库和数据结构。你可能仍然只是 “知道” 整个编程语言的一小部分—许多编程语言有巨大的标准库—但新的库和数据结构可以很快且容易被理解。

这就意味着这本书的重点不是作为一个如何使用一些特定神经网络库的教程。如果你主要想围绕着某个程序库的方式去学习,那不要读这本书!找到你想学习的程序库,并通过教程和文档来完成。注意这点。虽然这也许能很快解决你的问题,但是,如果你想理解神经网络中究竟发生了什么,如果你想要了解今后几年都不会过时的原理,那么只是学习些热⻔的程序库是不够的。你需要领悟让神经网络工作的原理。技术来来去去,但原理是永恒的。

一个动手实践的方法

我们将通过攻克一个具体的问题:教会计算机识别手写数字的问题,来学习神经网络和深度学习的核心理论。这个问题用常规的方法来编程解决是非常困难的。然而,正如我们所看到的,它可以很好地利用一个简单的神经网络来解决,只需几十行代码,没有特别的库。更多的是,我们会通过多次迭代来改进程序,逐步融入神经网络和深度学习的核心思想。

这一动手的方法意味着你需要一些编程经验来阅读这本书。但你不必是一个专业的程序员。我用 Python(2.7 版)写了代码,即使你不是用 Python 编程,努力一下也应该很容易理解。通过这本书,我们将开发一个小的神经网络库,它可以用来实验和建立理解。所有的代码都可以在这里下载。一旦你完成了这本书,或者你读它,你可以轻松地学会一个功能更加完善的神经网络库用于生产。

类似地,对读者数学知识的需求是适度的。在大多数章节中都有一些数学,但它通常只是初等代数和函数图,我期望大多数读者都能看懂。我偶尔会使用更高级的数学,但已经组织了材料,这样即使你理解不了有些数学细节,你还是可以跟上。使用数学较多的是第二章,其中需要一些多元微积分和线性代数。如果你不熟悉它们,我在第二章开始讨论了如何通览本书用到的数学。如果你发现它真的很难,你可以直接跳到那一章的主要结果的总结。无论如何,不要一开始就担心这点。

难得有一本书能兼顾理论和动手实践。但是我相信,如果我们建立了神经网络的基本思路,你会学到最好的。我们将开发实际能用的代码,而不仅仅是抽象的理论,这些代码你可以探索和扩展。这样你就可以理解其基础,不论是理论还是实践,并且扩展和提高你的知识面。

目录:

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

  人类视觉系统是世界上众多奇迹之一。看看下面的手写数字序列:

大多数人毫不费力就能够认出这些数字为 504192。这么容易反而让人觉着迷惑了。在人类的每个脑半球中,有着一个初级视觉皮层,常称为 V1,包含 1 亿 4 千万个神经元及数百亿条神经元间的连接。但是人类视觉不是就只有 V1,还包括整个视觉皮层——V2、V3、V4 和 V5 ——他们逐步地进行更加复杂的图像处理。人类的头脑就是一台超级计算机,通过数十亿年的进化不断地演变,最终能够极好地适应理解视觉世界的任务。识别手写数字也不是一件简单的事。尽管人类在理解我们眼睛展示出来的信息上非常擅⻓,但几乎所有的过程都是无意识地。所以,我们通常并不能体会自身视觉系统解决问题的困难。

如果你尝试写出计算机程序来识别诸如上面的数字,就会明显感受到视觉模式识别的困难。看起来人类一下子就能完成的任务变得特别困难。关于我们识别形状——“9 顶上有一个圈,右下方则是一条竖线”这样的简单直觉——实际上算法上就很难轻易表达出来了。而在你试着让这些识别规则越发精准时,就会很快陷入各种混乱的异常或者特殊情形的困境中。看起来毫无希望。

神经网络以另一种方式看待这个问题。其主要思想是获取大量的手写数字,常称作训练样本, 然后开发出一个可以从这些训练样本中进行学习的系统。换言之,神经网络使用样本来自动推断出识别手写数字的规则。另外,通过增加训练样本的数量,网络可以学到更多关于手写数字的知识,这样就能够提升自身的准确性。所以,上面例子中我们只是展出了 100 个训练数字样本,而通过使用数千或者数百万或者数十亿的训练样本我们也许能够得到更好的手写数字识别器。

本章我们将实现一个可以识别手写数字的神经网络。这个程序仅仅 74 行,不适用特别的神经网络库。然而,这个短小的网络不需要人类帮助便可以超过 96% 的准确率识别数字。而且,在后面的章节,我们会发展出将准确率提升到 99% 的技术。实际上,最优的商业神经网络已经足够好到被银行和邮局分别用在账单核查和识别地址上了。

手写识别常常被当成学习神经网络的原型问题,因此我们聚焦在这个问题上。作为一个原型,它具备一个关键点:挑战性——识别手写数字并不轻松——但也不会难到需要超级复杂的解决方法,或者超大规模的计算资源。另外,这其实也是一种发展出诸如深度学习更加高级的技术的方法。所以,整本书我们都会持续地讨论手写数字识别问题。本书后面部分,我们会讨论这些想法如何用在其他计算机视觉的问题或者语音、自然语言处理和其他一些领域中。

当然,如果仅仅为了编写一个计算机程序来识别手写数字,本章的内容可以简短很多!但前 进的道路上,我们将扩展出很多关于神经网络的关键的思想,其中包括两个重要的人工神经元(感知器和 S 型神经元),以及标准的神经网络学习算法,即随机梯度下降算法。自始至终,我专注于解释事情的原委,并构筑你对神经网络的直观感受。这需要一个漫⻓的讨论,而不是仅仅介绍些基本的技巧,但这对于更深入的理解是值得的。作为收益,在本章的最后,我们会准备好了解什么是深度学习,以及它为什么很重要。

..................................

下载pdf:https://pan.baidu.com/s/1jH0UfaA

原文发布于微信公众号 - CreateAMind(createamind)

原文发表时间:2016-09-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

人工智能大拿解答机器学习30个问答

这次参加的是 Yoshua Bengio,计算机科学家,毕业于麦吉尔大学,在MIT和AT&T贝尔实验室做过博士后研究员,自1993年之后就是蒙特利尔大学任教,与...

651
来自专栏AI科技评论

开发 | 从实践角度探讨深度学习优越性

为什么深度学习(DL)比其他机器学习(ML)方法效果更好? AI 科技评论按:近来在多个国外开发者论坛、杂志中,”深度学习的优越性”这个话题着实引发了不少讨论。...

3797
来自专栏量子位

谷歌传奇Jeff Dean给创业者的一小时AI讲座 | 86页PPT+视频

李林 若朴 编译整理 量子位 出品 | 公众号 QbitAI ? 少年,你知道Jeff Dean么? 传奇一般的Jeff Dean现在领导着Google Bra...

3643
来自专栏人工智能头条

面试了8家公司,他们问了我这些机器学习题目......

2616
来自专栏PPV课数据科学社区

人工智能与大数据开发的12个注意点

人工智能是近年来科技发展的重要方向,在大数据时代,对数据采集、挖掘、应用的技术越来越受到瞩目。在人工智能和大数据的开发过程中,有哪些特别需要注意的要点人工智能领...

3464
来自专栏数据科学与人工智能

【机器学习】机器学习在电商文本挖掘中的应用浅析

电商平台中有海量的非结构化文本数据,如商品描述、用户评论、用户搜索词、用户咨询等。这些文本数据不仅反映了产品特性,也蕴含了用户的需求以及使用反馈。通过深度挖掘,...

4266
来自专栏技术翻译

深度学习到瓶颈期了吗?

深度学习和机器学习的进步都起到了最近AI成就了的核心作用,让计算机进行练习,通过消化和分析大量的数据,而不用明确地编程,就可以达到目的。在过去的两年里,谷歌以深...

1543
来自专栏AI科技评论

重磅丨谷歌是在炒作么?大牛详解神经网络算法为什么不适合自然语言处理

谷歌在2016年发布了全新的神经机器翻译系统(GNMT),并表示由于神经网络算法的介入,该系统相比传统机器翻译降低了80%的错误率,已接近人工翻译的水平。 但对...

3587
来自专栏携程技术中心

干货 | 助理来也胡一川:深度学习在智能助理中的应用

作者简介 胡一川,来也联合创始人和CTO。来也专注于智能对话技术,让每个人拥有助理。此前,胡一川联合创立了影视推荐引擎"今晚看啥"并被百度收购,后加入百度任资深...

3967
来自专栏CreateAMind

智能机器的现实风险

当人们问我是干什么的,我常常对回答的深度感到困惑。说“人工智能”我很满意,但太宽泛,而说“图像处理”可能又太具体。然而,一听到接下的来的毫不相干的问题我总是气不...

921

扫码关注云+社区

领取腾讯云代金券