[NLP复习笔记] Seq2Seq 模型、Attention机制
1. Seq2Seq 模型
1.1 Seq2Seq 简介

1.2 Seq2Seq 结构
-
部分 是输入的文本,经过 之后(词嵌入,通常采用的方法有 等)。编码器按照时间步骤顺序,将每个输入元素传入
模型,并更新其隐藏状态 。RNN 状态更新过程最后一步得到的隐藏状态
,作为我们的 上下文向量 ,同时用作编码器的输出。上下文向量 被认为已经捕获了整个输入序列的所有重要信息,之后将被用于进一步的解码部分,同时作为 解码部分的输入 。编码器部分的输出通常被忽略掉。
-
部分解码器的输入隐藏状态
通常被设置为编码器的上下文向量 。在训练过程中,当前隐藏状态
来源于 上一个时间点的隐藏状态 和 上下文向量 ,并且通常还会将 上一个时间的输出 也作为 的一部分,故在编码器部分,有以下状态更新公式:其中
和 通常是某种激活函数。 表示的就是当前的输出预测。
1.3 Seq2Seq 模型训练
在此模型的
其中
最后,编码器-解码器的两个组成部分联合训练,转换为一个最优化问题,即最大化条件对数似然概率:
1.4 Teacher Forcing
在
2. Attention 注意力机制
2.1 Attention 简介
通俗地讲,
一下是一些

可以看到最后一个是
2.2 Seq2Seq 引入 Attention
通常会再经过一个
得到一个权重向量,表示的就是对输入部分的注意力。
然后,利用
表示前一个解码器隐藏状态与每一个编码器隐藏状态的相关性。

3. Beam Search 波束搜索
通常情况下,在序列生成模型中,我们往往会选取可能性最高的单词作为输出预测,这种方法其实也被称为 "贪心搜索"(
波束搜索(

如上图所示,每一步选取概率前
对于一个输出
长度归一化主要是为了应对出现对数概率相同但是输出序列长度不一样的情况。
在实际应用中,通常宽度
4. BLEU 评估指标
具体公式如下:
其中,
在机器译文长度一定的情况下,匹配数目越多则代表该候选的译文质量越高。
参考
Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
一文弄懂关于循环神经网络(RNN)的Teacher Forcing训练机制
一切都是命运石之门的选择,本文章来源于博客园,作者:MarisaMagic,出处:https://www.cnblogs.com/MarisaMagic/p/17968959,未经允许严禁转载
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2023-01-17 [数据结构]双向链表及双向循环链表(C语言)