深入浅出人工神经网络

978-7-115-50666-5
作者: 江永红
译者:
编辑: 傅道坤

图书目录:

详情

本书是一本讲解人工神经网络原理知识的简明教程,力求使读者在最短的时间内对这些原理知识有一个清晰明了的认识和理解。本书总共分为三个部分,第1部分介绍人工神经网络的启发源头——生物神经网络——的一些基础知识;第2部分讲解学习人工神经网络所必备的一些数学基础知识;第3部分讲解几种常见而典型的人工神经网络模型。

图书摘要

版权信息

书名:深入浅出人工神经网络

ISBN:978-7-115-50666-5

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

著    江永红

责任编辑 傅道坤

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315


作为一本讲解人工神经网络原理的图书,本书旨在让读者在最短的时间内对这些原理知识有一个清晰明了的认识和理解。

本书总共分为3部分,总计9章。第1部分讲解了人工神经网络的源头—生物神经网络的基础知识,第2部分讲解了学习人工神经网络必备的数学知识,第3部分讲解了几种常见而典型的人工神经网络模型,比如感知器、多层感知器、径向基函数神经网络、卷积神经网络、循环神经网络等。

本书写作风格简洁明快,深入浅出,特别适合对人工神经网络/人工智能感兴趣的入门级读者。本书只聚焦原理性知识的讲解,不涉及编程实现,即使对程序编码尚不熟悉的读者也可以轻松阅读理解。本书还可用作高等院校以及相关培训机构的教学或参考用书。


最近几年,预言新技术影响力的宣传铺天盖地,无孔不入。

就在我利用2018年的十一长假,拜读完江永红博士的《深入浅出人工神经网络》并掩卷之际,一则路透社中文网的新闻映入眼帘。这则新闻的大意是世界贸易组织(WTO)总干事Roberto Azevedo先生预言,技术与创新会在2030年之前带动全球贸易每年增长1.8~2.0个百分点。在这篇报道中被明确提到的新技术,就包括了人工智能。此外,Azevedo先生也提到了区块链、物联网和3D打印技术—他认为这些技术会对贸易产生结构性的永久的影响。

我在2018年3月30日出席“2018区块链技术及应用峰会(BTA)”时,也曾公开提到新技术是“小产业,大变革”。当时,我谈到的新技术固然是区块链,但人工智能等技术也势必会扮演同样的角色。

AlphaGo与李世石的人机大战把人工智能的学习和研究推向了新一轮的热潮。与以往人工智能热潮的不同之处在于,人类目前所掌握的计算和通信工具在性能上已经产生了质的飞跃,同时藉由这些工具采集和存储的数据规模也早已今非昔比。当曾经制约人工智能发展的因素不再成为瓶颈,人工智能研究和应用的井喷式发展就势在必行。于是在国内,涉及人工智能普及、研究和发展的政策频频出台,这些都预示着人工智能领域未来可期,投身这个领域正当其时。

与近期出版的同类图书相比,江永红博士的新书既没有把大量的笔墨用于挖掘理论深度,也没有尝试为很有可能不具备理论知识的读者搭建应用的空中楼阁,更没有付诸海量的课后练习来强化和检验读者的理解水平。本书把着眼点完全放在了人工神经网络相关的必备知识点上,用不同于一般教材的轻松语气和细致描述,引导读者一一品味这些理论的个中精髓。

如若类比,江博士这本语气轻松、条分缕析、说理透彻、选题简洁的《深入浅出人工神经网络》可以比作一叶轻舟。虽绝不求在广度深度上与楼船艨艟相媲美,但轻舟漾处,可至花深处,可过万重山。

正在寻找人工神经网络领域入门之作的读者,不妨搭江博士这一叶轻舟,以短短几日,既取寻花之趣,又行抵岸之实。

何宝宏博士

中国信息通信研究院云计算与大数据研究所所长


一直想写一本关于人工神经网络的书,如今这本《深入浅出人工神经网络》终于算是圆了我的一个梦。虽然以前也写过书,也审核过不少书稿,但给书作序还是第一次,而且还是给自己的书作序。我知道,给自己的书作序,理应谦虚为妙,但我还是特别提醒自己:千万别去重复“作者水平有限,且时间紧张,错误之处在所难免,敬请读者批评指正”那样的老套话——既然水平有限,时间匆忙,那还写什么书呀,岂不是要成心误人子弟?

大约30年前的一天,我正在为选择自己的博士研究方向而感到迷茫时,碰见了学长焦李成先生。在闲聊中他知道了我的困惑,进而非常认真地建议我好好研究一下人工神经网络。我听从了焦李成学长的建议,从此便与这一领域结下了不解之缘,一直至今。如果说在人工神经网络/深度学习领域又现高潮的今天,我对它们还略知一二的话,首先要感谢的就是我的学长焦李成先生。印象中,他写的那本绿色封面的《神经网络系统理论》好像是国内出版的第一本关于人工神经网络的图书。

