22 lines
1.8 KiB
Markdown
22 lines
1.8 KiB
Markdown
|
|
# Transformer 编码器-解码器 & Q/K/V 学习笔记 ##
|
|||
|
|
一、整体结构
|
|||
|
|
主流序列任务(翻译等)采用 **Encoder 编码器 + Decoder 解码器** 架构。
|
|||
|
|
1. 编码器 - 接收原始输入序列(文字/符号) - 将文本转为连续向量 $\boldsymbol z$ - 由 $\boldsymbol z$ 生成整套 **K、V 向量** - 作用:生成静态知识库,全程固定不变
|
|||
|
|
2. 解码器 - 接收编码器的 KV 信息 - **自回归方式逐词生成输出** - 每一步只预测下一个字词 ---
|
|||
|
|
## 二、自回归定义
|
|||
|
|
解码器生成时,**依赖已经生成的前文内容**: 每预测下一个词,都会把前面所有输出当作输入,逐步往后推导,一字一词生成完整句子。
|
|||
|
|
## 三、Q / K / V 核心分工
|
|||
|
|
1. $\boldsymbol K$(键):原文内容的「标签/索引」,编码器产出
|
|||
|
|
2. $\boldsymbol V$(值):原文内容的「实际特征信息」,编码器产出
|
|||
|
|
3. $\boldsymbol Q$(查询): - 由**解码器**实时生成
|
|||
|
|
- 来源:解码器当前隐藏状态(已生成的上文语境)
|
|||
|
|
- 本质:**一串多维数字向量**,代表「我当前需要什么信息」
|
|||
|
|
## 四、完整运行流程
|
|||
|
|
1. 编码器处理原文 → 生成固定 $\boldsymbol K、\boldsymbol V$
|
|||
|
|
2. 解码器根据已生成的上文 → 实时计算出专属 $\boldsymbol Q$
|
|||
|
|
3. 解码器用 $\boldsymbol Q$ 和所有 $\boldsymbol K$ 计算相似度
|
|||
|
|
4. 匹配度越高,对应 $\boldsymbol V$ 权重越大
|
|||
|
|
5. 融合原文V信息 + 解码器自身上文
|
|||
|
|
6. 计算词汇概率,输出下一个词,循环往复
|
|||
|
|
## 五、关键结论
|
|||
|
|
1. KV 来自编码器,静态不变;Q 来自解码器,动态每步刷新 2. 是**解码器主动拿 Q 去检索 KV**,编码器只负责生产素材 3. Q/K/V 全是纯数字向量,模型靠向量相似度判断语义关联 4. 翻译生成 = 交叉注意力(Q查KV)+ 自回归逐字接龙
|