BERT 模型介绍
1 课程概览
本课介绍 BERT 模型。BERT 是谷歌 2018 年提出的革命性自然语言模型,基于 Transformer 架构,底层使用注意力机制。在斯坦福问答数据集(SQuAD)中表现超越人类,在 GLUE 基准数据集上达到 80.4%。
2 核心概念与定义
- BERT:Bidirectional Encoder Representations from Transformers,基于 Transformer 的双向编码表示。
- Transformer:BERT 依赖的框架,底层使用注意力机制。
- GLUE:公共基准数据集,全球公认。
- SQuAD:斯坦福问答数据集。
3 模型与算法详解
BERT 简介
谷歌 2018 年提出的革命性自然语言模型。
- 全称:Bidirectional Encoder Representations from Transformers
- 提出时间:2018 年
- 提出者:谷歌
- 依赖框架:Transformer
- 底层机制:注意力机制(Attention)
注意力机制
两种原生注意力机制。
| 类型 | 用途 |
|---|---|
| Self-Attention | 句子内部的注意力 |
| Cross-Attention | 解码器与编码器的注意力 |
BERT 的成就
在多个任务上超越人类。
| 成就 | 说明 |
|---|---|
| SQuAD | 斯坦福问答数据集,超越人类 |
| GLUE | 基准数据集,达到 80.4% |
| 11 种 NLP 任务 | 创建出新的记录 |
GLUE 基准
公共数据集,全球公认。
- 包含多种 NLP 任务
- 如果模型在 GLUE 上表现好,说明模型成功
- 不能只用自己设置的数据集
时间线
NLP 发展历程。
| 时间 | 事件 |
|---|---|
| 2001 年 | 神经语言网络 |
| 2013 年 | 词嵌入(Word Embedding) |
| 2017 年 | Transformer(Attention is All You Need) |
| 2018 年 | BERT |
4 数学原理与推导
BERT
$$\text{BERT}(x) = \text{Transformer_Encoder}(x)$$
其中:
- $x$ 是输入文本
- $\text{Transformer_Encoder}$ 是 Transformer 编码器
注意力机制
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
其中:
- $Q$ 是查询矩阵
- $K$ 是键矩阵
- $V$ 是值矩阵
- $d_k$ 是键的维度
5 代码示例
from transformers import BertModel, BertTokenizer
# 加载 BERT 预训练模型
model_name = "bert-base-chinese"
my_tokenizer = BertTokenizer.from_pretrained(model_name)
my_bert_model = BertModel.from_pretrained(model_name)
print(f"模型名: {model_name}")
print(f"BERT 架构: {my_bert_model.config.architectures}")
print(f"隐藏层维度: {my_bert_model.config.hidden_size}")
print(f"层数: {my_bert_model.config.num_hidden_layers}")
print(f"注意力头数: {my_bert_model.config.num_attention_heads}")
# 输出
# 模型名: bert-base-chinese
# BERT 架构: ['BertModel']
# 隐藏层维度: 768
# 层数: 12
# 注意力头数: 12
6 重难点与易错提醒
- ❗重点:BERT 是谷歌 2018 年提出的。
- ❗重点:BERT 基于 Transformer 架构。
- ❗重点:BERT 底层使用注意力机制。
- ❗重点:BERT 在 SQuAD 和 GLUE 上表现超越人类。
- 💡技巧:记住时间线(2001、2013、2017、2018)。
7 课堂问答精选
Q1:BERT 是什么?
A:BERT(Bidirectional Encoder Representations from Transformers)是谷歌 2018 年提出的革命性自然语言模型,基于 Transformer 架构。
Q2:BERT 依赖什么框架?
A:BERT 依赖 Transformer 框架,底层使用注意力机制。
Q3:BERT 在哪些任务上表现好?
A:BERT 在 SQuAD(斯坦福问答数据集)上超越人类,在 GLUE 基准数据集上达到 80.4%。
Q4:GLUE 是什么?
A:GLUE 是公共基准数据集,全球公认。如果模型在 GLUE 上表现好,说明模型成功。
8 本课小结
- BERT 是谷歌 2018 年提出的革命性自然语言模型。
- 基于 Transformer 架构,底层使用注意力机制。
- 在 SQuAD 和 GLUE 上表现超越人类。
- GLUE 是公共基准数据集,全球公认。
9 延伸思考
- BERT 的架构是怎样的?
- BERT 的预训练任务是什么?