认识RNN模型

一.前言

本章节我们要介绍什么是RNN模型,RNN模型的作⽤和RNN模型的分类。

二.什么是RNN模型

RNN(Recurrent Neural Network), 中⽂称作循环神经⽹络, 它⼀般以序列数据为输⼊, 通过⽹络内部的结构设计有效捕捉序列之间的关系特征, ⼀般也是以序列形式进⾏输出。

⼀般单层神经⽹络结构:

RNN单层⽹络结构:

以时间步对RNN进⾏展开后的单层⽹络结构:

RNN的循环机制使模型隐层上⼀时间步产⽣的结果, 能够作为当下时间步输⼊的⼀部分(当下时间步的输⼊除了正常的输⼊外还包括上⼀步的隐层输出)对当下时间步的输出产⽣影响。

三.RNN模型的作用

因为RNN结构能够很好利⽤序列之间的关系, 因此针对⾃然界具有连续性的输⼊序列, 如⼈类的语⾔, 语⾳等进⾏很好的处理, ⼴泛应⽤于NLP领域的各项任务, 如⽂本分类, 情感分析, 意图识别, 机器翻译等.

下⾯我们将以⼀个⽤户意图识别的例⼦进⾏简单的分析:

第⼀步: ⽤户输⼊了"What time is it ?", 我们⾸先需要对它进⾏基本的分词, 因为RNN是按照顺序⼯作的, 每次只接收⼀个单词进⾏处理.

第⼆步: ⾸先将单词"What"输送给RNN, 它将产⽣⼀个输出O1.

第三步: 继续将单词"time"输送给RNN, 但此时RNN不仅仅利⽤"time"来产⽣输出O2, 还会使⽤来⾃上⼀层隐层输出O1作为输⼊信息.

第四步: 重复这样的步骤, 直到处理完所有的单词.

第五步: 最后,将最终的隐层输出O5进⾏处理来解析⽤户意图.

四.RNN模型的分类

这⾥我们将从两个⻆度对RNN模型进⾏分类. 第⼀个⻆度是输⼊和输出的结构, 第⼆个⻆度是RNN的内部构造.

按照输⼊和输出的结构进⾏分类:

N vs N - RNN

N vs 1 - RNN

1 vs N - RNN

N vs M - RNN

按照RNN的内部构造进⾏分类:

传统RNN

LSTM

Bi-LSTM

GRU

Bi-GRU

N vs N - RNN:

它是RNN最基础的结构形式, 最⼤的特点就是: 输⼊和输出序列是等⻓的. 由于这个限制的存在, 使 其适⽤范围⽐较⼩, 可⽤于⽣成等⻓度的合辙诗句.

N vs 1 - RNN:

有时候我们要处理的问题输⼊是⼀个序列,⽽要求输出是⼀个单独的值⽽不是序列,应该怎样建 模呢?我们只要在最后⼀个隐层输出h上进⾏线性变换就可以了,⼤部分情况下,为了更好的明 确结果, 还要使⽤sigmoid或者softmax进⾏处理. 这种结构经常被应⽤在⽂本分类问题上.

1 vs N - RNN:

如果输⼊不是序列⽽输出为序列的情况怎么处理呢?我们最常采⽤的⼀种⽅式就是使该输⼊作⽤ 于每次的输出之上. 这种结构可⽤于将图⽚⽣成⽂字任务等.

N vs M - RNN:

这是⼀种不限输⼊输出⻓度的RNN结构, 它由编码器和解码器两部分组成, 两者的内部结构都是某 类RNN, 它也被称为seq2seq架构. 输⼊数据⾸先通过编码器, 最终输出⼀个隐含变量c, 之后最常 ⽤的做法是使⽤这个隐含变量c作⽤在解码器进⾏解码的每⼀步上, 以保证输⼊信息被有效利⽤.

seq2seq架构最早被提出应⽤于机器翻译, 因为其输⼊输出不受限制,如今也是应⽤最⼴的RNN模型结 构. 在机器翻译, 阅读理解, ⽂本摘要等众多领域都进⾏了⾮常多的应⽤实践.

关于RNN的内部构造进⾏分类的内容我们将在后⾯使⽤单独的⼩节详细讲解.

五.总结

学习了什么是RNN模型:

RNN(Recurrent Neural Network), 中⽂称作循环神经⽹络, 它⼀般以序列数据为输⼊, 通过⽹络 内部的结构设计有效捕捉序列之间的关系特征, ⼀般也是以序列形式进⾏输出.

RNN的循环机制使模型隐层上⼀时间步产⽣的结果, 能够作为当下时间步输⼊的⼀部分(当下时间步的 输⼊除了正常的输⼊外还包括上⼀步的隐层输出)对当下时间步的输出产⽣影响.

学习了RNN模型的作⽤:

