【深度学习】RNN循环神经网络和LSTM深度学习模型

1. 循环神经网络 RNN( Recurrent Neural Network)

循环神经网络的一个核心是可以把前面的序列数据用到后面的结果预测里面。怎么样实现这一点呢。RNN 结构如下图所示。
在这里插入图片描述
前部序列的信息经处理后,作为输入信息传递到后部序列。

数学模型:

a 1 = g a ( W h a 0 + W i x 1 + b a ) a^1=g_a(W_{h}a^0+W_{i}x^1+b_a) a1=ga(Wha0+Wix1+ba) y 1 = g y ( W y a 0 + W o x 1 + b i ) y^1=g_y(W_{y}a^0+W_{o}x^1+b_i) y1=gy(Wya0+Wox1+bi)
a 2 = g a ( W h a 1 + W i x 2 + b a ) a^2=g_a(W_{h}a^1+W_{i}x^2+b_a) a2=ga(Wha1+Wix2+ba) y 2 = g y ( W y a 1 + W o x 2 + b i ) y^2=g_y(W_{y}a^1+W_{o}x^2+b_i) y2=gy(Wya1+Wox2+bi)
……
a t = g a ( W h a t − 1 + W i x t + b a ) a^t=g_a(W_{h}a^{t-1}+W_{i}x^t+b_a) at=ga(What1+Wixt+ba) y t = g y ( W y a t − 1 + W o x t + b i ) y^t=g_y(W_{y}a^{t-1}+W_{o}x^t+b_i) yt=gy(Wyat1+Woxt+bi)

g g g 为激活函数, W , b W,b W,b为训练参数。

2. 不同类型的RNN模型

基本的RNN模型结构
在这里插入图片描述
输入: x 1 , x 2 , x 2 , . . . , x i x^1,x^2,x^2,... ,x^i x1,x2,x2,...,xi,输出: y 1 , y 2 , y 2 , . . . , y i y^1,y^2,y^2,... ,y^i y1,y2,y2,...,yi
多输入对多输出、维度相同RNN结构。
应用:特定信息识别。

多输入单输出RNN结构
在这里插入图片描述

输入: x 1 , x 2 , x 2 , . . . , x i x^1,x^2,x^2,... ,x^i x1,x2,x2,...,xi,输出: y y y
应用:情感识别

单输入多输出RNN结构
在这里插入图片描述

输入: x i xi xi,输出: y 1 , y 2 , y 2 , . . . , y i y^1,y^2,y^2,... ,y^i y1,y2,y2,...,yi
应用:序列数据生成器,如文章生成、音乐生成

多输入多输出RNN结构
在这里插入图片描述
输入: x 1 , x 2 , x 2 , . . . , x i x^1,x^2,x^2,... ,x^i x1,x2,x2,...,xi,输出: y 1 , y 2 , y 2 , . . . , y j y^1,y^2,y^2,... ,y^j y1,y2,y2,...,yj
应用:语言翻译

双向循环神经网络(BRNN)
做判断时,把后部序列信息也考虑进去

在这里插入图片描述

深层循环神经网络(DRNN)
解决更复杂的序列任务,可以把单层RNN叠起来或者输出前全连接结合使用。
在这里插入图片描述

普通RNN结构的缺陷

第一,前部序列信息在传递到后部的同时,信息权重下降,导致重要信息丢失。求解过程中梯度消失。
在这里插入图片描述
第二,RNN在训练过程中有时会出现参数丢失的情况。
在这里插入图片描述
在最小化损失函数的过程中,会遇到梯度突然剧烈抖动的情况,从而导致参数丢失。
在这里插入图片描述
那么为什么会这样呢?
以下图的RNN结构为例,假设 W i , W o W^i,W^o Wi,Wo 都是1,输入长度为1000,那么 y 1000 = w 999 y^{1000}=w^{999} y1000=w999
在这里插入图片描述

我们假设 w w w初值为1,在 w w w进行小幅度变化时,会发生什么情况呢?
在这里插入图片描述
所以 RNN 的问题就是它在训练过程中,同样的 w w w 在不同的时间点被反复使用, w w w 一旦产生影响,都将会造成很大的影响。

长短期记忆网络 LSTM(Long Short-term Memory)

