认识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的内部构造进⾏分类的内容我们将在后⾯使⽤单独的⼩节详细讲解.

相关推荐
SEO_juper9 分钟前
2026内容营销破局指南:告别流量内卷,以价值赢信任
人工智能·ai·数字营销·2026
初恋叫萱萱12 分钟前
数据即燃料:用 `cann-data-augmentation` 实现高效训练预处理
人工智能
一战成名99621 分钟前
CANN 仓库揭秘:昇腾 AI 算子开发的宝藏之地
人工智能
hnult27 分钟前
2026 在线培训考试系统选型指南:核心功能拆解与选型逻辑
人工智能·笔记·课程设计
A小码哥27 分钟前
AI 设计时代的到来:从 PS 到 Pencil,一个人如何顶替一个团队
人工智能
AIGCmitutu33 分钟前
PS 物体底部阴影怎么做?3 步做出自然逼真的投影效果
人工智能·电子商务·photoshop·ps·美工
开源技术36 分钟前
Claude Opus 4.6 发布,100万上下文窗口,越贵越好用
人工智能·python
聆风吟º1 小时前
CANN hccl 深度解析:异构计算集群通信库的跨节点通信与资源管控实现逻辑
人工智能·wpf·transformer·cann
狸奴算君1 小时前
告别机械回复:三步微调AI模型,打造会“读心”的智能客服
人工智能
七夜zippoe1 小时前
脉向AI|当豆包手机遭遇“全网封杀“:GUI Agent是通向AGI的必经之路吗?
人工智能·ai·智能手机·agent·gui