【预训练语言模型】StructBERT: Incorporation Language Structures into Pre

编程入门 行业动态 更新时间:2024-10-27 00:30:23

【预训练语言<a href=https://www.elefans.com/category/jswz/34/1771358.html style=模型】StructBERT: Incorporation Language Structures into Pre"/>

【预训练语言模型】StructBERT: Incorporation Language Structures into Pre

【预训练语言模型】StructBERT: Incorporation Language Structures into Pre-training For Deep Language Understanding

在预训练语言模型考虑文本的结构信息,并提出新的预训练任务,在word和sentence级别上融入结构信息。引入结构信息的语言模型,在GLUE、SQuAD和NLI等下游任务上达到了SOTA。

备注:GLUE榜单:

简要信息:

序号属性
1模型名称StructBERT
2所属领域自然语言处理
3研究内容预训练语言模型
4核心内容BERT改进
5GitHub源码
6论文PDF.04577.pdf

一、动机

  • 如何学习word的表征,并应用于下游任务一直以来是研究的核心。现如今基于BERT的双向深度表征方法常采用Masked Language Modeling作为自监督训练的任务,但他们均忽略了文本内在的结构信息;
  • 句子的结构信息包括inner-sentence(word-level)和inter-sentence(sentence)。先前的方法没有捕捉到word和sentence之间的依赖关系。

二、方法

Input Representation

与BERT一样,输入single sentence或sentence-pair,并对所有word embedding、position embedding和segment embedding进行求和。文本中插入[CLS]和[SEP]等特殊的token。输入最大长度设置为512,采用WordPiece分词规则。

Transformer Encoder

与BERT一样,采用多层Transformer进行表征;

Training

除了标准的Masked Language Modeling任务外,额外提出两个任务:

(1)Word Structure Objective
给定一个sentence,对其中的若干token随机打乱顺序,目标让模型能够reconstruct原始的token顺序,即预测出每个token对应的真实位置。


训练目标为:

其中 K K K 为随机打乱顺序的token个数,本文采用类似滑动窗口方法,随机打乱长度为 K K K 的窗口内的token序列,实验中认为 K = 3 K=3 K=3 比较合适。

因此给定一个句子,首先随机选择15%的token替换为[MASK],然后再随机选择5%的窗口(长度均为3,且窗口内不包含[MASK])。对每个窗口内的3个token随机改变顺序。输出部分,除了对[MASK]部分预测其真实token的概率外,对打乱过的token也预测其对应的真实token。

(2)Sentence Structure Objective


给定一个sentence pair ( S 1 , S 2 ) (S_1, S_2) (S1​,S2​)。原始BERT中的Next Sentence Prediction只是一个二分类问题(预测句子 S 2 S_2 S2​ 是否是 S 1 S_1 S1​ 的下一句)。本部分则拓展为三分类,即预测 S 2 S_2 S2​ 是否是 S 1 S_1 S1​ 的下一句、预测 S 1 S_1 S1​ 是否是 S 2 S_2 S2​ 的上一句,以及两个句子是否无关。

如上图,首先从大规模语料中随机采样一个句子 S 1 S_1 S1​, 对于该句子,如果其后一个序列作为 S 2 S_2 S2​,则标签为1;如果其前一个序列作为 S 2 S_2 S2​,则标签为2;如果从其他文档中随机采样一个句子作为 S 2 S_2 S2​,则标签为0。三类采样比例均分。

Pre-training

语料选择Wikipedia、BookCurpus。提供了base和large两种模型:

base训练40epoch,耗时38小时;large训练了7天。

三、实验

GLUE


发现当StructBERT与RoBERTa进行集成时,效果最好。

StructBERTRoBERTa表示在RoBERTa训练好的模型基础上,引入本文提出的两个目标继续进行训练得到的模型。

Extractive QA

以SQuAD1.1为例的抽取式问答实验结果:

在验证集上达到93.0。(StructBERT并未在SQuAD榜单上提交)

更多推荐

【预训练语言模型】StructBERT: Incorporation Language Structures into Pre

本文发布于:2024-03-08 20:19:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1722193.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模型   语言   StructBERT   Incorporation   Structures

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!