通俗地说,机器智能就是用机器(如计算机)完成人类需要用大脑完成的任务,代替人脑的工作,例如下棋、开车、阅读理解等。
机器智能是指计算机系统体现的智能的能力,如从听、说、读、写到搜索、推理、决策和回答问题等,同时也指如何设计实现计算机系统和软件,使其具有智能的行为。
目前,机器智能一般分为机器感知和机器认知两个层面,如图1-1所示。
机器感知:包括语音识别、视觉识别、运动控制和眼手协同等。
机器认知:包括机器学习、自动推理、人工意识和知识表示等。
图1-1 机器智能示意图
人脑含有约860亿个神经元,还有大致850亿个非神经细胞。在大脑皮层(Cortex)约有160亿个神经元,小脑有690亿个神经元。人脑的神经元一般只与周围几千个神经元相连接,彼此能够传导电信号。
要让机器代替人脑工作,最直观的方法就是用机器来模拟人脑的工作行为。但是要模拟这些人脑工作的原理有难度。
首先,人脑作为一个系统,太复杂,涉及生物学、生理学、化学等学科知识;其次,至今人们还未彻底理解人脑的各个功能的工作机理。当然,确实有研究人员是沿着这个思路去实现机器智能的。
那是否还有别的思路呢?其实思路也挺多的,这里有一种称为人工神经网络(Artificial Neural Networks)的方法,最近在实践中被证明是有效的方法。这种方法又称为连接主义(Connectionism),其核心思想是通过大量简单计算单元连接起来的网络来实现复杂的智能行为。
这种方法首先是用数学方法来抽象出单个神经元(Neuron)的功能,构建出单个人工神经元的模型。其次,在单个神经元建模的基础上,参考人脑中神经元的连接方式,构建人工神经网络。最后,通过输入数据样本给神经网络训练,调整神经网络的参数,使其完成具有某些智能的任务(如眼睛看、耳朵听等)。
对于单个神经元的活动原理,目前已经有比较深入的研究。不论何种神经元,从功能上可以分为接收区域(Receptive Zone)、触发区域(Trigger Zone)、传导区域(Conducting Zone)和输出区域(Output Zone)。
这里给出人工神经元的数学抽象模型,也称为逻辑斯提回归单元(Logistics Regression Unit)。人工神经元模型如图1-2所示,这种结构又称为McCulloch-Pitts神经元。它将 n 个输入加权求和后,经过变换 f ( x )输出。逻辑斯提回归单元的 f ()函数就是逻辑斯提函数(Logistics Function)。
将这些单个人工神经元联网,形成复杂的人工神经网络结构,并可以不断扩大网络的层数(又称为深度)和人工神经元的数目,如图1-3所示。
图1-2 人工神经元模型
图1-3 多层神经网络
以上架构人工智能的神经网络方法,就是典型的连接主义的方法,现在称为深度学习的方法,在有大量的训练数据和超大计算能力的情况下,在工业实践中被证明是有效的。
这里需要注意:深度学习使用的神经网络,本质上是一个函数变换的数学模型,和生物中的神经元与神经网络已经没有什么关系了。
基于人工神经网络的人工智能技术的发展,并非一帆风顺。过去经历了两次高潮和两次低谷。
随着1957年罗森布赖特提出了感知机(Perceptron)的概念,掀起了第一次人工神经网络的热潮。由于受当时计算机的计算能力限制,20世纪70年代进入了低谷。
1986年,随着霍普菲尔德神经网络与BP算法的提出,掀起了第二次人工神经网络的热潮。这次由于人工智能计算机的研制失败,20世纪90年代再次进入了低谷。
2006年,多伦多大学的Geoffrey Hinton提出了深度神经网络和训练方法。
2011年,深度神经网络在TIMIT语音识别上实现了突破。
2013年,深度神经网络在图像识别上取得了重大进展。
2013年,深度学习被列为《麻省理工学院技术评论》的十大突破性技术之首。
目前,人工神经网络正进入第三次热潮。回顾过去,人们发现主要原因是当时的计算机的计算能力不够,用于训练的数据样本量不足,造成期望与实际效果之间有较大差别。随着计算硬件技术的进步,云计算和网络所支持的计算能力的大规模提升,再加上基于大数据的机器学习的算法进步,基于神经网络的人工智能方法得到复兴。
深度学习(Deep Learning)是深度神经网络(Deep Neural Networks)的另一个名称。深度学习的核心是深度神经网络的设计与训练,采用层级更深、参数规模更大的神经网络。
深度神经网络的兴起在于三位领军人物的不懈追求。他们是Geoffrey Hinton(多伦多大学教授)、Yoshua Bengio(蒙特利尔大学教授)和Yann LeCun(纽约大学教授),见图1-4。Geoffrey Hinton参与提出了反向传播算法BP,Yoshua Bengio提出了Autoencoder和机器翻译的GRU等方法,Yann LeCun提出了用卷积网络识别手写体的方法。
图1-4 三位领军人物
这次深度学习普及的引发点始于2012年,由Geoffrey Hinton指导博士生Alex Krizhevsky和Ilya Sutskever采用深度卷积网络(AlexNet),在ILSVRC-2012图像分类(Image Classification)挑战赛的突破性的成绩,使准确率大幅度提升。
深度神经网络是机器学习(Machine Learning)的一个分支。为了深入理解深度学习,我们有必要对机器学习的背景进行介绍。
机器学习的一个基本定义:给定一个计算机任务 T 和一个对任务 T 的性能度量 P ,在给出经验集 E 的前提下,计算机任务 T 在性能度量 P 上有所提升。这个利用经验集 E 提升任务 T 的性能 P 的方法就是机器学习。
一般机器学习的原理如图1-5所示。机器学习是用数据训练模型,用模型进行预测,根据反馈产生数据,更新模型和数据。所以,机器学习包括数据、模型与算法3个方面。
图1-5 机器学习的原理
自2012年以来,基于深度学习的图像分类方法AlexNet在ILSVRC 2012比赛中的突破性表现,引起了各方关注,使人工智能得到新的发展。
在过去的几年里,深度学习在解决语音识别与图像处理等机器感知问题方面,表现优越,甚至超过人类的水平。目前,深度学习还在尝试解决自然语言理解、推理、注意和记忆(RAM)等机器认知相关的问题。
现在的业界认为实现通用人工智能(强人工智能)的一种途径是深度学习和深度增强学习。
广义上讲,机器学习的成功依赖于它的泛化能力(Generalization)。通过在训练数据上的学习,然后能够推广到新的数据集上的能力称为泛化。
泛化后与正确的分类结果产生的误差称为泛化误差(Generalization Error,GE)。用数学公式表示为
GE=AE+EE+OE
其中,逼近误差(Approximation Error,AE)是指由于模型规模方面而产生的误差,要想减少这部分误差,需要扩大模型规模。
估计误差(Estimation Error,EE)是指由于数据集规模而产生的误差,要想减少这部分误差,需要增加可用数据的规模。
优化误差(Optimization Error,OE)是指由于算法设计而产生的误差,要降低这部分误差,需要设计更优的算法。
传统机器学习方法主要涉及数据、模型和算法3个方面。传统机器学习方法多采用手工或人为的特征选取,随着训练数据规模的提高,这种方法的提升效果就不明显了。而以深度学习为代表的方法,随着训练数据规模的扩大,提升效果显著,大大超过了传统机器学习方法。这种差异在语音识别、图像分类等机器感知类的任务上的体现尤其显著,如图1-6所示。
神经网络通过扩展网络结构的深度,扩大规模,甚至可以不断扩展下去,而且扩展之后所带来的效果是稳步提升的。通过规模的扩展,或者是提升网络的深度,是改进深度学习效果的途径。
图1-6 机器学习效果与数据规模之间的关系
[1] Human B[EB/OL]. https://en.wikipedia.org/wiki/Brain.
[2] Deep Learning[EB/OL]. https://en.wikipedia.org/wiki/Deep_learning.
[3] Li Deng. Deep Learning for AI-from Machine Perception to Machine Cognition[C]. Keynote ICASSP 2016.
[4] Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks[C]//International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012: 1097-1105.
[5] Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with Deep Neural Networks and Tree Search[J]. Nature, 2016, 529(7587): 484.
[6] Temam O. The Rebirth of Neural Networks[C]//International Symposium on Computer Architecture. ACM, 2010: 349-349.
[7] Russakovsky O, Deng J, Su H, et al. ImageNet Large Scale Visual Recognition Challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252.
[8] 李航.统计学习方法[M].北京:清华大学出版社,2012.
[9] 周志华.机器学习[M].北京:清华大学出版社,2016.
[10] McCulloch W S, Pitts W. A Logical Calculus of Ideas Immanent in Nervous Activity[J]. Bulletin of Mathematical Biophysics, 1943, 5(13): 115-133.
[11] Ian Goodfellow, et al. Deep learning[M]. Cambridge: The MIT Press, 2016.