ACL 2021 | 预训练模型的改进与应用

2021-09-10 11:48:06 浏览数 (1)

1. ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information

论文地址:https://arxiv.org/pdf/2106.16038.pdf

汉语在句法、词汇以及发音方面有着与英语不一样的特点,而预训练模型最初是为英语设计的,忽略了汉字的字形、拼音方面的语义信息。作者提出了一种新的语言模型架构,加入对汉字的字形、拼音信息的编码以加强预训练模型对中文语言的理解。新提出来的模型在许多中文相关的NLP任务上取得了SOTA的性能。

2. Making Pre-trained Language Models Better Few-shot Learners

论文地址:https://arxiv.org/pdf/2021.15723.pdf

近来GPT-3利用语言提示和任务演示作为输入数据的提供上下文语境,在小样本学习上取得了非常好的性能。然而庞大的参数量使得GPT-3很难在实际中应用。受GPT-3启发,作者提出了LM-BFF——基于小样本微调的语言模型。LM-BFF采用自动选择标签词以及语言提示模板,和有选择性地选取任务演示样例的方法在小样本上进行fine-tuning。实验表明,自动生成的语言模板和标签词在性能上媲美或超越人工选择;模型在各任务上取得了平均11%的性能提升。

3. LayoutLMv2: Multi-modal Pre-training for Visually-rich Document Understanding

论文地址:https://arxiv.org/pdf/2012.14740.pdf

基于大规模未标注的扫描/数字文件的优势和有效的模型架构,文字和布局的预训练在VrDU任务中被证明是有效的。作者在LayoutMv基础上提出LayoutMv2。LayoutMv2将文件的文本、布局、图片作为输入,添加新的预训练任务——文本-图像对齐和文本-图像匹配,在单一多模态网络中建模文本、布局以及文件图片之间的联系。实验表明,LayoutMv2在VrDU任务以及VQA任务上取得了SOTA的性能。

论文细节

1

论文动机

汉语在句法、词汇以及发音方面较英语有其特殊性。汉字的字形和拼音携带重要的句法和语义信息,对语言理解有重要作用。预训练模型最初是以英语为基础设计的,忽略了汉字的特殊性,因此有必要设计符合汉字特征的语言模型进行预训练。前人的方法主要集中在使用不同的masking策略和预训练任务来加强模型获取中文多粒度语义的能力,或是用CNN网络提取字形信息。

本文提出ChineseBert,将汉字的字形、拼音信息纳入到大规模的预训练过程,并且针对不同的中文NLP任务在相应的数据集上进行了实验,并取得了SOTA的性能。

模型

文章中提出的模型架构如下:

(1)Char Embedding: 类似于BERT中的token embedding,在汉字字符粒度上进行embedding。

(2)Glyph Embedding: 仿宋、行楷、隶书三种字体的24*24大小的图片拼接成24*24*3的张量扁平化后,输入到全连接层(FC layer),得到的结果作为Glyph Embedding。

(3)Pinyin Embedding: 作者使用开源的第三方包pypinyin生成汉字的拼音序列,使用宽度为2的CNN网络(max-pooling)得到pinyin embedding。CNN网络输入的拼音信息的序列长度为8,汉字声调用1-4表示,剩余的槽使用“-”填充。如下图所示:

得到的三个embedding首先进行连接操作,然后通过全连接层映射到D维,得到Fusion Embedding。Fusion Embedding与Position Embedding相加作为BERT的输入。由于选择Char masking和Word masking作为模型的预训练任务(无NSP),所以省略了segment embedding。

实验

作者首先在CommonCraw1上进行模型的预训练(如上图),之后在各种中文NLP任务上进行了实验,包括机器阅读理解(MRC)、自然语言推理(NLI)、句子匹配(SPM)等,都取得了SOTA的性能。此处展示预训练得到的ChineseBERT在中文文本分类任务上的实验结果:

此外作者也进行了消融实验,证明了Glyph&Pinyin Embedding对模型更好的理解中文语言是有效的。

2

论文动机

最近GPT-3通过将少量的任务演示作为输入的上下文,加入自然语言提示,在不更新预训练模型的参数的情况下,就能在下游NLP任务上取得显著的性能(小样本设定)。然而GPT-3模型的参数量过大以至于其很难应用到实际应用当中,作者探究prompt-based prediction和task demonstration的方法对中等规模模型(如BERT、RoBERT)在小样本学习上的性能提升。

此外目前大多提示的模板以及标签的词汇是由人工选取,这就很依赖设计人员的水平,并且设计的模板和选择的标签词可拓展性不强。作者在文章中提出了一种自动生成提示模板和标签词的方法,并对GPT-3选择任务演示例子的方法进行了优化,提出了LM-BFF模型。

