cs224n自然语言处理公开课笔记(五)

Lecture 10 - NMT and Attention Model

Posted by Yunlongs on October 3, 2019

视频地址:https://www.bilibili.com/video/av41393758/?p=10 课程主页地址:http://web.stanford.edu/class/cs224n/ 课程讲义下载地址:https://yunlongs-1253041399.cos.ap-chengdu.myqcloud.com/Books/CS224n/cs224n-2019-notes06-NMT_seq2seq_attention.pdf

1.Neural Machine Translation with Seq2Seq

神经网络在机器翻译方面的应用,这一部分还是直接看吴恩达的笔记即可 序列模型和注意力机制(Sequence models & Attention mechanism) 以上链接总共涉及了以下知识点:

  • 条件语言模型
  • greedy search
  • Beam search
  • 改进Beam search
  • Beam search的误差分析
  • Bleu得分
  • 注意力模型

剩下将补充cs224n里其他的知识点,和注意力模型。

2.Attention Model

2.1 注意力模型的动机

动机: 当句子越来越长时,神经网络将整个句子记忆下来的能力会越来越差。而注意力模型翻译得很像人类,一次翻译句子的一部分。且机器翻译系统只会翻译句子的一部分,不会有上图中一个巨大的下倾(huge dip)。

2.2 网络结构

这里我们只将到S<2>涉及的网络层次进行了展开,其余的类似。

2.3 注意力机制

下面我们将注意力模型的网络结构,从下往上进行详细的阐述。

a<t>表示时间步上的特征向量。由于是双向RNN,对于每个a<t>

a<t>=(a→<t>,a←<t>)

(2) 使用上一步的隐藏层状态S<t1> 和每一步的激活值a<t>,建立一个简单的神经网络,利用反向传播算法、梯度下降算法迭代优化,来求出e<t,t>

注意力权重用α表示,之后再利用一softmax层,来计算出每一激活值a<t>的权重,决定了此激活值a<t>对当前的隐藏层状态S<t>能产生多少影响:

α<t,t>=exp(e<t,t>)Txt=1exp(e<t,t>)

C是各个RNN神经元经过注意力权重得到的参数值。 将每一步的激活值a<t>乘以其相应的权重α<t,t>,再进行累加得到最后隐藏层的输入C:

C<1>=tα<1,t>a<t>

2.4 注意力模型的表现

句子特短的时候,模型们的得分都不高。这纯粹是因为语料中的短句子本来就语义隐晦,比如某个专有名词作为标题。而有attention的模型在句子很长的时候,效果依然没有下降,说明了attention的重要性。


0 comments
Anonymous
Markdown is supported

Be the first person to leave a comment!