这里首先要明白两种网络:

  1. recursive neural network 递归神经网络:网络是定义在递归树结构上,每一个树结点是从它的孩子计算出来的向量。叶子节点和中间节点自底向上的组合。
  2. recurrent neural network 循环神经网络:链式结构,LSTM是循环神经网络的特例。

递归神经网络示例,来自论文Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank

句子的语义并不是单词的线性的拼接;相反,句子有解析结构。

论文将LSTM扩展为树形结构,称为S-LSTMS-LSTM可以看作是上述两种网络的结合。

利用S-LSTM来代替recursive neural network中的语义组合层,从而更好的学习不同文本片段组合之后的文本语义表征。

与先前的recurrent neural network相比,S-LSTM有避免梯度消失的潜力,通过树结构对长距离交互进行建模。

S-LSTM的例子

图中的圆圈和横线分别代表pass(通过)和block(阻滞);这里通过LSTM中的遗忘门实现,是一个概率值。可以看出有多少个孩子结点,就有多少个遗忘门。孩子节点之间是没有交互的

S-LSTM模型

S-LSTM的记忆单元包括一个输入门,一个输出门,和多个遗忘门(数量和孩子的结点数相同),图中是给出的二叉树的结构,所以有两个遗忘门,此结构在现实生活中应该有很多应用,也可以把一般的树转化为二叉树。

对应的计算公式如下:

it=σ(WhiLht−1L+WhiRht−1R+WciLct−1L+WciRct−1R+bi)i_{t} =\sigma(W_{h i}^{L} h_{t-1}^{L}+W_{h i}^{R} h_{t-1}^{R}+W_{c i}^{L} c_{t-1}^{L}+W_{c i}^{R} c_{t-1}^{R}+b_{i})it​=σ(WhiL​ht−1L​+WhiR​ht−1R​+WciL​ct−1L​+WciR​ct−1R​+bi​)

ftL=σ(WhflLht−1L+WhflRht−1R+WcflLct−1L+WcflRct−1R+bfl)f_{t}^{L} =\sigma(W_{h f_{l}}^{L} h_{t-1}^{L}+W_{h f_{l}}^{R} h_{t-1}^{R}+W_{c f_{l}}^{L} c_{t-1}^{L}+W_{c f_{l}}^{R} c_{t-1}^{R}+b_{f_{l}})ftL​=σ(Whfl​L​ht−1L​+Whfl​R​ht−1R​+Wcfl​L​ct−1L​+Wcfl​R​ct−1R​+bfl​​)

ftR=σ(WhfrLht−1L+WhfrRht−1R+WcfrLct−1L+WcfrRct−1R+bfr)f_{t}^{R} =\sigma(W_{h f_{r}}^{L} h_{t-1}^{L}+W_{h f_{r}}^{R} h_{t-1}^{R}+W_{c f_{r}}^{L} c_{t-1}^{L}+W_{c f_{r}}^{R} c_{t-1}^{R}+b_{f_{r}})ftR​=σ(Whfr​L​ht−1L​+Whfr​R​ht−1R​+Wcfr​L​ct−1L​+Wcfr​R​ct−1R​+bfr​​)

xt=WhxLht−1L+WhxRht−1R+bxct=ftL⊗ct−1L+ftR⊗ct−1R+it⊗tanh⁡(xt)ot=σ(WhoLht−1L+WhoRht−1R+Wcoct+bo)ht=ot⊗tanh⁡(ct)\begin{aligned} x_{t} &=W_{h x}^{L} h_{t-1}^{L}+W_{h x}^{R} h_{t-1}^{R}+b_{x} \\ c_{t} &=f_{t}^{L} \otimes c_{t-1}^{L}+f_{t}^{R} \otimes c_{t-1}^{R}+i_{t} \otimes \tanh \left(x_{t}\right) \\ o_{t} &=\sigma\left(W_{h o}^{L} h_{t-1}^{L}+W_{h o}^{R} h_{t-1}^{R}+W_{c o} c_{t}+b_{o}\right) \\ h_{t} &=o_{t} \otimes \tanh \left(c_{t}\right) \end{aligned} xt​ct​ot​ht​​=WhxL​ht−1L​+WhxR​ht−1R​+bx​=ftL​⊗ct−1L​+ftR​⊗ct−1R​+it​⊗tanh(xt​)=σ(WhoL​ht−1L​+WhoR​ht−1R​+Wco​ct​+bo​)=ot​⊗tanh(ct​)​

与标准的LSTM区别在于:

(1) 标准的LSTM将上一个时刻的ht−1h_{t-1}ht−1​,ct−1c_{t-1}ct−1​作为ttt时刻的输入,而S-LSTM需要考虑左右孩子结点。

(2) 标准的LSTM每个时刻都有当前时刻对应的输入xtx_{t}xt​,而S-LSTM对应的输入xtx_{t}xt​来自于左右孩子结点隐层状态

反向误差传递的时候要区分当前处理的节点是左孩子还是右孩子。反向传播的时候,先计算各个门的的导数,然后再计算权重的导数,做更新。

目标函数需要考虑输出结构,依赖问题规模,本文定义目标函数是最小化所有节点的交叉熵的和。

E(θ)=∑i∑jtjilog⁡ysenij+λ∥θ∥22E(\theta)=\sum_{i} \sum_{j} t_{j}^{i} \log y^{s e n_{i}}{ }_{j}+\lambda\|\theta\|_{2}^{2} E(θ)=i∑​j∑​tji​logyseni​j​+λ∥θ∥22​

