机器翻译与高级循环神经网络LSTM,GRU

前言

这篇博文是笔者之前上自然语言处理课程的笔记

机器翻译概述

机器翻译就是将一种语言翻译为另一种语言。所有机器翻译系统本质上都是基于统计的,我们将总尝试使用非常大的语料库,一般称为平行语料库。在语料库中,有许多句子或段落以不同语言表述。

深度学习出现之前的机器翻译模型

一、模型概述
1.源语言f:法语
2.目标语言e:英语
3.模型的概率规则基于贝叶斯公式,普通的贝叶斯公式如下:
在这里插入图片描述
而模型中的规则对贝叶斯公式进行了修改,去掉了右侧的分母部分,模型的概率规则如下所示:
在这里插入图片描述
可以看出虽然去掉了右侧的分母部分,但是对argmax(求最大值的下标)的结果是不影响的。
在这里插入图片描述
4.翻译模型P(e|f)只在平行语料上训练
5.语言模型P(e)只在英语语料上训练,语言模型就是指计算句子出现概率的模型。
整个的模型图如下所示:
在这里插入图片描述
二、训练模型
1.通过匹配/对齐来训练Translation Model:匹配步骤的目标是找出源语言中哪个单词或者词组将会翻译到目标语言的某个词或者词组.下面是一个英语与法语对齐的例子。
在这里插入图片描述
其中法语中的"Le"在法语中没有真实含义,因此翻译时应该跳过"Le".翻译的过程中还有其他特殊情况比如1对多、多对1、多对多,颠倒顺序等。如果你想通过所有的统计数据并收集这些(那个词会被翻译成那个词)的概率,这成了一个非常非常复杂的问题。

2.开始翻译

经过上面多步之后我们获得了所有潜在的匹配(对齐),当从源语言开始翻译时,会有很多候选词/短语,最终也会造成组合爆炸。如下图所示:
在这里插入图片描述
3.用束搜索(beam search)来得到最好的结果
在这里插入图片描述

beam search是对greedy search的一个改进算法,每次从当前的候选节点处选择最有可能的k个节点进行后续扩展,详细内容在这里不展开了。
三、这种模型的缺点
根据上面的描述,可以看出基于统计的机器翻译模型是一个非常复杂的系统,系统分成多个模块,不能一起得到一致的训练。与之相反,深度学习模型试图构建一个端到端的可训练模型,你只需要关心最终的目标函数,所有的东西都会在一个模型里共同学习。

深度学习在机器翻译领域的应用

一、基本的深度学习翻译模型
最简单的翻译模型是直接用RNN,模型分为两部分encoder和decoder,encoder将源语言句子信息编码成一个向量,decoder根据向量解码出目标语言,模型图如下:
在这里插入图片描述
可以看出encoder的最后一个向量需要捕获整个句子的信息,而不幸的是,通常一个周期只能捕获5-6个词,前面的信息都丢失掉了。模型公式如下:
在这里插入图片描述
二、循环神经网络的扩展

1.在训练encoding和decoding时使用不同的权重,每个输入都有一个权重矩阵W与之关联

2.decoder的输入除了包括前一层的隐含层输出外还包括encoder的最后一次输出以及上一次预测输出的单词,模型图和公式如下:
在这里插入图片描述
在这里插入图片描述
其中$D表示sigmod(Wh,Uc,Vy)。将y_(t-1)输入模型可以帮助模型防止多次重复预测同一单词。

3.用多层RNN

4.训练双向的encoder

5.可以将原来的输入反向输入,这样源语言的第一个单词(输入的最后一个单词)与目标语言的第一个距离最近,因此至少在开始处,那些会较好的被翻译出来。

GRU门控循环单元

之前也提到过普通的循环神经网络有一个缺陷就是一般只能记住前面5-6个单词,也就是存在遗忘问题。GRU应运而生,它的思想是我们希望保存一些记忆能捕获一些较长依赖的关系。顾名思义,GRU中有2种门分别是更新门update gate和重置门reset gate,两者都是根据当前输入词和隐含层状态计算的,与计算当前隐含层状态的公式类似:更新门(update gate)
在这里插入图片描述
重置门(reset gate)
在这里插入图片描述
GRU在每个时间点引入了一个临时的状态ht’,用来表示当前的新的内容,公式如下:
在这里插入图片描述
因为计算重置门的时候外面加的是sigmod函数,所以rt是一个0-1之间的值,当重置门的值是0的时候,它会忽略之前的内存只表示当前的输入单词。

Question:那么为什么要有重置门呢?
让我们拿情感分析任务来举一个例子,假设打算讨论一个谈论剧情的电源评论,会先说一端比较长的电影剧情,最后评论说“这个电影真的很无聊”。虽然评论是围绕着整个情节,但是这不重要,“无聊”是非常强烈的负面词,并且基本上会让模型忽略之前的剧情总结,因为着与情感分析任务不相关,这就是重置门做的事情。
接下来就是更新门登场了,它是在计算当前时间步最终的状态时出现的,公式如下:
在这里插入图片描述
从公式可以看出,如果zt是1的话,模型就可以完全复制上一个时间点的数据。

Question:那么为什么要有更新门呢?

假如还是那个情感分析的例子,在评论刚开始时,作者说“这个故事真好,我真喜欢这个故事,之后开始说故事情节”,这里对于情感分析任务真正有作用的不是爱情故事本身,而是开头的那句话,并且你需要确保不会丢失这条信息,这个模型可以解决这个问题,模型会自动学习何时重置何时更新。
为了让读者可以更清楚的理解,下面给出模型图:
在这里插入图片描述

LSTM长短时记忆网络

LSTM比GRU更加复杂,LSTM中有输入门,遗忘门,输出门和记忆单元,最终内存以及最终隐状态,公式如下:
在这里插入图片描述
1.输入门决定了当前单元或当前输入的词的作用有多大

2.遗忘门是一种分离机制,告诉单元需要遗忘多少内容

3.输出门:当有这些输出门时将分离那些与预测相关的内容和在当前单元需要保留在循环神经网络中的内容。也就是说在当前节点,这个特定的节点并不重要,不过随后会变得重要,因此现在不会输出到最终的softmax上。这是一个分离机制,会去学习何时输出。

Chris Ola在博客中将此模型画了出来,如下所示:
在这里插入图片描述


最后欢迎大家关注公众号NLP学习者
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值