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
相关推荐
Jamence20 分钟前
【图像处理】利用numpy、opencv、python实现车牌检测
图像处理·人工智能·opencv
玩AI的小胡子1 小时前
让文案生成更具灵活性/chatGPT新功能canvas画布编辑
人工智能·gpt·chatgpt·aigc
远洋录2 小时前
前端单元测试实战:从零开始构建可靠的测试体系
前端·人工智能·react
纪伊路上盛名在2 小时前
生成式AI、大模型、多模态技术开发与应用学习清单
服务器·人工智能·笔记·学习·知识图谱·学习方法
hongkid3 小时前
mac 安装CosyVoice (cpu版本)
人工智能·macos·cosyvoice
因为风的缘故~3 小时前
Ubuntu22.04安装cuda12.1+cudnn8.9.2+TensorRT8.6.1+pytorch2.3.0+opencv_cuda4.9+onnxruntime-gpu1.18
pytorch·深度学习·tensorrt·cuda·anaconda·cudnn
CodeCraft Studio4 小时前
什么是定性数据分析?有哪些定性数据分析技术及应用实践?
大数据·人工智能·数据分析
道友老李4 小时前
【深度学习进阶】CNN-VGG
人工智能·深度学习·神经网络·机器学习·cnn
z千鑫4 小时前
【Flask+OpenAI】利用Flask+OpenAI Key实现GPT4-智能AI对话接口demo - 从0到1手把手全教程(附源码)
人工智能·后端·python·chatgpt·flask·ai编程
AI完全体4 小时前
【AI日记】24.12.14 kaggle 比赛 2-4 EDA
人工智能·机器学习·kaggle 比赛