动手学DL|Task4 机器翻译及其技术+注意力机制与Seq2seq模型+Transformer
机器翻译及其技术
学习笔记
机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。
主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。
Encoder-Decoder
encoder:输入到隐藏状态
decoder:隐藏状态到输出
Sequence to Sequence模型
模型:
训练
预测
具体结构
集束搜索 Beam Search
简单greedy search:
维特比算法:选择整体分数最高的句子(搜索空间太大)
集束搜索:
习题整理
注意力机制与Seq2seq模型
学习笔记
注意力机制
在“编码器—解码器(seq2seq)”⼀节⾥,解码器在各个时间步依赖相同的背景变量(context vector)来获取输⼊序列信息。当编码器为循环神经⽹络时,背景变量来⾃它最终时间步的隐藏状态。将源序列输入信息以循环单位状态编码,然后将其传递给解码器以生成目标序列。然而这种结构存在着问题,尤其是RNN机制实际中存在长程梯度消失的问题,对于较长的句子,我们很难寄希望于将输入的序列转化为定长的向量而保存所有的有效信息,所以随着所需翻译句子的长度的增加,这种结构的效果会显著下降。
与此同时,解码的目标词语可能只与原输入的部分词语有关,而并不是与所有的输入有关。例如,当把“Hello world”翻译成“Bonjour le monde”时,“Hello”映射成“Bonjour”,“world”映射成“monde”。在seq2seq模型中,解码器只能隐式地从编码器的最终状态中选择相应的信息。然而,注意力机制可以将这种选择过程显式地建模。
注意力机制框架
Attention 是一种通用的带权池化方法,输入由两部分构成:询问(query)和键值对(key-value pairs)。ki∈Rdk,vi∈Rdvk_i∈R^{d_k}, v_i∈R^{d_v}ki∈Rdk,vi∈Rdv. Query q∈Rdqq∈R^{d_q}q∈Rdq , attention layer得到输出与value的维度一致 o∈Rdvo∈R^{d_v}o∈Rdv. 对于一个query来说,attention layer 会与每一个key计算注意力分数并进行权重的归一化,输出的向量ooo则是value的加权求和,而每个key计算的权重与value一一对应。
为了计算输出,我们首先假设有一个函数α\alphaα 用于计算query和key的相似性,然后可以计算所有的 attention scores a1,…,ana_1, \ldots, a_na1,…,an by
ai=α(q,ki). a_i = \alpha(\mathbf q, \mathbf k_i). ai=α(q,ki).
我们使用 softmax函数 获得注意力权重:
b1,…,bn=softmax(a1,…,an). b_1, \ldots, b_n = \textrm{softmax}(a_1, \ldots, a_n). b1,…,bn=softmax(a1,…,an).
最终的输出就是value的加权求和:
o=∑i=1nbivi. \mathbf o = \sum_{i=1}^n b_i \mathbf v_i. o=i=1∑nbivi.
不同的attetion layer的区别在于score函数的选择,在本节的其余部分,我们将讨论两个常用的注意层 Dot-product Attention 和 Multilayer Perceptron Attention;随后我们将实现一个引入attention的seq2seq模型并在英法翻译语料上进行训练与测试。
待续
习题整理
待续
Transformer
学习笔记
待续
习题整理
待续
- 点赞
- 收藏
- 分享
- 文章举报
- 动手学深度学习 Task04 机器翻译及相关技术;注意力机制与Seq2seq模型;Transformer
- DL-Pytorch Task04:机器翻译及相关技术;注意力机制与Seq2seq模型;Transformer
- ElitesAI·动手学深度学习PyTorch版学习笔记-机器翻译及相关技术;注意力机制与Seq2seq模型;Transformer
- 动手学深度学习-机器翻译及相关技术;注意力机制与Seq2seq模型;Transformer
- 动手学深度学习PyTorch-机器翻译及相关技术、注意力机制与Seq2seq模型、Transformer
- 《动手学深度学习》组队学习打卡Task4——机器翻译及技术
- 探究神经机器翻译中的注意力机制:指哪儿打哪儿,还是指哪儿打一片?
- TensorFlow从1到2(十)带注意力机制的神经网络机器翻译
- 关于注意力机制(attention mechanism)在神经机器翻译领域的两篇论文的理解
- 小曹谈技术之机器翻译
- Android技术的生态系统及其安全机制
- 使用Seq2Seq网络和Attention机制的机器翻译原理介绍
- 《动手学深度学习》组队学习打卡Task4——注意力机制与Seq2seq模型
- AI之机器翻译及相关技术
- 活动 | INTERFACE#4 解读搜狗机器翻译技术,体验搜狗旅行翻译宝产品
- 神经网络机器翻译技术及应用(下)
- B站动手学深度学习第十八课:seq2seq(编码器和解码器)和注意力机制
- 秋色园QBlog技术原理解析:独创的多语言翻译机制(九)
- 神经网络机器翻译技术及应用(上)
- 前沿 | 谷歌翻译最新突破,“关注机制”让机器读懂词与词的联系