Deep Learning学习笔记之循环神经网络实践

注意力模型和Bleu评分

注意力模型——Attention Model

由于在较长的文本序列中,RNN模型不能较好地记忆整个长句子,机器翻译的准确率较低,我们提出注意力模型的方法,每次只翻译句子的一部分,并将注意力分配给句子的不同部分

以机器翻译为例,我们使用一个双向的RNN网络计算对于生成第k个输出时,各自为每个输入数据赋予的权重,即注意力。再将注意力作为输入之一,输入到另一个RNN网络当中,进行机器翻译,网络结构如下所示:

在这里插入图片描述

α < t , t ′ > 意 为 在 预 测 y ^ < t > 时 分 配 给 a < t ′ > 的 注 意 力 \alpha ^{<t,t'>}意为在预测\hat y^{<t>}时分配给a^{<t'>}的注意力 α<t,t>y^<t>a<t>
注意,有如下几个条件
a < t ′ > = ( a ← < t ′ > , a → < t ′ > ) a^{<t'>} = ( a^{\leftarrow<t'>} , a^{\rightarrow <t'>}) a<t>=(a<t>,a<t>)
∑ t ′ α < 1 , t ′ > = 1 ( 归 一 化 的 注 意 力 ) \sum _{t'} \alpha^{<1,t'>} = 1(归一化的注意力) tα<1,t>=1()
c < 1 > = ∑ t ′ α < 1 , t ′ > a < t ′ > c^{<1>} = \sum_{t'} \alpha^{<1,t'>}a^{<t'>} c<1>=tα<1,t>a<t>
其实是在翻译的不同阶段(可以理解为时间步)中,将各词对翻译的影响进行权重化,从而造成翻译时有所侧重的效果,在这样的一个思路下,注意力模型应该是针对词汇的分布式表示而提出的,不适用于独热码的词汇表示。


明确了适用范围和大致流程,我们来看一下alpha 这个东西,到底是怎么来的。
首先,注意力的权重必然与预测的位置、注意力关注的位置这两方面有关。
对于预测的位置,其实就是y<t>,这是与第二层(输出层)的h<t-1>相匹配的。
对于注意力关注的位置,其实是第一层RNN网络的词汇关注情况,而这是与a<t’>相匹配的。
将预测位置t和关注位置t’上的信息结合起来,得到e<t,t’>,这是我们所说的注意力的前身,由于注意力整体是存在归一化的约束的,故而我们在求得注意力alpha前,需要对e<t,t’>进行归一化操作。
α < t , t ′ > = e x p ( e < t , t ′ > ) ∑ t ′ = 1 T x e x p ( e < t , t ′ > ) \alpha ^{<t,t'>} = \frac {exp(e^{<t,t'>})}{\sum ^{Tx}_{t' = 1}exp(e^{<t,t'>})} α<t,t>=t=1Txexp(e<t,t>)exp(e<t,t>)
计算注意力alpha的流程如下所示:
在这里插入图片描述

Bleu得分

Bleu得分是用于评估机器翻译系统的一个评价指标。

常见的准确度评价:
在这里插入图片描述
由于评价翻译准确程度的过程中,只关注翻译得到的单个单词是否出现在人工翻译的语句中,存在较大的偶然性,评分结果也不甚准确,故而我们引入Bleu得分进行衡量。

Bleu得分,即综合考虑连续的1到4个单词在人工翻译中出现的频率(翻译准确度)而给出的一种评分指标。
下面以考虑一元词组和二元词组为例,对Bleu得分进行解释。

在一元词组中,两个人工翻译语句和一个机器翻译语句如下
在这里插入图片描述
计算其modified precision,相较precision,将每个单词的计数上限设置为该单词在若干句(本例为两个)人工翻译例句中出现的最大频次。
在本句中,一元词汇的Bleu得分:
Modified Precision=2/7

关于二元词组,机器翻译中出现的词汇单元如下所示:
在这里插入图片描述
 =150x200
翻译语句中的词组总数为2+1+1+1+1 = 6
在人工翻译中的准确率为1+0+1+1+1 = 4
在这里插入图片描述

其MP值为Countclip(“the”) / Count(“the”) = 4/6 = 2/3

同理,有n元词组的准确度
在这里插入图片描述
自然地,为了综合评价其翻译情况,我们有指数化其n个精确度之和的想法。
在这里插入图片描述
但,在翻译过程中,我们希望得到一个较长的句子,起码不要比人工的句子短太多,对吧
于是,我们对Bleu得分加上了一个过短的惩罚
在这里插入图片描述
关于BP,Brevity Penalty
在这里插入图片描述
在机翻长于人工翻译时,得分的指标不做改动,BP值为1
在机翻短于人工翻译时,得分的指标将在原Bleu得分的基础上,乘上一个BP值。这个BP值是指数形式的:exp(1-length_MT/length_PT)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖虎干嘛了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值