深度学习,在某种意义上是“深层人工神经网络”的重命名,从2006年开始在Geoffrey Hinton、Yann LeCun(杨立昆)、Yoshua Bengio、Andrew Ng(吴恩达)等教授以及学术界、工业界很多研究人员的推动下重新兴起,并在语音(2010年)和图像(2012年)识别领域取得了重大技术突破。
尽管在2013年才被列为全球十大突破性技术之一,但事实上,深度学习已经有几十年的发展历史了。
传统机器学习系统主要是由一个输入层和一个输出层组成的浅层神经网。在神经网络里,程序绘制出一组虚拟神经元,然后给它们之间的连接分配随机数值或称“权重”,经由反复的训练来实现误差最小化。但是早期的神经网络只能模拟为数不多的神经元,所以不能识别太复杂的模式。
深度学习中的“深度”是一个术语,指的是一个神经网络中的层的数量。顾名思义,深度学习网络与更常见的单一隐藏层神经网络的区别在于层数的深度,也就是数据在模式识别的多步流程中所经过的节点层数。浅层神经网络有一个所谓的隐藏层,而深度神经网络则不止一个隐藏层。多个隐藏层让深度神经网络能够以分层的方式学习数据的特征,因为简单特征(比如两个像素)可逐层叠加,形成更为复杂的特征(比如一条直线)。
在深度学习网络中,每一个节点层在前一层输出的基础上学习识别一组特定的特征。随着神经网络深度的增加,神经元节点所能识别的特征也就越来越复杂,因为每一层会整合并重组前一层的特征。第一层神经元学习初级特征,例如分辨图像边缘或语音中的最小单元,方法是找到那些比随机分布出现得更多的数字化像素或声波的组合。一旦这一层神经元准确地识别了这些特征,数据就会被输送到下一层,并自我训练以识别更复杂的特征,例如语音的组合或者图像中的一个角。这一过程会逐层重复,直到系统能够可靠地识别出音素(根据语音的自然属性划分出来的最小语音单位)或物体为止。
一旦算法框架构建起来后,人工神经网络就需要很多的“训练”来达到误差最小化。所以这也是深度学习的名字的由来,深度(多层的神经网络)和学习(大量的数据训练)都是必不可少的。机器学习有三种主要学习方式:监督学习、无监督学习和强化学习。每一种学习方式都可以用在深度人工神经网络的训练过程中。
“神经网络”
发展至今,深度人工神经网络的算法在图像识别、声音识别、推荐系统等重要问题上不断刷新准确率纪录。从沉寂了几十年到火爆的热门技术,有三个重要原因推动了深度学习的发展 [3] 。
根据Cisco(思科)统计,全球互联网流量在1992年的时候是每日100GB,而到了2015年的时候,流量已经达到了每秒20,235GB。现在全球九成的数据都是在过去两年里产生的。
这些大数据是训练深度人工神经网络里上百万的神经元和权重的前提。
用数据构建神经网络的最好例子是Google X的一个项目。2012年6月,Google展示了当时最大的神经网络之一,其拥有超过10亿个连接,启用了16,000个CPU。由斯坦福大学计算机科学教授Andrew Ng和Google研究员Je Deann(杰夫·迪安)带领的团队给这个系统展示了1,000万张从YouTube视频中随机选择的图片。这种图片数据量在十年前是无法想象的。
让人工神经网络快速运行是很困难的,因为成千上万的神经元要同时互动。取决于任务种类,有时候使用传统的中央处理器(Central Processing Unit,CPU)运行神经网络需要几周才能出结果。然而用图形处理器(Graphics Processing Unit,GPU),时间能大大节省,同样的任务只需要几天或者几小时就可以出结果。
NVIDIA(英伟达)公司首先推出了GPU,主要用于处理游戏中每秒产生的大量的帧数据。专家们发现,将GPU加入深度学习的架构中,赋予其训练神经网络的能力,可以有执行大量任务的并行计算能力,能更迅速地处理各种各样的任务。GPU让深度学习系统有能力完成几年前计算机不可能完成的工作,比如房屋地址识别、照片分类和语音转录。前文所提到的有10亿个连接的Google X项目,训练人工神经网络的时候使用了1,000台电脑和16,000个CPU。然而在同等工作量和时间下,装备了64个GPU的16台电脑就可以运算出结果。
尽管神经网络一直在不断完善,但是Geoffrey Hinton和他的同事在2006年的发现被大部分人认为是深度学习的转折点。
2006年,Hinton在 Science 和相关期刊上发表了论文,首次提出了“深度信念网络”的概念。与传统的训练方式不同,“深度信念网络”有一个“预训练”(pre-training)的过程,这可以方便地让神经网络中的权值找到一个接近最优解的值,之后再使用“微调”(ne-tuningg)技术来对整个网络进行优化训练。这种分阶段两部训练技术的运用大幅度减少了训练多层神经网络的时间。
这种新的算法让深度学习在真正意义上实现了“深度”,也将深度神经网络带入研究与应用的热潮,将深度学习从边缘课题变成了Google等互联网巨头仰赖的核心技术。
深度学习在过去五年处于爆发式增长状态,在人工智能领域占据主导地位。据Gartner统计,深度学习的专家职位从2014年之后才开始出现,直到2018年,市面上大概有40,000多深度学习专家的职位空缺。这些需求大多来自Facebook(脸书)、Apple、Microso(微软)、Google和百度等科技巨头。大科技公司大量投资深度学习的项目,除了聘请专家以外,它们还大举收购专攻深度学习的小公司。
深度学习的应用无处不在。互联网广告实时投放,在图片中辨认和标记好友,把语音转成文字或者将文字转成语音,把网页上的文字翻译成不同的语言,还有无人驾驶,这些都有深度学习的支持。除此之外,很多我们没有想到的地方也能找到深度学习的影子。信用卡公司用深度学习来做反欺诈测试,医院和实验室使用深度学习来测试、确诊和治疗疾病。自动化流程性能的改进、模式训练和问题解决,这些应用中都有深度学习技术的支持。
尽管有了这么多的进展,但并非每个人都认为深度学习能把人工智能变成某种能与人类智慧相匹敌的东西。主要的批评者认为,深度学习就像一个黑盒子,无从得知其中发生了什么,经验过多,理论不足。还有一些人认为,深度学习还是以数据驱动的方式解决复杂模式识别问题,更倾向于蛮力计算。如何从少量的数据中生成良好的神经网络,这也是深度学习前沿研究中的一个重要课题。
为深度学习奠定基石的Hinton认为,我们需要把这些包括他自己曾提出的突破性模型都推翻,彻底改变现在使用的神经元类型。他说:“我认为我们研究计算机视觉的方式是错误的。虽然它现在比其他任何东西都管用,但这并不意味着它是正确的。”2017年10月,Hinton发表了两篇研究论文,交出了“胶囊网络”(Capsule Networks)的研究成果。胶囊网络是神经网络的变体,目的是让机器更好地通过图像或视频来了解世界。胶囊网络旨在弥补当今机器学习系统大量依靠数据分析的缺陷。深度神经网络支持下的图像识别软件需要大量的示例照片来学习。这是因为系统无法对新场景知识进行泛化,例如,从新的视角观看相同的对象时准确地将其识别出来。举例来说,教计算机从多个角度识别一只猫,可能需要成千上万张不同角度的照片;而人类孩童不需要如此明确和大量的训练,就可以学会识别一只家养宠物。尽管对于胶囊网络目前还没有大量数据和案例来证明其优越性,但这无疑是建立深度学习领域架构的第一人对自己的再一次革命性超越尝试。
关于深度学习的未来,就算是被誉为深度学习始祖的Hinton也承认,自己也不知道人工智能革命接下来会将我们带向何处。他说:“在这个领域,很难预测五年以后的事情,毕竟事情往往并不会像你期待的那样如期而至。”
不过可以确定的是,这仅仅只是开始。