nn.RNN解析

以下是RNN的计算公式,t时刻的隐藏状态H(t)等于前一时刻隐藏状态H(t-1)乘以参数矩阵,再加t时刻的输入x(t)乘以参数矩阵,最后再通过激活函数,等到t时刻隐藏状态。

下图是输出input和初始化的隐藏状态,当参数batch_first = True时候,输入是(batch_size,Sequence_length,input_size),参数batch_first = False的时候,输入是
(Sequence_length,batch_size,input_size)

h_0就是初始时刻的隐藏状态hidden state,一般情况下,输入是(D*num_layers,N,H_out)

  • D:如果是双向RNN则为2,如果是单向RNN则为1
  • num_layers: 是RNN的层数
  • N:Batch_size 大小
  • H_in :input size
  • H_out : hidden_size
    写到这里也就把RNN的传入参数给将明白了,主要就是初始隐藏态和input

    输出
  • 输出分别输出最后一个时刻的隐藏态以及所有时刻隐藏态的堆叠,作为输出outputs
  • outputs: 当batch_first = True时,输出为(batch_size,Sequence_length,hidden_size * D);当batch_first = False 的时候,输出为(Sequence_length,Batch_size,hidden_size*D)
  • h_n: 输出为(D*num_layers,Batch_size,hidden_size)
  • 参数 D 同上面一样,这里不在赘述。

    示例:

    RNN 返回值中 outputs 和 hidden_n的关系
    由下图可知,outputs最后一个时间步的输出就是hidden_n
相关推荐
sunxunyong2 分钟前
CC2Github配置
人工智能
B站计算机毕业设计超人15 分钟前
计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hadoop·python·机器学习·知识图谱·课程设计
玄同76515 分钟前
Python「焚诀」:吞噬所有语法糖的终极修炼手册
开发语言·数据库·人工智能·python·postgresql·自然语言处理·nlp
cdut_suye17 分钟前
解锁函数的魔力:Python 中的多值传递、灵活参数与无名之美
java·数据库·c++·人工智能·python·机器学习·热榜
CoCo的编程之路28 分钟前
2026 前端效能革命:如何利用智能助手实现“光速”页面构建?深度横评
前端·人工智能·ai编程·comate·智能编程助手·文心快码baiducomate
UR的出不克34 分钟前
基于机器学习的电力消耗预测系统实战
人工智能·机器学习
全栈开发圈36 分钟前
干货分享|深度学习计算的FPGA优化思路
人工智能·深度学习·fpga开发
linmoo19861 小时前
Langchain4j 系列之二十九 - Guardrails之一
人工智能·langchain·langchain4j·guardrails
意疏1 小时前
Claude Code 安装全流程:从零到真正用起来
人工智能
AskHarries1 小时前
在 Windows 上使用 Python MCP 配置 Qoder CLI STDIO 服务教程
人工智能·adb·ai编程