1.2.2 深度学习

深度学习是近十几年来机器学习领域发展得最快的一个分支,在过去几年中,深度学习促进了整个人工智能领域的发展,本次人工智能浪潮的兴起,可以说很大程度上是由深度学习带动的。深度学习领域取得的突破使语音、图像、自然语言处理和大数据等人工智能技术应用得到跨越式进展,促进了人工智能技术的大规模应用。但深度学习技术并不是一时兴起的,而是经历了漫长的发展过程。

2006年可以看作深度学习兴起的元年。杰弗里·辛顿(Geoffrey Hinton)以及他的学生鲁斯兰·萨拉赫丁诺夫(Ruslan Salakhutdinov)正式提出了深度学习的概念。他们在国际学术期刊《科学》(Science)发表的一篇论文“Reducing the Dimensionality of Data with Neural Network”中详细地给出了“梯度消失”问题的解决方案——通过无监督的学习方法逐层训练算法,再使用有监督的反向传播算法进行调优,ReLU、maxout等传输函数代替了sigmoid,形成了如今深度神经网络(Deep Neural Network, DNN)的基本形式。Hinton通过预训练方法缓解了局部最优解问题,将隐含层推动到了7层,神经网络真正意义上有了“深度”。这里的“深度”并没有固定的定义,在语音识别中,4层网络就能够被认为是“较深的”,而在图像识别中,20层以上的网络屡见不鲜。近年出现的高速公路网络(Highway Network)和深度残差学习(Deep Residual Learning)进一步避免了梯度弥散问题,网络层数达到了前所未有的一百多层。同时,随着大数据时代的到来,互联网和移动互联网带来了海量的数据,图形处理器等各种更加强大的计算设备的发展使得深度学习可以充分利用海量数据(标注数据、弱标注数据或无标注数据),自动地学习抽象的知识表达,通过算法(深度学习)根据输入的数据推理出结果。这使得基于深层神经网络技术的深度学习再次引起大家关注。

让深度学习在学术界名声大噪的是2012年的ImageNet图像识别大赛。在这之前,大赛前五名的分类错误率在25%以上,杰弗里·辛顿领导的小组在当年采用深度学习模型AlexNet一举夺冠,成功地把最优错误率从26%降低到了16%,从2012年开始,错误率还在以每年4%左右的速度降低。到2015年,机器识别已经接近了人类的水平,即5.1%的错误率。2016年,机器最新的识别正确率已经达到了97%,错误率为3%左右,已经比人类做得好得多。随着在语音识别、图像识别等领域取得重大突破,深度学习现在已经成为最热门的人工智能技术之一,并且从中短期来看,包括人脸识别、人体识别、图像识别等在内的主要计算机视觉技术均主要基于使用神经网络的深度学习算法。

深度学习在维基百科上的定义是“多层的非线性变换的一个算法合集”,那怎样实现这个多层非线性变换呢?目前最好、最方便的一种方法就是神经网络,当前主流的深度学习方法都是基于神经网络的,特别是深度神经网络。深度神经网络也是一个很广的概念,卷积神经网络(Convolutional Neural Network, CNN)、循环神经网络(Recurrent Neural Network, RNN)、生成对抗网络(Generative Adversarial Network, GAN)等在某种意义上都属于其范畴。

虽然在很多领域中表现出了强大的潜力,但从本质上来说,深度学习还是没有脱离机器学习的范畴,有很多局限。深度学习主要是用蛮力计算(当然也有1×1卷积、池化等操作降低参数量和维度),只是进行概率预测,无法具备确定性,是一种“相关性”而非“因果性”的科学。所以在目前的深度学习方法中,参数的调节依然是一门“艺术”,而非“科学”。深度学习方法深刻地改变了很多学科的研究方法。以前学者所采用的观察现象,提炼规律,数学建模,模拟解析,实验检验,修正模型的研究方式发生了变化,在一定程度上被收集数据、训练网络、实验检验、加强训练所取代。深度学习当前对感知任务完成得比较好,但并不擅长处理与知识、理解等相关的认知任务;深度学习过度依赖数据,虽然有一些预训练模型可以起到较好的作用,但总的来说,在小数据场景下,深度学习技术所发挥的作用有限;需要仔细设计网络,虽然有自动化深度学习建模等技术,但目前很多是局部网络结构的微调,在大的基准框架上还比较依赖专家设计。尽管深度学习有这些的局限性,但是随着相关算法、深度学习框架的完善,算力的提升,各种应用的落地,预计深度学习将是近一段时期内人工智能技术应用实现的主要技术手段。