改进的树状长短期记忆网络(Tree-LSTM)语义表示

长短期记忆(Long - Short-Term Memory, LSTM)网络是一种具有更复杂计算单元的循环神经网络,由于其超常的时间保存序列信息的能力,在各种序列建模任务中获得了较强的效果。到目前为止,我们所研究的惟一底层LSTM结构是线性链。

然而,自然语言表现出的句法特性可以自然地将单词组合成短语。我们引入Tree-LSTM,将lstm推广到树形网络拓扑中。TreeLSTMs在两个任务上优于所有现有系统和强LSTM基线:预测两个句子的语义相关性(SemEval 2014, Task 1)和情绪分类(Stanford emotion Treebank)。

大多数短语和句子的分布式表示模型——即使用重值向量表示意义的模型——属于三类:词袋模型、序列模型和树结构模型。在词袋模型中,短语和句子表示与语序无关;例如,它们可以通过平均组成词的表示来生成(Landauer和Dumais, 1997;Foltz et al., 1998)。相比之下,序列模型将句子表示构建为符号序列的顺序敏感函数(Elman, 1990;Mikolov, 2012)。最后,树形结构模型根据句子上给定的句法结构,由其组成的子短语组成每个短语和句子表示(Goller和Kuchler, 1996;Socher et al., 2011)。
在这里插入图片描述
顺序不敏感模型不足以完全捕获自然语言的语义,因为它们无法解释由于词序或句法结构的差异而导致的意义差异(例如,“猫爬树”vs“树爬猫”)。因此,我们转向顺序敏感的顺序或树结构模型。特别是,树状结构模型是一种具有语言吸引力的选择,因为它们与句子结构的句法解释有关。那么,一个自然的问题是:在句子表示方面,与顺序模型相比,我们在多大程度上(如果有的话)可以用树状结构模型做得更好?在本文中,我们致力于解决这个问题,方法是直接比较最近用于在几个NLP任务中实现最先进结果的一种顺序模型与它的树结构泛化。

由于其处理任意长度序列的能力,循环神经网络(RNNs)是序列建模任务的自然选择。最近,具有长短期记忆(LSTM)单元的rns (Hochreiter和Schmidhuber, 1997)由于其表示能力和捕获长期依赖性的有效性,重新成为流行的体系结构。

LSTM网络,我们在第二节中回顾过,已经成功地应用于各种序列建模和预测任务,特别是机器翻译(Bahdanau等人,2015;Sutskever等人,2014)、语音识别(Graves等人,2013)、图像说明生成(Vinyals等人,2014)和程序执行(Zaremba和Sutskever, 2014)。

在本文中,我们将标准的LSTM架构推广到树状网络拓扑中,并展示了其在表示句子意义方面优于顺序LSTM的优越性。标准LSTM由当前时间步的输入和LSTM单元在前一个时间步的隐藏状态组成其隐藏状态,而树状LSTM (Tree-LSTM)则由输入向量和任意多个子单元的隐藏状态组成其状态。标准LSTM可以被认为是Tree-LSTM的特例,其中每个内部节点只有一个子节点.
在我们的评估中,我们展示了Tree-LSTMs作为表示句子模型的经验优势。我们在两个任务上评估了Tree-LSTM架构:句子对的语义关联预测和电影评论句子的情感分类。

我们的实验表明Tree-LSTMs在这两个任务上都优于现有系统和连续LSTM基线。我们的模型和实验的实现可在 https:// github.com/stanfordnlp/treelstm 获得.

二、长短期记忆网络(LSTM)

