PET-文本分类的又一种妙解

更好的阅读体验请跳转至PET-文本分类的又一种妙解

之前的一篇《模型增强-从label下手》中,我们提到了通过转换label,将分类转换为NLG的方法,而由于性能没有得到增加,所以就没有继续往下做。今天看到两篇文章,思路略微相似,也让我眼前一亮,发现原来我与顶会思路这么近(误),所以总结对比一下。

Classification to NLG

对于分类任务,我们可以将其转换为一个生成任务。比如此时我们有一个样本:

"context:'「天天特价房」华庭仁和国际 3室2厅2卫仅售65万', label: '房产', label_id: 0"

通常我们直接预测对应的label id,而由于其也有label,所以我们可以将其转换为一个NLG任务,即:

"context:['「天天特价房」华庭仁和国际 3室2厅2卫仅售65万', '房产']"

即通过样本生成label对应的token。借助UniLM同时具有NLU与NLG的能力,只需要很小的改动就可以利用BERT做该任务了,对应的示意图如下:


unilm.png

不过当时考虑到UniLM中提到seq2seq的训练<code>不能</code>提高NLU的能力,所以当时并没有选择使用MLM来尝试,最后得到的结论是:

1.* 将分类转为生成后,性能基本一致;*
2.* 将分类与生成联合起来训练,性能与单个任务性能基本一致。*

MLM

MLM,即Masked Language Model,中文翻译又叫“掩码语言模型”,即以自监督的方式,mask 掉一部分,然后通过剩余的部分来还原被mask 掉的部分,示意图如下:


mlm.png

而mask的方式也有多种,如随机选择token进行mask;将token所在的整个词都mask(whole word mask);或者将某个span内的token都mask掉(span mask)。
虽然mlm在预训练任务上已经被证明十分有效,但是通常认为mlm部分的参数是与mlm任务相关的,而通常在下游任务中我们是别的任务,所以会舍弃掉这部分参数,而只使用encoder部分。
但是论文It's Not Just Size That Matters: Small Language Models Are Also Few-Shot LearnersExploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference却告诉我们,mlm不仅有用,在few-shot场景下,通过一下简单的融合手段,性能能超过当前的明星GPT-3.

任务转换

与之前的思路类似,我们针对分类任务,不再直接对label进行预测,而是预测其label description,即将其转换为完形填空形式的任务,来预测不同label description的概率。
而如何转换成完形填空呢?也很简单,我们添加一个简单的语义通顺的描述,然后将其中与分类有关的内容mask掉即可。举个例子:
假如我们现在的任务是短文本分类,一个样本为“context:'「天天特价房」华庭仁和国际 3室2厅2卫仅售65万', label: '房产'”,我们添加一个统一的描述句,将其变为:
"下面是一则__相关新闻标题: 「天天特价房」华庭仁和国际 3室2厅2卫仅售65万",其中的空格可选的内容是所有的label description,对应的真实值是"房产"两个字,这样,我们就将分类任务转换为一个完形填空的形式。
而添加的方式也可以分为前缀、后缀两种,完整的方式:

"以下是一则__相关新闻标题: 「天天特价房」华庭仁和国际 3室2厅2卫仅售65万"
"「天天特价房」华庭仁和国际 3室2厅2卫仅售65万,以上是一则__相关新闻标题"

Pattern-Exploiting Training

上面我们添加的前缀/后缀句子称为<code>Pattern</code>, 而label description可以有多种方式,比如,对于“房产”这个label,我们也可以用“地产”来表达,对于“娱乐”label,也可以用“八卦”来表达,所以需要一个token到label的映射,这个映射可以是多对一的,这个被称为<code>Verbalizer</code>,所以在预测时可以将多个token的概率结合起来判断其对应的label。
由于是few-shot,为了提高性能,作者采用了与Knowledge Distillation类似的思路,具体方案如下:

1.* 对每个Pattern利用多个pre-train model 进行fine-tuning,得到多个模型.其中loss=L_{ce} + L_{mlm};*
2.* 将多个模型的结果进行融合,得到一个融合模型Teacher Model;*
3.* 利用Teacher Model在大量unlabed数据上进行预测,得到对应的soft labels;*
4.* 利用soft labels数据,训练一个常规的分类模型(非MLM模型)。*

以上就是论文Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference中提到的PET。
此外,该论文中还提到了一个改进:iPET。其中的区别是:在ipet中,得到mlm的多个model后,增加一个迭代:每次会从训练mlm的model中抽取一个m_i,然后从剩余的model中选取一部分对unlabeled data进行预测,将其中预测结果确定(不是准确,此时意味着结果的熵很小)的部分打上一个fake label,让m_i进行训练。重复多次后,融合模型对unlabeled data进行预测,得到一个soft labels data,在此基础上训练一个常规分类器。

可以看到,PET的方式主要适用label description为有限空间,即选择题,此外,每个样本的label description需要长度相同,而且由于mask之间相互独立,所以长度也不能太长。

与NLG差异

在之前的脑洞中,我们将分类任务转变为NLG任务,即利用样本来生成对应的label description,而他与PET中的主要差别主要有几点:

1.* NLG中我们并没有没有限制label description的长度,且不同label对应description也可能是不同长度;*
2.* NLG中我们每个token的生成是有依赖关系的,即后面的token会依赖之前的token,所以token长度可以比PET中稍微长一些;*
3.* PET中对应的解码空间大大减小,只需要得到label对应token的概率即可;*
4.* PET中的pattern可以放在前缀也可以放在后缀,NLG可以看作是后缀PET.*
5.* PET 中由于pre-train是mlm任务,所以zero-show性能更好。*

实验

针对这些差异尝试做了几组实验,验证一下想法。

  1. NLG中label长度同一且解码时利用PET的方式解码,在few-shot下准确率从52.4%上升到52.9%,所以生成的label越短,解码空间越小越准确;
  2. PET前缀pattern下准确率为%53.7%$,所以前缀pattern比后缀性能更好,这也与苏剑林《必须要GPT3吗?不,BERT的MLM模型也能小样本学习》的结论一致。
  3. zero-shot情况下,PET的准确率为47.2%, 而NLG只有17.9%,考虑到数据集全量下目前最好成绩才60.7%,说明PET的方式在zero-shot下效果相当惊人。

主要实验代码在classification_pet_seq2seqclassification_tnews_pet

总结

本文介绍了一种新的转变分类任务获得更好性能的方法:即将分类任务转化为mlm模型进行完形填空,同时与之前脑洞的将分类转变为生成任务进行对比,通过实验验证了两者的差异与有效性。同时也提醒自己,多想几步,也许就能有新的发现。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容