欢迎光临 x-algo
关注算法在工业界应用
Hi, 这是一个关注大数据算法在工业界应用的网站

Grammar as a Foreign Language

原始论文:《Grammar as a Foreign Language》

如论文的标题,论文特别的地方是将「句法分析」这件事变为一个「翻译」问题。

不了解RNN和LSTM的可以先看RNN(Recurrent Neural Networks)公式推导和实现 和 LSTM直观理解

CRF解决Parser问题的一个实现:CRF++依存句法分析

整体结构

QQ20170402-155408

最上层的灰色箭头,表示的是Attention机制。这里输入序列是「. ,Go ,EDN」,后面的依存信息是输出序列;

从上图可以发现,输入的句子序列被有意反转了,原因是发现反转之后效果更好(本文不是首创),对输入的word做embeding,发现用w2v初始化效果只有很少的提升;dropout有一些提升;

本文通过将「树形结构」变为一个线性序列进行建模,具体方法为:

QQ20170402-155700

 

模型

本文的模型有一些特别,模型是两个LSTM的组合,并且融入了Attention机制(现在没有Attention见面都不好意思打招呼了,LSTM内部的门的设计本身就可以看做是Attention机制的实现)。

LSTM内部单元结构:

QQ20170402-154510

可以发现,输入 \(x_t\) 和隐层输出 \(h_{t-1}\) 控制各种门的生成, \(m_t\) 为「记忆」信息。

 

Attention机制

这里的Attention想要激活的是输入的LSTM网络的隐含层权重, \((h_1,h_2,...,h_{T_A})\) 表示输入序列在第一个LSTM网络中每一个状态的隐层参数。通过Attention机制得到输出LSTM网络在t状态的隐层参数 \(d'_t\) ,具体公式如下,其中 \(d_t=d'_{t-1}\)

QQ20170402-160453

整体结构还是比较容易理解的,第二个LSTM网络负责输出结果,每一步将第一个LSTM网络中的所以隐层参数拿到作为输入,网络的层数为三层。

参考资料

http://distill.pub/2016/augmented-rnns/#attentional-interfaces

未经允许不得转载:大数据算法 » Grammar as a Foreign Language

分享到:更多 ()

评论 抢沙发

*

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注大数据算法在工业界应用

本站的GitHub关于本站