实验

在Stanford Sentiment Tree Bank 进行情感五分类的实验,该数据集不仅包含句子级别的情感类别信息,还包含了短语级别的情感类别信息,详见介绍


RvNN 递归神经网络
RNTN 论文Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank
提出的模型

Long Short-Term Memory Over Tree Structures相关推荐

  1. 有哪些LSTM(Long Short Term Memory)和RNN(Recurrent)网络的教程?

    知乎用户,阿里巴巴数据应用部门长期招聘「算法,分- 500 人赞同 刚好毕设相关,论文写完顺手就答了 先给出一个最快的了解+上手的教程: 直接看theano官网的LSTM教程+代码:LSTM Netw ...

  2. Classifying Relations via Long Short Term Memory Networks along Shortest Dependency Paths

    Classifying Relations via Long Short Term Memory Networks along Shortest Dependency Paths 概述 论文提出了一种 ...

  3. 详细讲解RNN+LSTM+Tree_LSTM(Tree-Long Short Term Memory)基于树状长短期记忆网络

    14天阅读挑战赛 详细讲解RNN+LSTM+Tree_LSTM(Tree-Long Short Term Memory)基于树状长短期记忆网络 一.RNN 要讲解Tree_LSTM,这必须得从RNN开 ...

  4. 递归神经网络变形之 (Long Short Term Memory,LSTM)

    1.长短期记忆网络LSTM简介 在RNN 计算中,讲到对于传统RNN水平方向进行长时刻序列依赖时可能会出现梯度消失或者梯度爆炸的问题.LSTM 特别适合解决这种需要长时间依赖的问题. LSTM(Lon ...

  5. Stanford NLP 第六课: Long Short Term Memory

    RNN存在着梯度消失的问题, 难以学习长期的依赖关系.如何解决RNN的梯度消失问题? Long  Short Term Memory (LSTM) 就是解决这个问题的. 上图是LSTM的一个整体结构. ...

  6. 简单聊聊Long Short Term Memory Network (LSTM)和 Gated Recurrent Unit (GRU)两种强大的RNN变体

    上一篇关于RNN的文章最后,我们提到过由于梯度消失和梯度爆炸问题,使得RNN很难处理长距离的依赖.本文我们介绍两种改进后的RNN:LSTM(Long Short Term Memory Network ...

  7. LSTM(long short term memory)长短期记忆网络

    bags of word(WOE) 它的基本思想是假定对于一个文本,忽略其词序和语法.句法,仅仅将其看做是一些词汇的集合,而文本中的每个词汇都是独立的 循环神经网络(recurrent neural ...

  8. 3_Long Short Term Memory (LSTM)

    文章目录 一.LSTM核心思想 1.1 Conveyor Belt(传输带) 二.LSTM分布指南 2.1 Forget Gate(遗忘门) 2.2 Input Gate(输入门) 2.3 New v ...

  9. Long Short Term Memory networks(LSTMs)

    背景:在我之前的一篇博客中说了一下对RNN的理解,RNN对于长句子表示的不是很好,超过六七层的网络之后就很难获得之前内容的信息了,目前的框架是基于梯度的,多层网络很容易出现梯度弥散的情况.但是对于NL ...

最新文章

  1. python3 通过列表作为键 产生字典
  2. 浅谈贷后管理之贷后跟踪——微金时代解决方案
  3. android viewbinding_程序员必懂小技巧之ViewBinding
  4. putty 连接虚拟机_使用Putty连接虚拟机
  5. WEB框架研究笔记一(准备)
  6. 运维老哥必须知道的Linux系统文件目录组织结构
  7. Java成神之路——CountDownLatch、CyclicBarrier
  8. 30多岁的男人是创业,还是选择找个踏实的工作?
  9. 使用nvm安装并管理node.js
  10. C Looooops POJ - 2115 (exgcd)
  11. 数据结构课程设计之简单计算器的实现
  12. 第一次python作业(快递价格计算、个人所得税计算、模拟银行存取款)
  13. TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片
  14. flash 火狐总是崩溃_火狐浏览器flash插件崩溃怎么办?解决firefox经常出现Adobe Flash 插件已崩溃方法...
  15. VBox 虚拟机完美迁移/复制(带快照)
  16. Win10强制更新关闭方法(博主亲测,不要再走弯路啦)
  17. CIELab和LCH的色彩空间图
  18. 1072 开学寄语(20 分)
  19. android entries属性,ListPreference需要设置两个属性:android:entries和android:entryValues...
  20. 【排序】八大排序算法简介及它们各自的特点总结

热门文章

  1. David I 盛大之行及Delphi未来畅想
  2. 软件开发:到底谁还在传言软件巨头濒临死亡?
  3. java格式化日期时分秒_java中的LocalDateTime
  4. mysql in 索引_关于MySQL种的in函数到底走不走索引、我和同事差点大打出手!
  5. python动态调用自定义模块_python importlib动态导入模块 reload重载模块
  6. 那些面对面试官的“绝杀技”
  7. 计算机辅助设计工业产品cad竞赛试题,2017工业产品设计CAD比赛试题
  8. java 月度相减_java根据日期获取月龄,按照减法原理,先day相减,不够向month借;然后month相减,不够向year借;最后year相减。...
  9. Jmeter使用时部分配置记录
  10. 剑指offer面试题[6]-重建二叉树