(下图展示基于演示和提示的fine-tuning与传统fine-tuning的区别:

方法

任务设定:

L:一个预训练好的模型

Y:标签空间

:训练集,每个类别取K个,大小为K*|Y|

:开发集,大小与训练集一样

任务建模:

(1)Classification

假设M是任务的标签空间Y到模型L(L为预训练好的模型)的词汇集V中单个词的映射,将原来输入转化为如下作为模型输入(设为T映射):

如此可将分类任务转换成与预训练任务相同的MLM任务,并对预测类的概率进行建模(h[mask]是[mask]的隐藏向量,是指模型L的词汇集V中单一词v对应的pre-softmax向量):

最小化交叉熵损失对模型L进行fine-tuning。

(2)Regression

将标签空间Y映射到有界区间,将问题建模为两个对立极点之间的插值:

最小化与的KL散度来对模型L进行fine-tuning。

自动化生成标签词(以分类为例):

给定提示模板T下,对Y中每个类别c,先通过训练集根据如下公式在模型L的词汇集V中选择k个词汇

为进一步缩小搜索空间,作者选择在训练集上zero-shot准确率top-n的n个词,最后在开发集上选择最好的作为类别词。

自动化生成提示模板(以分类为例):

作者使用T5(一个预训练好的text-to-text的Transformer)来生成提示模板。T5模型的输入通过如下操作从原始数据得到:

通过最大化

得到提示模板(表示上述数据到输入的转换,表示模板的每个token)。具体模型架构如下:

任务事例选择:

对于G作者认为GPT-3随机从训练集中选择32个例子作为任务演示的方式是次优的。一方面32个事例对模型的输入序列最大长度有要求,另一方面从不同的类别中随机选择例子会导致很长的上下文,较难利用。对此作者首先对于每个类别,计算训练集序列和输入序列的余弦相似度(使用预训练好的SBERT模型对序列进行编码),每个类别在top50%中随机选取一个例子,组合成模型的输入:

实验

作者对8个单句和7个句对的英语任务进行了系统的研究,实验选择的预训练好的模型为RoBERT。单一提示模板的情况下,实验结果如下:

可以看到作者提出的方法得到的prompt在性能上能够与人为设计的相媲美或超越。对于CoLA上的实验结果,作者认为是由于输入是一个非语法的句子,它不在L的分布范围内。

Prompt-based zero-shot: 不对预训练模型进行fine-tuning。

“GPT-3” in-context learning: 如GPT-3选择演示例子。

此外作者在SST-2上进行了标准fine-tuning的模型和LM-BFF的对比试验(如上图所示)。可以看到,作者提出的LM-BFF模型在K较小时就已经能接近最优性能。

3

论文动机

与传统的信息提取任务不同,视觉丰富的文本理解(VrDU)任务不仅仅依赖文本信息,视觉信息和文本布局信息也很重要。近来在VrDU的进展主要在两个方向:1、利用分别训练好的NLP和CV模型,结合多模态的信息进行监督学习;2、 利用大规模的来自不同领域的未标注文本,使用单一的模型在预训练阶段学习文本、视觉、布局之间的联系。前一方法训练得到的模型很难迁移到新的领域。作者延续第二个方向的思路,提出LayoutLMv2。不同于LayoutLMv在训练阶段 使用文档的视觉信息,LayoutLMv2在预训练阶段整合视觉信息来使模型学习视觉信息和文本之间的跨模态互动。同时作者提出spatial-aware self-attention mechanism来体现token pairs的二维相对位置,为背景空间建模提供更广阔的视角;以及更多的预训练任务——文本-图像对齐,文本-图像匹配,来使得模型更好地学习多模态信息之间的互动。

模型

LayoutLMv2模型的架构如下:

(1)Text Embedding: 使用WordPiece来标记化OCR文本序列,将tokens分配到特定的segment。在序列开头加上[CLS],每个segment后接[SEP],序列最后加上[PAD]。Embedding方式如下:

(2)Visual Embedding: 使用CNN-based视觉编码器提取文本页面图片I(调整大小为224*224)的特征。得到的特征图通过平均池化成W*H大小并扁平化,由此我们得到WH个视觉tokens序列VisTokEmb(I)。最终视觉token的Embeddding如下:

(3)Layout Embedding: OCR结果可以得到每个token的边界盒信息,归一化到范围[0,1000]后得到

将六个特征连接起来用以构建layout embedding:

Spatial-aware self-attention mechanism:

原有的self-attention机制只能隐含地扑捉到输入tokens和绝对位置提示之间的关系。(原始的自注意力机制的注意力分数得到方式如下:

为了有效地模拟文档布局中地局部不变性,作者认为有必要明确地插入相对位置信息,提出Spatial-aware自注意力机制以捕捉不同边界盒之间的相对关系。同时考虑到位置的范围很大, 作者将语义的相对位置和空间的相对位置建模为偏置项以防止添加太多的参数。由此得到spatial-aware注意力分数:

偏置项在不同的attention heads中不同,但在不同的encoder层共享。

实验

在模型上,作者选用ResNeXt-FPN作为visual encoder的主要部分,text embedding部分架构与UniLMv2一样;分别在BASE和LARGE两个模型规模上进行实验。

实体提取任务结果:

分类任务结果:

问答任务结果:

从以上实验结果可以看到,LayoutLMv2不仅在VrDU任务上取得了SOTA的性能,在VQA(DocVQA数据集)任务上也达到了目前的最好,展示了多模态预训练在VrDU上巨大的潜力。

同时,作者也进行了消融实验,证明了视觉信息、各个预训练任务以及Spatial-aware自注意力机制能让模型有更好的表现(结果如上)。

X101-FPN:在预训练阶段加入视觉信息。

SASAM:spatial-aware self-attention mechanism。

MVLM:Masked Visual-Language Modeling。

TIA:Text-Image Alignment。

TIM:Text-Image Matching。

BERT和UniLMv2:使用相对应架构的text embedding部分的参数作为初始化。


0 人点赞