1.综述
循环神经网络(RNNs)能够处理任意长度的输入序列,通过递归应用过渡函数在隐状态向量h t 上。在每个时间步t处,隐藏状态h t 是网络在时间t处接收到的输入向量x t 及其之前的隐藏状态h t−1 的函数。例如,输入向量x t 可以是文本主体中第t个单词的向量表示(Elman, 1990;Mikolov, 2012)。
隐藏状态h t ∈R d 可以被解释为在时间t之前观察到的标记序列的d维分布式表示。
通常,RNN转换函数是一个映射变换,后面跟着一个点非线性函数,比如双曲正切函数: 在这里插入图片描述
不幸的是,具有这种形式过渡函数的rnn的一个问题是,在训练过程中,梯度向量的分量可以在长序列中呈指数增长或衰减(Hochreiter, 1998;Bengio等人,1994)。这个梯度爆炸或消失的问题使得RNN模型很难学习序列中的长距离相关性。
LSTM体系结构(Hochreiter和Schmidhuber, 1997)通过引入能够长时间保存状态的存储单元,解决了学习长期依赖性的问题。虽然已经描述了许多LSTM变体,但在这里我们描述Zaremba和Sutskever(2014)使用的版本。
我们将每个时间步t的LSTM单元定义为R d 中的向量集合:输入门i t 、遗忘门f t 、输出门o t 、记忆单元c t 和隐藏状态h t 。门控向量i t , f t 和o t 的分量在[0,1]中。我们称d为LSTM的内存维度。
LSTM跃迁方程如下:
在这里插入图片描述
其中x t 是当前时间步长的输入,σ表示logistic s型函数,表示elementwise乘法。直观地说,遗忘门控制着先前记忆单元被遗忘的程度,输入门控制着每个单元被更新的多少,而输出门控制着内部记忆状态的曝光。因此,LSTM单元中的隐藏状态向量是单元内部存储单元状态的门控部分视图.由于每个向量元素的门控变量的值不同,模型可以学习在多个时间尺度上表示信息。
2.变体
基本LSTM架构的两种常用变体是双向LSTM和多层LSTM(也称为堆叠LSTM或深层LSTM)。
双向LSTM :由两个并行运行的LSTM组成:一个在输入序列上,另一个在输入序列的反面。在每个时间步上,双向LSTM的隐藏状态是向前和向后隐藏状态的拼接。这个设置允许隐藏状态捕获过去和未来的信息。
多层LSTM :在多层LSTM体系结构中,层l中的LSTM单元的隐藏状态在同一时间步长中被用作层l+1中的LSTM单元的输入(Graves等人,2013;Sutskever等,2014;Zaremba和Sutskever, 2014)。这里的想法是让较高层捕获输入序列的长期依赖关系。
这两种变体可以组合成多层双向LSTM (Graves等人,2013年)。

三、树形结构LSTMS

上一节中描述的LSTM体系结构的一个限制是,它们只允许严格顺序的信息传播。在这里,我们提出了对基本LSTM体系结构的两个自然扩展:Child-Sum Tree-LSTM和N-ary Tree-LSTM。这两种变体都允许更丰富的网络拓扑,其中每个LSTM单元能够合并来自多个子单元的信息。
与标准LSTM单元一样,每个Tree-LSTM单元(由j索引)包含输入和输出门i j 和o j ,一个记忆单元c j 和隐藏状态h j 。标准LSTM单元和Tree-LSTM单元之间的区别在于 门控向量和记忆单元更新依赖于所有与之相关子单元状态 。此外,TreeLSTM单元不是单一的遗忘门,而是为每个子结点k包含一个遗忘门f jk 。这允许Tree-LSTM单元有选择地从子结点中获取信息。
例如,Tree-LSTM模型可以在情感分析任务中去保存语义信息更加丰富的子节点信息
在这里插入图片描述

图中:Tree-LSTM模型中的记忆单元c1和隐层状态h1是由两个子元素(下标2和3)组成。

