《深度学习》循环神经网络RNN 结构及原理解析

news2024/10/9 16:22:04

目录

一、关于RNN

1、传统神经网络存在的问题

2、什么是循环神经网络

3、RNN特点

二、RNN基本结构

1、RNN基本结构

2、推导方式

注意:

3、循环的由来

4、RNN的局限性


一、关于RNN

1、传统神经网络存在的问题

        无法训练出具有顺序的数据,模型搭建时没有考虑数据上下之间的关系。

2、什么是循环神经网络

        RNN(Recurrent Neural Network,循环神经网络)是一种用于处理序列数据的神经网络架构。其在处理序列输入时具有记忆性,可以保留之前输入的信息并继续作为后续输入的一部分进行计算。

        与传统的前馈神经网络不同,RNN能够在处理序列数据时捕捉序列中的时间依赖关系,即当前时刻的输出不仅依赖于当前时刻的输入,还依赖于过去时刻的输入(或称为状态)。

        如下图所示,例如有一句话,“我要去打球”,将其分词成“我”、“要”、“去”、“打球”,第一个词的词向量表示x1,第二个单词的词向量表示为x2,依次表示所有x,然后首先第一个词向量x1传入h1,然后偏置项h0也同步传入,得到一个结果再传入h2,h2再得到传入的x2传入h3.....,继续像上述流程一样,以此保存了所有的信息并得到最终结果。

3、RNN特点

        引入了隐状态h(hidden state)的概念,隐状态h可以对序列形的数据(如文本、语音、股票、时间序列等数据,当前数据内容与前面的数据有关。)提取特征,接着再转换为输出。

二、RNN基本结构

1、RNN基本结构

        RNN的核心是一个循环连接的隐藏层,这个隐藏层在序列的每个时间步都会接收输入并产生输出。每个时间步的隐藏状态不仅取决于当前时间步的输入,还取决于前一个时间步的隐藏状态。这样,RNN能够保持对之前输入的记忆,并在处理后续输入时利用这些记忆。

2、推导方式

        如下图所示,隐状态h相当于一个函数,f为一个激活函数,其有中的参数U、W、b在每一步都是一样的,也就是说每个步骤的参数都是共享的。

        h0乘以一个参数矩阵W加上x1乘以一个参数矩阵U,再加一个偏置b,得到一个结果,将这个结果传入激活函数f,激活函数一般是Relu函数或者Tanh函数,进行特征提取,然后得到的结果再乘以参数矩阵W加上x2乘以参数矩阵U,加上偏置b传入激活函数进行特征提取得到结果,以此类推得到最终结果,此处不一定只达到x4,一段话中可以有很多很多的词,每个词都有其对应的词向量,这些词向量都可以传入这个结构进行训练。

        对于结果y也会乘以一个矩阵V,加上偏置c后传入一个Softmax交叉熵损失函数,一般情况下y1的用处不大,最重要的是最后一个,例如下图的y4,因为y4涵盖了前面所有的词的特征。

        注意:

                RNN结构中输入是x1, x2, .....xn,输出为y1, y2, ...yn,也就是说,输入和输出序列必须要是等长的

3、循环的由来

4、RNN的局限性

        当出现“我的职业是程序员,…,我最擅长的是电脑”。当需要预测最后的词“电脑”。当前的信息建议下一个词可能是一种技能,但是如果我们需要弄清楚是什么技能,需要先前提到的离当前位置很远的“职业是程序员”的上下文。这说明相关信息和当前预测位置之间的间隔就变得相当的大。

        在理论上,RNN绝对可以处理这样的长期依赖问题。人们可以仔细挑选参数来解决这类问题中的最初级形式,但在实践中,RNN则没法太好的学习到这些知识。

        原因:梯度会随着时间的推移不断下降减少,而当梯度值变得非常小时,就不会继续学习。​例如下图的传声筒游戏

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

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

相关文章

基于卷积神经网络的书法字体识别系统,resnet50,mobilenet模型【pytorch框架+python】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示: 基于卷积神经网络的书法字体识别系统,resnet50,mobilenet【pytorch框架,python,tkinter】_哔哩哔哩_bilibili (一)简介 基于卷…

牛客——xay loves or与 __builtin_popcount的使用

xay loves or 题目描述 登录—专业IT笔试面试备考平台_牛客网 运行思路 题目要求我们计算有多少个正整数 yy 满足条件 x \text{ OR } y sx OR ys。这里的“OR”是指按位或运算。为了理解这个问题,我们需要考虑按位或运算的性质。 对于任意两个位 a_iai​ 和 b_…

如何用AI绘画工具生成中国风插画?Midjourney保持风格一致出图

如何运用AI绘画工具如Midjourney,生成符合我们特定要求的艺术作品是一门精进的技巧,尤其当你想生成具有鲜明特色的国风插画时,纯文本提示词的局限性常常使我们难以达到预期效果。然而,借助Midjourney的高级参数功能——特别是sref…

中航资本:招保万金全跌停!“人气王”创历史,半日成交突破600亿

狂奔的“牛”总算迎来“回头”。 今日是新股民入市第一天。依据我国结算的安排,关于10月1日(周二)至10月8日(周二)提交请求的新开证券账户,于10月9日(周三)起可用于买卖。 不过&am…

