是投入到神经网络的研究中。他和燕存乐在1989年将反向传播算法应用到前馈多层神经网络学习过程,使得该算法能够识别出手写的邮政编码。不过随着层度加深,反向传播算法无法有效地调整神经连接之间的权重,导致过长的学习时间。20世纪80年代末人工智能研究进入低谷,很多同行开始研究别的领域,但是辛顿等却仍然在这一领域坚持不懈。以至于有很长一段时间,多伦多大学的计算机系里私下流行的对新生的警言是不要去辛顿的实验室。
在欧洲学术界多层神经网络的研究在20 世纪90 年代也取得了一些进展。慕尼黑工业大学的人工智能专家于尔根·施米德休伯(JürgenSchmidhuber)和他的学生团队在1992年提出的非监督学习时间递归神经网络(recurrent neural net)为语音识别和自然语言翻译提供了重要的模型。与前馈网络不同的是,递归神经网络允许各个神经节直接形成环状循环连接,甚至允许一个神经节点接受自己的输入,这种架构使得每个节点能够更好地利用历史权重,从而更适合处理音频和文字等序列数据。1997年他们提出了简化时间递归神经网络的长短期记忆人工时间递归神经网络(LSTM RNN),解决了时间递归网络在学习过程中的误差消失和放大的问题。
无论是北美还是欧洲,神经网络研究在20世纪90年代因为计算能力这一根本性限制均没能在应用领域取得突破。2004 年机会出现,这一年辛顿从加拿大高等研究所获得每年50万美元的经费,在燕存乐和本吉奥的协助下启动了神经计算和适应感知项目。该项目将一批一流的计算
机、生物学、电子工程、神经科学、物理学和心理学专家聚集在一起,共同探讨用神经网络深度学习的方法模拟人脑智能,该项目聚集了一批后来活跃在人工智能领域的专家,除了辛顿、燕乐存和本吉奥外,还有后来负责谷歌大脑计划的斯坦福计算机系教授吴恩达,以及指导奥巴马政府“人脑”计划的诺斯基(TerrySejnowski)。诺斯基在20世纪80年代和辛顿一起发明了波兹曼机。
有了经费和智慧,辛顿他们很快利用集群计算技术搭配的大计算平台发现了更优化的算法,早期反向传播算法难以客服的困难陆续得到解决。用和时间递归网络类似的逐层培训方式,辛顿等在深度前馈网络中采取了预培训方式解决了反向传播算法的梯度消失问题,用逐层培训和抽象的方式来有效地降低观察对象的维度。简单地说就是将被识别对象的特征(feature)从最底层(例如单个像素)开始通过池化方式逐层抽象收集,后一层把前一层的特征抽取结果做为新的识别对象,用同样的方法提取其新的特征。这种方式可以采用非监督的自动编码和解码的方式来矫正,不需要预先对识别对象进行标注(图6)。2006年前后这一算法在图像识别等分类型预测方面取得了突破性。同一时期施米德休伯等人的时间递归算法也在图像识别和语音识别方面取得突破。
图6 卷积神经网络和最大池化是深度学习的核心设计,复杂的模式通过这种方式被逐层进
行特征抽象,最终可以被有效地分析
2006年深度学习在欧美各地的突破与云计算技术的成熟有直接关系。用辛顿自己在2013年加拿大英属哥伦比亚大学的一次演讲中的话来总结,深度学习以前不成功是因为缺乏3个必要前提:足够多的数据、足够强大的计算能力和设定好初始化权重。事实也的确如此。2006年3月亚马逊正式向外界推出弹性云服务,同年8月谷歌总裁施密特开始使用云计算(cloudcomputing)一词来区别传统的“客户/服务器”模式。随后微软等其他公司纷纷步入其后尘,开始向用户提供类似的云计算服务。大数据和云计算为深度学习算法提供了海量数据和近乎无限的计算能力,打破了这两个限制人工智能发展的主要瓶颈。值得一提的是GPU的出现加速了深度学习的数据处理速度。与只拥有少量内核的CPU 相比,GPU拥有上百个内核,可以同时处理上千个指令相同的线程。这意味着对神经网络的权重计算这种高度一致的重复并行计算工作,GPU的处理效率有可能达到普通CPU 的几十倍,从而可以高速有效地进行各种模式识别计算。
最早将深度学习引入语音识别的是微软。2009年圣诞前夕微软研究院在加拿大召开了一个小型学术会议,邀请辛顿介绍深度学习的研究成果。辛顿的算法并没有引起大多数与会专家的重视,但是微软的两个与会代表邓立和俞栋却在会后组织了人员和数据进行了测试,结果发现非监督的深度学习算法可以使得语音识别的准确率提升25%,远超5%的业界期望值。于是微软开始将这一算法通过不断优化应用到语音识别的各类产品和服务中。图7为2012年10月微软首席研究官拉希德(Rick
Rashid)在天津21世纪的计算大会”上公开演示的后来一时热透中国互联网的全自动同声传译系统(错误率仅为7%)的视频(图7)。
图7 2012 年10 月微软首席研究官拉希德(Rick Rashid)在天津召开的“21 世纪的计算大会”上公开演示全自动同声传译系统(错误率仅
为7%)
微软在语音技术上的突破暗示出如果给予深度学习足够多的数据和计算资源,后者有可能从事更加复杂的图像识别工作。显然互联网上充足的数据资源为这一想法提供了重要的实验平台。2007 年斯坦福大学的李飞飞和普林斯顿大学的李凯合作开发了ImageNet 项目(图8)。
图8 李飞飞在TED 上讲述ImageNet (How we're teaching computers to understand pictures),ImageNet 目前以开源形式为各种深度学习算
法的测试和比赛提供数据支持
该项目团队从互联网上下载了10亿多图片,然后通过亚马逊机械土耳其人这一低成本网络众包的方式,雇佣了来自167 个国家共5万多人对这些图片进行了分类标注。截止2009年该项目成功产生了一个包含22000不同门类,共1500万图片的带标签的数据库。该数据库里的图片分类和标签质量超过以往任何数据库,其中仅猫这一门类就有62000张不同的图片,包含了所有种类的驯养和野生猫。建成这一数据库后,
李飞飞及其团队利用深度学习方法,使得计算机通过监督学习方式识别包含各种物体的图像,而且能够用自然语言生成对每个图像中的物体关系的简单描述。这一成果进一步引发了学术界和科技界对深度学习的关注。
ImageNet 项目主要为监督学习方式提供了数据标签支持,但是标签图片与整个互联网的所有图片数量相比,仍然是九牛一毛。绝大多数数据仍然是以无标签形式存在的。更重要的是人脑尤其是婴儿大脑的发育过程是以标签方式进行的。所以无监督学习和让神经网络自我学习成为另一个研究方向。
2011 年谷歌的迪恩(Jeff Dean)和斯坦福计算机系的吴恩达在未来技术实验中心(Google X)联合发起了“谷歌大脑”研究计划。该计划通过模拟新生婴儿的大脑发育环境来研究人脑的物体识别和语言认知等功能。他们利用谷歌的云计算平台搭建了一个配备16000个CPU和10亿突触神经连接的谷歌大脑计算平台(1年后斯坦福大学和英伟达合作只用了16台配备GPU的服务器,每台配备2个8核CPU和4个英伟达GeForce GTX 680GPU,就达到了同样的计算效果)。为了收集有效的能够表征人类生活环境的数据,他们从谷歌YouTube随机选取了1000万个视屏,从每个视频里随即获取一个200×200像素的截屏,相当于模拟婴儿用眼睛不断观察到的周围环境。