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
相关推荐
佛光芳林13 分钟前
AI 情报局:用 PowerMem + SeekDB 做一个多 Agent 记忆小游戏
人工智能
通问AI21 分钟前
2026年AI短剧技术现状:全链路AIGC生产已达95%,但用户完播率不足15%
人工智能·aigc
_Jimmy_24 分钟前
Agent引用数据库知识过时的增量同步方案
人工智能·python·langchain
qq_4542450330 分钟前
Systemprompt 体系全览:形式化公理驱动的分层系统设计
人工智能
大龄码农有梦想34 分钟前
传统的 BPMN 工作流审批和 AI 工作流有什么区别?
人工智能·流程引擎·工作流·ai agent·ai工作流·审批流·智能体平台
DO_Community1 小时前
Claude Opus 5 现已上线 DigitalOcean AI 推理云
人工智能·llm·agent·claude
幸福指北1 小时前
🚀 开源了,一个人 + AI 肝出一个 AI 终端 | AShell 技术分享
运维·人工智能·ai·终端
可以飞的话1 小时前
一、机器学习概述
人工智能·机器学习
sunneo1 小时前
磐石2.0发布,科学建模新突破
人工智能
煎饼学大模型1 小时前
Agent 的“大脑-手“解耦架构:当推理层和工具执行层各自独立演进
数据库·人工智能·oracle·架构·agent