Bert

N 人看过

Deep Bidirectional 深的双向的Transformer

Deep:

Bert_BASE:Layer = 12, Hidden = 768, Head = 12, Total Parameters = 110M

Bert_LARGE:Layer = 24, Hidden = 1024, Head = 16, Total Parameters = 340M

Bert是只有编码器的Transformer,对比于Transformer: Layer = 6, Hidden = 2048, Head = 8,是个浅而宽,说明Bert这样深而窄的模型效果更好(和CV领域的总体结论基本一致)。

Bidirectional:

Bert直接引用了Transformer架构中的Encoder模块,并舍弃了Decoder模块, 这样便自动拥有了双向编码能力和强大的特征提取能力。

Abstract

设计训练深的双向的表示,使用无标号数据,联合左右上下文信息。训练好的Bert只要加一个额外输出层就可以用于其他NLP任务。相比GPT虽然使用了Transformer但只用了左边的单向信息,而ELMo是基于双向RNN的架构用于下游任务时需要调整。

Introduction

预训练赋能NLP有两类,一种是句子层面的任务,建模句子之间的关系或情绪识别,另一种是词层面的任务例如实体命名识别,需要输出词层面的的信息。

预训练一般有两种,一种是提取特征例如ELMo,另一种是将原模型少部分参数做微调例如GPT。这两种方法都是使用相同的目标函数,即单向的语言模型(给一个词预测下一个词),