神经网络与深度学习 - (EPUB全文下载)

文件大小:4.56 mb。
文件格式:epub 格式。
书籍内容:

目錄
引言 
第一章 使用神经网络识别手写数字 
第二章 反向传播算法如何工作的? 
第三章 改进神经网络的学习方法(上) 
第三章 改进神经网络的学习方法(下) 
第五章 深度神经网络为何很难训练 
第六章 深度学习 
神经网络与深度学习
神经网络和深度学习是一本免费的在线书。本书会教会你:
神经网络,一种美妙的受生物学启发的编程范式,可以让计算机从观测数据中进行学习
深度学习,一个强有力的用于神经网络学习的众多技术的集合
神经网络和深度学习目前给出了在图像识别、语音识别和自然语言处理领域中很多问题的最好解决方案。本书将会教你在神经网络和深度学习背后的众多核心概念。
想了解本书选择的观点的更多细节,请看
这里
。或者直接跳到
第一章
开始你们的旅程。
译者的话:
本书是 Michael Nielsen 的 Neural Networks and Deep Learning 的中译本。目前已经完成第二章、第三章、第五章和第六章的内容。后续会进行剩下章节的翻译。如果想要提供意见或者建议,给出翻译的笔误,都可以直接通过 xhzhu.nju@gmail.com 联系到我。
第一章 使用神经网络识别手写数字
人类视觉系统是世界上众多奇迹之一。看看下面的手写数字序列:
大多数人毫不费力就能够认出这些数字为 504192. 这么容易反而让人觉着迷惑了。在人类的每个脑半球中,有着一个初级视觉皮层,常称为 V1,包含 1 亿 4 千万个神经元及数百亿条神经元间的连接。但是人类视觉不是就只有 V1,还包括整个视觉皮层——V2、V3、V4 和 V5——他们逐步地进行更加复杂的图像处理。人类的头脑就是一台超级计算机,通过数十亿年的进化不断地演变,最终能够极好地适应理解视觉世界的任务。识别手写数字也不是一件简单的事。尽管人类在理解我们眼睛展示出来的信息上非常擅长,但几乎所有的过程都是无意识地。所以,我们通常并不能体会自身视觉系统解决问题的困难。
如果你尝试写出计算机程序来识别诸如上面的数字,就会明显感受到视觉模式识别的困难。看起来人类一下子就能完成的任务变得特别困难。关于我们识别形状——“9 顶上有一个圈,右下方则是一条竖线”这样的简单直觉——实际上算法上就很难轻易表达出来了。而在你试着让这些识别规则越发精准时,就会很快陷入各种混乱的异常或者特殊情形的困境中。看起来毫无希望。
神经网络以另一种方式看待这个问题。其主要思想是获取大量的手写数字,常称作
训练样本

然后开发出一个可以从这些训练样本中进行学习的系统。换言之,神经网络使用样本来自动推断出识别手写数字的规则。另外,通过增加训练样本的数量,网络可以学到更多关于手写数字的知识,这样就能够提升自身的准确性。所以,上面例子中我们只是展出了 100 个训练数字样本,而通过使用数千或者数百万或者数十亿的训练样本我们也许能够得到更好的手写数字识别器。
本章我们将实现一个可以识别手写数字的神经网络。这个程序仅仅 74 行,不适用特别的神经网络库。然而,这个短小的网络不需要人类帮助便可以超过 96% 的准确率识别数字。而且,在后面的章节,我们会发展出将准确率提升到 99% 的技术。实际上,最优的商业神经网络已经足够好到被银行和邮局分别用在账单核查和识别地址上了。
手写识别常常被当成学习神经网络的原型问题,因此我们聚焦在这个问题上。作为一个原型,它具备一个关键点:挑战性——识别手写数字并不轻松——但也不会难到需要超级复杂的解决方法,或者超大规模的计算资源。另外,这其实也是一种发展出诸如深度学习更加高级的技术的方法。所以,整本书我们都会持续地讨论手写数字识别问题。本书后面部分,我们会讨论这些想法如何用在其他计算机视觉的问题或者语音、自然语言处理和其他一些领域中。
[待续]
第二章 反向传播算法如何工作的?
在上一章,我们看到了神经网络如何使用梯度下降算法来学习他们自身的权重和偏差。但是,这里还留下了一个问题:我们并没有讨论如何计算代价函数的梯度。这是很大的缺失!在本章,我们会解释计算这些梯度的快速算法,也就是
反向传播

反向传播算法最初在 1970 年代被发现,但是这个算法的重要性直到
David Rumelhart

Geoffrey Hinton

Ronald Williams

1986年的论文
中才被真正认可。这篇论文描述了对一些神经网络反向传播要比传统的方法更快,这使得使用神经网络来解决之前无法完成的问题变得可行。现在,反向传播算法已经是神经网络学习的重要组成部分了。
本章在全书的范围内要比其他章节包含更多的数学内容。如果你不是对数学特别感兴趣,那么可以跳过本章,将反向传播当成一个黑盒,忽略其中的细节。那么为何要研究这些细节呢?
答案当然是理解。反向传播的核心是对代价函数
关于
(或者
)的偏导数
的计算表示。该表示告诉我们在权重和偏差发生改变时,代价函数变化的快慢。尽管表达式会有点复杂,不过里面也包含一种美感,就是每个元素其实是拥有一种自然的直觉上的解释。所以反向传播不仅仅是一种学习的快速算法。实际上它还告诉我们一些细节的关于权重和偏差的改变影响整个网络行为方面的洞察。因此,这也是学习反向传播细节的重要价值所在。
如上面所说,如果你想要粗览本章,或者直接跳到下一章,都是可以的。剩下的内容即使你是把反向传播看做黑盒也是可以掌握的。当然,后面章节中也会有部分内容涉及本章的结论,所以会常常给出本章的参考。不过对这些知识点,就算你对推导的细节不太清楚你还是应该要理解主要的结论的。
热身:神经网络中使用矩阵快速计算输出的观点
在讨论反向传播前,我们先熟悉一下基于矩阵的算法来计算网络的输出。事实上,我们在上一章的最后已经能够看到这个算法了,但是我在那里很快地略过了,所以现在让我们仔细讨论一下。特别地,这样能够用相似的场景帮助我们熟悉在反向传播中使用的矩阵表示。
我们首先给出网络中权重的清晰定义。我们使用
表示从
层的
个神经元到
层的
个神经元的链接上的权重。例如,下图给出了第二隐 ............

书籍插图:
书籍《神经网络与深度学习》 - 插图1
书籍《神经网络与深度学习》 - 插图2

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 神经网络与深度学习 - (EPUB全文下载)