【深度学习与Theano】LSTM网络-情感分析
来源:互联网 发布:云盘 网站维护源码 编辑:程序博客网 时间:2024/06/01 08:39
概述
本文提供一个如何使用Theano实现使用LSTM结构的RNN例子。模型被用来通过电影综述来进行情感分析,综述数据来源于Large Movie Review Dataset,即IMDB。
在这个任务中,给定一个电影,这个模型能够预测电影是positive还是 negative。这是一个二进制分类任务。
数据
如前所述,提供的scripts被用来在LMDB数据上训练一个LSTM RNN网络。由于此数据库是公开的,可以运行scripts来下载数据到本地目录,
模型
在传统的RNN中,在梯度反向传播阶段,
这也就是,在转移矩阵中权重的大小将会对学习过程产生较大的影响。
如果矩阵中的权重较小,这将导致 vanishing gradients 这种情况,也就是梯度信号变得太小以致于学习非常慢甚至停止。这也会使得学习数据中的long-term dependencies任务变得更加困难。相反地,如果矩阵中的权重较大,将导致梯度信号过大使得学习偏离,这也就是所谓的 exploding gradients 。
上述问题是引进memory cell新型结构的主要动机,
一个memory cell由4部分组成:
- An input gate
- A neuron with self-recurrent connection
- A forget gate
- An output gate
- 这个self-recurrent connection的权重为1.0,这也保证了不管任何外界干扰,这个memory cell的状态从一个时刻到下一时刻总能保持不变。这个门能够调整memory cell自身和其环境之间的交互作用。input gate可以允许输入信号去改变memory cell的状态或者block it。另一方面,这个output gate允许memory cell的状态去对另一个神经元产生作用或者prevent it。Finally,这个forget gate能根据需要来调整memory cell的自回归连接点,允许这个cell去记住或忘记之前的状态。
- 在下面的方程中描述了memory cell的一个layer在每个时刻点t是如何被更新的。这其中:
xt 是memory cell layer在时刻t的输入Wi,Wf,Wc,Wo,Ui,Uf,Uc,Uo 和Vo 是权重矩阵bi,bf,bc,bo 是偏置向量- 首先,我们计算input gate,
it ,和Ct ,memory cell的状态值: it=σ(Wtxt+Uiht−1+bi) Ct=tanh(Wcxt+Ucht−1+bc)
例:
0 2
- 【深度学习与Theano】LSTM网络-情感分析
- LSTM Theano sentiment analysis 深度学习 情感分析教程
- 深度学习---情感分析(Rnn,LSTM)
- 【深度学习与Theano】LSTM理解
- 深度学习之六,基于RNN(GRU,LSTM)的语言模型分析与theano代码实现
- lstm情感分析
- Theano深度学习结构分析
- 文本情感分类---搭建LSTM(深度学习模型)做文本情感分类的代码
- 深度学习-LSTM网络-代码-示例
- 深度学习-LSTM网络-代码-示例
- 深度学习-LSTM网络-代码示例
- 深度学习笔记——情感分析
- 深度学习在情感分析中的应用
- 深度学习在情感分析中的应用
- 【深度学习与Theano】Theano学习之初体验
- 深度学习基础:RNN与LSTM
- 深度学习Deeplearning4j 入门实战(6):基于LSTM的文本情感识别及其Spark实现
- 基于LSTM搭建一个文本情感分类的深度学习模型:准确率往往有95%以上
- NYOJ 171 聪明的kk 【动态规划入门】
- 【深度学习与Theano】LSTM理解
- Android版本与API Level的对应关系
- Java字符串简单练习
- 【深度学习与Theano】Theano学习之初体验
- 【深度学习与Theano】LSTM网络-情感分析
- 1029. 旧键盘(20)
- LeetCode 53. Maximum Subarray
- Nodejs之NPM安装与使用
- android服务端客户端(二)
- 数据结构及算法——链式表的按序号查找(C语言)
- 平行越权
- leetcode278---First Bad Version
- android studio 导入项目错误