阅读本文之前,大家可以稍微看一下这篇文章,有助于理解:浅谈RNN,LSTM和GRU

目录

循环神经网络 (RNN)

RNN 展开

RNN 训练

语言模型……解决了吗?

长短期记忆 (LSTM)

LSTM vs. Simple RNN

LSTM:遗忘门

LSTM:输入门

LSTM:更新记忆单元

LSTM:输出门

LSTM:总结

变体

• PeepHole窥孔连接

• 门控循环单元 (GRU)

多层 LSTM

双向 LSTM

应用

莎士比亚生成器

文本分类

序列标记

总结


循环神经网络 (RNN)

• RNN 允许表示任意大小的输入
• 核心思想:通过应用递推公式一次处理一个输入序列
• 使用状态向量来表示先前已处理过的上下文

Si:新的状态

Si-1:前一个状态

xi:当前输入

f:带参数的函数

RNN 展开

所有时间步长共享相同的参数

RNN 训练

• 展开的 RNN 只是一个非常深的深度神经网络
• 但在多个时间步长中共享相同的参数
• 要训练 RNN,我们只需要在给定输入序列的情况下创建展开的计算图
• 并像往常一样使用反向传播算法计算梯度
• 此过程称为时间反向传播

语言模型……解决了吗?

• RNN 能够模拟无限上下文
• 但它实际上能否在实践中捕获长期依赖关系?
• 没有……因为“梯度消失”
• 在反向传播过程中,后面步骤中的梯度会迅速减小
• 较早的输入没有得到太多更新

长短期记忆 (LSTM)

• 引入 LSTM 来解决梯度消失问题
• 核心理念:拥有“记忆单元”,可以随时间保持梯度
• 对存储单元的访问由“门”控制
• 对于每个输入,门决定:
    ‣ 新输入应写入内存单元的量
    ‣ 以及当前记忆单元的多少内容应该被遗忘

• 门 g 是一个向量
    ‣ 每个元素的值在 0 到 1 之间
• g 与向量 v 逐分量相乘,以确定要为 v 保留多少信息
• 使用 sigmoid 函数使 g 的值接近 0 或 1

LSTM vs. Simple RNN

基本RNN,就是一个tanh函数

LSTM,里面引入门控机制和cell状态

接下来挨个门分析

LSTM:遗忘门

• 控制在存储单元 (Ct-1) 中“忘记”多少信息
• The cats that the boy likes
• 记忆细胞储存代词信息(cats)
• 单元格现在应该忘记cats 并存储boy 以正确预测单数动词likes

LSTM:输入门

• 输入门控制将多少新信息放入内存单元
= 要添加的新提炼信息
‣ 例如 关于上面的boy的信息

LSTM:更新记忆单元

• 使用前面两部分的遗忘门和输入门更新记忆单元

LSTM:输出门

• 输出门控制提取存储单元的内容以创建下一个状态 (ht) 的程度

LSTM:总结

把之前涉及到的公式也综合起来,如下:

变体

• PeepHole窥孔连接

‣ 允许门查看细胞状态

• 门控循环单元 (GRU)

‣ 仅有 2 个门的简化变体

多层 LSTM

双向 LSTM

应用

莎士比亚生成器

• 训练数据 = 莎士比亚的所有作品
• 模型:3 层字符 RNN,隐藏维度 = 512

文本分类

• 循环网络可用于各种 NLP 任务
• 特别适用于单词顺序很重要的任务,例如 情感分类

序列标记

• RNN 特别适用于序列标记问题,例如 词性标注

总结

• 优点
  ‣ 能够捕获远程上下文
  ‣ 优秀的泛化能力
  ‣ 就像前馈网络一样:灵活,可以用于各种任务
  ‣ 多个 NLP 任务中的通用组件
• 缺点
  ‣ 由于顺序处理,比前馈网络慢
  ‣ 在实践中仍然不能很好地捕获长距离依赖(生成长文本时很明显)

OK,辛苦大家观看,今天关于RNN循环神经的网络就讲到这里,有问题欢迎随时评论交流,本章RNN部分可能描述不是很多,如有需要,可以看我之前的一篇文章:浅谈RNN,LSTM和GRU

