目录

深入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相关推荐

  1. CS224N笔记(四) Lecture 7:循环神经网络RNN的进阶——LSTM与GRU

    本文将介绍两种比RNN更好地应对梯度消失问题的模型结构--LSTM和GRU,文章以CS224N的课件和材料为基础,重点分析他们的结构特点和梯度计算,在梯度消失的解决策略上进行了深入探究,并进一步分析它 ...

  2. 深度学习与自然语言处理教程(5) - 语言模型、RNN、GRU与LSTM(NLP通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://www.showmeai.tech/article-d ...

  3. RNN、GRU、LSTM

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/weixin_42432468 学习心得: 1.每周的视频课程看一到两遍 2.做笔记 3.做每周的作业 ...

  4. Tensorflow中GRU和LSTM的权重初始化

    GRU和LSTM权重初始化 在编写模型的时候,有时候你希望RNN用某种特别的方式初始化RNN的权重矩阵,比如xaiver或者orthogonal,这时候呢,只需要: 1 2 3 4 5 6 7 8 9 ...

  5. CS224n笔记13 卷积神经网络

    为什么80%的码农都做不了架构师?>>>    本文由码农场同步,最新版本请查看原文:http://www.hankcs.com/nlp/cs224n-convolutional-n ...

  6. RNN隐藏层的两种计算方法GRU和LSTM

    本篇文章主要介绍两种RNN的隐藏层信息计算方法GRU(Gated Recurrent Units)和LSTM(Long-Short-Term-Memories),这两种隐藏层的计算方法通过引入门(Ga ...

  7. GRU和LSTM的单元结构

    在循环神经网络中GRU和LSTM有着非常重要的地位.其中LSTM的出现时间是要早与GRU的.GRU是对LSTM的简化. GRU的单元结构中包含两个门:回忆门r(t), 更新门z(t).其结构如下 LS ...

  8. 【NLP CS224N笔记】Assignment 1 - Exploring Word Vectors

    作业来源:https://github.com/xixiaoyao/CS224n-winter-together 1. 写在前面 这篇文章是CS224N课程的第一个大作业, 主要是对词向量做了一个探索 ...

  9. Python Djang 搭建自动词性标注网站(基于Keras框架和维基百科中文预训练词向量Word2vec模型,分别实现由GRU、LSTM、RNN神经网络组成的词性标注模型)

    引言 本文基于Keras框架和维基百科中文预训练词向量Word2vec模型,分别实现由GRU.LSTM.RNN神经网络组成的词性标注模型,并且将模型封装,使用python Django web框架搭建 ...

  10. 【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 ...

最新文章

  1. FPGA资源利用率报告中的LUT和LUTRAM有什么区别
  2. Spring MVC 4.1 支持jsonp
  3. 学习 SQL 语句 - Select(3): 条件查询与模糊查询
  4. C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
  5. 就在这段时间让自己充实起来
  6. VMWare虚拟机安装RedHat Linux全过程
  7. SQL查询语句精华 笔记
  8. Excel VBA 高级编程-工资条模板考勤工资管理系统
  9. 信息论的基本概念(自信息,条件熵,联合熵,互信息,条件互信息)
  10. python :alpha shapes 算法检测边界点
  11. linux 如何停止mysql,linux下如何启动/停止/重启mysql:
  12. Mac上进行session hijack
  13. iPhone 计算机 桌面,2分钟学会Windows仿苹果任务栏,你的电脑桌面也可如此炫酷!...
  14. 网络wifi测试软件app,WIFI检测精灵
  15. 【离散数学】数学归纳法
  16. MATLAB_LSB_隐藏水印和提取,附代码
  17. 在线求指点 route-policy aaa permit node 10这个是什么意思
  18. (转)Unity 5.6 光照烘焙系统介绍
  19. 网站类型和爬虫抓取类型
  20. mysql服务器 网关,数据库智能网关-PLC与SQLServer/MySQL数据库双向通讯SELECT/INSERT...

热门文章

  1. ui-router 路由重定向
  2. Request的getParameter和getAttribute方法的区别
  3. MySQL select
  4. 泛型学习第一天:List与IList的区别 (二)
  5. OpenCV中ROI
  6. ubuntu下C语言编程的注意点
  7. 三路快排C++实现与应用
  8. 如何高效和快乐的学习RS和GIS知识
  9. 实习成长之路:MySQL十二:为什么我删除了表的不少数据,但是大小没变呢?
  10. C/C++二维数组的传参方法总结