使用 LSTM 可以优化上面提到的 RNN 结构的缺陷。在原有的普通RNN结构单元上增加记忆细胞 c i c^i ci ,可以传递前部远处部位信息。
在这里插入图片描述
LSTM结构由三个门,四个输入,一个输出组成。三个门分别是 input gate,forget gate,output gate。通过这三个门来控制哪些信息该遗忘丢弃,哪些信息该保留,或者保持不变。四个输入分别是,输入数据 Z Z Z,输入门控制信号 Z i Z_i Zi ,忘记门控制信号 Z f Z_f Zf和输出门控制信号 Z o Z_o Zo
在这里插入图片描述

这里的门可以理解成为一个激活函数,这个激活函数通常是 sigmoid 函数,因为经过 sigmoid 函数的值在0和1之间,用来控制门的关闭和打开。

假设 memory 中原来存放的值为 c c c,更新之后的值为 c ′ = g ( z ) f ( z i ) + c f ( z f ) c'=g(z)f(z_i)+cf(z_f) c=g(z)f(zi)+cf(zf) c ′ c' c就是新的存放在 memory 中的值。从这个公式中我们可以看出, f ( z i ) f(z_i) f(zi) 就是控制 Z Z Z 可不可以输入的一道关卡, f ( z i ) = 0 f(z_i)=0 f(zi)=0 则没有输入, f ( z i ) = 1 f(z_i)=1 f(zi)=1 则有输入。 f ( z f ) f(z_f) f(zf) 控制memory中的值会不会更新。 f ( z f ) = 0 f(z_f)=0 f(zf)=0 时,忘记门开启,把0写进cell, f ( z f ) = 1 f(z_f)=1 f(zf)=1 时,直接通过,cell中值不变还是c。 f ( z o ) f(z_o) f(zo) 控制是否有输出的值。

Z i , Z f , Z , Z o Z_i,Z_f,Z_,Z_o Zi,Zf,Z,Zo 都是由 X X X 乘上权重矩阵得到的输入。如下如所示进行序列输入。
在这里插入图片描述
LSTM 可以解决 RNN 梯度消失的问题。RNN memory里面的值每一次都会被清空,而LSTM 里面的 memory 是一直被叠加的,除非忘记门被关闭的时候才会清空。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143299.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习第十三课--主成分分析PCA

一.高维数据 除了图片、文本数据,我们在实际工作中也会面临更多高维的数据。比如在评分卡模型构建过程中,我们通常会试着衍生出很多的特征,最后就得到上千维、甚至上完维特征;在广告点击率预测应用中,拥有几个亿特征也是常见的事…

使用U3D、pico开发VR(一)——将unity的场景在设备中呈现

最近srtp项目在赶进度,自己之前是在电脑端进行的开发。但是项目是VR端,因此需要重新学习,在此记录一下自己的学习经历。 首先,如何将unity的场景在自己的眼镜中进行呈现呢? 对此,我也找了很多教程&#xff…

Ubuntu 安装Kafka

在本指南中,我们将逐步演示如何在 Ubuntu 22.04 上安装 Apache Kafka。 在大数据中,数以百万计的数据源生成了大量的数据记录流,这些数据源包括社交媒体平台、企业系统、移动应用程序和物联网设备等。如此庞大的数据带来的主要挑战有两个方面…

软件架构的演化和维护

软件架构的演化和维护 定义 定义 顶不住了,刷题去了,不搞这个了,想吐。。。

GLTF编辑器也可以转换GLB模型

1、GLB模型介绍 GLB(GLTF Binary)是一种用于表示三维模型和场景的文件格式。GLTF是"GL Transmission Format"的缩写,是一种开放的、跨平台的标准,旨在在各种3D图形应用程序和引擎之间进行交换和共享。 GLB文件是GLTF文件…

目标检测:Edge Based Oriented Object Detection

论文作者:Jianghu Shen,Xiaojun Wu 作者单位:Harbin Institute of Technology Shenzhen 论文链接:http://arxiv.org/abs/2309.08265v1 内容简介: 1)方向:遥感领域中的目标检测技术 2)应用&…

云原生Kubernetes:K8S存储卷

目录 一、理论 1.存储卷 2.emptyDir 存储卷 3.hostPath卷 4.NFS共享存储 5.PVC 和 PV 6.静态创建PV 7.动态创建PV 二、实验 1.emptyDir 存储卷 2.hostPath卷 3.NFS共享存储 4.静态创建PV 5.动态创建PV 三、问题 1.生成pod一直pending 2.shoumount -e未显示共享…

编译vtk源码

vtk和opengl关系 VTK(Visualization Toolkit)和OpenGL(Open Graphics Library)都是用于图形可视化和渲染的重要工具,但它们在图形编程中的角色和关系略有不同。 OpenGL: OpenGL是一种开放的图形库和API&a…

