Jacky's blog
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)
  • shell

  • tool

  • 网络

  • algo

  • compute_base

  • blog

  • growth

  • java

  • C&C++

  • ai

    • base

    • tools

    • other

      • huggingFace
      • pad_token
      • token
      • rnn
        • 定义
        • 核心机制
        • 主要变体
        • 优点与局限
        • 典型应用
      • 向量
      • BPE算法
  • secure

  • cms

  • english

  • 生活

  • 金融学

  • more

  • other
  • ai
  • other
Jacky
2025-05-14
目录

rnn

RNN(循环神经网络)是一类专门处理序列数据的深度学习模型,它通过在网络内部引入“反馈”机制,使得模型能够记住前面已经处理过的信息,从而捕获上下文和时间依赖关系(维基百科 (opens new window))。与传统的前馈神经网络不同,RNN 在每个时间步都将前一时刻的隐藏状态作为当前输入的一部分,从而建立起跨时刻的连接(GeeksforGeeks (opens new window))。常见的 RNN 变体包括 LSTM(长短期记忆网络) 和 GRU(门控循环单元),它们通过引入门控机制有效缓解了标准 RNN 的梯度消失问题(维基百科 (opens new window))。RNN 广泛应用于语音识别、机器翻译、文本生成、时间序列预测等需要考虑上下文的任务中(IBM (opens new window))。

# 定义

  • 基本概念:RNN(Recurrent Neural Network)是一类针对序列或时间序列数据设计的神经网络,通过将前一时刻的输出反馈到网络中,使模型具备“记忆”能力,能够根据历史信息做出预测(IBM (opens new window))。
  • 与前馈网络对比:普通前馈神经网络(Feedforward Neural Network)在处理输入时不考虑元素之间的顺序或上下文,而 RNN 则通过循环结构保留序列中的时间顺序信息(Medium (opens new window))。

# 核心机制

  • 隐藏状态(Hidden State):RNN 维护一个隐藏状态 $h_t$,它在每个时间步 $t$ 根据当前输入 $x_t$ 和前一时刻的隐藏状态 $h_{t-1}$ 更新,公式通常表示为:

    $$ h_t = \phi(W_{xh}x_t + W_{hh}h_{t-1} + b_h) $$

    其中 $\phi$ 是激活函数,如 $\tanh$ 或 ReLU(Stanford University (opens new window))。

  • 时间步展开(Unrolling):在训练和推理时,RNN 会将循环结构按时间步“展开”成一个多层网络来进行梯度计算,能够并行化地学习序列中各步之间的依赖关系(维基百科 (opens new window))。

# 主要变体

  • 标准(Vanilla)RNN:最基础的循环结构,直接使用单个激活函数更新隐藏状态,结构简单但难以捕获长程依赖(维基百科 (opens new window))。
  • LSTM(Long Short-Term Memory):引入输入门、遗忘门和输出门等门控单元,有效解决了梯度消失/爆炸问题,使模型能够学习并保持更长的依赖跨度(维基百科 (opens new window))。
  • GRU(Gated Recurrent Unit):简化版的 LSTM,仅使用重置门和更新门,参数更少、计算更高效,同时在多种序列任务中表现与 LSTM 相当(Built In (opens new window))。

# 优点与局限

  • 优点:RNN 能够天然地处理可变长度的序列数据,通过隐藏状态的传播捕获上下文信息,适合语音、文本等时序任务(GeeksforGeeks (opens new window))。
  • 局限:标准 RNN 在长序列上容易出现梯度消失或梯度爆炸现象,导致难以学习远距离依赖;并且由于循环结构,训练难以并行化,相对计算开销较大(维基百科 (opens new window))。

# 典型应用

  • 自然语言处理:机器翻译、文本生成、情感分析等任务中,RNN 可以根据上下文生成连贯的句子或预测下一个词(维基百科 (opens new window))。
  • 时间序列预测:股票价格走势、传感器数据分析、语音识别等领域,RNN 擅长从历史数据中提取时序模式并做出预测(IBM (opens new window))。

通过上述内容,你可以了解到 RNN 如何利用循环结构在深度学习模型中保留并利用历史信息,以及它在不同场景下的优势与局限。

上次更新: 2025/10/08, 07:22:26
token
向量

← token 向量→

最近更新
01
npx 使用指南
10-12
02
cursor
09-28
03
inspect
07-20
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式