神经网络/深度学习研究领域的原理知识是一个庞大而复杂的体系,里面有众多模型,很难在一本书中全面而均匀地涵盖,所以本书在选材和编写上采用了“舍全求精”的原则,在各种纷繁凌乱的神经网络/深度学习模型及其变体中,选取了感知器、多层感知器、径向基函数神经网络、卷积神经网络、循环神经网络这5种模型。这5种模型是非常经典也是最适合初学者学习的模型,相信读者对于这5种模型的结构和原理有了一个清晰明了的认识和理解之后,能够具备举一反三、一通百通的能力。例如,读者可能会发现,这5种模型采用的都是监督学习方法,而非监督学习方法、半监督学习方法、增强学习方法、迁移学习方法、对抗学习方法等及相应的模型在本书中均未出现。这样做的原因是,大家在理解了监督学习方法之后,再学习理解其他形式的学习方法及相应模型将不再是难事。另外,本书完全不涉及编程实现方面的内容,而是聚焦在了模型原理知识的讲解上。大家如果想了解如何在实战中实现这些模型,敬请关注我后续编写的以神经网络编程实现为主题的图书。

学习神经网络/深度学习,数学基础知识是绕不过去的坎。如果想对神经网络/深度学习有一个最基本的了解,起码应掌握一些线性代数特别是矩阵相关的基础知识;如果想全面提升对神经网络/深度学习的理解,则还应该掌握微积分中有关导数、偏导数、极值、梯度等方面的知识,其中最为关键的知识点是梯度;如果还想继续提升对于神经网络/深度学习的认识和看法,概率统计相关的知识则必不可少。总之,学习和研究神经网络/深度学习,数学是基础,更是强有力的工具。

鉴于大多数人碰到数学就头痛,同时也考虑到本书的读者可能是初次涉足神经网络/深度学习这一领域,所以本书刻意规避了概率统计方面知识的专门介绍,并且对于线性代数和微积分方面的基础知识也是删繁就简,使之恰好能够适配对神经网络/深度学习模型的分析和讲解。

不敢随便自说本书有什么亮点,因为这需要读者去感受。如果现在非要说一个的话,那就是本书包含了大量的图示,总计有200多幅图。我深信,文不如表,表不如图。

最后,想提一下我的女儿。她一直期盼着我能早点把本书写完,因为我曾答应过她,等拿到稿费之后,我会从里面拿出1/10给她买个礼物。至于能买什么价位的礼物,我现在也不知道。

江永红

2018年11月于重庆


江永红博士,生于1965年,1981~1985年就读于四川大学无线电电子学专业,获学士学位;1985~1988年就读于中国空间技术研究院通信与电子系统专业,获硕士学位;1988~1992年就读于西安电子科技大学通信与电子系统专业,获博士学位,主要研究人工神经网络在模糊控制系统中的应用;1992~1995年于华南理工大学进行博士后研究工作,其间申请并主持了国家自然科学基金项目“基于神经网络的谱估计方法”。

20世纪90年代中后期,江永红博士于新西兰梅西大学首次开设并讲授人工神经网络课程。20世纪90年代末期,入职华为技术有限公司,长期从事技术研发及培训工作,曾担任华为HCIE面试主考官,以及华为ICT技术认证系列书籍的审稿人。

在他编写的《HCNA网络技术学习指南》一书中,华为全球培训与认证部部长这样评价:“江永红博士在华为工作近20年,现为华为资深技术专家,且之前于国内外高校从事过多年的教学工作,对于知识的学习及传授方法有着深刻的领悟……”

江永红博士目前为YESLAB高级讲师,专门致力于人工神经网络、深度学习原理及应用的教学活动和知识普及工作。

谨以此书献给我的母亲,她看到这本书一定会非常高兴。

感谢我的好友曾实和叶建忠,与二位的每次交流都让我收获满满,并能让我做出一些明智的决定。例如,与曾兄下棋之后,我就决定以后不再下棋了;读了叶弟的诗作之后,我就决定以后不再写诗了。


现在,我们可以肯定地说,计算机已经普及了,网络也已经普及了。计算机和网络的普及无疑是具有革命性的,它们已经广泛而深刻地改变了社会生活的方方面面。同时,我们现在可以或多或少地感觉到,一场新的技术革命正在到来,这就是人工智能(Artificial Intelligence,AI)。

“普及”牵涉两个方面:一方面是专业技术知识的普及,这需要拥有大量的专业技术人才,目前计算机和网络技术领域已是人才济济;另一方面是应用的普及,现在连几岁的小学生都可以利用网络来抄写作业了,AI的普及势必也会如此。虽说现在就去遐想和漫谈AI的各种可能应用以及它对现实社会及未来的影响未尝不可,但实实在在地多培养出一些AI专业技术人才才更是当务之急。

人才的培养离不开书籍的作用。就目前来看,市面上已有不少涉及AI主题的书籍,但描述和讲解AI技术原理的书籍却是相对匮乏,而以人工神经网络技术原理为主题的书籍尤为不足。人工神经网络是AI领域的一个子领域,历史上出现过的以及目前正在经历的AI研究热潮其实都是由人工神经网络这个子领域引发的。

近年来,作为国内知名的技术培训机构,YESLAB一直致力于AI人才的培养工作。本书作者是YESLAB的一名高级讲师,专门从事AI特别是人工神经网络技术原理方面的授课培训工作。作者基于其大量的培训授课讲稿,并综合梳理了学员的大量反馈意见之后,写作了这本《深入浅出人工神经网络》,以期能够对于整个社会的AI人才培养工作多添一块砖。

