人工智能 60 年技术简史
VIEW CONTENTS

人工智能 60 年技术简史

2020-9-19 20:48| 发布者: tilldream| 查看: 2131| 评论: 0
摘要: 作者 | 李理,环信人工智能研发中心 VP封图 | CSDN 付费下载自视觉中国出品 | CSDN AI 科技大本营(ID:rgznai100)人类的进化发展史就是一部人类制造和使用工具的历史,不同的工具代表了人类的进化水平。从石器时代 ...

作者 | 李理,环信人工智能研发中心 VP

封图 | CSDN 付费下载自视觉中国

出品 | CSDN AI 科技大本营(ID:rgznai100)

人类的进化发展史就是一部人类制造和使用工具的历史,不同的工具代表了人类的进化水平。从石器时代、铁器时代、蒸汽时代、电气时代再到现在的信息时代,我们使用更加先进便捷的工具来改变生产和生活。

工具的目的是延伸和拓展人类的能力,我们跑得不快,但可以借助骑马和开车日行千里,跳得不高,更不会飞,但是借助飞机火箭上天入地。工具总体来看可以分为两类:拓展人类体力的工具和拓展人类脑力的工具。

在计算机发明之前,人类制造的大多数工具都是前者,它可以帮助我们减少体力劳动。比如使用牛或者拖拉机来耕地的效率更高。当然也有少量的减少脑力劳动的工具,比如算盘,也包括文字——它可以极大的扩充人类的记忆容量,现在很多机械的脑力劳动都可以由计算机完成。但传统的计算机程序只能帮我们扩充记忆和完成简单机械的计算,我们有容量更大速度更快的存储器,可以编制财务软件来帮助进行财务核算。

我们无法实现需要“智能”才能来完成的事情,比如无法让计算机进行汽车驾驶,计算机目前也无法像人类一样用自然语言和人类进行日常沟通,而人工智能的目标就是让计算机能够像人类一样“智能”的解决这些复杂问题。现在的人工智能系统已经能够在围棋上战胜人类世界冠军,现在的语音识别系统已经能在某些特定场景下达到人类的识别准确率,无人驾驶的汽车也已经在某些地方实验性的上路了。未来,人工智能会有更多的应用场景,我们的终极目标是制造和人类一样甚至超越人类智能的机器。


人工智能发展简史


人工智能最早的探索也许可以追溯到莱布尼茨,他试图制造能够进行自动符号计算的机器,但现代意义上人工智能这个术语诞生于 1956 年的达特茅斯会议。

关于人工智能有很多的定义,它本身就是很多学科的交叉融合,不同的人关注它的不同方面,因此很难给出一个大家都认可的一个定义。我们下面通过时间的脉络来了解 AI 的反正过程。

  • 黄金时期(1956-1974)

这是人工智能的一个黄金时期,大量的资金用于支持这个学科的研究和发展。这一时期有影响力的研究包括通用问题求解器(General Problem Solver),以及最早的聊天机器人 ELIZA。

很多人都以为与其聊天的 ELIZA 是一个真人,但它只是简单的基于匹配模板的方式来生成回复(我们现在很多市面上的聊天机器人其实也使用了类似的技术)。

时人们非常乐观,比如 H. A. Simon 在 1958 年断言不出 10 年计算机将在下(国际)象棋上击败人类。他在 1965 年甚至说“二十年后计算机将可以做所有人类能做的事情”。

  • 第一次寒冬(1974-1980)

到了这一时期,之前的断言并没有兑现,因此各种批评之声涌现出来,国家(美国)也不再投入更多经费,人工智能进入第一次寒冬。这个时期也是联结主义(connectionism)的黑暗时期。1958 年 Frank Rosenblatt 提出了感知机(Perception),这可以认为是最早的神经网络的研究。但是在之后的 10 年联结主义没有太多的研究和进展。

  • 兴盛期(1980-1989)

