本文目录
  1. 1.RNN模型
  2. 2.RNN分类
  3. 3.RNN公式及API实现

RNN 循环神经网络

1.RNN模型

image-20260805201329583image-20260805201823281

由输入层、隐藏层、输出层组成;上一时间步的隐藏层输出作为下一个时间步的隐藏层输入

每个时间步的输入有2个:数据端输入,隐藏层输入

每个时间步的输出有2个:数据端输出,隐藏层输出

2.RNN分类

按照输入和输出的角度进行分类 N vs N – RNN 输入N个序列,输出N个序列 写诗 写对联 固定场景 N vs 1 – RNN 输入N个序列,输出1个的值 情感分类 意图识别 1 vs N – RNN 输入1个序列,输出N个的值 看图说话 N vs M – RNN 输入N个序列,输出M个序列 翻译、语音转换;文本生成、摘要

按照RNN的内部构造进行分类 传统RNN LSTM Bi-LSTM – 双向LSTM GRU Bi-GRU –双向GRU

3.RNN公式及API实现

image-20260805201932760

import torch
import torch.nn as nn

# 1.创建rnn层
# 参数:输入维度,隐藏层维度,隐藏层层数
rnn = nn.RNN(2,3,2)

#2.准备输入x和初始化隐藏h0
# 参数:输入的序列长度(句子),输入的批次大小(batch-size),输入的维度
input = torch.randn(1,4,2)
# 参数:rnn层数,输入的批次大小(batch-size),隐藏层维度
h0 = torch.randn(2,4,3)

# 3. 将上一时刻隐藏和输入 传入 rnn
# 得到当前隐藏和输出
output,hidden = rnn(input,h0)
print(output.shape)
print(hidden.shape)
print(output)
print(hidden)