注:本文已首发到机器之心上。
作者:Zeng Xiangji; 编辑:Hao Wang
引言:2019年5月ACM图灵大会上,朱松纯教授(加州大学洛杉矶分校)与沈向洋博士(微软全球执行副总裁)在谈到“人工智能时代的道路选择”这个话题时,沈向洋博士认为人工智能发展在工业界将会迎来黄金十年,而朱松纯教授也表示人工智能的发展趋势将会走向大一统,从小任务走向大任务,从AI六大学科走向统一。
自然语言处理领域的BERT模型恰好印证了这一规律,BERT尝试着用一个统一的模型处理自然语言处理领域的经典任务,如阅读理解、常识推理和机器翻译等任务。事实证明,自从谷歌于去年十月发布BERT之后,BERT便开始了漫长的霸榜之路,在机器阅读理解顶级水平测试SQuAD1.1中BERT表现出了惊人的成绩,全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩,包括将GLUE基准推至80.4%(绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进率5.6%)等。虽然近段时间不断有后起之秀在各种指标上超过了这一经典,但这只是架构上的小修小改。毫无疑问,BERT开启了自然语言处理领域一个崭新的时代。
最近发布的 XLNet 在多个方面超越了BERT,但是BERT语言模型与现有领域,如法律文书、科研论文,的交叉应用实例,对于XLNet的应用仍有非常大的意义。
1. 介绍
近十年,深度学习的复兴给自然语言处理领域带来了翻天覆地的变化,特别是2013年简化版词嵌入word2vec的提出为深度学习在自然语言处理领域的应用打下了铺垫。由于神经网络是基于张量空间的数值计算,因此神经网络不能良好的表示自然语言文本。自然语言文本与神经网络之间需要一个桥梁来完成这一转换,而词嵌入就是这个桥梁,词嵌入可以将自然语言文本转化成语义空间上低维的稠密数值向量。但是经过词向量转换后的句子表示在整个语义层面上仍然有着较大地缺陷,因为词嵌入无法有效地解决一词多义的问题。
语言预训练模型从另一个思路尝试着解决上下文环境语义表示的问题。互联网上拥有海量的文本数据,然而这些文本大多都是没有标注的数据,AllenNLP ELMo模型的提出解决了从这些海量的无标记文本数据中获取上下文语义表示的问题。但是受限于LSTM的能力,ELMo模型只是一个使用了三层BiLSTM的网络模型,按照传统观点,深度学习模型要想捕捉更精确的语义表示就需要将模型网络层数做得更深。
OpenAI GPT模型解决了这个问题,GPT采用Transformer的编码层作为网络的基本单元,Transformer舍弃了RNN的循环式网络结构,完全基于注意力机制来对一段文本进行建模,从而可以将网络模型做得更深。除此之外,Transformer还解决了RNN不能并行计算的缺点,这对减少模型训