CS224N WINTER 2022机器翻译注意力机制subword模型(附Assignment4答案)
Posted 囚生CY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CS224N WINTER 2022机器翻译注意力机制subword模型(附Assignment4答案)相关的知识,希望对你有一定的参考价值。
CS224N WINTER 2022(一)词向量(附Assignment1答案)
CS224N WINTER 2022(二)反向传播、神经网络、依存分析(附Assignment2答案)
CS224N WINTER 2022(三)RNN、语言模型、梯度消失与梯度爆炸(附Assignment3答案)
CS224N WINTER 2022(四)机器翻译、注意力机制、subword模型(附Assignment4答案)
CS224N WINTER 2022(五)Transformers详解(附Assignment5答案)
序言
-
CS224N WINTER 2022课件可从https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1224/下载,也可从下面网盘中获取:
https://pan.baidu.com/s/1LDD1H3X3RS5wYuhpIeJOkA 提取码: hpu3
本系列博客每个小节的开头也会提供该小结对应课件的下载链接。
-
课件、作业答案、学习笔记(Updating):GitHub@cs224n-winter-2022
-
关于本系列博客内容的说明:
-
笔者根据自己的情况记录较为有用的知识点,并加以少量见解或拓展延申,并非slide内容的完整笔注;
-
CS224N WINTER 2022共计五次作业,笔者提供自己完成的参考答案,不担保其正确性;
-
由于CSDN限制博客字数,笔者无法将完整内容发表于一篇博客内,只能分篇发布,可从我的GitHub Repository中获取完整笔记,本系列其他分篇博客发布于(Updating):
CS224N WINTER 2022(一)词向量(附Assignment1答案)
CS224N WINTER 2022(二)反向传播、神经网络、依存分析(附Assignment2答案)
CS224N WINTER 2022(三)RNN、语言模型、梯度消失与梯度爆炸(附Assignment3答案)
-
文章目录
lecture 7 机器翻译,注意力机制,subword模型
slides
[slides]
-
机器翻译:slides p.4
-
统计机器翻译(SMT,1990s-2010s):slides p.7
核心观点是从数据中学习得到一个概率模型。
比如我们想要将中文翻译成英文,给定中文句子 x x x,目标是找到最好的英文句子 y y y作为译文:
argmax y P ( y ∣ x ) = argmax y P ( x ∣ y ) P ( y ) (7.1) \\textargmax_yP(y|x)=\\textargmax_yP(x|y)P(y)\\tag7.1 argmaxyP(y∣x)=argmaxyP(x∣y)P(y)(7.1)
式 ( 7.1 ) (7.1) (7.1)成立的原因是 P ( x ) P(x) P(x)是一个已知的常数(从中文语料库中利用语言模型计算得到),然后利用贝叶斯法则容易推得。我们可以这样解释式 ( 7.1 ) (7.1) (7.1)右侧的两项:
① P ( y ) P(y) P(y)是一个语言模型,用以使得翻译得到的英文语句尽可能地通顺流畅;
② P ( x ∣ y ) P(x|y) P(x∣y)是一个翻译模型,用以使得翻译得到的英文语句尽可能匹配中文语句;
式 ( 7.1 ) (7.1) (7.1)的建模难点显然在于如何构建翻译模型 P ( x ∣ y ) P(x|y) P(x∣y),这通常需要一系列的平行语料(parallel data),即人工编纂的中英互译样本对。
然后引入一个对齐向量(alignment) a a a,用以指示平行语料之间单词级别的对应关系(如中文中的明天对应英文中的Tommorrow),这是一个隐变量(latent variables),即并没有在数据中被直接指示出来,仅仅是我们为了更好的建模引入的假想变量,需要一些特殊的学习算法(如EM算法)来学习得到隐变量的参数分布,翻译模型由此改进为 P ( x , a ∣ y ) P(x,a|y) P(x,a∣y)。
但是语言之间的语义对应关系可能并不总是那么简单,不同的语言拓扑结构可能导致复杂的对应关系(多对一,一对多),甚至某些单词根本不存在对应词。这里推荐一篇比较古老的讲SMT中参数估计的paper(1994年发表于Computational Linguistics)。
式 ( 7.1 ) (7.1) (7.1)还有一个难点在于如何计算 argmax \\textargmax argmax,难道需要遍历所有的英文语句 y y y吗?这显然非常的不经济,通常的做法是在模型中强加条件独立性假设(impose strong independence assumption),然后利用动态规划算法(如Viterbi算法)来求解全局最优解,这个求解最优 y y y的过程称为解码(decoding)。
关于强加条件独立性假设这个做法,类比可以联想到概率论以及随机模型中大多假定样本独立同分布,或者参数之间具有独立性等等,不过这在SMT中究竟是指什么的确令人费解。于是笔者在上面那篇老古董paper里找到了independence assumption的说明(p. 40-42),具体如下:
一般性的公式是这样的:
P θ ( x , a ∣ y ) = P θ ( m ∣ y ) P θ ( x ∣ m , y ) P θ ( x ∣ a , m , y ) (7.2) P_\\theta(x,a|y)=P_\\theta(m|y)P_\\theta(x|m, y)P_\\theta(x|a,m,y)\\tag7.2 Pθ(x,a∣y)=Pθ(m∣y)Pθ(x∣m,y)Pθ(x∣a,m,y)(7.2)
然后我们定义 ϵ ( m ∣ l ) \\epsilon(m|l) ϵ(m∣l)是语句长度的分布概率, t ( x ∣ y ) t(x|y) t(x∣y)是翻译概率;其中 θ \\theta θ是模型参数, a a a即为对齐向量, m m m是中文语句 x x x的长度, l l l是英文语句 y y y的长度,那么条件独立性假设如下所示:
P θ ( m ∣ y ) = ϵ ( m ∣ l ) P θ ( a ∣ m , y ) = ( l + 1 ) − m P θ ( x ∣ a , m , y ) = ∏ j = 1 m t ( x j ∣ y a j ) (7.3) P_\\theta(m|y)=\\epsilon(m|l)\\\\ P_\\theta(a|m,y)=(l+1)^-m\\\\ P_\\theta(x|a,m,y)=\\prod_j=1^m t(x_j|y_a_j)\\tag7.3 Pθ(m∣y)=ϵ(m∣l)Pθ(a∣m,y)=(l+1)−mPθ(x∣a,m,y)=j=1∏mt(xj∣yaj)(7.3)
其中 a j a_j aj即中文语句 x x x的第 j j j个位置对应的英文语句 y y y的下标,这样转换的好处是引入了语句长度这个变量,我们就可以逐字翻译,具体而言在slides p.16中给出的SMT解码示例中,对每一个中文词生成候选的对应英文单词,然后进行一个全局性的搜索(包括位置对应,选取哪个候选词等等),这就可以使用动态规划来求解了。 -
神经机器翻译(NMT,2014):slides p.18
直接将机器翻译问题转化为seq2seq建模,常见可以用seq2seq建模的机器学习任务有:文本综述,对话系统,文本解析,代码生成。这涉及两个RNN网络层,一个是编码器(encoder),另一个是解码器(decoder):
seq2seq模型是条件语言模型(Conditional Language Model)的一种范例,类似式 ( 7.1 ) (7.1) (7.1)中的标记,NMT直接计算 P ( y ∣ x ) P(y|x) P(y∣x)的值:
P ( y ∣ x ) = P ( y 1 ∣ x ) P ( y 2 ∣ y 1 , x ) P ( y 3 ∣ y 1 , y 2 , x ) . . . P ( y T ∣ y 1 , . . . , y T − 1 , x ) (7.4) P(y|x)=P(y_1|x)P(y_2|y_1,x)P(y_3|y_1,y_2,x)...P(y_T|y_1,...,y_T-1,x)\\tag7.4 P(y∣x)=P(y1∣x)P(y2∣y1,x)P(y3∣y1,y2,x)...P(yT∣y1,...,yT−1,x)(7.4)
这时候我们再次审阅上图,注意右边的解码器是逐字进行解码(翻译)的,这就是式 ( 7.4 ) (7.4) (7.4)的思想,首先翻译第一个单词,然后给定第一个单词翻译第二个单词,依此类推。如何训练seq2seq模型:
上图是单层的encoder-decoder架构,也可以改进为多层的形式,这个可能与直观上的多层有一些区别,并非encoder的最后一层输出接到decoder的第一层输入上,而是encoder每一层都会与decoder的对应层相连接,具体如下图所示:
接下来要说的是NMT中非常关键的问题:式 (
以上是关于CS224N WINTER 2022机器翻译注意力机制subword模型(附Assignment4答案)的主要内容,如果未能解决你的问题,请参考以下文章
CS224N WINTER 2022机器翻译注意力机制subword模型(附Assignment4答案)
CS224N WINTER 2022词向量(附Assignment1答案)
CS224N WINTER 2022词向量(附Assignment1答案)
CS224N WINTER 2022词向量(附Assignment1答案)
-