本书作为描述和讲解人工神经网络技术原理的入门图书,旨在让读者在最短的时间内对这些原理知识有一个清晰明了的认识和理解。机器学习是人工智能领域的一个子领域,人工神经网络或深度学习又是机器学习领域的一个子领域。深度学习是深度神经网络采用的学习方法,深度神经网络是深度学习方法的基础架构。目前,人工神经网络和深度学习这两个术语几乎成了同义词,常常混用,并且在只提其一时,实则二者皆指。

从内容组织上讲,本书总共分为3个部分:第1部分为第1章,主要介绍人工神经网络的源头——生物神经网络的一些基础知识;第2部分由第2、3、4章组成,主要讲解学习人工神经网络必备的一些数学基础知识;第3部分由第5、6、7、8、9章组成,对几种常见而典型的人工神经网络模型进行了全面介绍。

学习和研究人工神经网络之前,理应了解一些生物神经网络的基础知识。人工神经网络借鉴了生物神经网络的一些原理知识,同时结合了许多数学的方法,这些原理和方法目前仍采用编程方式在传统计算机上进行模拟实现。人工神经网络带有仿生学的影子,但它毕竟不是在复制生物神经网络——如同我们受到鸟儿的启发而发明了飞机一样,我们的飞机上并没有长满羽毛,飞机的翅膀也不会上下扇动。

本章首先对于智能的定义进行了简要的讨论和说明,然后着重介绍了生物神经元和大脑的基础知识,这些知识对于理解第5章中的MCP模型(McCulloch-Pitts Model),也即所谓的人工神经元模型至关重要。简而言之,大脑是由数以千亿的神经元通过数以千万亿的突触相互联系和作用的一个极其复杂的网络系统,而由若干个人工神经元(MCP)互联而成的网络便是所谓的人工神经网络。本章最后还对人工智能、机器学习、神经网络、深度学习这几个常见术语的含义进行了澄清。

人工神经网络模型中经常会用到各种函数。就目前来看,所有这些函数都属于初等函数的范畴。所谓初等函数,就是指由5种基本初等函数(幂函数、指数函数、对数函数、三角函数、反三角函数)和常数经过有限次的四则运算以及有限次的函数复合而得到的函数。

学习和研究人工神经网络,必须要熟悉函数的一些基本属性,如,函数在某一点是否存在极限,函数在某一点是否连续,函数在某一点是否可导。本章除了介绍函数的这些基本属性外,还会进一步地讲解诸多其他的重要概念,如,函数的极值与最值,函数的凹凸性,函数的驻点、拐点、鞍点,多元函数的偏导数等。

熟悉函数的上述基本属性和相关的重要概念,可以为正确地理解“梯度”以及“梯度下降法”打下坚实的基础。毫无疑问的是,在学习关于人工神经网络知识的过程中,最大的困难就是理解各种各样的训练学习算法,而绝大部分的训练学习算法都会涉及梯度及梯度下降的概念和方法。

在绝大多数人工神经网络的训练学习算法中,梯度以及梯度下降法几乎总是其最为核心的内容。

函数在某一点的梯度是一个矢量,所以本章在讲解有关梯度的知识之前,特地介绍了一些相关的基础知识,如,什么是自由矢量,矢量的模,矢量之间的夹角,矢量的基本运算,矢量的坐标表示法,矢量的方向角与方向余弦,等等。

本章的一个最为重要的知识点是,方向导数是一个标量,而梯度是一个矢量;函数在某一点的方向导数取得最大值的方向就是函数在该点的梯度矢量的方向,函数在某一点的方向导数的最大值就是函数在该点的梯度矢量的模。

有人把矩阵基础知识比喻为学习人工神经网络的敲门砖,此话一点不假。在人工神经网络模型中,输入数据、输出数据、模型自身的参数等几乎都是以矩阵的形式来表示的,同时模型所涉及的各种运算也几乎都是一些矩阵运算。就拿人工神经网络编程来说,如果不事先熟悉矩阵相关的一些基础知识,那么就很难看懂相应的程序代码,更别提自己编写代码了。

本章会介绍矩阵的概念,常见的特殊矩阵,矩阵的基本运算,比如矩阵加法、数与矩阵的乘法、矩阵乘法、矩阵转置、矩阵的初等变换等。需要注意的是,矩阵乘法拥有一些特别的性质,这些性质异于我们的思维习惯。例如,矩阵乘法既不满足交换律,也不满足消去律,所以在学习过程中应特别小心。

神经网络计算常常会涉及逆矩阵的概念和求解。求解逆矩阵的方法有很多,本章会介绍其中的一种方法,也即利用矩阵的初等变换来求解逆矩阵。无论求解逆矩阵的方法是怎样的,其计算过程都是非常繁琐的,并且矩阵的阶次越高,计算量会越大,同时也越容易出错。好在各种求解方法的原理并不会因矩阵的阶次不同而不同,而且包括矩阵求逆在内的各种矩阵运算其实都已经有现成的程序软件来实现了,所以我们在学习矩阵的各种运算的过程中,重要的是从概念上理解各种运算的含义,具体的计算工作都可以交给程序软件来完成。

需要重点提及的是,本章的最后一节是第9章中BPTT算法的基础,只有切实掌握这节内容,才能真正理解BPTT算法的推导过程。