十六,镜面IBL--预滤波环境贴图

又到了开心的公式时刻了。 先看看渲染方程 现在关注第二部分,镜面反射。 其中 这里很棘手,与输入wi和输出w0都有关系,所以,再近似 其中第一部分,就是预滤波环境贴图,形式上与前面的辐照度图很相似&#…

uni-app:实现页面效果2(canvas绘制,根据页面宽度调整元素位置)

效果 代码 <template><view><!-- 车搭配指示器-双显 --><view class"content_position"><view class"content"><view class"SN"><view class"SN_title">设备1</view><view class…

【考研数学】概率论与数理统计 —— 第三章 | 二维随机变量及其分布(3,二维随机变量函数的分布)

文章目录 七、二维随机变量函数的分布7.1 二维随机变量函数分布的基本情形 ( X , Y ) (X,Y) (X,Y) 为二维离散型随机变量 ( X , Y ) (X,Y) (X,Y) 为二维连续型随机变量 X X X 为离散型变量&#xff0c; Y Y Y 为连续型变量 7.2 常见二维随机变量的函数及其分布 Z min ⁡ { X ,…

【IDEA】idea恢复pom.xml文件显示灰色并带有删除线

通过idea打开spring boot项目后&#xff0c;发现每个服务中的pom.xml文件显示灰色并带有删除线&#xff0c;下面为解决方案 问题截图 解决方案 打开file——settings——build,execution,deployment——Ignored Files&#xff0c;把pom.xml前面的复选框去掉&#xff0c;去掉之…

虹科分享 | 网络保险:有效承保网络风险解决方案

文章来源&#xff1a;虹科网络安全 点击阅读原文&#xff1a;https://mp.weixin.qq.com/s/myCFPYtVVz5TPSFQaKqvLg 网络风险似乎往往很难量化&#xff0c;这使得保险公司很难适当地承保其网络风险政策。威胁载体的数量和不断发展的威胁&#xff0c;如新型恶意软件/勒索软件&…

PSINS工具箱学习(二)姿态的表示:姿态阵、四元数、欧拉角、等效旋转矢量的概念和转换

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、基础概念1、坐标系定义1. 惯性坐标系&#xff08; i 系 &#xff09;2. 地心地固坐标系&#xff08; e 系 )3. 导航坐标系&#xff08; n 系&…

Nginx WEB访问与Linux授权约束

看到所有文件的权限都是没有的&#xff0c;即便所有的权限都没有即使nginx做了配置&#xff0c;这些都是正确的。那么在浏览器真正去访问的时候是不能访问的。 [rootjenkins html]# ls -l total 4 drwxr-xr-x 2 root root 23 Sep 16 17:43 dist ---------- 1 root root 33 Sep …

【算法练习Day7】反转字符串替换空格反转字符串中的单词左旋转字符串

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 反转字符串反转字符串 I…

十三,打印辐照度图

上节HDR环境贴图进行卷积后&#xff0c;得到的就是辐照度图&#xff0c;表示的是周围环境间接漫反射光的积分。 现在也进行下打印&#xff0c;和前面打印HDR环境贴图一样&#xff0c;只是由于辐照度图做了平均&#xff0c;失去了大量高频部分&#xff0c;因此&#xff0c;可以…

游戏开发过程中需要注意哪些问题呢?

游戏开发是一个复杂的过程&#xff0c;需要注意多个方面的问题。以下是一些需要特别关注的关键问题&#xff1a; 游戏设计&#xff1a; 确定游戏的核心玩法和目标受众。 制定详细的游戏设计文档&#xff0c;包括角色、关卡设计、游戏机制和故事情节。 技术选择&#xff1a;…

react项目优化

随着项目体积增大&#xff0c;打包的文件体积会越来越大&#xff0c;需要优化&#xff0c;原因无非就是引入的第三方插件比较大导致&#xff0c;下面我们先介绍如何分析各个文件占用体积的大小。 1.webpack-bundle-analyzer插件 如果是webpack作为打包工具的项目可以使用&…

晨控CK-FR08系列读写器与LS可编程逻辑控制器MODBUSRTU连接手册

晨控CK-FR08系列读写器与LS可编程逻辑控制器MODBUSRTU连接手册 晨控CK-FR08是一款基于射频识别技术的高频RFID标签读卡器&#xff0c;读卡器工作频率为13.56MHZ&#xff0c;支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。读卡器内部集成了射频部分通信…