RNN 循环/递归神经网络入门

2023-05-16

目录

RNN 循环/递归神经网络

RNN概述

RNN模型

LSTM长短记忆网络

LSTM结构

细胞状态:

决定丢弃信息

确定更新的信息

更新细胞状态

输出信息

GRU算法

值得学习的博客记录



 


RNN 循环/递归神经网络

RNN概述

为什么有RNN

传统的神经网络,CNN(卷积神经网络), 他们的输出都是只考虑前一个输入的影响而不考虑其它时刻输入的影响, 比如简单的猫,狗,手写数字等单个物体的识别具有较好的效果. 但是, 对于一些与时间先后有关的, 比如视频的下一时刻的预测,文档前后文内容的预测等, 这些算法的表现就不尽如人意了.

并且传统的网络结构是采用固定大小的输入并产生固定大小的输出 RNN 它专注于处理文本,其输入和输出的长度是可变的,比如,一对一,一对多,多对一,多对多。

什么是RNN

RNN是一种特殊的神经网络结构, 它是根据"人的认知是基于过往的经验和记忆"这一观点提出的. 它与DNN,CNN不同的是: 它不仅考虑前一时刻的输入,而且赋予了网络对前面的内容的一种'记忆'功能.

RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。

应用:

情感分析,机器翻译、自然语言处理(NLP): 主要有视频处理, 文本生成, 语言模型, 图像处理
机器写小说、语音识别图像描述生成、文本相似度计算
音乐推荐、网易考拉商品推荐、Youtube视频推荐等新的应用领域.

RNN模型

 

 

 

缺点:当序列过长的时候,

https://github.com/hzy46/Char-RNN-TensorFlow

参考:https://blog.csdn.net/qq_32241189/article/details/80461635

LSTM长短记忆网络

它处理时间序列的问题的效果很好, 但是仍然存在着一些问题, 其中较为严重的是容易出现梯度消失或者梯度爆炸的问题(*BP算法长时间依赖*造成的). 注意: 这里的梯度消失和BP的不一样,这里主要指由于时间过长而造成记忆值较小的现象. 因此, 就出现了一系列的改进的算法, 这里介绍主要的两种算法: LSTMGRU.LSTM 和 GRU对于梯度消失或者梯度爆炸的问题处理方法主要是:

对于梯度消失: 由于它们都有特殊的方式存储”记忆”,那么以前梯度比较大的”记忆”不会像简单的RNN一样马上被抹除,因此可以一定程度上克服梯度消失问题。
​
对于梯度爆炸:用来克服梯度爆炸的问题就是gradient clipping,也就是当你计算的梯度超过阈值c或者小于阈值-c的时候,便把此时的梯度设置成c或-c。 

 

有选择保留有选择忘记

和RNN不同的是: RNN中,就是个简单的线性求和的过程. 而LSTM可以通过“门”结构来去除或者增加“细胞状态”的信息,实现了对重要内容的保留和对不重要内容的去除(信息选择通过). 通过Sigmoid层输出一个0到1之间的概率值,描述每个部分有多少量可以通过,0表示“不允许任务变量通过”,1表示“运行所有变量通过 ”.

LSTM结构

细胞状态:


细胞状态指的是从前一个时刻的记忆Ct-1到这一个时刻Ct的传送带,与之前普通的RNN中的链接一样。与之前的RNN不同的时,并不是将记忆直接通过这条线一路传过去,在传送的过程中会有一些线性的运算,这些线性的交互,是为了截掉无用的信息,增加有用的信息,使得记忆在不断的循环中仍然不会衰减。c控制参数 决定什么样的信息会保留或者忘记,

决定丢弃信息

忘记层的计算是这样的,首先输入来自两个因素,一个是ht-1,是上一时刻的输出,一个是xt,是这一时刻的输入。计算过程是这样的:他们一起乘以一个权重Wf后加上一个常数项bf(这是一个线性的过程),然后进入sigmoid函数。sigmoid函数输出的函数表明保留信息的多少

确定更新的信息

这里又包含2层:一个tanh层用来产生更新值的候选项,tanh的输出在[-1,1]上,说明细胞状态在某些维度上需要加强,在某些维度上需要减弱;还有一个sigmoid层(输入门层),它的输出值要乘到tanh层的输出上,起到一个缩放的作用,极端情况下sigmoid输出0说明相应维度上的细胞状态不需要更新。

更新细胞状态

