👉前情提要:
📚相关论文:
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding \text{BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding} BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
- 提出了基于双向深度 Transformer \text{Transformer} Transformer的 BERT \text{BERT} BERT交叉编码器
- BERT \text{BERT} BERT的总结
- ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT \text{ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT} ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT
- 提出了基于 BERT \text{BERT} BERT编码的后期 Token \text{Token} Token级交互模式
- ColBERTv1 \text{ColBERTv1} ColBERTv1的总结
- ColBERTv2: Effective and Efficient Retrieval via Lightweight Late Interaction \text{ColBERTv2: Effective and Efficient Retrieval via Lightweight Late Interaction} ColBERTv2: Effective and Efficient Retrieval via Lightweight Late Interaction
- 保留了 ColBERT \text{ColBERT} ColBERT的后期交互架构,但从训练策略 / / /嵌入压缩 / / /数据集上优化
- ColBERTv2 \text{ColBERTv2} ColBERTv2的总结
- PLAID: An Efficient Engine for Late Interaction Retrieval \text{PLAID: An Efficient Engine for Late Interaction Retrieval} PLAID: An Efficient Engine for Late Interaction Retrieval
- 在 ColBERTv2 \text{ColBERTv2} ColBERTv2的基础上,进一步改进了检索策略
- PLAID \text{PLAID} PLAID的总结
- EMVB: Efficient Multi-Vector Dense Retrieval Using Bit Vectors \text{EMVB: Efficient Multi-Vector Dense Retrieval Using Bit Vectors} EMVB: Efficient Multi-Vector Dense Retrieval Using Bit Vectors
- 在 PLAID \text{PLAID} PLAID的基础上,更进一步改进了检索策略
- EMVB \text{EMVB} EMVB的总结
文章目录
1. \textbf{1. } 1. 概述与综述
1.1. \textbf{1.1. } 1.1. 研究背景
1️⃣上下文无关 & \textbf{\&} &上下文敏感
模式 含义 有关模型 上下文无关表示 词元 x ↔ 一一对应 x\xleftrightarrow{一一对应} x一一对应 预训练向量 f ( x ) f(x) f(x) word2vec/GloVe \text{word2vec/GloVe} word2vec/GloVe 上下文敏感表示 词元 x ↔ 上下文 c ( x ) 一一对应 x\xleftrightarrow[上下文c(x)]{一一对应} x一一对应 上下文c(x)预训练向量 f ( x , c ( x ) ) f(x,c(x)) f(x,c(x)) TagLM/CoVe/ELMo \text{TagLM/CoVe/ELMo} TagLM/CoVe/ELMo 2️⃣语言模型的预训练
- 含义:在大量未标注的文本数据上训练模型 → \xrightarrow{} 对语言结构 / / /词义 / / /上下文有初步的理解
- 方式:常见的预训练任务
方式 含义 示例 自回归语言模型 (从左到右)给定一部分文本时预测下一词的概率 GPT \text{GPT} GPT 完形填空( Cloze \text{Cloze} Cloze) 通过遮蔽部分输入词( [MASK]标记)用于后续预测与填充BERT \text{BERT} BERT 3️⃣预训练模型如何用于下游任务
- 基于特征的方法:例如 ELMo \text{ELMo} ELMo
![]()
- 原理:预训练时用 BiLSTM \text{BiLSTM} BiLSTM生成动态上下文表示 → \text{→} →在下游与 word2vec \text{word2vec} word2vec生成的静态特征拼接
- 特点:需要为每个下游任务设计专门的模型结构
- 微调( Fine-tuning \text{Fine-tuning} Fine-tuning)方法:例如 GPT \text{GPT} GPT
![]()
- 原理:预训练阶段只添加很少特定参数 → \text{→} →在下游任务上对整个预训练模型进行训练
- 特点:为单向模型(只能考虑前文信息从而由左到右生成)
1.2. BERT \textbf{1.2. BERT} 1.2. BERT的主要贡献
![]()
1️⃣引入掩码语言模型:
- 原理:预训练过程中,将部分词随机替换为
<MASK>,然后预测这些被掩盖的原始词汇- 优势:许模型同时融合左侧和右侧的上下文 → \text{→} →从而预训练深度双向的 Transformer \text{Transformer} Transformer
2️⃣引入下一句预测( NSP \text{NSP} NSP):
- 原理:预训练时,模型需要预测两句话是否在原始文本中相邻
- 优势:使 BERT \text{BERT} BERT能更好地理解句子间的关系(如 Q&A \text{Q\&A} Q&A间的关系)
3️⃣证明了广泛适用性:
- 原理: BERT \text{BERT} BERT预训练的深度双向表示,可以通过微调应用于各种下游任务
- 优势: BERT \text{BERT} BERT在大量句级 / / /词级任务性能,超过许多为特定任务专门设定的架构
2. BERT \textbf{2. BERT} 2. BERT原理: 预训练 & \textbf{\&} &微调
2.1. BERT \textbf{2.1. BERT} 2.1. BERT的结构
1️⃣模型的两个阶段
阶段 主要任务 预训练 在不同任务上用无标注数据训练模型 微调 用相同的预训练参数初始化 → \text{→} →用下游任务中的有标注数据调整所有参数 → \text{→} →适应特定任务 2️⃣模型的总体结构
- 多层双向 Transformer \text{Transformer} Transformer编码器:
![]()
特点 结构 意义 双向 每个 Transformer \text{Transformer} Transformer自注意力同时关注左右上下文 捕捉更全面的全局上下文关系 多层 堆叠很多层的 Transformer \text{Transformer} Transformer编码层 捕捉更深层次的特诊和语义 - 模型参数:
参数 含义 BERT BASE \text{BERT}_{\text{BASE}} BERTBASE BERT LARGE \text{BERT}_{\text{LARGE}} BERTLARGE L L L Transformer \text{Transformer} Transformer编码器的数量(即竖直上的层数) 12 12 12 24 24 24 H H H 每层 Transformer \text{Transformer} Transformer隐藏状态 / / /词嵌入的维度 768 768 768 1024 1024 1024 A A A 每个 Transformer \text{Transformer} Transformer自注意力机制的头数 12 12 12 16 16 16 3️⃣模型的输入表示
- 基本概念:
结构 含义 词元 (Token) \text{(Token)} (Token) BERT \text{BERT} BERT处理的最小单元,为 WordPiece \text{WordPiece} WordPiece分词得到的词 / / /子词 + \text{+} +特殊标记 句子 (Senetence) \text{(Senetence)} (Senetence) 任意长度的连续文本片段,不一定要有语言学意义 序列 (Sequence) \text{(Sequence)} (Sequence) 输入到 BERT \text{BERT} BERT</

最低0.47元/天 解锁文章
6299

被折叠的 条评论
为什么被折叠?



