BERT沿用原始Transformer模型中的编码器层,具有编码器的堆叠。但BERT没有使用解码器层,因此没有掩码多头注意力子层。(BERT的设计者认为,对序列后续部分进行掩码会阻碍注意力过程)。于是,BERT引入了双向注意力机制,即一个注意力头从左到右,另一个注意力头从右到左注意所有单词。
BERT的训练过程分为两项任务:掩码语言建模(Masked Language Modeling,MLM)和下一句预测(Next Sentence Prediction, NSP)
BERT对句子进行双向分析,随机对句子中的某一个单词进行随机掩码。
原句:The cat sat on it because it was a nice rug.
Transformer:The cat sat on it <masked sequence>.
BERT:The cat sat on it [MASK] it was a nice rug.
上述掩码过程只是一个注意力子层的效果,当使用多个注意力子层时,就可以看到整个序列,运行注意力过程,然后观测被掩码的词元。
在这个过程中会添加两个新的词元:
[CLS]词元:二分类词元,添加到第一个句子的开头,用于预测第二个句子是否跟随第一个句子。
[SEP]词元:分隔符词元,添加到每个句子的结尾,用于分隔不同的句子。
[1] 丹尼斯·罗斯曼.《基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理》 [M]. 北京: 清华大学出版社, 2024
更多【架构-BERT架构简介】相关视频教程:www.yxfzedu.com