1.2.1 深度学习的发展
围绕着人工智能如何理解关于世界的知识,科学家用不同的方法进行了不同的探索和尝试。在国际上,学者们对机器学习的发展阶段并没有非常明确的划分规则,本书将机器学习的发展划分为推理期、知识期、学习期、快速发展期和爆发期。
1.推理期
从20世纪50年代到70年代初,人工智能发展尚处于推理期,这一时期的机器学习只能称为感知,即认为只要给机器赋予逻辑推理能力,机器就具有了智能。最早的人工智能实践起源于1943年的人工神经元模型,该模型的神经元主要包含了输入信号以及对信号进行线性加权、求和、非线性激活(阈值法)3个过程,希望通过计算机来模拟人类神经元的活动方式,如图1.5所示。
图1.5 早期通过计算机来模拟人类的神经元活动的方式
1958年,Frank Rosenblatt第一次将人工神经元模型用于机器学习,发明了感知机(Perceptron)算法。该算法使用人工神经元模型对输入的多维数据进行二元线性分类,且能够使用梯度下降法从训练样本中自动学习更新权值。1962年,该方法被证明为能够收敛,其理论与实践效果引发了第一次神经网络热潮。
然而机器学习的发展并不总是一帆风顺的。1969年,美国数学家Marvin Minsky在其著作中证明了感知机本质上是一种线性模型,只能处理线性分类问题,例如,感知机在处理异或问题上的表现极差。仅让机器具有逻辑推理能力是远远无法实现人工智能的,还需要赋予机器理解世界知识的能力。
2.知识期
20世纪70年代中期开始,人工智能进入了知识期。在这一时期,人们将关于世界的知识用形式化的语言进行硬编码,使得计算机可以使用逻辑推理规则来自动地理解这些关于世界的知识。这种方法被称为人工智能的知识库方法,其中Douglas Lenat的Cyc项目最为著名。Cyc由推断引擎和使用CycL语言(Cyc项目的专有知识表示语言)描述的声明数据库组成,该项目最开始的目标是将上百万条知识编码成机器可用的形式。在当时,Lenat预测完成Cyc这样庞大的常识知识系统(涉及的规则高达25万条)需要花费350人年才能完成。由人将世界知识用形式化的语言进行硬编码的工程显然过于庞大和低效,因此,AI系统需要具备自己获取有关世界知识的能力,从而增强系统对未知事件的预测和理解能力。
3.学习期
1986年,加拿大多伦多大学的Geoffrey Hinton教授发明了适用于多层感知机的人工神经网络算法——反向传播算法(Back Propagation,BP)。它有效解决了神经网络在处理非线性分类和学习中的瓶颈,引起了神经网络的第二次热潮,这个热潮一直持续到今天。通过BP算法可以让一个人工神经网络模型从大量训练样本中学习样本中的规律,从而对未知事件进行预测和理解。在模型训练的准确性和高效性上,这种基于统计的机器学习方法比过去基于人工规则的系统有了极大改善。这个阶段的人工神经网络,虽然被称作多层感知机(Multi-layer Perceptron),但实际上是一种只含有一层隐藏层节点的浅层学习模型。由于神经网络存在过拟合、调参困难、训练效率较低,在层级小于等于3的情况下并不比其他方法更好。
20世纪90年代,其他各种各样的浅层机器学习模型相继被提出,例如支持向量机、最大熵方法、逻辑回归等。这些模型的结构基本上可以看成带有一层隐藏层节点(如SVM、Boosting)或没有隐藏层节点(如LR)。多数分类、回归等学习方法均为浅层结构算法,主要局限性在于有限样本和计算单元无法满足对复杂函数的表示能力的需求,针对复杂分类问题的泛化能力受到制约。直到1989年,Hinton和LeCun等人发明了卷积神经网络(Convolutional Neural Network,CNN),并将其用于识别数字,且取得了较好的成绩。
4.快速发展期
2006年,Hinton教授和他的学生Salakhutdinov在《科学》上发表了一篇有关人工神经网络的论文,提出了无监督贪心逐层训练(Layerwise Pre-Training)算法,其主要思想是先通过自学习的方法学习到训练数据的结构(自动编码器),然后在该结构上进行有监督训练微调。这篇论文指出多隐藏层的人工神经网络具有优异的特征学习能力,学习得到的特征可以更准确地描绘出数据的本质,从而有利于可视化或分类。深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力。Hinton提出了深层网络训练中梯度消失问题的解决方案:无监督预训练对权值进行初始化,然后进行有监督训练微调。2011年,激活函数的理念被提出,激活函数能够有效地抑制梯度消失问题。
深度学习是一系列在信息处理阶段利用无监督特征学习和模型分析分类功能的,具有多层分层体系结构的机器学习技术。深度学习的本质是对观察数据进行分层特征表示,实现将低层次特征进一步抽象成高层次特征表示。
5.爆发期
在2012年,Hinton带领的小组为了证明深度学习的潜力,使用通过CNN网络架构的AlexNet在ImageNet图像识别比赛中获得冠军,这场比赛之后CNN吸引了众多研究者的注意。AlexNet采用使用了激活函数的纯粹有监督学习,激活函数的使用极大地提高了收敛速度且从根本上解决了梯度消失问题。
从目前的最新研究进展来看,只要数据足够大、隐藏层足够深,即便没有预热训练,深度学习也可以取得很好的结果。这凸显出大数据和深度学习的相辅相成。无监督学习曾是深度学习的一个优势,但有监督的卷积神经网络算法正逐渐成为主流。2015年,Hinton、LeCun、Bengio等人论证了Loss的局部极值问题对于深度学习的影响可以忽略,该论断消除了笼罩在神经网络上的局部极值问题的阴霾。