树形结构的长期短期 记忆 网络 这是 Tree - LSTM 的实现,如Kai Sheng Tai,Richard Socher和Christopher Manning在论文《中所述。 在使用SICK数据集的 语义 相似性任务上,此实现达到: 皮尔逊系数: 0.8492和MSE: 0.2842使用超参数--lr 0.010 --wd 0.0001 --optim adagrad --batchsize 25 皮尔逊系数: 0.8674和MSE: 0.2536使用超参数)-- --lr 0.025 --wd 0.0001 --optim adagrad --batchsize 25 --freeze_embed 皮尔逊系数: 0.8676和MSE: 0.2532是原始论文中报告的数字。 已知的差异包括梯度的累积方式(是否通过批处理大小进行归一化)。 Python(在3.6.5上测试,应在> =
文章目录任务和数据集介绍导入数据Step 1: Batching题外话:代码Step 2: Tree - LSTM cell with message-passing APIsStep 3: Define traversal Tree LSTM 模型main函数 本文内容整理自深度之眼《GNN核心能力培养计划》 公式输入请参考:在线Latex公式 之前的论文带读看这里:第七周.直播. Tree LSTM 带读 官网的代码看这里: https://docs.dgl.ai/tutorials/models/2_small_
文章目录摘要IntroductionLong Short-Term Memory Networks 本文内容整理自深度之眼《GNN核心能力培养计划》 公式输入请参考:在线Latex公式 Improved Semantic Representations From Tree -Structured Long Short-Term Memory Networks 这期内容需要有 LSTM 的基础,没学过 LSTM 直接看估计又会蒙,所以还是看这里比较容易理解:李宏毅学习笔记13.RNN Part I:
Long Short-Term Memory Over Tree Structures 树结构的 lstm 中的 记忆 细胞可以通过递归的过程反映多个孩子及后代的历史信息。孩子节点之间是否有交互(图一)?提供一种特定的方法考虑不同等级上的长距离交互。例如语言和图像的解析结构。 用s- lstm 记忆 模块代替递归模型中的组合层,应用在通过 语义 组合来理解一段文本。句子的 语义 并不是线性的拼接,他是有结构的。与
传输带(Conveyor belt)CtC_tCt​:过去的信息通过传输带直接送到下一时刻,不会发生太大的变化。 LSTM 就是通过传输带避免了梯度消失的问题。 LSTM 中的Gate:可以让信息有选择的通过。 Forget Gate 遗忘门由sigmoid函数和单元乘法两部分组成 1、输入向量a通过sigmoid函数作用得到输出向量f 2、接着计算传输向量 c 和 f.
对于序列数据而言,从最早的 RNN 结构单元,后来衍生出了 LSTM 以及 GRU 等等变种,这些变种单元的功能更好,并且有效解决了RNN的梯度消失/爆炸问题。对于树结构信息来说也是如此,2015年,三篇论文同时期提出了 Tree - LSTM 的结构,分别是: Compositional Distributional Semantics with Long Short Term Memory(Ph...
在前面我们很细致地介绍了基本 LSTM 的理论,其实学者们还提出了多种 LSTM 的变种,如 Coupled LSTM 、Peephole LSTM 、GRU 等等,今天就来看看其中两个比较流行的变体 Peephole connections 和 GRU,它们都可应对梯度消失问题,也都可用于构建深度神经 网络 ,此外我们还会学习一个高效的搜索策略 Beam Search。 首先来回顾一下 LSTM 的结构...
CSDN-Ada助手: 非常感谢您分享Pytorch版本的Ernie Health源码详解,这对于许多人来说都是非常有帮助和启发性的。作为一名优秀的CSDN博主,您的经验和知识对于整个技术社区都是非常宝贵的。我们衷心希望您能够继续分享您的专业技术知识,为更多的人带来帮助和指导。 基于您的博客内容,我们建议您可以撰写一篇与Pytorch相关的深度学习技术文章。例如,您可以分享关于Pytorch模型训练的技巧和经验,或者介绍如何使用Pytorch实现复杂的深度神经网络。无论您选择哪种主题,相信您的经验和知识一定会帮助到更多的读者,让大家可以更加深入地了解和掌握Pytorch相关的技术。期待您的精彩分享! 2023年博客之星「城市赛道」年中评选已开启(https://activity.csdn.net/creatActivity?id=10470&utm_source=blog_comment_city ), 博主的原力值在所在城市已经名列前茅,持续创作就有机会成为所在城市的 TOP1 博主(https://bbs.csdn.net/forums/blogstar2023?typeId=3152981&utm_source=blog_comment_city),更有丰厚奖品等你来拿~。 卷积神经网络CNN(Convolutional Neural Network) 敷衍zgf: 卷积神经网络CNN(Convolutional Neural Network) 堂堂大娃: up 学了就能让我会文本分类吗 Linux系统如何在指定目录下创建anaconda环境,并为环境命名! 敷衍zgf: pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html