《神经网络》—— 循环神经网络RNN(Recurrent Neural Network)

news2024/11/24 15:51:00

文章目录

  • 一、RNN 简单介绍
  • 二、RNN 基本结构
    • 1.隐藏中的计算
    • 2.输出层的计算
    • 3.循环
  • 三、RNN 优缺点
    • 1.优点
    • 2.缺点

一、RNN 简单介绍

  • 循环神经网络(Recurrent Neural Network, RNN)是一种用于处理序列数据的神经网络架构。

  • 与传统的前馈神经网络(Feedforward Neural Network, FNN)不同,传统的前馈神经网络无法训练出具有顺序的数据,在模型搭建时没有考虑数据上下之间的关系

  • RNN 能够在处理当前输入时考虑到之前的输入信息,可以保留之前输入的信息并继续作为后续输入的一部分进行计算,具有记忆性,因此非常适合处理时间序列数据、文本数据等具有序列特性的数据。

二、RNN 基本结构

  • RNN的基本结构包括输入层隐藏层输出层
  • 特别地,RNN的隐藏层有一个反馈连接,使其能够保留前一时刻的状态信息。这种结构使得RNN在处理序列数据时,能够将前一时刻的信息传递给当前时刻,从而实现记忆功能。

1.隐藏中的计算

  • RNN 的隐藏层中引入了 隐状态 h(hidden state)的概念,隐状态 h 可以对序列形的数据提取特征,接着再转换为输出。
  • 下面是处理序列数据长度为4的RNN网络结构图:
    在这里插入图片描述
  • 隐藏层中隐状态 h 的计算过程如下:
    在这里插入图片描述
    • 每个隐状态 h 的计算结果都将会传入下一个计算的过程,从而实现记忆的功能
    • 其中:
      • x 是每一个输入
      • h0 是起始的一个偏执隐状态 h
      • U隐状态到隐状态权重矩阵
      • W输入到隐状态权重矩阵
      • b 是隐藏层的偏置项
      • f 是激活函数,如Tanh或ReLU
    • 计算隐状态时,每层隐藏层中的参数(如权重矩阵和偏置向量)在相同层内是相同的,即所谓的参数共享
    • 这种参数共享机制减少了模型中的参数数量,使得RNN能够更有效地处理序列数据,并且有助于模型学习到序列中的时间依赖性和上下文信息。

2.输出层的计算

  • 输出层通常根据隐状态 h 来计算,下面是输出层的计算过程:
    在这里插入图片描述
  • 其中:
    • V隐状态到输出的权重矩阵
    • c 是输出层的偏置项
    • 输出层的激活函数通常是Softmax用于分类任务
  • 注意输入和输出序列必须要是等长的

3.循环

  • 1.循环的基本概念
    • 在RNN中,“循环”指的是网络在处理输入序列时,能够保持并传递之前的状态信息到后续的时间步中。这种机制使得RNN能够捕捉到序列数据中的时间依赖性,即当前时刻的输出不仅与当前时刻的输入有关,还与之前时刻的输入和状态有关。
  • 2.循环的实现方式
    • RNN通过引入隐状态(hidden state)和循环连接(recurrent connection)来实现信息的循环传递。隐状态是一个向量,它包含了网络在处理当前输入之前所积累的信息。循环连接则是指隐状态在当前时间步被更新后,会作为下一个时间步的输入之一,从而形成一个闭环结构。
    • 如下图:
      在这里插入图片描述

三、RNN 优缺点

1.优点

  • 能够处理序列数据:RNN能够利用之前的输入信息,适用于时间序列分析、自然语言处理等任务。
  • 结构简单:相比于其他复杂的神经网络架构,RNN的结构相对简单,易于理解和实现。

2.缺点

  • 梯度消失/梯度爆炸:RNN在处理长序列时,容易出现梯度消失或梯度爆炸问题,导致难以捕捉长距离依赖关系。
  • 记忆能力有限:虽然RNN具有记忆功能,但其记忆能力有限,难以处理非常长的序列。

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

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

相关文章

聆听国宝“心声” 《寻找国宝传颂人——中国国宝大会》走进辽宁

热爱不止,传颂不停。近日,中央广播电视总台《寻找国宝传颂人——中国国宝大会》大型融媒体活动在辽宁省博物馆开展第二场地方展演。辽宁省博物馆是新中国成立后的第一座博物馆,馆藏文物近12万件,珍贵文物数万件,且以藏…

计算机网络:数据链路层详解