因为RNN结构能够很好利⽤序列之间的关系, 因此针对⾃然界具有连续性的输⼊序列, 如⼈类的语 ⾔, 语⾳等进⾏很好的处理, ⼴泛应⽤于NLP领域的各项任务, 如⽂本分类, 情感分析, 意图识别, 机 器翻译等.

以⼀个⽤户意图识别的例⼦对RNN的运⾏过程进⾏简单的分析:

第⼀步: ⽤户输⼊了"What time is it ?", 我们⾸先需要对它进⾏基本的分词, 因为RNN是按照顺序 ⼯作的, 每次只接收⼀个单词进⾏处理.

第⼆步: ⾸先将单词"What"输送给RNN, 它将产⽣⼀个输出O1.

第三步: 继续将单词"time"输送给RNN, 但此时RNN不仅仅利⽤"time"来产⽣输出O2, 还会使⽤来 ⾃上⼀层隐层输出O1作为输⼊信息.

第四步: 重复这样的步骤, 直到处理完所有的单词

第五步: 最后,将最终的隐层输出O5进⾏处理来解析⽤户意图.

学习了RNN模型的分类:

这⾥我们将从两个⻆度对RNN模型进⾏分类. 第⼀个⻆度是输⼊和输出的结构, 第⼆个⻆度是RNN 的内部构造

按照输⼊和输出的结构进⾏分类:

N vs N - RNN

N vs 1 - RNN

1 vs N - RNN

N vs M - RNN

N vs N - RNN:

它是RNN最基础的结构形式, 最⼤的特点就是: 输⼊和输出序列是等⻓的. 由于这个限制的存在, 使 其适⽤范围⽐较⼩, 可⽤于⽣成等⻓度的合辙诗句

N vs 1 - RNN:

有时候我们要处理的问题输⼊是⼀个序列,⽽要求输出是⼀个单独的值⽽不是序列,应该怎样建 模呢?我们只要在最后⼀个隐层输出h上进⾏线性变换就可以了,⼤部分情况下,为了更好的明 确结果, 还要使⽤sigmoid或者softmax进⾏处理. 这种结构经常被应⽤在⽂本分类问题上.

1 vs N - RNN:

如果输⼊不是序列⽽输出为序列的情况怎么处理呢?我们最常采⽤的⼀种⽅式就是使该输⼊作⽤ 于每次的输出之上. 这种结构可⽤于将图⽚⽣成⽂字任务等.

N vs M - RNN:

这是⼀种不限输⼊输出⻓度的RNN结构, 它由编码器和解码器两部分组成, 两者的内部结构都是某 类RNN, 它也被称为seq2seq架构. 输⼊数据⾸先通过编码器, 最终输出⼀个隐含变量c, 之后最常 ⽤的做法是使⽤这个隐含变量c作⽤在解码器进⾏解码的每⼀步上, 以保证输⼊信息被有效利⽤.

seq2seq架构最早被提出应⽤于机器翻译, 因为其输⼊输出不受限制,如今也是应⽤最⼴的RNN 模型结构. 在机器翻译, 阅读理解, ⽂本摘要等众多领域都进⾏了⾮常多的应⽤实践.

按照RNN的内部构造进⾏分类:

传统RNN

LSTM

Bi-LSTM

GRU

Bi-GRU

关于RNN的内部构造进⾏分类的内容我们将在后⾯使⽤单独的⼩节详细讲解.

相关推荐
c76912 分钟前
【文献笔记】ARS: Automatic Routing Solver with Large Language Models
人工智能·笔记·语言模型·自然语言处理·llm·论文笔记·cvrp
柏峰电子42 分钟前
光伏电站气象监测系统:为清洁能源高效发电保驾护航
大数据·人工智能
后端小张44 分钟前
智谱AI图生视频:从批处理到多线程优化
开发语言·人工智能·ai·langchain·音视频
零一数创1 小时前
智慧能源驱动数字孪生重介选煤新模式探索
人工智能·ue5·能源·数字孪生·ue·零一数创
叫我:松哥1 小时前
基于python django深度学习的中文文本检测+识别,可以前端上传图片和后台管理图片
图像处理·人工智能·后端·python·深度学习·数据挖掘·django
程序员岳焱1 小时前
从 0 到 1:Spring Boot 与 Spring AI 打造智能客服系统(基于DeepSeek)
人工智能·后端·deepseek
SugarPPig1 小时前
Hugging Face 模型的缓存和直接下载有什么区别?
人工智能·缓存
AI扶我青云志1 小时前
bert模型中config.json中所有参数
人工智能·json·bert
问道财经1 小时前
豪鹏科技锚定 “AI + 固态” 赛道:从电池制造商到核心能源方案引领者的战略跃迁
人工智能·科技·能源
AKAMAI2 小时前
借助DataStream和多路复用实现可观察性
人工智能·云原生·云计算