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

相关推荐
aigcapi2 分钟前
AI搜索排名提升:GEO优化如何成为企业增长新引擎
人工智能
彼岸花开了吗7 分钟前
构建AI智能体:八十、SVD知识整理与降维:从数据混沌到语义秩序的智能转换
人工智能·python·llm
MM_MS8 分钟前
Halcon图像锐化和图像增强、窗口的相关算子
大数据·图像处理·人工智能·opencv·算法·计算机视觉·视觉检测
韩师傅14 分钟前
前端开发消亡史:AI也无法掩盖没有设计创造力的真相
前端·人工智能·后端
AI大佬的小弟16 分钟前
【小白第一课】大模型基础知识(1)---大模型到底是啥?
人工智能·自然语言处理·开源·大模型基础·大模型分类·什么是大模型·国内外主流大模型
lambo mercy23 分钟前
无监督学习
人工智能·深度学习
阿里巴巴P8资深技术专家23 分钟前
基于 Spring AI 和 Redis 向量库的智能对话系统实践
人工智能·redis·spring
sunfove36 分钟前
致暗夜行路者:科研低谷期的自我心理重建
人工智能
柠柠酱1 小时前
【深度学习Day4】告别暴力拉平!MATLAB老鸟带你拆解CNN核心:卷积与池化 (附高频面试考点)
深度学习
GAOJ_K1 小时前
丝杆模组精度下降的预警信号
人工智能·科技·机器人·自动化·制造