更适合文本分类的轻量级预训练模型

访客3年前黑客文章424

自 BERT 起,预训练语言模型沿着海量训练数据和庞大 *** 结构的方向在不断发展着。在12月落幕的 NeurIPS 2020 会议上,语言模型 GPT-3 荣膺更佳论文奖。OpenAI 的研究人员使用了多达 45TB 的文本数据来训练它的 1750 亿个参数。GPT-3 不仅仅是“变得更大”,它用“Few-Shot”学习替代了 FineTune,能够出色完成代码生成、领域问答、吉他谱曲等高难度的复合型 NLP 任务。


那么,在相反的道路上,当数据受限并且算力不足,是否有轻量级的预训练模型能够帮助我们更好地处理文本分类等经典NLP问题呢?


AllenAI 团队开源的 VAMPIRE(Variational Methods for Pretraining In Resource-limited Environments)正是这样一款模型。全文《Variational Pretraining for Semi-supervised Text Classi?cation》收录于ACL-2019。


本文将详细介绍一种基于预训练半监督的文本分类轻量型模型,即 VAMPIRE 模型,为解决由于大量数据和高昂计算力导致的资源不足问题提供一些思路。


01变分自编码器


VAMPIRE 从 VAE 中借鉴了不少思路,在详细介绍它之前,先来说说什么是 Variational AutoEncoder(VAE),中文译作变分自编码器。VAE 出自 ICLR-2014 的 《Auto-Encoding Variational Bayes》,是一种图像生成技术,近年来也被迁移到 NLP 中作为一种文本生成模型。原文中有大段大段的公式推导,全部理解需要费不少功夫。不过对于 VAMPIRE 来说,重要的是弄明白 VAE 是建立在什么样的假设之上,它是通过什么样的方式来实现文本生成的。


和 encoder-decoder 架构一样,VAE 也是通过“编码”和“解码”来完成对输入句子的重建。两者的区别在于,发源于 CV 的 VAE 并不是一种天然有序的 NLP 模型。在理解 VAE 之前,需要先彻底抛下头脑中关于 Seq2Seq 那种 one by one 生成方式的固有印象。输入序列中的每个词可以是相关的,也可以互相独立的,这取决于你使用什么样的编码器。但是,输出序列中的每个词,一定是互不依赖的。它们被各自建模,同时生成。为了便于理解,我们暂且将重建任务看成是对单个词的建模。这一过程可以用更广义的分布-采样概念来描述:


○ 对于一个离散样本X,计算其概率分布,根据分布表达式进行采样,生成新的离散样本 X'。令 X' 无限逼近 X。


如果用 encoder-decoder 的术语来说,“计算概率分布”即“编码”,“分布表达式”即隐 层,“采样生成”即“解码”。这里有一个难点。X 是个离散变量,它很有可能服从某个奇奇怪怪的 分布,根本就写不出具体的表达式,更别提根据表达式来采样了。因此,VAE 以正态分布作为搭桥, 先将 X 变换到正态分布 N(X) 上,再根据公式进行采样得到 Z,对 Z 进行变换生成 X'。至于 X -> N(X) 和 Z -> X',就直接扔进神经 *** 学出来。一个特定的正态分布,只由均值和方差决定。因此, X -> N(X) 的变换,实际使用了两个神经 *** ,分别估算均值 u 和方差 sigma。


以上是对于单个词的建模。当输入的是 n 个词组成的句子时,在每个词位置都需要进行上述处理。也就是说,有 n 组正态分布,对应着 n 组均值和 n 组方差。好了,现在可以画出整个前向计算的流程图了:


bdd1ab69-0f60-4687-92fb-f4040dfb7d72.jpg


在前向计算过程中,每个 X 都是 embedding 向量,经编码产生的均值和方差也同样是向量(假设维 度为dim)。那么,实际上生成了 dim 个正态分布,它们各自独立采样,组成维度为 dim 向量 Z。从 Pytorch 示例代码中可以更直观地看到数据流向:


80e4c15e-5eed-4f75-b77f-7e56de2f10ce.png


VAE 的优化目标分为两部分。之一部分是重建目标,即 X'=X:


1e98eccb-2466-4d31-8684-ce22e0c8a2f4.png


在不加入额外约束项时,模型可以很轻松地做到 100% 地还原 X,只要让方差全部为 0,均值取原值即可。显然,这样的模型是不具备真正生成能力的。因此,VAE 的优化目标还包含第二部分,使用 KL 散度把 Z(X) 拉向标准正太分布N(0, I)。可以理解为正则化项,或是对生成 *** 加噪。