首先运行一个sigmoid层来确定细胞状态的那个部分将输出,概率大的则输出量也大。
接着用tanh处理细胞状态,得到一个在[-1,1]之间的值,再将它和sigmoid的输出相乘,输出我们确定的输出部分

输出信息

首先运行一个sigmoid层来确定细胞状态的那个部分将输出,概率大的则输出量也大。
接着用tanh处理细胞状态,得到一个在[-1,1]之间的值,再将它和sigmoid的输出相乘,输出我们确定的输出部分

GRU算法

 

GRU是2014年提出的一种LSTM改进算法. 它将忘记门和输入门合并成为一个单一的更新门, 同时合并了数据单元状态和隐藏状态, 使得模型结构比之于LSTM更为简单.

 

词向量模型 词嵌入模型 Word2vector

值得学习的博客记录

https://blog.csdn.net/sinat_33761963/article/details/53521185 LSTM结构讲解很详细

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RNN 循环/递归神经网络入门 的相关文章

  • RNN模型训练经验总结

    文章目录 RNN模型训练经验总结数据准备 look at your data 小步试错 搭建模型设置端到端的训练评估框架 forward propagation设置激活函数dropout back propagation设置学习率 lear
  • RNN,LSTM,GRU回顾(主要知道代码怎么使用)

    RNN的计算流程 RNN的计算流程图如下图所示 nn RNN的初始化是这样规定的 rnn nn RNN input size hidden size bias False batch first True 这里的input size就是其中
  • [Pytorch系列-53]:循环神经网络 - torch.nn.LSTM()参数详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121644547 目录 第1章 LST
  • 基于循环神经网络股票预测系统

    循环神经网络 Simple RNN RNN神经网络模型是一种常用的深度神经网络模型 已成功应用于语言识别 文本分类等多个研究领域 相比其他网络模型 RNN最大的优势在于引入了时序与定向循环的概念 能够很好地解决输入数据前后之间相互关联的问题
  • RNN->LSTM->BiLSTM神经网络结构

    最近在学习 自然语言处理 基于预训练模型的方法 打打公式吧 RNN Recurrent Neural Network h t t a n h
  • 长短时记忆网络(LSTM)负荷预测项目(matlab)

    目录 1 LSTM介绍 2 数据集准备及预处理 3 LSTM模型搭建与训练 4 预测模型测试 1 LSTM介绍 长短期记忆网络 LSTM long short term memory 是 RNN 的一种变体 其核心概念在于细胞状态以及 门
  • torchtext默认安装版本太低的原因及解决

    本文使用conda管理包 如果你使用pip 需要手动改变一下指令 问题 最近安装torchtext 老是给我安装成0 6版本 这个史前版本很多函数接口都是老的 甚至文档都找不到了 使用的安装指令如下 导致失败的安装指令 conda inst
  • 深度学习速成(12)LSTM的参数

    1 LSTM的参数 在PyTorch的torch nn模块中 LSTM 长短时记忆网络 的参数包括以下内容 1 input size 输入向量的特征维度 2 hidden size 隐藏状态的维度 也是LSTM单元中隐层状态的维度 3 nu
  • 循环神经网络RNN论文解读

    版权声明 本文为CSDN博主 了不起的赵队 的原创文章 遵循CC 4 0 by sa版权协议 转载请附上原文出处链接及本声明 原文链接 https blog csdn net zhaojc1995 article details 80572
  • 循环神经网络-LSTM

    参考 长期以来 隐变量模型存在着长期信息保存和短期输入缺失的问题 解决这一问题的最早方法之一是长短期存储器 long short term memory LSTM Hochreiter and Schmidhuber 1997 它有许多与门
  • 【机器学习】GRU 讲解

    有任何的书写错误 排版错误 概念错误等 希望大家包含指正 在阅读本篇之前建议先学习 RNN 讲解 LSTM 讲解 3 GRU 3 1 网络结构 GRU 是循环神经网络的一种 和 LSTM 一样 是为了解决长期依赖问题 GRU 单元结构如下
  • Pytorch之经典神经网络RNN(三) —— LSTM(simple data)(手写LSTM&反向传播)

    1997年提出的 LSTM是一种特殊的RNN 表现突出 很好地解决了训练RNN过程中的各种问题 在几乎各类问题中都展现出远好于Vanilla RNN的表现 LSTM 和基本的 RNN 是一样的 他的参数也是相同的 长期依赖 Long Ter
  • 时间序列预测——LSTM模型(附代码实现)

    目录 模型原理 模型实现 导入所需要的库 设置随机数种子 导入数据集 打印前五行数据进行查看 数据处理 归一化处理 查看归一化处理后的数据 将时间序列转换为监督学习问题 打印数据前五行 划分训练集和测试集 查看划分后的数据维度 搭建LSTM
  • Emojify - v2参考答案

    Emojify Welcome to the second assignment of Week 2 You are going to use word vector representations to build an Emojifie
  • 通俗易懂的RNN

    目录 一 什么是RNN 二 为什么要发明RNN 三 RNN的基础知识 1 循环核介绍 2 循环核按时间步展开 3 记忆体 4 循环计算层 5 TF描述循环计算层 二 RNN的补充知识 1 RNN梯度消失的原因 一 什么是RNN RNN Re
  • 循环神经网络(RNN)的基本原理及LSTM的基本结构

    来源于课上实验 结果清晰 遂上传于此 实验环境TensorFlow1 14 该课件仅用于教学 请勿用于其他用途 详细参考 实验笔记 实验视频 一 实验目的 学习掌握循环神经网络 RNN 的基本原理及LSTM的基本结构 掌握利用LSTM神经元
  • 【机器学习】LSTM 讲解

    2 LSTM 2 1 长期依赖问题 标准 RNN 结构在理论上完全可以实现将最初的信息保留到即使很远的时刻 但是在实践中发现 RNN 会受到短时记忆的影响 如果一条序列足够长 那它们将很难将信息从较早的时刻传送到后面的时刻 因此 如果正在尝
  • RNN Pytorch实现——up主:刘二大人《PyTorch深度学习实践》

    b站up主 刘二大人 PyTorch深度学习实践 教程 https www bilibili com video BV1Y7411d7Ys p 6 vd source 715b347a0d6cb8aa3822e5a102f366fe 单层
  • 基于深度学习的文本分类系统(完整代码+数据)bert+rnn textcnn fastcnn bert

    程序说明 硬件 GPU Tesla V100 32GB显存 内存 32GB
  • 深入理解人工智能中的图神经网络:原理、应用与未来展望

    导言 图神经网络 Graph Neural Networks GNNs 作为人工智能领域的一项前沿技术 在社交网络分析 推荐系统 生物信息学等多个领域展现出卓越的性能 本文将深入剖析图神经网络的原理 当前应用场景以及未来可能的发展方向 1

