循环神经网络(一)

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 循环神经网络(一)

开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):循环神经网络(一)

课程地址:https://edu.aliyun.com/course/3112108/lesson/19269

 

循环神经网络(一)

 

内容介绍

一、 循环神经网络的概述

二、 循环神经网络的结构及类别

三、 经典循环神经网络

四、 循环神经网络的应用

 

一、循环神经网络的概述


图片532.png

循环神经网络(Recurrent Neural Network,RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递日神经网络(recursive neural network)。


如上图表示:先去右边掉W和循环,左边为神经网络,X是输入、U是输入全动矩阵、S是隐藏层、O 是输出,v是输出全动矩阵。在普通神经网络循环上加入W ,就变成循环神经网络。

神经网络处理的数据是有序列,前后相关的,例如,在处理文字、语音或时间序列数据等任务时,往往需要考虑上下文信息的相关性。普通的神经网络在这方面表现不佳,因为它们没有内置的记忆机制,这就是引入循环神经网络的原因。RNN 具有短期记忆,允许它们处理序列数据,实现信息的传递和记忆。


为了更好地理解,让我们深入研究一下图示。图示中展示了一个按照时间序列展开的循环神经网络,每个时间步骤用 t、t+1 表示。注意到,输入包括 x_t-1、x_t 和 x_t+1,对应的输出是 o_t-1、o_t 和 o_t+1。这个图表明了 RNN 在处理序列数据时的特点。与普通神经网络不同的是,RNN 的输入不仅包括当前时间步的输入 x_t,还包括上一时间步的结果,而其输出不仅作为当前时间步的输出 o_t,还会作为下一时间步的输入。


因此,循环神经网络通过这种递归机制具有了记忆能力,允许信息在不同时间步之间传递和影响,这是其独特之处。

 

二、循环神经网络的结构及类别


图片533.png

典型的循环神经网络包括一个输入(x)和一个输出,我们用这些符号来表示。然后,它包含一个神经网络单元(用a表示)。不同于普通的神经网络,循环神经网络(RNN)中的神经网络单元a不仅与输入和输出相关,它还具有自我循环的结构,这使得它能够保留状态信息,并将其传递到下一个时间步,实际上就是网络的上一个状态。这个自我循环结构使得RNN具备了记忆的能力。


如果我们将这个循环神经网络的结构展开,那么它会变成右侧图示的形式。这意味着它就像是同一个网络被复制并连接成一条线,以便将自身的信息传递给下一个时间步。在这种情况下,我们可以将输入视为时间的流逝,也可以将其视为一个序列,这个序列按照0、1、2、3、4、5、6、7的顺序进行输入。

图片534.png

需要注意的是,尽管我们一直在用 "a" 来表示神经元,但实际上,随着时间推移,不同时刻的 "a" 是不同的。可以将这个现象比喻为观看电影的效果,电影胶片的左边可能看不太清楚。但如果我们将电影胶片逐帧按照时间顺序排列开来,你将会看到每一帧的画面。对于循环神经网络中的 "a",也是类似的,它随着时间的推移向右移动,同时会因为不同的输入而发生微小的变化。

图片535.png

让我们看一下循环神经网络神经元的结构。下图展示了一个时间序列展开的模型,其中中间时刻是t。它的输入部分来自于上一个时刻的输出,同时还有当前时刻的输入xt。这两者的输入会合并并通过激活函数(例如双曲正切)得到输出ht。同时,这个输出ht也会传递到下一个时间步,成为下一时刻的输入。这个时间前进的过程被称为RNN的正向传播。

图片536.png循环神经网络有不同的类别,首先是一对一(One-to-One),它是最简单、最基本的单层网络。当输入是x时,我们对其进行线性变换(加法和乘法),然后通过激活函数得到输出y。这种模式通常用于输入一个图像并输出其对应的类别。


接下来是一对多(One-to-Many),在这个情况下,你的输入是一个 x,但输出可以包含多个 y。这种结构适用于一些任务,例如你输入一张图像,然后期望输出图像的特征或一系列描述文字,就像图像标注(Image Captioning)任务一样。


另一种情况是多对一(Many-to-One),它处理的是序列输入,但只生成一个输出。这可以用于序列分类问题,例如输入一段文本,使用循环神经网络来判断它属于所属类别。


最后,我们有最经典的 Many-to-Many 结构,其中输入序列和输出序列必须具有相同的长度。这种结构非常适合视频分类等任务,其中你需要对每一帧进行分类,因此输入和输出序列的长度都相同。这就是循环神经网络的几种主要类型:一对一,一对多,多对一,以及多对多。

相关文章
|
23天前
|
机器学习/深度学习 自然语言处理 算法
RNN-循环神经网络
自然语言处理(Nature language Processing, NLP)研究的主要是通过计算机算法来理解自然语言。对于自然语言来说,处理的数据主要就是人类的语言,我们在进行文本数据处理时,需要将文本进行数据值化,然后进行后续的训练工作。
|
3天前
|
机器学习/深度学习 数据采集 人工智能
循环神经网络RNN
7月更文挑战第2天
|
1月前
|
机器学习/深度学习 存储 自然语言处理
RNN与LSTM:循环神经网络的深入理解
【6月更文挑战第14天】本文深入探讨RNN和LSTM,两种关键的深度学习模型在处理序列数据时的作用。RNN利用记忆单元捕捉时间依赖性,但面临梯度消失和爆炸问题。为解决此问题,LSTM引入门控机制,有效捕获长期依赖,适用于长序列处理。RNN与LSTM相互关联,LSTM可视为RNN的优化版本。两者在NLP、语音识别等领域有广泛影响,未来潜力无限。
|
2月前
|
机器学习/深度学习 自然语言处理 语音技术
循环神经网络
循环神经网络
24 1
|
2月前
|
机器学习/深度学习
深度学习第2天:RNN循环神经网络
深度学习第2天:RNN循环神经网络
|
2月前
|
机器学习/深度学习 自然语言处理 并行计算
神经网络结构——CNN、RNN、LSTM、Transformer !!
神经网络结构——CNN、RNN、LSTM、Transformer !!
201 0
|
2月前
|
机器学习/深度学习 自然语言处理 数据处理
一文带你了解RNN循环神经网络
一文带你了解RNN循环神经网络
187 1
|
9月前
|
机器学习/深度学习 自然语言处理 算法
深入了解卷积神经网络(CNN)
卷积神经网络是一种受到生物视觉系统启发而设计的人工神经网络。它在计算机视觉和图像处理领域取得了巨大的成功,并成为许多深度学习模型的基础。
67 1
|
10月前
|
机器学习/深度学习 数据采集
将循环神经网络(RNN)
将循环神经网络(RNN)应用于现实世界数据进行时间序列预测,是一种常见的机器学习应用。时间序列预测是一种预测未来值的方法,它基于过去和现在的数据点。这种预测方法被广泛应用于金融、气象、工业生产等领域。以下是使用 RNN 进行时间序列预测的基本步骤:
50 3
|
10月前
|
机器学习/深度学习 存储 人工智能
循环神经网络(二)
循环神经网络(二)
79 0

相关实验场景

更多