当前位置:   article > 正文

ELMO and BERT_roberta使用bpe

roberta使用bpe

目录

ELMO and BERT

ELMO

BERT

RoBERTa


ELMO and BERT

ELMO

对于word2vec这种静态词向量,不能解决一词多义的问题,ELMO提出了一种动态的词向量的表达方式,其核心思想是:事先用语言模型学好一个单词的word embedding 此时多义词无法区分,不过没关系,在实际使用的word embedding 的时候单词已经具备了特定的上下文了,这时候可以根据上下文单词的语义,去调整单词的word embedding。

其才采用了典型的两阶段过程,第一个阶段是利用语言模型进行预训练,第二阶段是在下游任务中时,在预训练的网络中提取对应单词的网络各层的word embedding。

 

在第一阶段中,其采用了双层的双向LSTM作,目前语言模型的训练目标是根据单词的​ 的上下文去预测正确单词 ​ ,图中左端的前向双层LSTM代表正方向编码器,输入的是从左到右顺序的除了预测单词外 ​;右端的逆向双层LSTM代表反方向编码器,输入的是从右到左的逆序的句子下文Context-after;每个编码器的深度都是两层LSTM叠加。如果这个网络训练好之后,输入一个新句子,句子中的每个单词都能得到对应的三个embeddin,最底层是 word embedding ,往上走是第一层双向LSTM对应单词的Embddding(这层编码句法信息更多一些),再往上走是第二层LSTM对应单词位置的Embedding ,(这层编码单词的信息更多一些)。

第二阶段, 如何使用? 以QA任务为例,对于问句X输入到预训练好的ELMO中,这样X中的每个单词都能得到三个Embedding,之后给予这三个Embedding中的每一个Embedding一个权重a,这个权重可以学习得到,然后根据各自权重累积求和,将三个Embedding整合一个,然后将其作为X句在自己任务的那个网络结构中的对应单词的输入。

EMLO优点 解决了一次多义的问题,并且对于下游任务的性能提升效果还不错,证明了预训练模型是有效的。

EMLO缺点 :事后看(GPT和Bert出来之后对比)1、LSTM的抽取特征能力远弱于Transformer 2、双向拼接式融合特征能力偏弱

BERT

bert架构 Transformer的解码器

输入: 位置编码(可学习) + 句子位置编码 + Token Embedding

任务: 1、MASK Language Model

为了减小训练和Fin-tune之间的mismatch ,mask trick: 15%的单词背MASK ,这15%中

80%被mask 10%不变 10%被换成其他词。

2、NSP(后来被Roberta 证明没啥用)

使用BPE

1、解决OOV问题

RoBERTa

针对BERT 进行的改进和提升,

有以下几点:

1、针对bert训练中的mask 是静态 ,roberta 采用动态的掩码方式

2、去掉了NSP任务

3、对于文本编码,bert使用的BPE roberta使用了 WordPiece 的编码方式

4、调大了bachsize

5、增加了训练数据

参考:从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史 - 知乎

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/368904
推荐阅读
相关标签
  

闽ICP备14008679号