Neural Machine Translation by Jointly Learning to Align and Translate:输入输出注意力机制

注意力机制是当下深度学习中的后起之秀,最初的想法源于 Dzmitry Bahdanau 等人的论文 Neural Machine Translation by Jointly Learning to Align and Translate。了解强大的注意力技术的起源有助于我们掌握许多基于其延伸出的发展,本文将介绍这个注意力机制背后的逻辑。

语言到语言的翻译模式

Neural Machine Translation by Jointly Learning to Align and Translate 介绍了一种将原始语言中的语句翻译成目标语言中语句的模型。该模型具有"编码器-解码器"结构,使用递归神经网络(RNN)同时实现编码器和解码器。

翻译模型体系结构模型架构如下:

输入

在上述图片中,编码器的输入是原始语言中的单词序列:X₁, ... , Xᵢ, ... , X_Tₓ

  • Tₓ 是输入句子的长度,例如,在"My name is YBCarry."这句话中,Tₓ 的值是 4。
  • 每个 xᵢ 是原始语言中单词的一个离散表示(one-hot representation),其中包含一个 Kₓ 字典。也就是说,每个 Xᵢ 是一个长度为 Kₓ 的向量,通常在 5 万到 10 万字的范围内。Xᵢ 向量中只有一个条目是1,表示原始语言中的某个特定单词,所有其他条目都是 0。

编码器(Encoder)

在上述图片中,编码器是绿色的连续块。

  • 编码器是一个递归神经网络,编码器块只有一个,所有输入的语句都由这个块处理,一个词接着一个词。
  • 编码器块获取隐藏状态和输入词,并发出下一个隐藏状态,隐状态向量不是模型参数,它们是递归神经网络块的输出。h₀, h₁, ... , h_Tₓ是长度为 n 的隐藏状态向量,h₀ 是一个零向量。
  • 最后一个编码器隐藏状态 h_Tₓ 将是解码器的初始状态,即 s₀ = h_Tₓ。在上述图片中虚线箭头建立了这个连接。

解码器(Decoder)

在上述图片中,解码器是橙色的连续块。

  • 解码器结构和编码器类似,也是只有一个解码器块。
  • 解码器块输出两个信息: 目标语言中的下一个翻译单词、下一个解码器隐藏状态。所以它需要三个输入:前一个解码器的隐藏状态(蓝色箭头表示)、前一个输出的单词(黄色箭头表示)和上下文(紫色箭头表示)。上下文是注意机制作用的结果。
  • 解码器块会持续输出已翻译的单词,一直到一个特殊的句尾单词。
  • 虽然图片中编码器块和解码器块的数量相同,但在实际翻译过程中,输入和输出的句子很可能具有不同的长度。

输出

在上述图片中,解码器的输出是目标语言中的一系列单词概率向量:Y₁, ... , Yᵢ, ... , Y_Tₓ

  • Tᵧ 是目标语句的长度,在模型完成翻译之前是未知的,只有当解码器输出特殊的句尾单词时,目标语句长度才被确定。
  • 每个输出的概率向量 Yᵢ 的长度为 Kᵧ, Kᵧ 是目标语言的字典大小。向量 Y 中的条目 i 是 0 和 1 之间的实数,表示特定单词(即第 i 个单词)在目标语言中的概率,其中 i 是条目索引。Y 中的所有条目 i 总和为 1。一般是使用最高概率的单词作为解码器的第 i 个输出的单词。

相关公式

编码隐藏状态

  • 每个编码器隐藏状态 hᵢ 是一个长度为 n 的向量,其中 n 是编码器隐藏状态的维度。 n 是模型的超参数,通常在数百到几千之间。
  • 编码器的初始隐藏状态为零向量。所有连续的编码器隐藏状态 hᵢ 通过引用前面的编码器隐藏状态 hᵢ-₁ 递归定义,这就是递归神经网络的本质。

注意力机制

  • 注意力机制为每个输出单词计算一个上下文向量。对于第 t-th 个输出单词,上下文 cₜ 是所有编码器隐藏状态 h₁ 至 h_Tₓ 的加权平均值。
  • 在标准"编码器-解码器"架构中,来自输入语句的信息只能通过最终编码器隐藏状态向量 h_Tₓ 或者等效的初始解码器隐藏状态向量 s_₀ 获得。

解码器隐藏状态

  • 第一个解码隐藏状态 s_₀ 被设置为最后一个编码器隐藏状态 h_Tₓ,这就是为什么 s_₀ 具有与h_Tₓ 相同的形状。
  • 所有连续解码器隐藏状态 sₜ 通过引用前面的解码器隐藏状态 sₜ₋₁ 递归定义, 其中包括:前一个输出单词 yₜ₋₁,前一个解码器状态 sₜ₋₁ 和上下文 cₜ 来自注意力机制。

总结

本文介绍了首次引入注意力机制的基于递归神经网络的语言到语言翻译模型,并解释了投入产出机制是如何运作的,以及其背后数学的逻辑。

相关推荐
蓝速科技7 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
QYR-分析7 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
火山引擎开发者社区8 小时前
# 开发者集结!共探 AI Agent 创新应用新可能
人工智能
牛油果子哥q8 小时前
生产级AI项目上线全流程:Docker容器化、服务编排、监控告警、日志收集、容灾降级、线上运维闭环
人工智能·ai
Pocker_Spades_A8 小时前
视频不用再一张张截图:ClipSketch AI 把关键画面转成漫画,还能顺手生成文案
人工智能·音视频
小小测试开发8 小时前
LLM 结构化输出测试:Schema 契约 + 故障注入,让工具调用的 JSON 不再靠重试赌运气
人工智能·json
阿里云大数据AI技术8 小时前
淘宝直播 AI 分身:基于阿里云 Milvus 的商品知识召回实践
人工智能
猎头南楼8 小时前
大模型后训练与 Agent 自迭代:两类工程能力的观察
人工智能·深度学习·机器学习
镜像视界(浙江)科技有限公司8 小时前
《视频孪生之上:二维展示终结,三维空间计算重构城市逻辑》——跨摄像连续表达 × 三角测量厘米级定位 × 动态轨迹建模,构建新一代城市空间
大数据·人工智能·算法·矩阵·音视频·空间计算
你不是我我8 小时前
【AI 测评】想用自己的声音给视频配音?Index-TTS本地部署这样做
人工智能·音视频