第七篇:循环神经网络相关推荐

  1. 第七课 循环神经网络与自然语言处理

    文章目录 1 循环神经网络 1.1 场景与多种应用 1.2 RNN网络结构 1.2.1为什么需要RNN 1.2.2 RNN 结构 1.3 多种RNN 1.4 BPTT算法 1.5 生成模型与图像描述 ...

  2. PyTorch 入门与实践(七)循环神经网络(RNN)

    来自 B 站刘二大人的<PyTorch深度学习实践>P12 的学习笔记 RNN Cell 循环神经网络的隐藏层都是线性层(Linear),由于它主要用于预测有前后关系的序列输入,所以它像斐 ...

  3. 深度学习笔记七:循环神经网络RNN(基本理论)

    参考: RECURRENT NEURAL NETWORKS TUTORIAL, PART 1 – INTRODUCTION TO RNNS A Critical Review of Recurrent ...

  4. 第七章:Tensorflow2.0 RNN循环神经网络实现IMDB数据集训练(理论+实践)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/LQ_qing/article/deta ...

  5. 循环神经网络-高级篇RNN Classifier

    循环神经网络-高级篇RNN Classifier 本篇实现一个循环神经网络的分类器RNN Classifier 我们使用一个数据集包含Name,Country,其中名字有几千个,来自18个不同的国家, ...

  6. NNDL 实验七 循环神经网络(1)RNN记忆能力实验

    NNDL 实验七 循环神经网络(1)RNN记忆能力实验 第6章 循环神经网络 6.1 循环神经网络的记忆能力实验 6.1.1 数据集构建 6.1.1.1 数据集的构建函数 6.1.1.2 加载数据并进 ...

  7. 交通预见未来(1):循环神经网络之LSTM,不只有七秒钟的记忆

    文章名称:<Long short-term memory neural network for traffic speed prediction using remote microwave s ...

  8. NNDL 实验七 循环神经网络(2)梯度爆炸实验

    6.2 梯度爆炸实验 造成简单循环网络较难建模长程依赖问题的原因有两个:梯度爆炸和梯度消失.一般来讲,循环网络的梯度爆炸问题比较容易解决,一般通过权重衰减或梯度截断可以较好地来避免:对于梯度消失问题, ...

  9. 常见的五种神经网络(3)-循环神经网络(上)篇

    转载请注明出处:https://thinkgamer.blog.csdn.net/article/details/100600661 博主微博:http://weibo.com/234654758 G ...

最新文章

  1. Python游戏开发,pygame模块,Python实现打砖块小游戏
  2. linux虚拟磁盘管理pe大小6,Linux下磁盘的高级管理——LVM逻辑卷管理
  3. 步步为营-18-正则表达式
  4. tf13: 简单聊天机器人
  5. 同省异地社保卡要换吗_攀枝花社保卡在成都住院可直接结算吗,要办理异地就医备案才行...
  6. 多功能的图像超分辨模型:用于盲图像超分辨的非对称卷积神经网络
  7. poj 2236 WirelessNetwork 并查集
  8. 给初创业者的几点建议
  9. 加州理工学院公开课:机器学习与数据挖掘_神经网络
  10. php 10环境一键安装包下载,php环境一键安装包
  11. 经典多级时间轮定时器(C语言版)
  12. SPA的原理及其实现
  13. BootStrap4内容系列之文字排版
  14. 【GNN】高被引图神经网络(GNN)全面综述论文
  15. 74HC595原理图”中“ RCLK SRCLK SRCLR”是什么意思
  16. 无处不在的人生压力让人变得孤独抑郁
  17. 三十岁那年,我的梦想是年薪十万
  18. Prime Number
  19. Android 音乐播放器
  20. 擅长To C的腾讯,如何借腾讯云在这几个行业云市场占有率第一? ...

热门文章

  1. 1024块TPU在燃烧!BERT训练从3天缩短到76分钟 | 技术头条
  2. 车载微信要来了?马化腾:正研发纯语音交互接口
  3. 干货 | 大数据人工智能领域从菜鸟到高手晋级指南
  4. Google Brain团队最新视频介绍
  5. Java日志体系权威总结
  6. 设计一个成功的微服务,堪称必备的9个基础知识
  7. 用漫画了解 Linux 内核到底长啥样!
  8. 又是华为!对标 TensorFlow、PyTorch,深度学习框架 MindSpore已开源!附入手公开课...
  9. 都优秀!两位硕士都发一作Nature,之后选择却截然不同!
  10. 想象中的论文答辩和真实的论文答辩,哈哈哈哈哈哈……