33f5b9a9-f748-4f4d-b226-2fc258a39103.png


两个 loss 互相对抗,同步学习优化。


02 VAMPIRE


现在可以正式介绍 VAMPIRE 了。这是一个为算力和数据双双受限的情况设计的轻量预训练模型,它的典型应用场景是半监督文本分类。VAMPIRE 在本质上是一个文档话题模型,它从一开始就抛弃了序列信息,将句子当作 BOW(Bag of Words)进行建模。模型捕捉的是词与词的共现信息,重建的是词频向量。这样的设计使得无论是模型训练还是预测推理都大大加快。


对于输入句子 X,VAMPIRE 统计词表中每个词的频次,构建词频向量作为句子表示。编码器部分是和 VAE 一样的均值方差预测,然后进行重参数采样:

a846d342-a0b2-4973-9f4f-7e705306f0b3.png

解码器部分做了适配改造,先对采样变量 Z 做一次 softmax 得到 theta,作者将其解释为对隐话题的分布计算。其中,公式13 即重建目标 loss1。

6fb99710-f919-4fdc-a829-157a3b7cb08d.png

在完成预训练后,theta 被记为 vampire embedding,参与下游任务。和 Bert 等模型不同的是, vampire embedding 作为辅助话题信息,并不能单独完成编码训练。它需要和 word embedding 融合在一起,共同进行分类预测:

4cec88ab-eace-40df-91c9-0f0d8f4cb0e1.png

03 应用场景


在低资源场景下,当算力受限并且也没有可观的领域数据时,VAMPIRE 等轻量级的预训练模型也可以作为一种备选方案。作者在 AG News、Hatespeech、IMDB 和 Yahoo! 四个任务上,测试了 VAMPIRE 与基线词向量模型在标注数据量从 200~10000 范围内的分类准确度。从图上可以明显地观察到,在标注数据不足 2000 条时,VAMPIRE 模型的表现较基线有大幅度的提升。


0e76bb94-ae0b-4d90-bbf1-1fc61b21d491.jpg


04总结


ELMO、BERT 和 GPT 等预训练模型的出现,彻底革新了半监督 NLP 的研究。在海量无标注数据上训练的文本向量表示,不仅能够显著提升下游任务的性能,而且这种助力不局限于单一的任务类型。

相关文章

我们该如何爬出大数据陷阱?

我们该如何爬出大数据陷阱?

导读:大数据革命,是企业始终在为之格斗,且试图翻越的一座大山。没有一家企业没有数据,但鲜有企业可以或许用好数据。本文通过团结金融行业一线的事情履历,提出大数据运营视角下的小数据运维思路设计偏向,供各人...

家用插排什么牌子好(品牌插排排行榜)

家用插排什么牌子好(品牌插排排行榜)

文|杭州办公室装修设计公司-品立装饰官网| 品牌插座有哪些?品牌插座有西门子、TCL、西蒙Simon、奇胜Clipsal、松下Panasonic、施耐德、ABB、朗能LONON等,为了满足大众对插座...

中国黄河源雪豹调查成果丰硕 捕获多组珍贵画面

中国黄河源雪豹调查成果丰硕 捕获多组珍贵画面

图为红外相机拍摄到的雪豹活动照片。青海省原上草自然保护中心提供 中新网西宁10月23日电 (孙睿)“通过多次野外调查和布设的红外相机,我们在黄河源地区雪豹调查中,共记录到雪豹触发次数194次,照...

黑客代码雨教程简单(黑客代码雨代码)-外汇遭黑客攻击最新骗局

黑客代码雨教程简单(黑客代码雨代码)-外汇遭黑客攻击最新骗局

黑客代码雨教程简单(黑客代码雨代码)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑客业...

花店装修什么风格好看(花店怎么装修可以吸引

花店装修什么风格好看(花店怎么装修可以吸引

现在最受欢迎的礼物应该就是花吧,所以花店的装修风格应该设计迎合女生的口味,那么花店装修风格应该装修成什么风格呢?今天肇庆装修网的小编就给想要开花店的朋友们分享花店装修风格,赶快来看看吧! 花店装修风...

「内外」用神仙文案,将内衣的美化作散文诗

「内外」用神仙文案,将内衣的美化作散文诗

与亵服有关的美,「表里」用神仙文案阐释得极尽描述。从再现感性上的视觉与触觉体验,通报理性上的成果遐想,再到叙述亵服与人的亲密干系,它们涵盖了以上方方面面,是美成了散文诗的文案。 作者:Yi L. 来...