BERT 详解(二)
2019-12-27 本文已影响0人
6c643a7fc0e6
1. BERT 结构
BERT是以 Transformer 为基础的,目前有两种变体:
- BERT Base:12层(指transformer blocks),12个 attention head,以及 1.1 亿个参数;
- BERT Large:24层(指transformer blocks),16个attention head,以及 3.4 亿个参数。
2. 文本处理
BERT 加入了一组特定规则来代表模型的输入文本,每个输入的表示由三种 Embedding 求和而成,##
表示分词:
-
标记嵌入 (Token Embeddings):词向量,第一个单词是
CLS
标志,可以用于之后的分类任务,从 WordPiece 标记词汇表中学习特定标记的嵌入。 -
片段嵌入 (Segment Embeddings):用来区别两种句子,BERT 还可以将句子对作为任务的输入。这就是为什么它学习了第一个和第二个句子的嵌入,以帮助模型区分二者。在上面的例子中,所有标记为 EA 的标记都属于句 A(EB同理)。
-
位置嵌入 (Position Embeddings):BERT 学习并使用位置嵌入来表达词在句子中的位置,这些为了克服 Transformer 的限制而添加的。与 RNN 不同,Transformer 不能捕获“序列”或“顺序”信息。