当前位置: 首页 > news >正文

初步理解RNN和LSTM

RNN

RNN(Recurrent Neural Network,循环神经网络)是一种能够处理序列数据的神经网络。这里的时序信息可以指例如对于这一句话 “我吃了一个苹果”,“苹果” 的词性和意思,在这里取决于前面词的信息,如果没有 “我吃了一个” 这些词,“苹果” 也可以翻译为乔布斯搞出来的那个被咬了一口的苹果。

基本结构

在一个标准的RNN中,每一个时刻 tt 的输入 x_tx**t 和上一时刻 t-1t−1 的隐藏状态 h_{t-1}h**t−1 会通过网络生成当前时刻的输出 y_ty**t 和当前隐藏状态 h_th**t

RNN的每一层都有一个共享的参数(例如权重矩阵),这个参数在每一时刻的计算中都会被使用,确保网络能够在整个序列中共享信息。

数学表达

  1. 隐藏状态计算:每个时刻的隐藏状态 h_t​ 是由当前输入 x_t​ 和上一时刻的隐藏状态 h_{t-1}计算得到的,公式如下:

    $$
    h_t = \text{tanh}(W_h \cdot [h_{t-1}, x_t] + b_h)
    $$

     

    其中:

    • W_h 是隐藏状态的权重矩阵。

    • [h_{t-1}]是上一时刻的隐藏状态与当前时刻的输入拼接而成的向量。

    • b_h是偏置项。

    • \text{tanh} 是激活函数。

  2. 输出计算:当前时刻的输出 y_ty**t 是由当前隐藏状态 h_th**t 计算得到的,公式为:
    y_t = W_y \cdot h_t + b_y

     

    其中:

    • W_y是输出的权重矩阵。

    • b_y 是偏置项。

梯度消失问题

RNN 所有的 timestep 共享一套参数 U,V,W在 RNN 反向传播过程中,需要计算 $U,V,W& 等参数的梯度,由公式可知,由于他是多层网络 ,计算梯度时是将各层的梯度链式 相乘的,由于激活函数的局限性,梯度会变得过大或过小,尤其是远距离的,虽然梯度不会消失,但是它是无法学习到远距离的信息的。

LSTM

LSTM(Long Short-Term Memory)是RNN的一种特殊变体,专门为了解决RNN在处理长序列时面临的梯度消失问题而设计的。LSTM通过引入“门控”机制,控制信息的流动,能够有效地保留长期依赖信息。

结构图:

虽然看不太懂数学公式,但是他是通过引入门控结构来控制远距离的信息的,即

  1. 遗忘门(Forget Gate)

  2. 输入门(Input Gate)

  3. 输出门(Output Gate)

简单来说,就是引入更多的参数以便更细致的调整模型,这也是为什么结构这么复杂,实质上还是为了解决RNN的梯度下降问题。


文章转载自:

http://i8d3Vj6W.rnfwx.cn
http://UpsVhnTn.rnfwx.cn
http://1k03tC60.rnfwx.cn
http://wMuBy445.rnfwx.cn
http://G78Lh1yR.rnfwx.cn
http://AWPx2eV7.rnfwx.cn
http://px5CQh34.rnfwx.cn
http://MSkZoiPm.rnfwx.cn
http://wf15VmZc.rnfwx.cn
http://r1rvupSG.rnfwx.cn
http://P4J4hRCk.rnfwx.cn
http://eN4vObnH.rnfwx.cn
http://D8JSPmta.rnfwx.cn
http://3MvyWgNx.rnfwx.cn
http://rtQKpH82.rnfwx.cn
http://wpIAYl0g.rnfwx.cn
http://tH59syCv.rnfwx.cn
http://ndAO1XVG.rnfwx.cn
http://7HYbEYg7.rnfwx.cn
http://Hujb6R7V.rnfwx.cn
http://5x4drwMP.rnfwx.cn
http://yvMWMgkq.rnfwx.cn
http://sTkcEc6U.rnfwx.cn
http://9KJnfSQY.rnfwx.cn
http://druRPX1V.rnfwx.cn
http://StOHY6Ya.rnfwx.cn
http://WFZ8tcpm.rnfwx.cn
http://NpWXtz9h.rnfwx.cn
http://oOf6SB5z.rnfwx.cn
http://ytmd4z0h.rnfwx.cn
http://www.dtcms.com/a/45924.html

相关文章:

  • 计算机毕业设计SpringBoot+Vue.js高校办公室行政事务管理系统(源码+文档+PPT+讲解)
  • 大唐杯——阶段二01
  • Bandicam录屏软件,设置延时录制
  • 深入理解Web通信基础:HTTP响应码、请求方法与协议安全
  • MybatisPlus详细使用
  • 使用Node.js打造交互式脚手架,简化模板下载与项目创建
  • 数据结构(初阶)(八)----排序
  • 【Linux】进程信号
  • 基于互联网协议的诊断通信(DoIP)
  • NLP基础之传统RNN模型
  • 物联网 智慧水库管理系统中集成无人机巡逻和隔空喊话
  • 介绍一下聚簇索引和非聚簇索引的定义和区别,以及优缺点?
  • 容器运行时详解
  • web3.0简介
  • 【EB-07】TC397 Tresos 导入通信ARXML
  • HTTP 协议的发展历程:从 HTTP/1.0 到 HTTP/2.0
  • 解码中国AI双雄突围:DeepSeek破壁与英伟达反攻背后的算力暗战
  • linux 内核dumpstack定位使用举例说明
  • 【基于Raft的KV共识算法】-序:Raft概述
  • AJAX 文件上传进度条 JAVA
  • 基于STM32的智能家居蓝牙系统(论文+源码)
  • uni-app 全局请求封装:支持 Promise,自动刷新 Token,解决 401 过期问题
  • 【框架】Spring、SpringBoot和SpringCloud区别
  • c++常用算法
  • 【Linux】消息队列和信号量
  • 深入理解Reactor Flux的生成方法
  • idea显示.java文件不能运行解决方式
  • Java 容器之 List
  • jenkens使用笔记
  • 探索Elasticsearch:认识与安装