本章首先描述了MCP模型(McCulloch-Pitts Model),也即所谓的人工神经元模型,它是人工神经网络的基本组成单元。MCP模型加上相应的训练算法之后便是所谓的感知器,它是最为简单的人工神经网络模型。

人们总是将某些实际应用联系在一起来学习和研究人工神经网络,其中一种常见的应用便是模式识别。模式识别有时也称为模式分类。学习人工神经网络及其应用,几乎总是从学习如何利用感知器来解决线性可分的模式识别/分类问题开始,这也是本章的主要学习内容。

模式矢量是模式的数学表现形式,其几何形态就是模式空间中的模式点。不同类别的模式点在模式空间中的分布情形是多种多样的,从理论上讲,我们总是可以利用若干超曲面来对不同类别的模式点进行分隔,从而实现模式分类的目的。如果模式空间中不同类别的模式点是可以利用超平面来进行分隔的,那么相应的模式分类问题就成了简单的线性可分问题。

单个的感知器或由多个感知器并联而成的单层感知器只适合解决线性可分的模式分类问题,这就极大地限制了它的应用范围。为了更好地理解线性可分性,本章还会介绍一些凸集相关的基本知识。

本章最后介绍了著名的XOR难题,貌似简单的XOR问题竟然成了单层感知器无法逾越的障碍,这因此也催生出了功能强大的多层感知器。

本章主要讲解MLP的结构和工作原理。MLP是一种堪称经典的人工神经网络模型。很多人认为,懂了MLP,整个人工神经网络的知识就几乎算懂了一半。之所以这样讲,是因为MLP的很多原理和方法广泛地应用于许多其他的人工神经网络模型。

MLP是单层感知器的纵向扩展形式,它包含了一个输入层、若干个隐含层、一个输出层。从数学角度看,MLP表达了从输入矢量到输出矢量的某种函数映射关系。从理论上讲,一个含有隐含层的MLP便可以成为一个万能的函数生成器,而XOR难题在MLP面前只是小菜一碟。

监督训练方法是人工神经网络经常采用的一种训练方法,MLP的训练采用的也是监督训练方法。MLP所采用的具体训练算法叫做BP(Back Propagation)算法,它也是一种基于梯度下降原理的算法,所以第3章中的梯度知识将在这里派上大用场。

本章还会对MLP存在的一些问题和解决方法(这些问题和解决方法具有很大的普遍性,而不是仅仅针对MLP网络)进行深入的讨论,主要涉及训练过程中的极小值问题、学习率的选取、批量训练方式、欠拟合与过拟合现象、网络容量问题、网络拓扑选择、收敛曲线特点、训练样本集要求等内容。

本章主要讲解RBFNN的结构和工作原理。从数学角度看,人工神经网络在本质上就是一个函数生成器,所生成的函数映射关系一方面应该尽可能地吻合各个训练样本点,另一方面更应该吻合应用问题本身所隐含的输入-输出函数映射关系。

为了实现上面提到的“吻合”要求,我们可以利用一种称为插值的数学方法。插值方法有很多具体的种类,如线性插值法、多项式插值法、三角插值法等。如果一个人工神经网络所采用的插值函数是若干个径向基函数的线性组合,则这样的人工神经网络就称为径向基函数神经网络。在实际应用中,RBFNN所使用的径向基函数一般为高斯函数。本章将从插值的基本概念入手,一步一步地引出RBFNN的基本结构和工作原理。

RBFNN体现了Cover定理的基本思想:对于一个复杂的、在低维空间表现为非线性可分的模式分类问题,当我们从该低维空间经由某种非线性变换而得到的高维空间来看待时,原来的问题很可能就转化成了一个简单的线性可分的模式分类问题。

本章还会结合RBFNN较为深入地讨论一些关于模式分类的问题,如椭圆可分、双曲线可分、抛物线可分,以及模式空间的柔性分割等问题。本章最后对RBFNN的训练策略进行了介绍。

本章主要讲解CNN的结构和工作原理。CNN是近些年来享负盛名的一种人工神经网络模型,它在图像识别方面的表现尤其令人惊叹。

CNN也许是生物学启发人工智能的最为成功的例子,CNN中的某些基本概念和原理在很大程度上都借鉴了著名的Hubel-Wiesel生物学实验的研究成果。

卷积是函数之间的一种运算关系,与卷积运算非常类似的另一种运算是相关运算。需要特别指出的是,在常见的卷积神经网络模型以及软件开发平台的库函数中,所谓的卷积运算其实并非卷积运算,而是相关运算!

卷积、卷积核、卷积窗口、特征映射图、池化运算、池化窗口、卷积级、探测级、池化级等,这些都是CNN涉及的重要概念。本章会以面部表情识别为例,一步一步地引出卷积神经网络的一般结构和工作原理。

CNN体现了三种重要的思想:稀疏连接、权值共享、等变表示。这些思想都会在本章中逐一讲解。

本章最后会讲解一个在现实中得到成功运用的CNN实例:LeNet-5。LeNet-5在手写体字符识别方面表现非常出色,它常被应用在银行系统中,用来识别银行客户在支票上书写的内容。

本章主要讲解RNN的结构和工作原理。与CNN一样,RNN近年来也非常抢眼,它在自然语言处理(Natural Language Processing, NLP)方面得到了成功且广泛的应用。不同语言之间的自动翻译、人机对话(如著名的图灵测试)等一直就是人工智能研究的热点问题,这些问题统属于NLP的范畴。