目录 一、点对点信道: (1)封装成帧 (2)透明传输 (3)差错检测 二、点对点协议 (1)数据链路层的特点 (2)PPP协议的组成 (3&…

“我养你啊“英语怎么说?别说成I raise you!成人学英语到蓝天广场附近

“我养你啊”这句经典台词出自周星驰自导自演的电影《喜剧之王》。在这部电影中,周星驰饰演的尹天仇对张柏芝饰演的柳飘飘说出了这句深情而动人的台词。这句台词出现在柳飘飘即将离去之时,尹天仇鼓起勇气,用它作为对柳飘飘个人困境的承诺&…

docker compose入门5—创建一个3副本的应用

1. 定义服务 version: 3.8 services:web:image: gindemo:v2deploy:replicas: 3ports:- "9090" 2. 启动服务 docker compose -f docker-compose.yml up -d 3. 查看服务 docker compose ps 4. 访问服务

pycharm生成的exe执行后报错

元素 application 显示为元素 urn:schemas-microsoft-com:asm.v1^dependentAssembly (此版本的 Windows 不支持)的子元素。 日志名称: Application 来源: SideBySide 日期: 2024/10/8 14:14:12 事件 ID: 72 任务类别: 无 级别…

大数据新视界 --大数据大厂之 Presto 性能优化秘籍:加速大数据交互式查询

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

UE4 材质学习笔记05(凹凸偏移和视差映射/扭曲着色器)

一.凹凸偏移和视差映射 1.偏移映射 这需要一个高度图并且它的分辨率很低,只有256*256,事实上,如果高度图的分辨率比较低并且有点模糊,效果反而会更好 然后将高度图输出到BumpOffset节点的height插槽中, 之后利用得到…

登录注册静态网页实现(HTML,CSS)

实现效果图 实现效果 使用HTML编写页面结构,CSS美化界面,点击注册,跳转到注册界面,均为静态网页,是课上的一个小作业~ 使用正则表达式对输入进行验证,包括邮箱格式验证,用户名格式验证。 正则…

MATLAB数字水印系统

课题介绍 本课题为基于MATLAB的小波变换dwt和离散余弦dct的多方法对比数字水印系统。带GUI交互界面。有一个主界面GUI,可以调用dwt方法的子界面和dct方法的子界面。流程包括,读取宿主图像和水印图像,嵌入,多种方法的攻击&#xf…

九、4 串口接收(代码)

(1)在发送的基础上加上接收的部分 RX对应PA10,需要初始化PA10 (2)串口配置 如果使用查询,到这里就结束了,如果使用中断还需要在串口配置下面开启中断,配置NVIC (3&…

《深度学习》神经语言模型 Word2vec CBOW项目解析、npy/npz文件解析

目录 一、关于word2vec 1、什么是word2vec 2、常用训练算法 1)CBOW 2)SkipGram 二、关于npy、npz文件 1、npy文件 1)定义 2)特性 3)用途 4)保存及读取 运行结果: 运行结果&#xf…

使用.mdf及.ldf恢复SQL SERVER数据库

文章目录 [toc]1.使用.mdf和对应的.ldf文件恢复数据库1.1 将对应的.mdf和.ldf复制到SQL SERVER路径下1.2 打开SSMS 1.使用.mdf和对应的.ldf文件恢复数据库 1.1 将对应的.mdf和.ldf复制到SQL SERVER路径下 一般默认路径是:C:\Program Files\Microsoft SQL Server\MS…

【源码+文档】基于Java的新能源停车场管理系统的设计与实现

🚩如何选题? 如何选题、让题目的难度在可控范围,以及如何在选题过程以及整个毕设过程中如何与老师沟通,这些问题是需要大家在选题前需要考虑的,具体的方法我会在文末详细为你解答。 🚭如何快速熟悉一个项…

Pywinauto,一款 Win 自动化利器!

1.安装 pywinauto是一个用于自动化Python模块,适合Windows系统的软件(GUI),可以通过Pywinauto遍历窗口(对话框)和窗口里的控件,也可以控制鼠标和键盘输入,所以它能做的事情比之前介…

Python酷库之旅-第三方库Pandas(137)

目录 一、用法精讲 616、pandas.plotting.andrews_curves方法 616-1、语法 616-2、参数 616-3、功能 616-4、返回值 616-5、说明 616-6、用法 616-6-1、数据准备 616-6-2、代码示例 616-6-3、结果输出 617、pandas.plotting.autocorrelation_plot方法 617-1、语法…

机器学习篇-day03-线性回归-正规方程与梯度下降-模型评估-正则化解决模型拟合问题

一. 线性回归简介 定义 线性回归(Linear regression)是利用 回归方程(函数) 对 一个或多个自变量(特征值)和因变量(目标值)之间 关系进行建模的一种分析方式。 回归方程(函数) 一元线性回归: y kx b > wx b k: 斜率, 在机器学习中叫 权重(weight), 简称: w b: 截距, 在机…

Linux驱动学习——内核编译

1、从官网下载适合板子的Linux内核版本 选择什么版本的内核需要根据所使用的硬件平台而定,最好使用硬件厂商推荐使用的版本 https://www.kernel.org/pub/linux/kernel/ 2、将压缩包复制到Ubuntu内进行解压 sudo tar -xvf linux-2.6.32.2-mini2440-20150709.tgz 然…

【C++ 11】nullptr 空指针

文章目录 【 0. 问题背景 】0.1 野指针和悬空指针0.2 传统空指针 NULL0.3 传统空指针的局限性 【 1. 基本用法 】【 2. nullptr 的应用 】2.1 nullptr 解决 NULL 的遗留BUG2.2 简单实例 【 0. 问题背景 】 0.1 野指针和悬空指针 总结 野指针悬空指针产生原因指针变量未被初始…

绕过中间商,不用 input 标签也能搞定文件选择

💰 点进来就是赚到知识点!本文带你用 JS 实现文件选择功能,点赞、收藏、评论更能促进消化吸收! 🚀 想解锁更多 Web 文件系统技能吗?快来订阅专栏「Web 玩转文件操作」! 📣 我是 Jax,…

【机器学习】线性回归算法简介 及 数学实现方法

线性回归 简介 利用 回归方程(函数) 对 一个或多个自变量(特征值)和因变量(目标值)之间 关系进行建模的一种分析方式。 数学公式: ℎ_(w) w_1x_1 w_2x_2 w_3x_3 … b w^Txb 概念 ​ 利用回归方程(函数) 对 一个或多个自变量(特征值)和因变量(目标值)之间 关…