这一时期的兴盛得益于专家系统的流行。联结主义的神经网络也有所发展,包括 1982 年 John Hopfield 提出了 Hopfield 网络,以及同时期发现的反向传播算法,但主流的方法还是基于符号主义的专家系统。

  • 第二次寒冬(1989-1993)

之前成功的专家系统由于成本太高以及其它的原因,商业上很难获得成功,人工智能再次进入寒冬期。

  • 发展期(1993-2006)

这一期间人工智能的主流是机器学习。统计学习理论的发展和 SVM 这些工具的流行,使得机器学习进入稳步发展的时期。

  • 爆发期(2006-现在)

这一次人工智能的发展主要是由深度学习,也就是深度神经网络带动的。上世纪八九十年度神经网络虽然通过非线性激活函数解决了理论上的异或问题,而反向传播算法也使得训练浅层的神经网络变得可能。不过,由于计算资源和技巧的限制,当时无法训练更深层的网络,实际的效果并不比传统的“浅度”的机器学习方法好,因此并没有太多人关注这个方向。

直到 2006 年,Hinton 提出了 Deep Belief Nets (DBN),通过 pretraining 的方法使得训练更深的神经网络变得可能。2009 年 Hinton 和 DengLi 在语音识别系统中首次使用了深度神经网络(DNN)来训练声学模型,最终系统的词错误率(Word Error Rate/WER)有了极大的降低。

让深度学习在学术界名声大噪的是 2012 年的 ILSVRC 评测。在这之前,最好的 top5 分类错误率在 25%以上,而 2012 年 AlexNet 首次在比赛中使用了深层的卷积网络,取得了 16%的错误率。之后每年都有新的好成绩出现,2014 年是 GoogLeNet 和 VGG,而 2015 年是 ResNet 残差网络,目前最好系统的 TOP5 分类错误率在 5%以下了。

真正让更多人(尤其是中国人)了解深度学习进展的是 2016 年 Google DeepMind 开发的 AlphaGo 以 4 比 1 的成绩战胜了人类世界冠军李世石。因此人工智能进入了又一次的兴盛期,各路资本竞相投入,甚至国家层面的人工智能发展计划也相继出台。


2006 年到现在分领域的主要进展


下面我们来回顾一下从 2006 年开始深度学习在计算机视觉、听觉、自然语言处理和强化学习等领域的主要进展,根据它的发展过程来分析未来可能的发展方向。因为作者水平和兴趣点的局限,这里只是列举作者了解的一些文章,所以肯定会遗漏一些重要的工作。


一、计算机视觉


  • 无监督预训练

虽然”现代”深度学习的很多模型,比如 DNN、CNN 和 RNN(LSTM)很早就提出来了,但在 2006 年之前,大家没有办法训练很多层的神经网络,因此在效果上深度学习和传统的机器学习并没有显著的差别。

2006 年,Hinton 等人在论文《A fast learning algorithm for deep belief nets》里提出了通过贪心的、无监督的 Deep Belief Nets(DBN)逐层 Pretraining 的方法和最终有监督 fine-tuning 的方法首次实现了训练多层(五层)的神经网络。此后的研究热点就是怎么使用各种技术训练深度的神经网络,这个过程大致持续到 2010 年。主要的想法是使用各种无监督的 Pretraining 的方法,除了 DBN,Restricted Boltzmann Machines(RBM), Deep Boltzmann Machines(DBM)还有 Denoising Autoencoders 等模型也在这一期间提出。

代表文章包括 Hinton 等人的《Reducing the dimensionality of data with neural networks》发表在 Nature 上)、Bengio 等人在 NIPS 2007 上发表的《Greedy layer-wise training of deep networks》,Lee 等人发表在 ICML 2009 上的《Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations》,Vincent 等人 2010 年发表的《Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion》。