N-Gram是NLP中常常会使用的一种语言模型,从理论上讲,N值越大,处理效果就越好。然而,受计算复杂度及存储需求方面的限制,传统人工智能方法只能应付N值较小的情况,因此效果大打折扣,而新的方法多是采用循环神经网络。

如果说多层感知器或卷积神经网络像是组合逻辑电路的话,那么循环神经网络就像是时序逻辑电路。循环神经网络有别于其他神经网络的最大特点就是,当前时刻的网络输出不仅与当前时刻的网络输入有关,还与所有过去时刻的网络输入有关。也就是说,循环神经网络是一种有“记忆”的网络,而这种“记忆”在自然语言处理问题中有着举足轻重的作用。

循环神经网络采用的训练算法是BPTT(Back-Propagation Through Time),它是一种梯度下降法,同时也是一种监督训练算法,每一个训练样本仍是一个<输入,期待输出>二元组,但其最大的特点是,二元组里的输入是一个矢量序列,二元组里的期待输出也是一个矢量序列。

本章会给出循环神经网络的示例,并且会一步一步地讲解如何利用循环神经网络来解决下面所示的这个语言填空问题。

上班 迟到了老板 批评了 (   )

在此过程中,我们会系统地学习到许多重要的概念和方法,如,词库、语料库、矢量化、独热矢量、概率分布矢量、softmax函数、交叉熵误差函数等。

LSTM(Long Short-Term Memory)模型是RNN的一种变体形式,它的出现是为了应对所谓的梯度消失问题。本章最后一节会专门讲解LSTM。

想必各位读者十有八九都已感受到了人工智能的火热现状,如AlphaGo、刷脸技术、语言自动翻译、医学影像诊断、无人驾驶,如此等等。需要说明的是,本书不是一本渲染人工智能热闹景象的图书,不去述说人工智能的前世今生,也不去讨论人工智能的社会学意义,更不去探究未来社会究竟是人类统治AI还是AI统治人类这种高深问题。

本书的目的是实实在在、静心地描述和讲解人工智能当今的热点研究领域—神经网络/深度学习技术原理。本书的目标读者为高校理工类学生,或有意及正在从事人工智能技术工作的社会人员。本书特别适合用作高等院校及培训机构的教学或参考用书,也可供对人工神经网络感兴趣的读者自学使用。


本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,点击“提交勘误”,输入勘误信息,点击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/ selfpublish/submission即可)。

如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www. epubit.com。

异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。

异步社区

微信服务号


毫无疑问,我们是拥有智能(intelligence)的,尽管时至今日我们还无法给智能一个严格而准确的定义。奇妙的是,目前我们正在运用自身的智能来研究和探索自身的智能,这真是一个怪圈!不仅如此,我们还在一直不断努力地物化自身的智能,创生出所谓的人工智能(Artificial Intelligence,AI)。人工智能是相对于动物(甚或植物)及人类的自然智能(Natural Intelligence,NI)而言的;人工智能系统(Artificial Intelligence System,AIS)通常是指能够在某些方面表现出人的智能行为的计算机系统。

关于应该如何定义智能,作者也曾感到非常困惑,同时也查阅了不少资料,总想找到一个唯一而标准的答案,但结果却是没有结果。且不说作者所找到的那十几种关于智能的定义谁优谁劣,单就“植物是否也具有智能”这一问题,各门各派就争论不休。何也?说不清什么是智能,当然也就说不清到底植物是否也具有智能。相信各位读者都看过不少关于捕蝇草、猪笼草的视频,大家觉得这些植物是否算是具有智能呢?

事实上,对于很多的概念,我们都是无法给出严格而准确的定义的,如“智能” “爱情” “幸福”(各位还记得中央电视台记者那几句曾经火遍大江南北的提问吧:你幸福吗?你觉得什么是幸福?)。究其原因,是由于这些概念在本质上就具有模糊性(fuzziness)。所幸的是,概念本身的这种模糊性,并不会妨碍我们对这些概念的思考、研究和运用。

对于模糊的概念,我们虽然无法说得清晰明了,但却总能说些什么。在对什么是智能的描述中,我们经常会用到一些本身也很模糊的说法,如:“因果关系和逻辑关系的认知能力”“对环境的反应和适应能力”“分析、判断和决策能力”“学习与理解能力”“解决问题的能力”“经验的获取、存储和泛化能力”“信息的感知与推理能力”“组织与规划能力”“创造能力”等。作者猜测,看了上面这些说法之后,各位应该已经大致明白了智能的含义。倘若如此,这也就够了。

我们的智能是我们的思维活动的表现之一,而思维活动的场所主要就集中在我们的大脑(brain)。我们能够学习,能够思考,能够解决各种问题,能够创造出一个又一个的奇迹,都得益于我们拥有一个美妙绝伦的大脑。下面就来简单地了解一下有关大脑的基本知识。

