机器阅读理解:算法与实践
上QQ阅读APP看书,第一时间看更新

1.3 深度学习

深度学习是当前人工智能中炙手可热的研究领域。基于深度学习的模型在图像识别、语音识别、自然语言处理等诸多应用中大显身手,大幅提高了模型的表现。当前绝大多数的机器阅读理解模型均是基于深度学习的。接下来介绍深度学习的特点和成功案例。

1.3.1 深度学习的特点

深度学习作为机器学习的一个分支,为什么能在众多的机器学习模型中脱颖而出?究其根源,有以下几个重要原因。

第一,深度学习具有很大的模型复杂度。深度学习基于人工神经网络,而人工神经网络的一大特点是模型大小可控:即使是固定大小的输入和输出维度,也可以根据需求通过调整网络层数、连接数、每层大小调控模型参数的数量。因此,深度学习易于增加模型复杂度(model complexity),从而更有效地利用海量数据。同时,研究表明深度学习模型的准确率可以随着数据的增多而不断增加(见图1-2)。随着机器阅读理解领域的不断发展,相关数据集越来越多,数据量也在不断增大,这也使得深度学习成为阅读理解中最常见的机器学习架构。

图1-2 深度学习模型在图像识别任务COCO和PASCAL VOC2007上的准确率。横轴为训练数据规模,纵轴为准确率C. Sun, A. Shrivastava, S. Singh, A. Gupta.《Revisiting Unreasonable Effectiveness of Data in Deep Learning Era.》.2017.

第二,深度学习强大的特征学习能力。在机器学习中,模型的表现很大程度上取决于如何学习数据的表示,即表征学习(representation learning)。传统机器学习模型需要事先抽取对任务有重要作用的特征(feature)。在深度学习出现之前,特征抽取很大程度上是依靠人工完成的,并且依赖于领域专家的经验。然而,深度学习依靠神经网络对于数据的非线性变换处理可以自动地从原始特征中(如词向量、图片像素)学习得到有效的表示。由此可见,深度学习可以有效地自动获取对任务有帮助的特征,而不需要设计者具有相关领域的特殊知识。因此,使用深度学习的机器阅读理解模型并不需要开发者绞尽脑汁地思考从文章和问题中抽取哪些特征,模型本身可以利用大数据自动获得高效的文本表示。

第三,深度学习可以实现端到端(end-to-end)的学习。很多机器学习模型采用流水线形式的多步骤解法,如学习特征→特征归类→对每一类特征建立模型→合成预测结果。但是,这些步骤只能独立优化,很难进行统一规划以促进任务最终指标的提高。而且,一旦对其中一个步骤的模型进行改进,很可能导致下游的步骤需要重新进行训练,大大降低了使用效率。而深度学习的一大优势在于,可以利用神经网络强大的数据表征和处理能力实现端到端处理,即以原始数据作为输入,直接输出所需要的最终结果。这种处理方式可以统筹优化所有参数以提高准确率。例如,在机器阅读理解中,模型以文章和问题文本作为输入,可以直接输出答案文本,这大大简化了优化的过程,也非常易于使用和部署。

第四,硬件的更新换代,特别是GPU计算能力的不断进步。深度学习因为模型一般较为庞大,计算效率成为制约其发展的重要因素。而图形处理器(Graphics Processing Unit, GPU)技术的不断改进给深度学习发展带来了极大的加速。与中央处理器CPU相比,GPU具有更强的浮点运算能力、更快的存储和读写速度,以及多核并行的特点。GPU在最近十余年间的发展也符合早期CPU的摩尔定律,即运算速度和器件复杂度随时间呈指数级增长。以NVIDIA公司、Google公司等为代表的GPU产业不断推陈出新,并为深度学习开发专门的GPU和机型,促进了整个深度学习领域的发展和其在工业界的落地。

第五,深度学习框架的出现和社区的繁荣。随着TensorFlow、PyTorch、Keras等框架的出现,神经网络可以实现自动优化,并且框架中实现了绝大多数常用的网络模块,这使得深度学习开发的难度大大降低。与此同时,深度学习社区蓬勃发展。每当新的研究成果产生时,都会有开发者第一时间实现、验证并开源模型,使得技术的普及应用达到了前所未有的速度。学术论文平台arXiv、代码平台GitHub等极大地方便了研究者和开发者之间的交流,也降低了深度学习的研究和实现门槛。例如,2018年9月自然语言处理的突破性研究成果BERT(参见第6章中的介绍)的论文和开源代码面世之后,短短数月之内,借助BERT的网络模型,机器阅读理解竞赛榜单SQuAD和CoQA的最好成绩就被频频刷新(见图1-3)。

图1-3 机器阅读理解竞赛SQuAD 2.0的前三名均基于BERT

1.3.2 深度学习的成果

自深度学习问世以来取得了许多举世瞩目的成果,在语音、图像、文本等多个领域均有非常优异的表现。

2009年,深度学习之父Geoffrey Hinton在与微软研究院合作期间,通过深度信念网络(deep belief network)模型大幅提高了语音识别系统的准确率,并很快由IBM、谷歌、科大讯飞等行业和学术团体通过实验证实。这也是深度学习最早的成功案例之一。7年之后,微软进一步利用大规模深度学习网络将语音识别系统的词错率降低至5.9%,首次达到与专业速记员持平的水准。

2012年,在ImageNet组织的大规模图像识别竞赛(ILSVRC2012)中,深度学习方法卷积神经网络AlexNet获得了84.6%的Top-5准确率,以超过第2名10个百分点的成绩获得冠军。

2016年,斯坦福大学推出机器阅读理解数据集SQuAD(Stanford Question Answering Dataset)。参赛模型需要阅读500多个文章段落并回答十万多条相关问题。短短一年后,Google提出的BERT预训练深度学习模型就达到了精确匹配87.4%、F1指标93.2%的水平,一举超越了人类的得分(精确匹配82.3%、F1指标91.2%),引发了业界的热议。

2018年,微软研发的深度学习翻译系统在中英文通用新闻报道测试集上首次达到与人工翻译同等水平的翻译质量和准确率。

这些成就从不同方面证明了深度学习模型强大的学习能力,也为其在产业界的落地打下了坚实的基础。然而,我们也应该看到,深度学习仍存在着一些尚未解决的缺陷,如很多模型因其参数众多而被称为“黑盒模型”,即无法解释它对于特定输入产生输出的原理,也很难针对特定错误修改模型加以纠正。此外,深度学习模型还缺乏人类特有的推理、归纳与常识能力。这些都是科研的前沿问题。希望在不久的将来,更加强大的深度学习可以使计算机真正具有与人类一般的智能。