开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):循环神经网络(二)】
课程地址:https://edu.aliyun.com/course/3112108/lesson/19269
循环神经网络(二)
二、经典循环神经网络
接下来,我们将深入了解经典的循环神经网络,即长短期记忆网络(LSTM)。"LS"代表长短期记忆,正如我们之前提到的,循环神经网络(RNN)具有记忆,但这种记忆相对短暂,因此称为短期记忆。然而,LSTM引入了长期记忆的概念,使其不仅具有短期记忆,还具有长期记忆。因此,长短期记忆网络(LSTM)成为了循环神经网络的最著名和最成功的扩展之一。LSTM通过增强循环神经网络的学习能力,解决了速度消失等问题。它有助于确定哪些信息是有价值的,并将这些信息存储在长期记忆中,从而减轻了循环神经网络的学习难度。下面是LSTM神经网络的结构,相对于之前的循环神经网络,它更加复杂,但基本上仍然是链式结构,具有从t-1到t到t+1的链接和类数的输出。但其内部结构更加复杂,包括将信息传递到下一个状态的箭头。接下来,我们将详细解释LSTM的原理。
现在,让我们来深入了解LSTM网络的核心部分。
首先是细胞状态。它是一条水平线,从c(t-1)延伸到c(t),在这之间只有很少的分支。这确保了信息可以保持不变地传递到整个RNN。LSTM网络内部包含一种被称为"门"的结构,它用于控制是否删除或添加信息到细胞状态c。这些门可以有选择地决定哪些信息通过,是通过一些简单的层和激活函数操作实现的,其输出是介于0和1之间的值,代表了信息应该被保留的程度。
然后,在一个带有三个门的长短期记忆(LSTM)单元中,细胞状态保持良好。但是要讨论这一点并不容易。我们需要整合这些信息,然后考虑如何使LSTM网络具有长期记忆。这是因为细胞状态C相当于一个用于记录长期信息的账本。而原始的循环神经网络(RNN)则将其视为上一时刻的输入。RNN以这种方式具有短期和长期记忆。但是,对于长期记忆,我们需要一种特殊的机制,它类似于在账本中记录重要信息。
这种机制是LSTM中的门结构。关于门结构,有两种主要修改方式。首先,它们可以用于删除信息,就像在账本上划掉一部分内容,或者在其中写入新信息。这些修改操作对于长期记忆至关重要。再次强调,LSTM具有长短期记忆,其中短期记忆来自上一时刻的输入h(t-1),而长期记忆来自细胞状态C。
对于这个细胞状态C,我们需要执行操作,包括读取它,清除它,写入它,以及使用它。这些操作是必要的,以便在生成下一个时间步的输出时发挥作用,这是LSTM最核心的部分。
第一步,对于C来说,我们需要决定丢弃其中的哪些信息。也就是说,我们需要通过遗忘门来擦除一些内容。遗忘门的操作涉及查看h(t)、h(t-1)和x,然后生成一个介于0和1之间的向量。然后,将这个向量应用于细胞状态中的每个数字,以决定保留哪些信息,哪些需要被擦除。
第二步,我们需要确定要添加哪些信息。这些信息也来自h(t-1)和h(t),但是它们是通过输入门进行的操作,然后用于更新细胞态C(t)的一部分。这个过程使用数学公式来表示。
第三步是将旧的细胞状态C(t-1)更新为新的细胞状态C(t)。这个更新过程受到遗忘门的控制,以决定保留多少旧信息,并受到输入门的控制,以确定添加多少新信息。这也使用数学公式来表示。
第四步,根据h(t-1)和x来判断细胞状态的哪些特征应该输出,从而决定新的h(t)。这个过程涉及输出门和一个tanh层的计算,最终得到新的h(t)。
三、循环神经网络的应用
接下来,让我们讨论一下循环神经网络(RNN)的应用。循环神经网络主要用于处理序列数据的问题。与之相比,卷积神经网络(CNN)通常处理二维或三维数据。这种区别在自然语言处理领域尤为重要,因为自然语言的输入通常是有序的,前后文之间存在关联。
第一个应用领域是文本生成,RNN可以根据前后文来预测中间未知的词语,类似于阅读理解中的完形填空。
第二个应用是机器翻译,RNN可以将一种语言的文本转换成另一种语言,其中词语的顺序对翻译结果产生影响。这对于处理语序敏感的语言差异非常有用。
第三个领域是语音识别,RNN可以根据音频输入识别相应的文本内容。
第四个应用是生成图像描述,类似于将图像转化为文字描述,让计算机能够理解图像的内容。
第五个领域是视频标注,将视频分解成一系列图像,并使用RNN来描述每个图像的内容。这实际上将视频处理为序列数据。
通过这些应用案例,我们可以看到循环神经网络在处理序列数据方面的广泛用途。
本节回顾
通过本节的学习,我们学到了:
1、循环神经网络的概述
福环神经网络是一类以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接的递口神经网络
2、循环神经网络的结构及类别
一个典型的RNN网络包含一个输入x,一个输出h和一个神经网络单元A
类别:一对一、一对多、多对一、多对多
3、经典循环神经网络
长短期记忆网络(LSTM):增强活环神经网络的学习能力,对有价值的信息进行长期记忆,减小活环神经网络的学习难度
4、循环神经网络的应用
>文本生成、机器翻译、语音识别、生成图像描述,视频标记