那个时候要训练较深的神经网络是非常 tricky 的事情,因此也有类似 Glorot 等人的《Understanding the difficulty of training deep feedforward neural networks》,大家在使用深度学习工具时可能会遇到 Xavier 初始化方法,这个方法的作者正是 Xavier Glorot。那个时候能把超参数选好从而能够训练好的模型是一种”黑科技”,我记得还有一本厚厚的书《Neural Networks: Tricks of the Trade》,专门介绍各种 tricks。

  • 深度卷积神经网络

深度学习受到大家的关注很大一个原因就是 Alex 等人实现的 AlexNet 在 LSVRC-2012 ImageNet 这个比赛中取得了非常好的成绩。此后,卷积神经网络及其变种被广泛应用于各种图像相关任务。从 2012 年开始一直到 2016 年,每年的 LSVRC 比赛都会产生更深的模型和更好的效果。

Alex Krizhevsky 在 2012 年的论文《ImageNet classification with deep convolutional neural networks》开启了这段”深度”竞争之旅。

2014 年的冠军是 GoogleNet,来自论文《Going deeper with convolutions》,它提出了 Inception 的结构,通过这种结构可以训练 22 层的深度神经网络。它同年的亚军是 VGGNet,它在模型结构上并没有太多变换,只是通过一些技巧让卷积网络变得更深(18 层)。

2015 年的冠军是 ResNet,来自何恺明等人的论文《Deep residual learning for image recognition》,通过引入残差结构,他们可以训练 152 层的网络,2016 年的文章《Identity Mappings in Deep Residual Networks》对残差网络做了一些理论分析和进一步的改进。

2016 年 Google 的 Szegedy 等人在论文《Inception-v4, inception-resnet and the impact of residual connections on learning》里提出了融合残差连接和 Incpetion 结构的网络结构,进一步提升了识别效果。

下图是这些模型在 LSVRC 比赛上的效果,我们可以看到随着网络的加深,分类的 top-5 错误率在逐渐下降。

图:LSVRC 比赛

  • 目标检测和实例分割

前面的模型主要考虑的是图片分类任务,目标检测和实例分割也是计算机视觉非常常见的任务。把深度卷积神经网络用到这两个任务上是非常自然的事情,但是这个任务除了需要知道图片里有什么物体,还需要准确的定位这些物体。为了把卷积神经网络用于这类任务,需要做很多改进工作。

当然把 CNN 用于目标检测非常自然,最简单的就是先对目标使用传统的方法进行定位,但是定位效果不好。Girshick 等人在 2014 年在论文《Rich feature hierarchies for accurate object detection and semantic segmentation》提出了 R-CNN 模型,使用 Region Proposal 来产生大量的候选区域,最后用 CNN 来判断是否是目标,但因为需要对所有的候选进行分类判断,因此它的速度非常慢。

图:R-CNN

2015 年,Girshick 等人提出了 Fast R-CNN,它通过 RoI Pooling 层通过一次计算同时计算所有候选区域的特征,从而可以实现快速计算。但是 Regional Proposal 本身就很慢,Ren 等人在同年的论文《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》提出了 Faster R-CNN,通过使用 Region Proposal Networks(RPN)这个网络来替代原来的 Region Proposal 算法,从而实现实时目标检测算法。为了解决目标物体在不同图像中不同尺寸(scale)的问题,Lin 等人在论文《Feature Pyramid Networks for Object Detection》里提出了 Feature Pyramid Networks(FPN)。

图:Fast R-CNN

图:Faster R-CNN

因为 R-CNN 在目标检测任务上很好的效果,把 Faster R-CNN 用于实例分割是很自然的想法。但是 RoI Pooling 在用于实例分割时会有比较大的偏差,原因在于 Region Proposal 和 RoI Pooling 都存在量化的舍入误差。因此何恺明等人在 2017 年提出了 Mask R-CNN 模型。

图:Mask R-CNN


鲜花

握手

雷人

路过

鸡蛋
Copyright   ©2015-2016  深圳耘想存储科技有限公司  Powered by©Discuz!