2.10里程碑十:2018预训练语言模型
预训练的词嵌入与上下文无关,仅用于初始化模型中的第一层。近几个月以来,许多有监督的任务被用来预训练神经网络。相比之下,语言模型只需要未标记的文本,因此其训练可以扩展到数十亿单词的语料、新的领域、新的语言。预训练的语言模型于 2015年被首次提出,但直到最近它才被证明在大量不同类型的任务中均十分有效。语言模型嵌入可以作为目标模型中的特征,或者根据具体任务进行调整。如下图所示,语言模型嵌入为许多任务的效果带来了巨大的改进。
△改进的语言模型嵌入
使用预训练的语言模型可以在数据量十分少的情况下有效学习。由于语言模型的训练只需要无标签的数据,因此他们对于数据稀缺的低资源语言特别有利。
2018年10月,谷歌AI语言组发布BERT语言模型预训练,已被证明可有效改进许多自然语言处理任务(Dai and Le, 2015; Peters et al., 2017, 2018; Radford etal., 2018; Howard and Ruder, 2018)。
这些任务包括句子级任务,如自然语言推理inference(Bowman et al., 2015; Williams et al., 2018)和释义paraphrasing(Dolan and Brockett, 2005),旨在通过整体分析来预测句子之间的关系;以及词块级任务,如命名实体识别(Tjong KimSang and De Meulder, 2003)和SQuAD问题回答(Rajpurkar et al., 2016),其中模型需要在词块级别生成细粒度输出。
近年七大技术里程碑小结
除了上述七大技术里程碑,一些其他进展虽不如上面提到的那样流行,但仍产生了广泛的影响。
基于字符的描述(Character-based representations),在字符层级上使用卷积神经网络和长短期记忆网络,以获得一个基于字符的词语描述,目前已经相当常见了,特别是对于那些语言形态丰富的语种或那些形态信息十分重要、包含许多未知单词的任务。据目前所知,基于字符的描述最初用于序列标注,现在,基于字符的描述方法,减轻了必须以增加计算成本为代价建立固定词汇表的问题,并使完全基于字符的机器翻译的应用成为可能。
对抗学习(Adversarial learning),在机器学习领域已经取得了广泛应用,在自然语言处理领域也被应用于不同的任务中。对抗样例的应用也日益广泛,他们不仅仅是探测模型弱点的工具,更能使模型更具鲁棒性(robust)。(虚拟的)对抗性训练,也就是最坏情况的扰动,和域对抗性损失(domain-adversariallosses)都是可以使模型更具鲁棒性的有效正则化方式。生成对抗网络(GANs)目前在自然语言生成任务上还不太有效,但在匹配分布上十分有用。
强化学习(Reinforcement learning),在具有时间依赖性任务上证明有效,比如在训练期间选择数据和对话建模。在机器翻译和概括任务中,强化学习可以有效地直接优化“红色”和“蓝色”这样不可微的度量,不必去优化像交叉熵这样的代理损失函数。同样,逆向强化学习(inversereinforcement learning)在类似视频故事描述这样的奖励机制非常复杂且难以具体化的任务中,也非常有用。