GIS、向量、文字检索... 火山引擎 ByteHouse 集成全场景分析能力

企业业务场景增多、规模扩大,对于底层数据架构来说,可能也会愈加复杂。 比如,某企业因自身业务发展,需要引入向量检索能力,但前期选型的技术架构并不能直接支持,只能重新引入向量数据库。这意味着&#xff…

JavaWeb - 9 - MySQL

数据库:DataBase(DB),是存储和管理数据的仓库 数据库管理系统:DataBase Management System(DBMS),操纵和管理数据库的大型软件 SQL:Structured Query Language,操作关系型数据库的编程语言,定…

经纬恒润荣获2024中国汽车供应链大会创新成果奖

2024年9月24日-26日,2024中国汽车供应链大会暨第三届中国新能源智能网联汽车生态大会在武汉隆重举办。本届大会以“新挑战、新对策、新机遇——推动中国汽车供应链可持续发展”为主题,集聚政府主管领导、行业专家、汽车及零部件企业精英和主流媒体&#…

这个 JavaScript API 比你想象中更强大!

大家好,我是 ConardLi。 今天,我们来聊聊一个可能被你忽视,而且非常强大的标准 JavaScript API - AbortController 。 在过去,大家在提到 AbortController 的时候,一般会举请求中断的例子,就连 MDN 给到的…

重学SpringBoot3-集成Redis(三)之注解缓存策略设置

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(三)之注解缓存策略设置 1. 引入 Redis 依赖2. 配置 RedisCacheManager 及自定义过期策略2.1 示例代码:自定…

重塑能源持续亏损近22亿:今年前五个月销量下滑,产能利用率骤降

《港湾商业观察》黄懿 9月2日,上海重塑能源集团股份有限公司(下称“重塑能源”)向港交所提交上市申请书,委任中国国际金融香港证券有限公司、招银国际融资有限公司及法国巴黎证券(亚洲)有限公司为整体协调…

Linux(不同版本系统包含Ubuntu)下安装mongodb详细教程

一、下载MongoDB 在MongoDB官网下载对应的MongoDB版本,可以点击以下链接快速跳转到下载页面: mongodb官网下载地址 注意选择和自己操作系统一致的platform,可以先查看自己的操作系统 查看操作系统详情 命令: uname -a 如图:操…

海洋大地测量基准与水下导航系列之二国外海底大地测量基准和海底观测网络发展现状(下)

2004年,英国、德国、法国等国家在欧洲“全球环境与安全监测’(Global Monitoring for Environment and Security,GMES)观测计划倡导下制定了“欧洲海底观测网络”(European Seafoor Observatory Network,ESONET)计划。ESONET是一个多学科的欧洲卓越网络(NoE &#x…

光路科技以技术创新为驱动,打造创新型企业新标杆

近日,深圳市光路在线科技有限公司(光路科技)凭借其出色的创新能力和市场表现,荣获深圳市中小企业服务局颁发的“创新型中小企业”称号。这一荣誉标志着光路科技在推动行业发展和技术进步方面取得了显著成就。 光路科技自2008年成立…

【含文档】基于Springboot+Android的在线招聘平台(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

◇【code】PPO: Proximal Policy Optimization

整理的代码库:https://github.com/Gaoshu-root/Code-related-courses/tree/main/RL2024/PPO OpenAI 文档 —— PPO-Clip OpenAI 文档 界面链接 PPO: on-policy 算法、适用于 离散 或 连续动作空间。可能局部最优 PPO 的动机与 TRPO 一样:…

Scott Brinker:企业正在更换更多的Martech,专注集成和API,不断扩大技术栈

营销技术替代因素:集成和API排在第二位 MarTech.org组织了2024年Martech替代调查,它能够深入了解营销技术栈是如何演变的。在496名受访者中,有65%的人表示他们在过去一年中更换了他们技术栈中的一个或多个营销技术解决方案。这些是最常被替代…

Tableau|三 数据连接与管理

一 Tableau的数据架构 数据连接层(Connection)、数据模型层(DataModel)和数据可视化层(VizQL)。 1.数据连接层 决定了如何访问源数据和获取哪些数据。 数据连接层的数据连接信息包括数据库、数据表、数据视…

华为大咖说 | 新时代,智能电动车车联网有哪些发展趋势?(下篇)

本文作者:朱行健(华为专家)全文约4252字,阅读约需9分钟 近年来,汽车产业逐步向电动化、自动化、网联化、共享化发展,车联网开始成为新的竞争主体,汽车市场开始出现新的市场发展驱动力、形成新的…

E36.C语言模拟试卷1第一大题选题解析与提示(未完)

点我去下载C语言模拟试卷1的文件 备注:ZIP文件中的参考答案仅仅提供最终结果 目录 第3题 第5题 第7题 第9题 第14题 第16题 第19题 第20题 第22题 第24题 第26题 第27题 第28题 第3题 3.若有说明语句:char c ‘\64’ ; 则变量C包含: …

python19_加减乘除(二)

加减乘除 a hello b world c 2 d 4# 字符串加法 def str_add(A, B):result A Breturn result# 字符串乘法 def str_mul(A, B):result A * Breturn result# 字符串除法 def str_div(A, B):result B / Areturn result# 字符串减法 def str_sub(A, B):result B - Aretur…