lstm

读书笔记--《Understanding LSTM Networks》

早过忘川 提交于 2020-01-29 11:33:51
Understanding LSTM Networks Understanding LSTM Networks 一文是Colah的一篇博客,是描述LSTM十分详细的文章,对了解LSTM有很大的帮助,建议读原文,博主写的很有意思。 原文博客地址 下图是思维导图,我选了150%缩放,点开即可查看。 来源: CSDN 作者: Ethan、 链接: https://blog.csdn.net/qq_42580947/article/details/103791574

Sequence to Sequence Learning with Neural Networks

人走茶凉 提交于 2020-01-28 01:47:45
Sequence to Sequence Learning with Neural Networks Ilya Sutskever et al. Google. 2014 Sequence to sequence DNN的一个显著问题在于只能应用到输入和输出都能表示为固定维度的向量的问题中。这是一个显著的缺陷,因为很多重要的问题中,输入和输出都需要被描述为预先不知道长度的序列。 本文提出了直接用一个LSTM来解决Sequence to Sequence问题。用一个LSTM来读输入序列,一个时间步读序列中的一个词,来得到一个固定维度的向量表示,然后利用另一个LSTM来从向量里抽取输出序列。 我们实际的模型与普通LSTM有三点区别:第一,我们使用了2个LSTM,以同时训练不同的语言pair。第二,我们发现多层LSTM比较好用,因此我们用4层LSTM替代了单层LSTM。第三,我们发现将句子中的单词反过来训练的效果更好,因此我们将句子中的词语顺序反了过来。 来源: CSDN 作者: 我爱写报告 链接: https://blog.csdn.net/m0_37924639/article/details/104094841

Recurrent Neural Network系列4--利用Python,Theano实现GRU或LSTM

爷,独闯天下 提交于 2020-01-27 02:15:44
作者:zhbzz2007 出处: http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明。谢谢! 本文翻译自 RECURRENT NEURAL NETWORK TUTORIAL, PART 4 – IMPLEMENTING A GRU/LSTM RNN WITH PYTHON AND THEANO 。 本文的代码github地址 在此 。这是循环神经网络教程的第四部分,也是最后一个部分。之前的博文在此, RNN概述 利用Python,Theano实现RNN 理解RNN的BPTT算法和梯度消失 本文中我们将会学习LSTM(Long Short Term Memory)网络和GRUs(Gated Recurrent Units)。LSTM是由 Sepp Hochreiter and Jürgen Schmidhubere 在1997年提出,目前是深度学习应用到NLP领域中最为广泛的模型。GRUs 是在2014年 提出 ,是LSTM的一个简单变种,二者有很多相同的特性。让我们先看看LSTM,然后再看看GRU有何不同。 1 LSTM网络 在第三部分 理解RNN的BPTT算法和梯度消失 ,我们了解了梯度消失问题阻碍了标准循环神经网络学习长期依赖。LSTM通过门机制来解决梯度消失问题。为了更好的理解原理,我们看看LSTM如何计算隐层状态 \(s_{t}\

RNN & LSTM 学习笔记 —— Anaconda安装,Python安装,PyTorch,Tensorflow配置

寵の児 提交于 2020-01-27 01:38:03
学习(配置基础环境,下载开发IDE) 配置环境 Anaconda:官网下载 https://www.anaconda.com/distribution/ (python 2+ 官方停止更新了,所以还是下载python 3+的吧) Anaconda下载安装好了之后,就可以用这个工具来下载其他的工具了,包括python其他版本。 python3.6 or 3.7 Anaconda最新版本是Python37的,但是由于Tensorflow并不支持Python37,除了PyTorch还想以后多学学Tensorflow和其他,所以多配置一步python 3.6。 打开Anaconda Prompt并输入: conda create - n py36 python=3 . 6 anaconda 安装好之后,会多出py36的命令行Prompt。之后安装各种库,要安装到python3.7环境下,就用Prompt(Anaconda3),要安装在python3.6环境下,就用Prompt(py36) 下载好用的pythonIDE ——pycharm 安装和配置如下链接: https://www.runoob.com/w3cnote/pycharm-windows-install.html Tensorflow安装 在对应的Prompt 命令行里面 pip install -- upgrade --

深度学习之循环神经网络(RNN)

岁酱吖の 提交于 2020-01-26 13:39:29
文章目录 什么是循环神经网络 RNN的应用 RNN网络结构 RNN的反向求导 Vanilla-RNN Vanilla-RNN存在的问题 RNN动态图 梯度消失 梯度消失带来的影响 梯度爆炸 梯度消失带来的影响 RNN的反向传播 Bidirectional RNN(双向的RNN) Deep(Bidirectional) RNN(深度的双向RNN) LSTM(长短时记忆) LSTM关键:“细胞状态” 第一个“门”——“忘记门” 第二个“门”——“学习门”: 第三个“门”——“记忆门”: 第四个“门”——“使用门”: lstm动态图展示 LSTM可以使用别的激活函数吗? LSTM-总结 GRU GRU动图 LSTM与GRU区别 什么是循环神经网络 循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network) 它并⾮刚性地记忆所有固定⻓度的序列,而是通过隐藏状态来存储之前时间步的信息。 为什么有BP神经网络、CNN,还需要RNN? 因为PB,CNN网络(前馈神经网络)的输入输出都是相互独立的(只能正向或者反向传播的,单向的),但是实际应用中的有些场景的输出内容和之前的内容相关的(时序性)

