深度学习-14-深入理解BERT的基本思想和如何训练BERT模型
文章目录
- 1 BERT
-
- 1.1 BERT的基本思想
- 1.2 BERT的原理
- 1.3 BERT的配置
-
- 1.3.1 BERT-base
- 1.3.2 BERT-large
- 1.3.3 BERT的其他配置
- 1.4 输入数据表示
-
- 1.4.1 标记嵌入
- 1.4.2 片段嵌入
- 1.4.3 位置嵌入
- 1.4.4 最终的表示
- 1.5 WordPiece分词器
- 2 如何预训练BERT模型
-
- 2.1 预训练策略
- 2.2 语言建模
-
- 2.2.1 自回归语言建模
- 2.2.2 自编码语言建模
- 2.3 屏蔽语言建模任务
-
- 2.3.1 随机屏蔽方法
- 2.3.2 全词屏蔽方法
- 2.4 下一句预测任务
-
- 2.4.1 任务介绍
- 2.4.2 处理流程
- 2.5 预训练过程
-
- 2.5.1 准备数据集
- 2.5.2 训练参数
- 3 参考附录
1 BERT
BERT(Bidirectional Encoder Representations from Transformers)
1.1 BERT的基本思想
BERT是一种双向Transformer架构,擅长处理自然语言理解认为。它通过遮盖语言模型,和下一句预测进行训练。双向性允许BERT同时考虑左侧和右侧的上下文,增强了理解能力。
BERT如此成功的一个原因之一是它是基于上下文(context-based)的嵌入模型。
不像其他流行的嵌入模型,比如word2vec,是上下文无关的(context-free)。
首先,让我们理解基于上下文和上下文无关的嵌入模型的区别。
考虑下面两个句子:
Sentence A:He got bit by Python.
Sentence B:Python is my favorite programming language.
在句子A中,Python是蟒蛇的意思。
在句子B中,Python是编程语言的意思。
如果我们得到上面两个句子中单词Python的嵌入向量:
那么像word2vec这种嵌入模型就会为这两个句子中的Python赋予相同的