CS224N笔记——深入GRU和LSTM
目录
深入GRU
Update Gate
Reset Gate
tanh-RNN与GRU的对比
GRU与LSTM的对比
深入LSTM
训练一个RNN
Ensemble
深入GRU
RNN的梯度消失:损失在反向传播中必须经过所有中间节点。
GRU额外添加了一些“捷径”红线,允许梯度直接流过去,而不是连乘的方式递减过去。
Update Gate
用来自适应学习应该把多少注意力放到前一个隐藏层状态上。
Reset Gate
自适应地删除不需要的连接。
tanh-RNN与GRU的对比
朴素RNN读取所有寄存器h,运算后存入所有寄存器,没有灵活性。
GRU可以灵活地选择读取部分寄存器,执行运算,写入部分寄存器。
Reset Gate起到决定要读哪些寄存器的目的,而Update Gate决定要写的寄存器。这里的“决定”其实是“强度”的意思,不是绝对的。
GRU与LSTM的对比
GRU中的隐藏状态类似于LSTM中的cell ,而LSTM中的隐藏状态其实相当于一个暴露给外部世界的“显状态”。LSTM通过给cell加一个tanh获得非线性的灵活性。
深入LSTM
LSTM将所有操作都设置为门,这样就可以忘记/忽略某些东西,而不是把它们全部塞进其他操作之上:
New Memory Cell的计算是一个非线性的过程,与朴素RNN一模一样:
最关键之处在于,Memory Cell的更新中有一个加法项直接来自上一刻的Cell,也就是说建立了ct和ct−1的直接线性连接(与ResNet类似):
类似于GRU中的加法,在反向传播的时候允许原封不动地传递残差,也允许不传递残差,总之是自适应的。
有了这些改进,LSTM的记忆可以比RNN持续更长的step(大约100)。
训练一个RNN
- 使用LSTM或GRU
- 将递归权值矩阵初始化为正交
- 将其他矩阵初始化为较小的值
- 将forget gate偏置设为1:默认为不遗忘
- 使用自适应的学习率算法:Adam、AdaDelta
- 裁剪梯度的长度为小于1-5
- 在Cell中垂直应用Dropout而不是水平Dropout
- 保持耐心,通常需要训练很长时间
Ensemble
如果想获得额外的2个百分点的效果提升,可以训练多个模型,平均它们的预测。
CS224N笔记——深入GRU和LSTM相关推荐
- CS224N笔记(四) Lecture 7:循环神经网络RNN的进阶——LSTM与GRU
本文将介绍两种比RNN更好地应对梯度消失问题的模型结构--LSTM和GRU,文章以CS224N的课件和材料为基础,重点分析他们的结构特点和梯度计算,在梯度消失的解决策略上进行了深入探究,并进一步分析它 ...
- 深度学习与自然语言处理教程(5) - 语言模型、RNN、GRU与LSTM(NLP通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://www.showmeai.tech/article-d ...
- RNN、GRU、LSTM
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/weixin_42432468 学习心得: 1.每周的视频课程看一到两遍 2.做笔记 3.做每周的作业 ...
- Tensorflow中GRU和LSTM的权重初始化
GRU和LSTM权重初始化 在编写模型的时候,有时候你希望RNN用某种特别的方式初始化RNN的权重矩阵,比如xaiver或者orthogonal,这时候呢,只需要: 1 2 3 4 5 6 7 8 9 ...
- CS224n笔记13 卷积神经网络
为什么80%的码农都做不了架构师?>>> 本文由码农场同步,最新版本请查看原文:http://www.hankcs.com/nlp/cs224n-convolutional-n ...
- RNN隐藏层的两种计算方法GRU和LSTM
本篇文章主要介绍两种RNN的隐藏层信息计算方法GRU(Gated Recurrent Units)和LSTM(Long-Short-Term-Memories),这两种隐藏层的计算方法通过引入门(Ga ...
- GRU和LSTM的单元结构
在循环神经网络中GRU和LSTM有着非常重要的地位.其中LSTM的出现时间是要早与GRU的.GRU是对LSTM的简化. GRU的单元结构中包含两个门:回忆门r(t), 更新门z(t).其结构如下 LS ...
- 【NLP CS224N笔记】Assignment 1 - Exploring Word Vectors
作业来源:https://github.com/xixiaoyao/CS224n-winter-together 1. 写在前面 这篇文章是CS224N课程的第一个大作业, 主要是对词向量做了一个探索 ...
- Python Djang 搭建自动词性标注网站(基于Keras框架和维基百科中文预训练词向量Word2vec模型,分别实现由GRU、LSTM、RNN神经网络组成的词性标注模型)
引言 本文基于Keras框架和维基百科中文预训练词向量Word2vec模型,分别实现由GRU.LSTM.RNN神经网络组成的词性标注模型,并且将模型封装,使用python Django web框架搭建 ...
- 【2019斯坦福CS224N笔记】(5)The probability of a sentence Recurrent Neural Networks and Language Models
这部分内容主要研究语言模型及循环神经网络在语言模型中的应用. 目录 1.语言模型 2.经典n-gram模型 3.Window-based DNN 4.Recurrent Neural Networks ...
最新文章
- FPGA资源利用率报告中的LUT和LUTRAM有什么区别
- Spring MVC 4.1 支持jsonp
- 学习 SQL 语句 - Select(3): 条件查询与模糊查询
- C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
- 就在这段时间让自己充实起来
- VMWare虚拟机安装RedHat Linux全过程
- SQL查询语句精华 笔记
- Excel VBA 高级编程-工资条模板考勤工资管理系统
- 信息论的基本概念(自信息,条件熵,联合熵,互信息,条件互信息)
- python :alpha shapes 算法检测边界点
- linux 如何停止mysql,linux下如何启动/停止/重启mysql:
- Mac上进行session hijack
- iPhone 计算机 桌面,2分钟学会Windows仿苹果任务栏,你的电脑桌面也可如此炫酷!...
- 网络wifi测试软件app,WIFI检测精灵
- 【离散数学】数学归纳法
- MATLAB_LSB_隐藏水印和提取,附代码
- 在线求指点 route-policy aaa permit node 10这个是什么意思
- (转)Unity 5.6 光照烘焙系统介绍
- 网站类型和爬虫抓取类型
- mysql服务器 网关,数据库智能网关-PLC与SQLServer/MySQL数据库双向通讯SELECT/INSERT...