|
|
|
|
移动端

前言

《Python神经网络编程》本书首先从简单的思路着手,详细介绍了理解神经网络如何工作所必须的基础知识。本节为前言。

作者:林赐 译来源:人民邮电出版社|2018-05-23 10:40

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

前言

本书的目标读者

本书是为了任何希望了解什么是神经网络的读者而编写的,是为了任何希望设计和使用自己神经网络的读者而编写的,也是为了任何希望领略那些在神经网络发挥核心作用、相对容易但激动人心的数学思想的读者而编写的。

本书的目标读者,不是数学或计算机科学方面的专家。你不需要任何专业知识或超出中学的数学能力。

如果你可以进行加、减、乘、除运算,那么你就可以制作自己的神经网络。我们使用的最困难运算是梯度演算(gradient calculus),但是,我们会对这一概念加以说明,使尽可能多的读者能够理解这个概念。

有兴趣的读者,不妨以本书为起点,进一步探索激动人心的人工智能。一旦你掌握了神经网络的基本知识,你就可以将神经网络的核心思想运用到许多不同的问题中。

教师可以使用本书,优雅从容地解释神经网络,解释神经网络的实现,激起学生对神经网络的热情,鼓励学生使用短短的几行代码制作出能够学习的人工智能。本书中的代码已经通过了测试,能够在物美价廉的计算机——树莓派上工作。树莓派是备受学校和青年学生欢迎的一款计算机。

当我年少的时候,我难以理解这些功能强大但神秘的神经网络是如何工作的。当时,我多么希望存在一本类似的书籍。我在各种书籍、电影和杂志中看到关于神经网络的只言片语,但是当时,我只能找到一些艰深难懂的教科书,而这些教科书是为那些对数学及其术语非常了解的专家级别的人而编写的。

我曾经希望有人能够以让中学生理解的方式向我解释神经网络,满足我的好奇心。而这就是我写作本书的目的。

我们将会做些什么

在这本书中,我们将扬帆起航,制作神经网络,识别手写数字。

我们将从非常简单的预测神经元开始,然后逐步改进它们,直到达到它们的极限。顺着这条路,我们将做一些短暂的停留,学习一些数学概念。我们需要这些数学概念来理解神经网络如何学习和预测问题的解。

我们将浏览一些数学思想,如函数、简单的线性分类器、迭代细化、矩阵乘法、梯度演算、通过梯度下降进行优化,甚至是几何旋转。但是,所有这些数学概念将会以一种非常优雅清晰的方式进行解释,并且除了简单的中学数学知识以外,读者完全不需要任何前提知识或专业技术。

一旦我们成功制作了第一个神经网络,我们将带着这种思想,在各个方面使用这种思想。例如,我们无需诉诸额外的训练数据,就可以使用图像处理来改善机器学习。我们将一窥神经网络的思想,看看它是否揭示了任何深刻的见解——很多书籍并没有向你展示神经网络的工作机制。

当我们循序渐进制作神经网络时,我们还将学习一种非常简单、有用和流行的编程语言Python。同样,你不需要有任何先前的编程经验。

我们将如何做到这点

本书的主要目的是向尽可能多的人揭示神经网络背后的概念。这意味着我们将一直从让人们感觉舒服和熟悉的地方开始介绍这些概念。我们将采用简单的步骤,小步前进,从一些安全的地方开始构建知识,直到我们拥有足够的知识,去理解和欣赏一些关于神经网络的、很酷炫或让人很兴奋的东西。

为了使事情尽可能顺畅方便,我们将抵制诱惑,将讨论范围严格限定为制作神经网络所必需的知识。一些读者可能会对一些有趣的题外话感兴趣,如果你是这样的读者,那么我们鼓励你对神经网络进行更广泛的研究。

本书不会探讨所有可能的神经网络优化和改进的方法。虽然在实践中,存在很多种优化和改进的方法,但是这些内容与本书的核心目的背道而驰,本书只是想用一种尽可能简单易懂、简洁明了的方式介绍神经网络的基本思路。

我们有意将本书分成3章:

在第1章中,我们将如清风拂面般,一览在简单的神经网络中所用的数学思想。我们有意不介绍任何计算机编程知识,以避免喧宾夺主地干扰了本书的核心思想。

在第2章中,我们将学习足以实现自己的神经网络的Python知识。我们将训练神经网络,识别手写数字,并且会测试神经网络的性能。

在第3章中,我们将进一步了解简单的神经网络,这超出了了解基本神经网络知识的范畴,但是我们这样做只是为了获得一些乐趣。我们将尝试一些想法,进一步改善神经网络的性能,我们将观察已受训练的神经网络内部,看看我们是否理解神经网络所学习到的知识,是否理解神经网络是如何做出决定进行回答的。

我们使用的软件工具都是免费开源的,你无须支付任何费用。你也不需要一台昂贵的计算机制作自己的神经网络。本书中的所有代码都已经经过了测试,可以在价廉物美的树莓派Zero上运行。在本书的末尾,附录B介绍了如何让你的树莓派准备就绪。

反馈

如果在数学和计算机科学方面,我没能给你一种真正的兴奋和惊喜的感觉,那么这是我的失败。

如果在通过制作自己的人工智能、模拟人类大脑的学习能力的过程中,我没能向你展示出中学数学和简单的计算机方法可以变得如此出神入化,那么这是我的失败。

如果我没能给你信心和愿望,进一步探索那无比丰富的人工智能领域,那么这是我的失败。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目      下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

计算机病毒防范艺术

本书由Symantec首席反病毒研究员执笔,是讲述现代病毒威胁、防御技术和分析工具的权威指南。与多数讲述计算机病毒的书籍不同,本书完全是...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