欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

自然语言处理学习(3)RNN 模型学习---NLP领域的第一个模型

最编程 2024-07-08 17:42:13
...

一 基本定义

视频链接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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的张量,这里定义的随机数是35列,所以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)

在这里插入图片描述

推荐阅读