随机推荐

  • 卷积神经网络(CNN)模型结构可视化工具

    最近写毕设需要模型图找了几个可视化工具 可视化工具 本文主要介绍Netscope和ConvNetDraw Netscopehttps cuijiahua com netscope quickstart html ConvNetDraw Co
  • 指纹识别基础之ORB特征提取

    加载训练图像 在 ORB 中 xff0c 将要被寻找的目标图像被称为训练图像 xff08 training image xff09 定位关键点 我们将使用 OpenCV 的 ORB 实现定位关键点并创建相应的 ORB 描述符 ORB 算法的
  • Linux内核启动及文件系统加载过程

    Linux 内核启动及文件系统加载过程 当 u boot 开始执行 bootcmd 命令 xff0c 就进入 Linux 内核启动阶段 xff0c 与 u boot 类似 xff0c 普通 Linux 内核的启动过程也可以分为两个阶段 xf
  • cnn模型参数调整

    1 卷积核 卷积核的大小 根据7 7与3 3卷积核loss值的对比可以发现 xff0c 在初始阶段卷积核较大时准确率更低 xff0c 因为卷积核越 大每一次训练时丢弃的特征值越多 但是 xff0c 随着训练 次数的增加 xff0c 卷积核较
  • 混凝土的强度预测(R语言 超详细完整代码介绍)神经网络+线性回归

    任务背景 在工程领域中 xff0c 对建筑材料的性能有精确的估计至关重要 这些估计是必需的 xff0c 以便制定安全准则来管理用于楼宇 桥梁和道路建设中的材料 估计混泥土的强度是一个特别有趣的挑战 尽管混泥土几乎要用于每一个建设项目 xff
  • 数据库(数据库系统)大作业

    2019 2020学年第 2 学期 课程编号 xff1a 410802057课程名称 xff1a 数据库应用 考试形式 xff1a 大作业答辩 一 设计考核说明 xff1a 运用所学的数据库原理与数据库应用知识 xff0c 基于数据库管理系
  • 《数据结构及应用算法教程》(修订版)严蔚敏、陈文博版 学习记录及资料

    考研需要这本书 xff0c 之前是买的书本 xff0c 但回家没带书需要找这本书电子版 xff0c PPT xff0c 答案找了好久 xff0c 整理了一下csd 上有但都需要20多币 xff0c 心疼我钱包微笑的币 xff0c 资料请看最
  • 数据结构 绪论+视频资料(修订版)严蔚敏、陈文博版

    资料 xff08 我感觉老师讲的不错 xff0c 通俗易懂 需要自取 xff0c 比较有逻辑 老师是赵海英 xff09 链接 https pan baidu com s 1zJ 6nvT 0Ya21liHuQS sw 密码 496e htt
  • 数据结构之串和数组基本知识和问题

    串 1 串 xff08 又称字符串 xff09 是一种特殊的线性表 xff0c 它的每个结点仅由一个字符组成 从数据结构的观点来说 xff0c 串是一种特殊的线性表 但就数据类型而言 xff0c 串不是线性表 串 xff08 String
  • 计算机考研复试之C语言简答题 开放题目

    为考研准备整理 xff0c 参考网络资料课本资料 xff0c 主要是c的简答开放题目有用的话可以点个赞 xff0c 可以看着目录尝试自己回答后在进行往下看 目录 特点 c 语言的主要用途 xff1a c语言为什么要规定 xff0c 对所有使
  • 复试数据结构之排序知识点+简答题

    排序方法的选用一般考虑的原则有 xff1a xff08 1 xff09 待排序的记录个数n xff0c xff08 2 xff09 记录的大小 xff08 3 xff09 关键字的分布情况 xff1b 4 对排序稳定性的要求等 平均时间性能
  • 数据结构之图 和问答题

    数据结构之图 和问答题 目录 数据结构之图 和问答题 图的定义和术语 图的存储结构 图的遍历 连通网的最小生成树 单源最短路径 拓扑排序 关键路径 广义表 图的定义和术语 邻接点 度 入度 出度 路径 路径长度 简单路径 简单回路 连通图
  • 复试口语常见话题整理以及华师18 19年topic

    报考华师已经上岸整理往年英语topic和一些常考话题 以及2020复试口语 xff0c 今年问题比较常规问了家乡 xff0c 喜欢的书 电影 规划报考学校等 辛苦整理 xff0c 有用记得点赞 目录 针对于自己不熟悉的话题的时候 xff1a
  • Vim配置

    1 比较全的Vim配置 34 Vim通用配置 set nocompatible 34 be iMproved required syntax on set confirm 34 在处理未保存或只读文件的时候 xff0c 弹出确认 set a
  • 知识追踪理论入门

    what 知识追踪 xff08 Knowledge Tracing xff09 是根据学生过去的答题情况对学生的知识掌握情况进行建模 xff0c 从而得到学生当前知识状态表示的一种技术 便我们能准确地预测学生对于各个知识概念的掌握程度 xf
  • 多媒体集成课程设计要求

    学 院 数计学院 出卷教师 XX 系主任签名 制卷份数 专 业 计算机科学与技术 班级编号 B14082021 41 51 XX大学2018 2019学年第 2 学期 考 核 要 求 课程编号 xff1a 400802003 课程名称 xf
  • 多媒体课程设计详细文档+

    目录 一 目的与要求 2 二 作品简介 2 三 素材的收集与制作 10 四 设计步骤 11 4 1整体的流程图 11 4 2导入声音文件 12 4 3首页的设计 12 4 4密码输入和用户登录页面 13 4 5按钮交互相应设计 16 4 6
  • 编译原理期末考点

    题型 单选5个 10分 填空10个 20分 简答2个 10分 解答9个 60分 最后3题 xff0c 每个10分 目录 第一章 第二章 第三章 第四章 第五章 第六章 第一章 什么是编译程序 把某一种高级语言程序等价的转换成另一种低级语言的
  • 数据挖掘之航空公司客户价值分析

    课程设计选题 xff1a 详细文档项目见https download csdn net download sereasuesue 12050550 题目 xff1a 航空公司客户价值分析 目录 一 任务背景 2 二 数据挖掘目标 2 三 数
  • RNN 循环/递归神经网络入门

    目录 RNN 循环 递归神经网络 RNN概述 RNN模型 LSTM长短记忆网络 LSTM结构 细胞状态 xff1a 决定丢弃信息 确定更新的信息 更新细胞状态 输出信息 GRU算法 值得学习的博客记录 RNN 循环 递归神经网络 RNN概述