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

相关推荐
大数据在线11 小时前
布局Agentic AI,亚马逊云科技组合拳再升级
人工智能·openai·亚马逊云科技·智能体·agentic ai
皮皮学姐分享-ppx15 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
GIS数据转换器15 小时前
基于3D GIS的监控视频精准标定平台
人工智能·物联网·3d·音视频·无人机·知识图谱
专注VB编程开发20年15 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
深小乐15 小时前
Claude Fable5 尝鲜,效果挺不错
人工智能
Nayxxu15 小时前
Gemini + RAG 企业知识库教程:从文档切片到答案生成
运维·人工智能
冬奇Lab15 小时前
真正的 AI-Native Workflow 是什么?——四个判断测试
人工智能·agent
冬奇Lab15 小时前
每日一个开源项目(第128篇):Agent Skills - 给 AI 编程 Agent 装上工程纪律
人工智能·开源·资讯
Deepoch16 小时前
Deepoc VLA开发板:采摘机器人的环境鲁棒作业与不确定性应对
人工智能·机器人·采摘机器人·deepoc