1.1.1 人工智能的发展历程
美国科研人员沃尔特·皮茨和沃伦·麦卡洛克于 1943 年基于人类大脑创建了一个计算机模型。从那时起,人工智能(AI)技术一直稳步发展。
1.20世纪50年代
1950年,著名的英国数学家艾伦·马西森·图灵在一篇名为Computing Machinery and Intelligence(《计算机器与智能》)的论文中设计了一个机器模仿人类的游戏,并据此判断机器是否会“思考”,这就是著名的图灵测试。图灵测试让计算机通过文本方式与人类聊天5分钟,若人类无法确定对方为机器还是人类则测试通过。图灵对计算机科学的巨大贡献无须赘言,至今图灵奖仍是计算机科学界的最高荣誉。
1957年,美国学者弗兰克·罗森布拉特发表了名为The Perceptron——A Perceiving and Recognizing Automaton(《感知器:感知和识别的自动机》)的论文。论文中提出了感知器的概念。这是首个用算法精确定义神经网络的数学模型,是后来很多神经网络模型的始祖。
2.20世纪60年代
1960年,亨利·凯利提出了一个基础的反向传播的模型。反向传播算法是一种适用于多层神经网络的学习算法,建立在梯度下降法的基础上。
所谓“反向传播”是指出于训练的目的反向传播错误。虽然“反向传播”的概念在1960年就已经提出,但是当时的反向传播算法过于复杂,效率也不高,直至1986年才具有实用意义。
3.20世纪70年代
20 世纪 70 年代是人工智能的第一个冬天。随着公众对人工智能兴趣的衰减,对人工智能技术的投资也在逐渐减少。资金的缺乏影响了人工智能和深度学习领域的研究。
日本人福岛邦彦是在没有资金支持的情况下独自从事相关研究工作的。他提出了卷积神经网络(CNN)的概念,并使用多个池化层和卷积层设计了神经网络。
著名的反向传播(BP)算法诞生于20世纪70年代,并得到稳步发展。反向传播算法将输出以某种形式通过隐藏层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号。此误差信号被作为修正各单元权重值的依据。
反向传播是深度学习的根基,也是推动第三次人工智能浪潮的重要因素。反向传播算法和其在MindSpore框架中的应用将在第5章进行介绍。
4.20世纪80年代和90年代
1989年,贝尔实验室的杨立昆第一次提供了反向传播的实际演示。他在发表的论文Backpropagation Applied to Handwritten Zip Code Recognition(《反向传播应用于手写邮政编码识别》)中将卷积神经网络与反向传播合并在一起,并通过一个实例系统最终实现手写数字的识别。第5章将介绍此实例在MindSpore框架中的实现方法。
当第二个人工智能的冬天(1987—1993年)来临时,对神经网络和深度学习的研究也受到了负面影响。IBM和苹果公司推出了个人计算机,并快速占领整个计算机市场,个人计算机的CPU(中央处理器)频率稳步提高,速度越来越快,甚至比广泛应用于人工智能领域的 LISP 机还要强大。这导致专家系统和很多硬件公司日渐衰落,人工智能领域的投资者越来越少。
个人研究者再一次延续了人工智能和深度学习的相关研究工作,并取得显著的进步。1995年,德纳·考特斯和弗拉基米尔·万普尼克开发了支持向量机(SVM),它是一种映射和识别相近数据的系统。
计算机处理数据的速度越来越快,1999 年,图形处理器(GPU)诞生。使用 GPU处理图像数据的速度更快。十年间计算速度提高了1000倍,这对于深度学习技术的发展是至关重要的。在此期间,神经网络开始与支持向量机竞争。虽然神经网络处理数据的速度比支持向量机慢,但是在使用相同数据的情况下,神经网络可以得到更好的结果。神经网络的优势在于当追加更多的训练数据时,其可以不断地改善训练结果。
5.2000—2010年
2001年,美国调研机构META Group发布的研究报告描述了数据源和数据类型范围的增加带来的数据增速,并提醒人们对大数据带来的冲击做好准备。大数据时代的到来给深度学习带来新的发展机遇和挑战。
2007年,斯坦福大学的李飞飞教授带领团队创建了世界上最大的免费图像识别数据库ImageNet,其中包含20000多个类别,每个类别包含数百个图像,共计提供超过1400万个被标记的图像,至少100万个图像中包含边界框。这对机器学习很重要,因为互联网中有很多未标记的图像,而神经网络的训练需要被标记的图像。李飞飞教授认为大数据会改变机器学习的工作方式,数据驱动学习。
6.2011—2020年
2011年,GPU的处理速度变得更快。这使得深度学习在效率和速度方面得到显著提升。
2014年,伊恩·古德费洛提出了生成对抗网络(GAN)算法。GAN算法的设计思路是:在一个游戏中,两个神经网络互相对抗,游戏的目的是一个网络模拟一个图像,让它的对手相信图像是真的;而其对手网络的目的是找到图像中的瑕疵。游戏最终会得到一幅接近完美的图片,并成功欺骗对手网络。该算法提供了一种完善产品的方法。第9章将介绍基于GAN算法的一个变种DCGAN(深度卷积生成对抗网络)在MindSpore框架中实现动漫头像生成的实例。
2016年被称为人工智能元年。这一年,不仅有AlphaGo与世界围棋冠军李世石的围棋对决,还涌现出很多基于机器学习和深度学习的实用产品和解决方案。
本小节介绍了人工智能技术发展的历程,其中涉及一些人工智能、机器学习和深度学习的基本概念和主要算法。这些基础理论将在本书后面章节结合具体应用进行详细介绍。