大脑(brain)的体积约为1200立方厘米,重量约为1300克。大脑(brain)中包含了大约1000亿个不同种类的神经细胞(nerve cell),以及数量大致相当的其他类型的细胞。如图1-1所示,大脑(brain)大体上包含了三个部分:解剖学意义上的大脑(cerebrum)、脑干(brainstem)、小脑(cerebellum)。解剖学意义上的大脑(cerebrum)是大脑(brain)中最大的一部分,它又分为左右两个近似半球状的部分,俗称左半脑和右半脑。与知识、智慧和情感最紧密相关的是解剖学意义上的大脑(cerebrum);与身体运动控制最紧密相关的是小脑。脑干是大脑(brain)与脊髓(spinal cord)之间的连接桥梁,大脑(brain)与脊髓一起共同构成了中枢神经系统(central nervous system)。需要说明的是,图1-1只是大脑(brain)组成结构的一个极简示意,忽略了很多的细节内容。

图1-1 大脑的基本结构

不同人的大脑虽然从整体上看上去都很相似,但在细节上却存在不少的差异。图1-2所示的是大家所熟悉的爱因斯坦与其大脑标本。爱因斯坦在1955年去世后,科学家解剖了他的大脑并进行了深入的研究。爱因斯坦大脑的体积和重量与常人并无二致,但研究发现其大脑的神经胶质较常人更多,大脑皮层中处理数值和空间信息的区域较大,语言区域较小,等等。

大脑神经系统是指由大脑中海量的神经细胞相互联系和作用而形成的神经网络(neural network)。神经细胞也称为神经元(neuron),图1-3所示为在光学显微镜下放大了数百倍之后几个神经元的真实模样。图中右下角的物体是一根微电极,人们通常使用微电极来测定神经元的电活动(electrical activity)特点。

图1-2 爱因斯坦的大脑标本

图1-3 显微镜下的神经元

图1-4简约地示意了两个神经元及其相互连接的关系。一个典型的神经元是由一个神经元包体(soma细胞体)、一条纤维状的轴突(axon)以及若干树突(dendrite)组成的,整个神经元是通过隔膜(membrane,细胞膜)与周围环境隔离。树突的数目众多,其长度通常不到一毫米,但轴突(也就是我们通常所说的神经纤维)只有一条,其长度可以达到几厘米、几十厘米甚至一米左右。轴突从神经元包体延伸出来,并在结尾处分裂成许多分支,每条分支的末端是一个非常重要的部位,称为突触(synapse)

神经元上发生着非常复杂的电化学活动(electrochemical activity),这些活动决定了神经元处于什么样的状态(state)。神经元的状态有两种:兴奋(excitation)状态和抑制(inhibition)状态。前者也称为开(on)状态,后者也称为关(off)状态。处于关状态时,神经元的轴突的隔膜内外电位差约为-70毫伏,这一电位差称为静息电动势(resting potential)。处于开状态时,神经元的轴突的隔膜内外电位差约为+20毫伏,这一电位差称为动作电动势(action potential)

图1-4 两个神经元的简约示意

神经元与神经元之间的连接并非是一种物理连接,而是一种化学连接。神经元与神经元之间的连接部位称为突触,突触实际上是一个很狭窄的缝隙,神经元之间的联系和影响就发生在这个被称为突触的缝隙中。图1-5对图1-4中神经元1与神经元2之间的突触进行了放大显示,突触的轴突一侧是突触的发送端,突触的树突一侧是突触的接收端。当神经元1处于兴奋状态(开状态)时,在动作电动势的作用下,发送端会释放出一些特殊的化学物质,这些化学物质称为神经递质。神经递质穿越突触缝隙后,会到达接收端,并在神经元2的树突上引起相应的电化学效应,这种电化学效应称为神经元1对神经元2的刺激(stimulus)。对于图1-5中的突触而言,神经元1称为突触前神经元(pre-synaptic neuron),神经元2称为突触后神经元(post-synaptic neuron)

图1-5 突触的特写(请结合图1-4进行观察理解)

突触主要有两种类型:一种是兴奋型;另一种是抑制型。如果突触前神经元处于兴奋状态,并通过突触作用于突触后神经元后,其效果是有助于突触后神经元也达到或保持兴奋状态,则这样的突触称为兴奋型突触;如果突触前神经元处于兴奋状态,并通过突触作用于突触后神经元后,其效果是有助于突触后神经元变成或保持抑制状态,则这样的突触称为抑制型突触。

突触是有强弱之分的,突触的强弱直接决定了突触前神经元对于突触后神经元的影响程度:如果突触越强,则突触前神经元兴奋之后对突触后神经元的刺激作用也越强;如果突触越弱,则突触前神经元兴奋之后对突触后神经元的刺激作用也越弱。我们通常用一个数学意义上的权值(weight)来表征突触的这种强弱性:权值的绝对值越大,则作用越强;权值的绝对值越小,则作用越弱;权值的绝对值为0,则表示没有作用;权值为正,则表示突触是兴奋型的;权值为负,则表示突触是抑制型的。需要特别强调的是,突触的作用强弱(权值)并不是一成不变的。事实上,在大脑的活动过程中,突触的作用强弱(权值)会或快或慢地发生变化,并且这种变化又影响着大脑本身的活动

一个神经元的轴突的末端可以带有成千上万个突触,也就是说,一个神经元可以通过突触直接作用于它周围的成千上万个神经元,当然也可以说,一个神经元可以在它的树突位置通过成千上万个突触接受来自成千上万个其他神经元的作用(刺激)。前文提到,大脑中包含了大约1000亿个神经元,简单推算可知,大脑中突触的数量可以达到约千万亿个!简单地讲,大脑神经网络就是一个由数以千亿的神经元通过数以千万亿的突触相互联系和作用的一个极其复杂的网络系统。