论文笔记:Tree-LSTM结构的三篇论文总结

故事扮演 提交于 2020-01-26 02:39:03
对于 序列数据 而言,从最早的 RNN 结构单元,后来衍生出了 LSTM 以及 GRU 等等变种,这些变种单元的功能更好,并且有效解决了RNN的梯度消失/爆炸问题。对于 树结构信息 来说也是如此,2015年,三篇论文同时期提出了 Tree-LSTM 的结构,分别是: 1.Compositional Distributional Semantics with Long Short Term Memory(Phong Le et al., 2015) 2.Long Short-Term Memory Over Recursive Structures (Xiaodan Zhu et al., 2015) 3.Improved Semantic Representations FromTree-Structured Long Short-Term Memory Networks (KaiSheng Tai et al., 2015) 下面在说的时候论文1,2,3即按照这个顺序 三篇论文的出发点其实是一样的,都是对之前的经典的递归神经网络的合并部分进行改进(也就是从两个/多个子节点合并信息成为一个父节点的处理部分,例如 Socher 最早的 RvNN 结构中就是简单的使用了一个 W 权重矩阵,然后矩阵乘以两个子节点向量的叠加(concatenation)), 当然这里的改进就是受到

How to implement LSTM layer with multiple cells per memory block in Pytorch?

与世无争的帅哥 提交于 2020-01-26 00:41:56
问题 I intend to implement an LSTM in Pytorch with multiple memory cell blocks - or multiple LSTM units, an LSTM unit being the set of a memory block and its gates - per layer, but it seems that the base class torch.nn.LSTM enables only to implement a multi-layer LSTM with one LSTM unit per layer: lstm = torch.nn.LSTM(input_size, hidden_size, num_layers) where (from the Pytorch's documentation): input_size is the input dimension of the network, hidden_size is the hidden state dimension for every

cv实习面试记录

最后都变了- 提交于 2020-01-25 16:22:55
网易传媒(2020.01.09) 一面(45分钟):聊项目 二面(65分+我中途有事打断面试) 上来问项目【45分钟+】(图片特征提取faster rcnn ,固定36个,如何构建graph,graph特征融合,attention LSTM) 深度学习基础【15分钟】: (1) 参数计算(channel 3 , 3*3, feature map 是64 ) (2)softmax(我居然说成sigmoid(尴尬!)) (3)交叉熵损失 代码(打断了…) 毕马威(2020.01.11) 一面(40分钟,过): 针对项目,问了下faster rcnn的大体流程,attention lstm如何实现 了解单步检测算法么,大致说说SSD、YOLO,为什么比faster rcnn快,区别在哪? 1*1卷积的作用 来源: CSDN 作者: 一只帅气的小菜鸡 链接: https://blog.csdn.net/weixin_42028608/article/details/103918579

Error when checking target: expected dense_2 to have 2 dimensions, but got array with shape (1, 1226, 2)

血红的双手。 提交于 2020-01-25 09:06:09
问题 Here is the code that I am trying to run: y = Df[['label']] y_train = np.column_stack((y_train['label'])) y_test = np.column_stack((y_test['label'])) data_dim = 18 timesteps = 1 num_classes = 2 model = Sequential() model.add(LSTM(19, return_sequences=True, input_shape=(timesteps, data_dim))) model.add(LSTM(19, return_sequences=True)) model.add(LSTM(19)) # return a single vector of dimension 30 model.add(Dense(1, activation='softmax')) model.compile(loss='binary_crossentropy', optimizer=

Error when checking target: expected dense_2 to have 2 dimensions, but got array with shape (1, 1226, 2)

夙愿已清 提交于 2020-01-25 09:05:28
问题 Here is the code that I am trying to run: y = Df[['label']] y_train = np.column_stack((y_train['label'])) y_test = np.column_stack((y_test['label'])) data_dim = 18 timesteps = 1 num_classes = 2 model = Sequential() model.add(LSTM(19, return_sequences=True, input_shape=(timesteps, data_dim))) model.add(LSTM(19, return_sequences=True)) model.add(LSTM(19)) # return a single vector of dimension 30 model.add(Dense(1, activation='softmax')) model.compile(loss='binary_crossentropy', optimizer=