第七篇:循环神经网络
阅读本文之前,大家可以稍微看一下这篇文章,有助于理解:浅谈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.2 RNN网络结构 1.2.1为什么需要RNN 1.2.2 RNN 结构 1.3 多种RNN 1.4 BPTT算法 1.5 生成模型与图像描述 ...
- PyTorch 入门与实践(七)循环神经网络(RNN)
来自 B 站刘二大人的<PyTorch深度学习实践>P12 的学习笔记 RNN Cell 循环神经网络的隐藏层都是线性层(Linear),由于它主要用于预测有前后关系的序列输入,所以它像斐 ...
- 深度学习笔记七:循环神经网络RNN(基本理论)
参考: RECURRENT NEURAL NETWORKS TUTORIAL, PART 1 – INTRODUCTION TO RNNS A Critical Review of Recurrent ...
- 第七章:Tensorflow2.0 RNN循环神经网络实现IMDB数据集训练(理论+实践)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/LQ_qing/article/deta ...
- 循环神经网络-高级篇RNN Classifier
循环神经网络-高级篇RNN Classifier 本篇实现一个循环神经网络的分类器RNN Classifier 我们使用一个数据集包含Name,Country,其中名字有几千个,来自18个不同的国家, ...
- NNDL 实验七 循环神经网络(1)RNN记忆能力实验
NNDL 实验七 循环神经网络(1)RNN记忆能力实验 第6章 循环神经网络 6.1 循环神经网络的记忆能力实验 6.1.1 数据集构建 6.1.1.1 数据集的构建函数 6.1.1.2 加载数据并进 ...
- 交通预见未来(1):循环神经网络之LSTM,不只有七秒钟的记忆
文章名称:<Long short-term memory neural network for traffic speed prediction using remote microwave s ...
- NNDL 实验七 循环神经网络(2)梯度爆炸实验
6.2 梯度爆炸实验 造成简单循环网络较难建模长程依赖问题的原因有两个:梯度爆炸和梯度消失.一般来讲,循环网络的梯度爆炸问题比较容易解决,一般通过权重衰减或梯度截断可以较好地来避免:对于梯度消失问题, ...
- 常见的五种神经网络(3)-循环神经网络(上)篇
转载请注明出处:https://thinkgamer.blog.csdn.net/article/details/100600661 博主微博:http://weibo.com/234654758 G ...
最新文章
- Python游戏开发,pygame模块,Python实现打砖块小游戏
- linux虚拟磁盘管理pe大小6,Linux下磁盘的高级管理——LVM逻辑卷管理
- 步步为营-18-正则表达式
- tf13: 简单聊天机器人
- 同省异地社保卡要换吗_攀枝花社保卡在成都住院可直接结算吗,要办理异地就医备案才行...
- 多功能的图像超分辨模型:用于盲图像超分辨的非对称卷积神经网络
- poj 2236 WirelessNetwork 并查集
- 给初创业者的几点建议
- 加州理工学院公开课:机器学习与数据挖掘_神经网络
- php 10环境一键安装包下载,php环境一键安装包
- 经典多级时间轮定时器(C语言版)
- SPA的原理及其实现
- BootStrap4内容系列之文字排版
- 【GNN】高被引图神经网络(GNN)全面综述论文
- 74HC595原理图”中“ RCLK SRCLK SRCLR”是什么意思
- 无处不在的人生压力让人变得孤独抑郁
- 三十岁那年,我的梦想是年薪十万
- Prime Number
- Android 音乐播放器
- 擅长To C的腾讯,如何借腾讯云在这几个行业云市场占有率第一? ...
热门文章
- 1024块TPU在燃烧!BERT训练从3天缩短到76分钟 | 技术头条
- 车载微信要来了?马化腾:正研发纯语音交互接口
- 干货 | 大数据人工智能领域从菜鸟到高手晋级指南
- Google Brain团队最新视频介绍
- Java日志体系权威总结
- 设计一个成功的微服务,堪称必备的9个基础知识
- 用漫画了解 Linux 内核到底长啥样!
- 又是华为!对标 TensorFlow、PyTorch,深度学习框架 MindSpore已开源!附入手公开课...
- 都优秀!两位硕士都发一作Nature,之后选择却截然不同!
- 想象中的论文答辩和真实的论文答辩,哈哈哈哈哈哈……