您的位置:首页 > 理论基础 > 计算机网络

深度学习(Deep Learning)读书思考八:循环神经网络三(RNN应用)

2016-11-20 11:30 941 查看

概述

通过前两小节的介绍,可以清楚的了解RNN模型的网络结构以及LSTM。本小节主要介绍RNN其他变形以及应用,包括

1.GRU单元

2.序列到序列(Seq2Seq)模型

3.注意力(Attention)模型

4.RNN在NLP中的应用

5.总结

GRU单元

GRU通过引入重置门和遗忘门来解决长期依赖问题,相对于LSTM有更少参数并且在某些问题上,效果好于LSTM。



重置门rt=σ(Wrx+Urht−1)如果重置门关闭,会忽略掉历史状态,即将历史不相干的信息不会影响未来的输出。

遗忘门zt=σ(Wzx+Uzht−1)遗忘门能够控制历史信息对当前输出的影响,如果遗忘门接近1,此时会把历史信息传递下去

节点状态h^t=tanh(Wx+rtoUht−1)

输出 ht=ztoht−1+(1−zt)oh^t

Seq2Seq模型

序列到序列模型可以解决很多不定长输入到输出的变换问题,等价于编码和解码模型,即编码阶段将不定长输入编码成定长向量;解码阶段对输出进行解码。



1.其中序列ABC是输入序列,WXYZ是输出序列,EOS是结束符号

2.模型分为两个阶段1)encode阶段,该阶段将输入序列编码成一个定长维度的向量2)decode阶段,根据编码后向量预测输出向量。

3.编码过程,可以使用标准的RNN模型,例如htyt=f(Whxxt+Whhht−1)=Whyht

4.解码过程,也可以使用一个标准的RNN模型进行解码,例如RNN-LMp(y1,y2...yM|x1,x2...xN)=∏t=1MP(yt|c,y1,y2...yt−1)其中v为编码后的定长向量。

注意力模型

注意力模型类似于序列到序列模型,不同的是在解码阶段:序列到序列模型将输入同等看待,而注意力机制会模拟人类大脑运作机制,在预测不同输出是会将部分输入作为此次预测的输入。

注意力通用框架

定义解码阶段条件概率模型如下p(yi|y1,y2...yi,x)=g(yi−1,si,ci)其中yi−1可以理解为本次输入的上下文;

si=f(si−1,yi−1,ci)该时间序列状态;

c_i不同于传统的解码过程,传统解码过程每一步的解码对应于相同的c(编码的后定长向量),注意力机制对于不同的时间序列输出对应不同编码向量。

c_i计算过程就是注意力机制关键步骤,计算过程如下:

ci=∑Txjαijhj,其中c_i表示解码阶段的第i个时间序列;h_j为对输入编码后的结果,传统的编码过程只保留最后一个时刻作为编码的输出,这里对所有编码输出分别加权得到每一个c_i

加权系数αij计算如下:αij=exp(eij)∑Txk−1exp(eik)eij=a(si−1,hj),相当于额外加了一个网络层计算加权系数,需要注意的是eij的计算仅仅依赖于上一输出状态和输入hj

3.这里注意力机制相当于对编码过程中的输出进行了一个软加权,上述过程也称之为对齐模型。

注意力机制实例

介绍一个2015年注意力机制应用机器翻译的模型,该模型编码阶段使用双向RNN模型,解码采用注意力机制模型,模型架构如下:



输入序列表示为:x=(x1,x2...xTx);输出序列表示为:x=(x1,x2...xTx)

编码阶段采用BIRNN,并且采用GRU单元,则h⃗ i={(1−z⃗ i) o h⃗ i−1+z⃗ ih⃗ i,i>00, i=0其中h⃗ iz⃗ ir⃗ i=tanh(W⃗ Exi+U⃗ [r⃗ ioh⃗ i−1])=σ(W⃗ zExi+U⃗ zh⃗ i−1)=σ(W⃗ rExi+U⃗ rh⃗ i−1)不同的是和原版GRU计算输出值略有不同,不影响最后结果。由于采用的是双向RNN,编码单元最终的输出为hi=[h⃗ i;h←i]其中E为词向量矩阵

解码阶段采用RNN并且采用注意力机制进行对齐,计算过程如下:si=(1−zi) o si−1+zis^i其中s^iziri=tanh(WExi+U[riosi−1]+Cci)=σ(WzExi+Uzsi−1Czci)=σ(WrExi+Urhi−1+Crci)

注意力机制,下面主要集中介绍c_i的计算过程,首先c_i是输入表示的加权平均,即ciαijeij=∑jTxαijhj=exp(eij)∑Txk−1exp(eik)=vTatanh(Wasi−1+Uahj)

输出层采用maxout网络,这里不再赘述。

另外 这里是软对齐模型,此外还有硬对齐以及混合对齐等。

RNN其他应用

理论上只要问题可以建模成序列到序列的映射均可以采用RNN进行求解,例如:

1. 命名实体识别问题NER

2. 词级别的情感分析

3. 问答系统

4. 机器翻译

5. 图片添加注释

6. 文本摘要

总结

通过该小结学习需要了解Seq2Seq模型以及能够解决问题;了解注意力机制模型等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息