人工智能,作为计算机科学的一个分支。
从1956年夏季麦卡赛、明斯基、罗切斯特和申农等一批有远见卓识的年轻科学家首次提出,到2006年机器学习泰斗Geoffrey Hinton和他的学生RuslanSalakhutdinov在《科学》上发表了一篇开启深度学习在学术界和工业界浪潮的文章,50多年时间,无数科学家提出了很多机器学习的算法,试图让计算机具备与人一样的智力水平,但直到2006年深度学习算法的成功,才带来了一丝解决的希望。
过去的十年,从谷歌大脑项目到百度深度学习研究院,从国家4部委联合制定《“互联网+”人工智能三年行动实施方案》到教育部门论证“智能科学与技术”作为一级学科,人工智能从顶层设计到大众普及教育均实现了爆炸式发展。这主要得益于3个方面:
- 深度学习算法大大提升了人工智能在语音、图像处理等应用层面的准确度;
- 存储设备的容量变得越来越大,获取海量数据(无论是图片、文字、交易信息,还是地图数据)的成本越来越低;
- GPU的发展使并行计算变得速度更快、成本更低、性能更强大。
当前的计算机科学领域,人工智能、机器学习、深度学习是大家经常提到的词,但它们之间的关系是什么呢?
人工智能是应用范畴的词汇,机器学习是一种实现人工智能的方法,深度学习是机器学习的子类,也是现有机器学习方法中,最奏效的一类。我们就用最简单的方法——同心圆,可视化地展现出它们三者的关系和应用。
机器学习应用最成功的领域是计算机视觉,包括人脸识别、指纹识别、图像检索、目标跟踪等。随着信息技术和智能技术的飞速发展,全球视觉数据正在呈现爆炸式增长,而视觉数据规模的增加也是深度学习能够很好地解决视觉问题的重要因素。近年来,深度学习在计算机视觉中应用的文章如雨后春笋般涌现出来,其达到的效果要远远超出传统的计算机视觉方法。
为什么深度学习之前,传统的计算机视觉算法在人脸识别、跟踪、目标检测等诸多领域没有达到深度学习的精度呢?我们首先回归到计算机视觉问题本身,如下图:
计算机视觉领域的细分方向成百上千种,比如图像分割、目标跟踪、人脸识别、行为分析等等,但这些方向的研究均符合上图流程框架,即,将待处理的图像或者视频输入设计好的算法,通过计算,输出结果。以图像分割为例,我们期望算法可以将图像中的待分割目标,完美地分割出来。不同的计算机视觉算法,对应不同的处理器。
传统的计算机视觉算法
对于传统的视觉算法来说,大致可以分为以下4个步骤:图像预处理、特征提取、特征筛选、推理预测与识别。计算机视觉可以说是机器学习在视觉领域的应用,所以计算机视觉在采用这些机器学习方法的时候,不得不自己设计前面3个部分(相当于将处理器分拆成多个子功能处理器)。但对任何人来说这都是一个比较难的任务。
传统的计算机识别方法把特征提取和分类器设计分开来做,然后在应用时再合在一起,比如如果输入是一个摩托车图像的话,首先要有一个特征表达或者特征提取的过程,然后把表达出来的特征放到学习算法中进行分类的学习。
过去20年中出现了不少优秀的特征算子,比如最著名的SIFT算子,即所谓的对尺度旋转保持不变的算子。它被广泛地应用在图像比对,特别是所谓的structure from motion这些应用中,有一些成功的应用例子。另一个是HoG算子,它可以提取物体,比较鲁棒的物体边缘,在物体检测中扮演着重要的角色。这些算子还包括Surf、RIFT和GLOH,都是在深度学习诞生之前或者深度学习真正的流行起来之前,占领视觉算法的主流。
这些特征和一些特定的分类器组合取得了一些成功或半成功的例子,基本达到了商业化的要求但还没有完全商业化,比如指纹识别算法、基于Haar的人脸检测算法、基于HoG特征的物体检测。但这种成功例子太少了,因为手工设计特征需要大量的经验,需要你对这个领域和数据特别了解,然后设计出来特征还需要大量的调试工作。说白了就是需要一点运气。
另一个难点在于,你不只需要手工设计特征,还要在此基础上有一个比较合适的分类器算法。同时设计特征然后选择一个分类器,这两者合并达到最优的效果,几乎是不可能完成的任务。
深度学习时代的计算机视觉
深度学习的前世
深度学习网络的最初原型是人工智能领域的大牛Lecun在1998年AT&T的实验室时发明出来的,当时用这一网络进行字母识别,达到了非常好的效果。说到这里,我们不禁要问,“似乎卷积神经网络设计也不是很复杂,98年就已经有一个比较像样的雏形了。自由换算法和理论证明也没有太多进展。那为什么时隔20年,卷积神经网络才能卷土重来,占领主流?”
这一问题与卷积神经网络本身的技术关系不太大,与其它一些客观因素有关。
首先,深度卷积神经网络需要大量数据进行训练。网络深度太浅的话,识别能力往往不如一般的浅层模型,比如SVM或者boosting;如果做得很深,就需要大量数据进行训练,否则机器学习中的过拟合将不可避免。而2006年开始,正好是互联网开始大量产生各种各样的图片、视频数据的时候(即视觉大数据开始爆发式地增长)。
另外一个条件是运算能力。卷积神经网络对计算机的运算要求比较高,需要大量重复可并行化的计算,在当时CPU只有单核且运算能力比较低的情况下,不可能进行个很深的卷积神经网络的训练。随着GPU计算能力的增长,卷积神经网络结合大数据的训练才成为可能。
最后一点就是人和。卷积神经网络有一批一直在坚持的科学家(如Lecun)才没有被沉默,才没有被海量的浅层方法淹没。最后终于看到卷积神经网络占领主流的曙光。
深度学习的今生
深度学习的概念由Hinton等人于2006年提出,具备天时地利人和的深度学习从此一发不可收拾,其在计算机视觉的诸多领域取得的效果远超传统机器学习算法,包括人脸识别、图像问答、物体检测、物体跟踪。
人脸识别方面,工作比较超前的是汤晓鸥教授,他们提出的DeepID算法在LWF上做得比较好。最新的DeepID-3算法,在LWF达到了99.53%准确度,与肉眼识别结果相差无几。
物体检测方面,2014年的Region CNN算法、2015年的Faster R-CNN方法、FACEBOOK提出来的YOLO网络、在arXiv上出现的最新算法叫Single Shot MultiBox Detector在识别精度和速度上均与较大提升。
物体跟踪方面,DeepTrack算法是第一在线用深度学习进行跟踪的文章,当时超过了其它所有的浅层算法。此后越来越多的深度学习跟踪算法提出。
由谭铁牛院士领衔的中国图象图形学学会将于6月2日-4日举办“图象图形学前沿讲习班”,点击了解详情。