我们已经非常清楚计算机的工作原理。计算机是具有记忆功能的,它通过存储体(内存、磁盘、磁带、光盘等)来记住信息,这些信息在存储体中表现为电位的高低,或电荷的有无,或磁极的不同,或盘面光反射率的不同,如此等等。很自然地,我们不禁要问,信息是如何存储在大脑中的呢?或者说,我们所拥有的各种知识在大脑中是如何体现的呢?就目前来看,科学家倾向于认为,我们的知识及记忆就主要体现为那数以千万亿个突触的作用强弱,或者说体现为数以千万亿个突触的权值,这些权值就是知识及记忆的微观表征。

之前提到,突触的权值并非一成不变的;在大脑的活动过程中,突触的权值会或快或慢地发生变化,并且这种变化又影响着大脑本身的活动。这同时也意味着,权值的变化对应着我们知识及记忆的变化。我们总是通过学习来获取新的知识,实质上,从微观的层面上来讲,学习的过程主要也就是优化改变突触权值的过程。

计算机不仅需要对信息进行存储记忆,还需要对信息进行计算处理,我们熟知的CPU(Central Processing Unit,中央处理单元)就是计算机中对信息进行计算处理的核心部件。那么,在我们的大脑中,对信息进行计算处理的部件又是什么呢?研究表明,每一个神经元本身就是一个简单的信息处理单元(information-processing element)。在大脑中,信息计算处理的过程是高度并行的,海量的信息处理单元(也就是神经元)同时工作,同时并行地计算处理信息;而信息处理的最终结果就是这种海量神经元并行计算处理的集总效应。简而言之,对于计算机而言,计算与存储是明显分离的,而对于大脑而言,计算与存储是高度融合于神经元及其突触连接之中的。

单个神经元对信息的计算处理过程可以简略地描述为:神经元从它的树突处通过突触接收到来自若干其他神经元的刺激(这些刺激相当于该神经元处理单元获得的原始输入信号),然后神经元胞体对所收到的来自不同神经元的刺激采用相应的突触权值进行加权后再求和,从而获得一个总的刺激量。如果这个总的刺激量未达到某个内在的阈值,则该神经元就会处于抑制状态;如果这个总的刺激量达到或超过了阈值,则该神经元就会处于兴奋状态,同时产生动作电动势(动作电动势相当于该神经元处理单元的输出信号)。动作电动势将沿着轴突传递到轴突末端的众多突触,使突触的发送端释放出神经递质,从而引起对其他神经元的刺激(这些刺激也就是其他神经元处理单元获得的原始输入信号)。

受生物化学过程的限制,单个神经元计算处理信息的速度相对于CPU计算处理信息的速度而言是非常缓慢的。在硅芯片中,基本事件(例如“与”运算、“或”运算、“非”运算等)所需的时间大致在纳秒(10-9秒)级别,而单个神经元完成一次信息的计算处理所需的时间大致在毫秒(10-3秒)级别,二者相差了大约6个数量级。然而,奇妙的是,大脑中海量神经元的高度并行运作方式竟能够非常有效地弥补单个神经元的慢动作所带来的不利影响,使得我们能够迅速地思考并对环境做出及时的反应。作者写到这里时,不禁想起了迪斯尼电影《疯狂动物城》里那只名叫闪电的树懒。

尽管计算机在完成某些智能型任务方面(特别是数值运算方面)已经远远优胜于大脑,但就目前来看,在更多的方面,大脑的功能仍是不输计算机的:机器保姆尚未真正进入我们的家庭,在人来人往的开放式大街上驾驶汽车的仍然是人,如此等等。AlphaGo之所以如此神奇,正是在一定程度上借鉴和模拟了大脑的学习方式和学习能力。

下面列举了大脑相对于传统计算机的几个明显特征,这些特征源于大脑与计算机在结构和运作原理上有着根本性的不同;同时,这些特征也正是我们在设计和实现人工智能系统时需要参考借鉴的关键因素。

至此,我们已经完成了对神经元的基本特点以及大脑的基本结构和工作方式的介绍,并列举了大脑相对于传统计算机的几个明显特征。需要说明的是,从神经生物学的角度来看,所介绍的这些知识是非常肤浅和片面的。例如,在介绍突触的时候,我们只是描述了最为典型的、相对数量最多的“轴突-树突型突触”(突触前是某个神经元的轴突,突触后是另一个神经元的树突,参见图1-4和图1-5)。实际上,除了“轴突-树突型突触”外,还存在相对数量较少的“轴突-胞体型突触”(突触前是某个神经元的轴突,突触后是另一个神经元的胞体)、“轴突-轴突型突触”(突触前是某个神经元的轴突,突触后是另一个神经元的轴突)、“树突-树突型突触”(突触前是某个神经元的树突,突触后是另一个神经元的树突)。又例如,神经元本身大致可分为3种类型:感觉神经元(sensory neuron)中间神经元(interneuron)运动神经元(motor neuron)。感觉神经元所接收的输入信号来自外部环境的声音刺激(对应声觉)、压力刺激(对应触觉)、温度刺激(对应温觉)、光刺激(对应视觉)等,其输出的信号通过其他神经元一步一步地传递给脊髓及大脑进行分析处理。运动神经元所接收的输入信号来自大脑及脊髓,其输出信号将直接作用于肌肉细胞并控制肌肉的运动。中间神经元是指脊髓和大脑中的这样一种神经元,即它的输入来自于其他神经元的输出,它的输出是其他神经元的输入。我们之前所描述的神经元,实际上是指中间神经元(参见图1-4和图1-5)。

