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
相关推荐
CSBLOG6 分钟前
Day30上 - ChromaDB 向量数据库
数据库·人工智能·深度学习·oracle
&zzz28 分钟前
PyTorch和 torchvision 和torch 和cu1版本不匹配
人工智能·pytorch·python
DX_水位流量监测30 分钟前
全自动化河道水位监测系统:实时传输与远程监控
大数据·运维·网络·人工智能·安全·信息可视化·自动化
寻找09之夏1 小时前
【人工智能】:搭建本地AI服务——Ollama、LobeChat和Go语言的全方位实践指南
人工智能·ollama·lobechat
weixin_440188592 小时前
LeRobot安装教程
人工智能·lerobot
AIGC大时代2 小时前
10个说明性写作ChatGPT提示词分享
人工智能·chatgpt·数据挖掘·数据分析·aigc
丶21363 小时前
【分类】【损失函数】处理类别不平衡:CEFL 和 CEFL2 损失函数的实现与应用
人工智能·分类·损失函数
王了了哇3 小时前
精度论文:【Focaler-IoU: More Focused Intersection over Union Loss】
人工智能·pytorch·深度学习·计算机视觉·transformer
程序员陆通4 小时前
使用 Python 开发一个 AI Agent 自媒体助手示例
人工智能·python·媒体
ifanatic4 小时前
[每周一更]-(第132期):AI工具集对比
人工智能