热词解读丨GPT-2、XLNet与图神经网络
编者按:在上期的NLP热门词汇解读中,我们介绍了预训练(Pre-training),它在自然语言处理领域正在掀起一股风潮,催生了“一本正经胡说八道”的编故事大师GPT-2,正与BERT相爱相杀的XLNet,以及许多新的想法与模型。除了文本数据,越来越多的图数据为图神经网络研究提供了广阔的应用背景。
AI世界瞬息万变,本期热词,我们将为你解读GPT-2、XLNet,与图神经网络。
OpenAI的研究人员在“Improving Language Understanding by Generative Pre-Training”中提出了OpenAI GPT,并用实验验证了使用基于Transformer的语言模型可以大幅度提升现有任务效果。在这篇论文的基础上,OpenAI又提出了GPT-2。
除了模型细节上的微调,GPT-2与前代最主要的区别是使用更大规模的语料对模型进行了预训练——它拥有15亿参数,在800万网页数据上进行学习,最终实现针对给定的上文预测下一个词的训练目标。
相比GPT而言,借助10倍的参数和10倍的数据,GPT-2能够生成质量极高的文本,并在一些任务上,无需特定领域数据即可获得很好的效果。如图1所示,我们可以给定一个段落开头,用GPT-2去续写这个故事。原作者展示的几个例子真的可以说是“大力出奇迹”了。
以往的文本生成模型往往在解决连贯性、语法正确性、故事性等方面都遇到很多困难,但这些在GPT-2给出的例子中都得到了不错的体现。也正是因为这个原因,GPT-2并没有给出完整模型参数,因为该模型一旦公开,可能会被用于不良用途,如生成假新闻等。
图1:GPT-2文本生成案例
GPT-2也对预训练的模型规模和数据规模进行了探究,结果表明,随着模型大小的增加,最终任务上的表现也不断提高。而受限于现有的硬件计算能力,还没有找到增大模型规模的收益上限。相信随着算力的持续提升,更大、更快、更好的预训练模型会不断涌现,并为自然语言处理领域带来新一轮的方法论变革。
项目地址
语言模型预训练(Language Model Pre-training)正在成为自然语言处理技术的重要组成部分。之前的ELMo、GPT/GPT-2、BERT等开源模型,在各个自然语言理解任务上都取得了跨越式的提升。XLNet是由CMU和Google Brain的研究人员在“XLNet: Generalized Autoregressive Pretraining for Language Understanding” 这篇论文中提出的最新预训练方法。
文章首先尝试指出,当前的预训练模型BERT存在的一大问题是预训练和测试之间有输入不匹配的问题。这一问题的根源是BERT是基于自解码(denoising autoencoding)方式对语言模型进行预训练,在输入中人为遮盖了一些词进行预测,但在测试时却是使用正常文本。
为了解决这个问题,XLNet尝试用自回归(autoregressive)的预训练方式,提出了“词序变换语言模型”(Permutation Language Modeling)。如图2所示,模型对不同词语之间的依赖关系进行了分解,在训练中尝试枚举不同的词语生成顺序,从而对整个数据文本的概率进行计算。和BERT不同的是,为了避免使用“人为遮盖词语”的方式处理输入,XLNet提出使用带有错位的自注意力模型(Two-Stream Self-Attention)对文本进行编码。
这个模型的另一个亮点是使用了比以往模型更大的训练语料,和BERT的13GB数据相比,XLNet使用了约110GB文本,并配之以512块TPU v3芯片训练了2.5天。再次体现出了大规模数据、强劲计算能力的重要性和威力。正如在BERT上大家观察到的现象,使用更大的数据进行预训练可以带来持续的性能提升,XLNet也因此获得了巨大加成。寻找数据规模、模型大小对预训练效果提升的上界,也是目前大家探索的问题。Facebook研究院最近也使用更大的数据规模、更久的训练,将BERT的预训练效果提升到了XLNet的结果。随着计算力的发展,更多的进展会在这一领域持续发生,不断提升下游任务效果。
图2:词序变换语言模型
来源:https://arxiv.org/abs/1906.08237
日常生活中有许多数据,例如社交网络、商品品目等,是天然可以被建模成成图(Graph)的,由一组节点(对象)及其边(关系)组成。传统的图研究者们希望能够用机器学习的方法,在图上挖掘出有效信息。例如,在已知的社交网络中寻找相似的群体,在制药学中判断相似的分子结构等等。而随着深度学习,尤其是卷积神经网络(Convolution Neural Network)的发展,J. Bruna (2013) 在M. Gori (2005)、F. Scarselli (2009) 提出的图神经网络基础上引入了图谱论(Spectral Graph Theory),并实现了一个基于卷积神经网络的图神经网络。
在传统的研究中,研究者为了很好地处理图数据结构特有的信息,往往要经历数据清洗和特征抽取(Feature Engineering)的环节,然后才进行数据建模(Modeling)。而由于图类数据的特殊性,特征抽取成为了影响后续任务的关键步骤。因此找到泛化性高、表达能力强、拓扑信息有效的特征变得极其重要。图神经网络希望利用深度学习的技巧,来学习一个可以在低维空间中表达图上每一个节点及其邻居(乃至子网络)和对应连接关系的图嵌入(Graph Embedding),并可以直接使用端到端的训练框架来解决后续问题。
此后的几年中,不同的研究者也引入了不同的深度学习模型,用于解决不同的问题。例如,为了更好地刻画更广泛(长)的邻居关系,YujiaLi (2015) 和Xiaodan Liang (2016),分别使用了GRU和LSTM替代了Convolution Layer;为了刻画带权重的邻居关系,Petar Veličković (2017)用attention mechanism替代了Convolution Layer等。
图3:采用不同Layer的图神经网络变种
来源:https://arxiv.org/pdf/1901.00596.pdf
此外,除了传统的分类和预测任务外,图神经网络也与生成模型有一些结合。例如,Nicola De Cao (2018)提出的MolGAN结合了生成对抗网络(GAN)的训练方式,使得模型可以产生与元输入相近且不同的图数据结构;而You (2018)提出的GCPN则利用强化学习的视角和训练方式,利用特定的激励(reward)来生成相似的数据,用于生成相似的医药分子结构。
总而言之,图神经网络目前依然处于发展阶段,传统图结构数据中特有的难题,如Sub-graph的表达方式等,依然亟待研究。而图类数据的广泛存在,也使得该领域有广阔的应用背景。
参考资料:
[1] Gated Graph Neural Networks,Yujia Li, 2015
[2] Semantic Object Parsing with Graph LSTM, Xiaodan Liang, 2016
[3] MolGAN: An implicit generative model for small molecular graphs,Nicola De Cao, 2018
你也许还想看:
感谢你关注“微软研究院AI头条”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。