一 基本定义
视频链接
1.小案例理解–语义理解
- 目的:输入一句话,机器需要理解这句话的语义
二. RNN模型分类
1. 按照输入输出分类
(1) N Vs N
(2) N Vs 1
(3) 1 VsN
(4) seq2seq
三 传统RNN模型
1. 内部结构分析
(a) 总体外观
- 绿色的块表示神经网络层,上述显示了3层,每一层结构都是一样的;
- 黄色块表示激活函数
- 上一层的输出h和当前层的输入x,汇合在一起的操作是张量的拼接,新的张量将会通过一个全连接层,然后通过一个tanh激活函数,最后得到当前层的输出
(b) 公式表达一层的结构
- W表示全连接层,b表示偏置
(c) 激活函数的作用
- 增加非线性因素
- 调节网络的值
四 RNN的调用
import torch
import torch.nn as nn
rnn = nn.RNN(5,6,1) #参数依次是输入张量x中特征维度的大小;隐藏层中张量h的大小,隐藏层的数量
#1:表示序列长度是1, 由于输入是长度为5的张量,这里定义的随机数是3行5列,所以3相当于batch
input = torch.randn(1,3,5)
h0 = torch.randn(1,3,6) #1要和nn.RNN(5,6,1) 里面的1对上
output,hn = rnn(input,h0)
print(input)