Seq2Seq 预训练模型,核心是双向编码 + 自回归解码 + 去噪预训练,兼顾文本理解与生成,是文本生成任务的主流基座,在文本摘要生成中具有显著效果
一、模型架构
BART 是Encoder-Decoder 架构的去噪自编码器,融合 BERT 与 GPT 优势:
- Encoder(编码器):双向 Transformer,类似 BERT,捕捉完整上下文语义,用GeLU 激活、正态初始化。
- Decoder(解码器):自回归 Transformer,类似 GPT,掩码注意力(只能看已生成内容),逐 token 生成文本。
- 信息流动:Encoder 输出作为 Decoder 每一层的 “记忆”,Decoder 基于此自回归生成。
GeLU激活函数:
- 处处光滑可导(ReLU 在 0 点不可导)
- 左侧不是硬截断,而是软饱和
- x 很小负数 → 输出趋近 0,即负数缓慢趋近 0,不是一刀切
- x 正数 → 接近线性
- 自带 “门控” 效果:x⋅Φ(x)
- 可以理解为:输入越大,越 “放行”;输入越小,越 “抑制”→ 像一种概率门
生成流程(以文本为例)
- 输入提示 → 拆分为 token 序列(模型最小处理单元)
- 模型基于当前所有 token,输出下一个 token 的概率分布
- 按策略选一个 token(贪心 / 采样 /beam search)
- 把新 token 追加到输入,重复步骤 2–3
- 直到生成结束符(如
<|endoftext|>)或达到最大长度
3. 关键技术:掩码注意力(Masked Attention)
- Transformer 解码器用下三角掩码,强制每个位置只能看左边(已生成)内容,保证自回归因果性
- 训练时并行计算,推理时仍需串行生成(一步一步出结果)
一句话总结:BERT 只有 Encoder,GPT 只有 Decoder,BART 是 Encoder+Decoder 全都有。
二、预训练:上游任务(去噪自编码)
1. 核心流程(自监督)
- 噪声注入:对无标注文本做多种破坏。
- 去噪重建:Encoder 编码损坏文本,Decoder自回归生成原始文本,损失为交叉熵。
2.BART 五种预训练噪声
- 单词掩码(Token Masking):随机把一些词变成 [MASK]
- 单词删除(Token Deletion):随机删掉一些词,模型要判断位置并补全
- 文本填充(Text Infilling):用单个掩码[MASK]随机替换某个文本片段,要求文本有预测缺失文本长度的能力
- 句子排列变换(Sentence Permutation):把句子顺序随机打乱,让模型恢复原顺序
- 文本旋转变换(Document Rotation)随机选一个词作为开头,把文档循环移位
三、微调:下游任务(适配具体场景)
BART 微调灵活,支持理解 + 生成全场景:
- 文本生成(Seq2Seq):摘要、翻译、对话、QA(直接用 Encoder-Decoder)。
- 文本理解(Encoder-Only):分类、匹配(取 Encoder 输出加分类头)。
- 关键特点:微调时可冻结 Encoder只训 Decoder,或全参数微调。
7383

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



