这篇论文是为解决natural language processing (NLP)领域的问题。 应用RNN encoder-decoder技术进行静态机器翻译(英语–>法语 -_-,作为中国人,我总以为会转换成汉语,然而非也)。 encoder and decoder分别为一个RNN结构,encoder可以将不定长序列转换成定长序列,decoder的作用与之相反。此外,使用了隐藏节点来增强记忆功能,使训练更加容易。本文创新点主要就在隐藏节点上,是对LSTM进行的改进,运算速度更快。该方法能够很好地获取语义规则,保护语义和语法结构。
看图就能总体上明白这篇文章要讲的是什么。
主要训练过程,连接这两个RNN,使最大似然函数取最大值。这个是可微分的模型,可以使用梯度下降来训练。这里讲的比较笼统,中间过程略去,只说会得到中间状态 ht−1 ,还根据输入xt,和上一步输出yt-1,求得ht,如此循环往复,求得最终的中间状态c,获得输出。
从上面可以看出,其实这篇文章也没啥,不就是将两个反向RNN级联了嘛,这篇文章其实也没有多么重要吧。这你就错了,重要的总是在最后出场。
中间的隐层是本文的亮点GRU。 看结构图 这个隐藏节点的结构想法来源于LSTM,但是要比LSTM更简单,更易于实施。
reset gate跟update gate的计算方法一样: zj=rj=sigma([WrX]j+[Urh(t−1)j]) j代表第几个隐层,X是input,h(t-1)是上一步的隐层状态。 WU都是待学习的权重。 接下来就是本步h的更新公式,根据reset gate和update gate而来。 在最后这个公式中,当reset gate关闭为0时,隐层状态强制湖绿先前的隐层状态,并将其重置为当前输入。这能够有效扔掉隐层包含的一些没用的信息。update gate的功能跟LSTM的记忆门有些类似,能够控制先前隐层的信息可以传递多少到下一步隐层,能够帮助RNN记忆,这也可以被认为是一种leaky-integration unit。(:)并不知道这是个什么单元) 总而言之,这就是隐藏单元的奥秘,包含两个门,一个reset,一个update。 这个在实验初期使用时,有一点困难。 所以… 未完待续…
统计机器翻译 参数优化的最终目的是最大化BLEU score(不知道是啥,下班后查查) 利用RNN encoder-decoder 对词语对进行评分 将评分后的结果作为log 线性模型的额外特征(就是上面那个函数)。 我们在训练RNN时,忽略了每个词组对在原本训练集上的频率,这有利于,降低大量随机选择词组对的计算量,并且确保RNN模型并非只是简单的根据词组出现频率来对词组对进行评分。
EMMA SIAT 2017.03.10