总之,这里只是从大脑及神经元的生物学知识中抽取了部分与人工智能系统(特别是人工神经网络)紧密相关的内容进行了简单的描述,对生物学知识感兴趣的读者可去查阅相关的专业资料以做深入的了解和学习。

1956年夏,在美国汉诺威(Hanover)小镇的达特茅斯学院(Dartmouth College)召开了一次名为“人工智能达特茅斯夏季研讨会(Dartmouth Summer Research Project on Artificial Intelligence)的学术会议,后来简称为达特茅斯会议(Dartmouth Workshop)。出席这次会议的人员有许多重量级人物,如John McCarthy(美国计算机及认知科学家)、Claude Shannon(信息论之父,美国数学家)、Arthur Samuel(美国计算机博弈专家)、Marvin Minsky(美国认知科学家)等。此次会议持续了数周的时间,广泛讨论了关于智能机器的诸多问题和初步设想。达特茅斯会议被公认为是一个标志性事件,它标志着人工智能作为一个严谨的科学研究领域正式诞生了。顺便提一下,目前广为流传的说法是,John McCarthy于1955年创造并使用了Artificial Intelligence这一术语,但据John McCarthy本人的回忆,这一术语他也是先从别人那里听来的。

人工智能研究领域自正式诞生以来,已经发展成为一个庞大而复杂的研究体系,并衍生出许许多多的子领域,如计算机视觉、语音处理、自然语言处理、机器翻译、专家系统、知识推理、数据挖掘等,其中一个子领域称为机器学习(Machine Learning,ML)。Machine Learning这一术语是Arthur Samuel于1959年创造的。顾名思义,机器学习的研究内容就是如何让机器(计算机)也能够像人一样从外部输入的信息(数据)中学习到有用的知识(而不只是能够单纯地执行预设的程序指令),并利用这些知识来不断地优化自身的结构,从而不断地提升自己的工作表现。也就是说,机器学习领域所研究的内容是适合于机器的学习方法。

深度学习(Deep Learning,DL)这一术语无疑是近年来人工智能领域中最为火爆的热词之一。深度学习是机器学习的方法之一,人们也习惯将它说成是机器学习研究领域的一个分支。与深度学习这个热词密不可分的另一个热词是深度神经网络(Deep Neural Network,DNN),深度学习与深度神经网络的关系可简要地描述为:深度学习是深度神经网络采用的学习方法,深度神经网络是深度学习方法的基础架构。

深度神经网络也称为深层神经网络,它是指神经网络架构中包含了较多的隐含层;与之相反的一个术语是浅层神经网络(Shallow Neural Network,SNN),它是指神经网络架构中包含了较少的隐含层。然而,深层神经网络与浅层神经网络之间目前尚无一种明确的界定,有一种说法是:至少包含了一个隐含层的神经网络即可称之为深层神经网络,而浅层神经网络则是指不含隐含层的神经网络。更为普遍的说法是:至少包含了两个隐含层的神经网络才可称之为深层神经网络。顺便提一下,现实应用中已经出现了深达上百层的神经网络。各位不妨去百度一下关键词“152层”,看看能搜索出一些什么信息。

当然,上面提到的神经网络都是指人工神经网络(Artificial Neural Network,ANN),而非生物神经网络(Biological Neural Network,BNN)。人工神经网络只是借鉴了生物神经网络的一些原理知识(主要就是1.2节、8.8节中的内容),并结合了许多数学的方法,这些原理和方法目前仍采用编程方式在传统计算机上进行模拟实现。人工神经网络的确带有仿生学的影子,但它毕竟不是在复制生物神经网络——如同我们受到鸟儿飞翔的启发而发明了飞机一样,我们的飞机上并没有长满羽毛,飞机的翅膀也不会上下扇动。

需要指出的是,鉴于深度学习与深度神经网络密不可分,人们现在已习惯于混用深度学习、深度神经网络、人工神经网络、神经网络这几个术语。一般情况下,它们指的其实都是同一回事,即都是指采用深度学习方法的(深度)人工神经网络或基于(深度)人工神经网络的深度学习方法。本书中使用得更多的是人工神经网络这个术语。

关于人工智能/机器学习/神经网络/深度学习的发展历程和前景展望,已有很多的书籍和网文进行了介绍,本书不再赘述。接下来我们就直奔主题,开始学习人工神经网络中数学部分的基础知识。


相关图书

图神经网络前沿
图神经网络前沿
图神经网络:基础、前沿与应用
图神经网络:基础、前沿与应用
Python神经网络项目实战
Python神经网络项目实战
TensorFlow深度学习项目实战
TensorFlow深度学习项目实战
PyTorch深度学习和图神经网络(卷2)——开发应用
PyTorch深度学习和图神经网络(卷2)——开发应用
PyTorch深度学习和图神经网络(卷1)——基础知识
PyTorch深度学习和图神经网络(卷1)——基础知识

相关文章

相关课程