4第四章循环神经网络-1_第1页
4第四章循环神经网络-1_第2页
4第四章循环神经网络-1_第3页
4第四章循环神经网络-1_第4页
4第四章循环神经网络-1_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

循环神经网络目录CONTENTSRNN的结构与原理01LSTM网络与GRU02双向RNN03时序数据处理案例04本章小结05DEEPSEEKYOUR

LOGO

人工智能语言模型RNN的结构与原理AIPARTONE循环神经网络(RNN)简介为什么有前馈神经网络,CNN(卷积神经网络),还要RNN?传统神经网络(包括CNN),输入和输出都是相互独立的。RNN引入“记忆”的概念循环两个字来源于其每个元素都执行相同的任务;但是输出依赖于输入和“记忆”。循环神经网络(RNN)简介循环神经网络(RecurrentNeuralNetworks,RNN)循环神经网络是一类具有短期记忆能力的神经网络。循环神经网络通过使用带自反馈的神经元,能够处理任意长度的序列。循环神经网络比前馈神经网络更加符合生物神经网络的结构。循环神经网络已经被广泛应用于语音识别、语言模型以及自然语言生成等任务。循环神经网络(RNN)简介循环神经网络的发展史HopfieldnetworksJ.Hopfield19821986JordanNetworkElmanNetwork1990

J.ElmanBPTTP.WerbosM.JordanHochreiter&Schmidhuber

LSTM1997Schuster&PaliwalBRNNA.GravesNeuralturingmachine2014Cho,etalGRUStackRNN2015Joulin&MikolovRNN的结构让神经网络具有循环的结构,通过反馈机制将前一时刻的输出传递到当前时刻,形成“记忆”或者“状态”。这样,当处理一组数据时,RNN不仅能考虑当前输入,还能考虑之前的输入信息。RNN的核心思想输入层接收当前时刻的数据。隐藏层通过当前输入和上一时刻的隐藏状态计算当前的隐藏状态。输出层根据隐藏状态产生当前时刻的输出。具体来说,RNN的结构包括以下几个部分:RNN的结构RNN的结构如图所示:输入序列x1,x2,...,xT

,xT代表时间步

t上的输入。RNN在当前时刻

t的隐藏状态

ht是通过上一时刻的隐藏状态ht-1(或初始隐藏状态h0

)和当前输入xT计算得到的。在输出阶段,RNN会根据当前时刻的隐藏状态ht生成预测结果。RNN的结构隐藏状态

ht是通过上一时刻的隐藏状态ht-1(或初始隐藏状态h0

)和当前输入xT计算得到的。公式如下:其中,Wh

和Wx

是学习的权重矩阵,b

是偏置项。f是激活函数(常用的激活函数有tanh和ReLU),是RNN在时间步t的最终输出结果。当

f为

tanh时,ht计算如下:RNN的结构在输出阶段,RNN会根据当前时刻的隐藏状态ht生成预测结果,公式如下:其中,yt

是当前时刻的输出Wy是权重矩阵,c是偏置项。词表的构造12词频词表通常包含那些频繁出现的单词,罕见的单词可能被忽略,或者因词频阈值限制,未加入词表。语料的规模包含更多文本的语料可能会对应更大的词表。34特殊符号词表中通常还包含一些特殊符号,例如:<PAD>(填充符号)、<UNK>(未知词符号)、<START>(序列开始符号)、<END>(序列结束符号)等。分词方式在中文中,分词和处理不同的字符(如字、词或子词)会影响词表的构建。在英语中,通常按单词来构建词表。词表是指在自然语言处理中,模型可以理解和处理的所有单词或符号的集合。每个单词或符号都会被分配唯一的索引,模型通过这些索引来引用单词或符号。词表的大小通常受到以下几个因素的影响。词表的构造词表的作用将输入文本映射为数值表示:在训练过程中,输入文本需要被转换为数值,以便计算机处理。通过词表,每个单词可以被映射为唯一的整数或向量表示(通常是词嵌入)。处理未知词:如果在推理时模型遇到一个未见过的单词,它可以使用特殊符号<UNK>来表示这个未知词。词表的构造假设有一个非常简单的文本数据集,包括以下句子。“我爱编程”。“我学习AI”。则构建的词表可能如下所示。 “我”→0。 “爱”→1。 “编程”→2。 “学习”→3。 “AI”→4。 <UNK>→5。构造词表的示例代码如右所示。RNN的原理假设我们想要训练RNN来完成一个任务:处理一个简单的文本序列:“我爱学习”,并预测下一个单词。首先引入具体的维度来表示输入和隐藏状态。将每个单词表示为一个词向量,假设词向量的维度是d。例如,d=3,即每个单词将通过一个3维向量来表示。在本任务中,每个单词的词向量为xt,其中d=3,表示每个单词是一个3维向量。词向量维度(输入维度)假设隐藏层的维度为h。例如,h=4,表示每个时间步的隐藏状态是一个4维向量。初始隐藏状态h0

通常初始化为零向量:h0=[0,0,0,0]。隐藏状态维度设定输出的维度为o。假设输出是预测下一个单词的概率分布,输出维度是词表的大小。如果词表中有5个单词,那么输出维度o=5。输出维度RNN的原理如图所示,每个时间步,RNN根据当前输入

xt和上一时刻的隐藏状态ht-1

来更新当前的隐藏状态

ht,每个时间步的输出yt

是由当前时刻的隐藏状态ht计算出来的。对于每个时间步t,输出

yt

表示词表上各单词的未归一化得分(logits),经过Softmax后可得到的概率分布。随着时间步的增加,RNN不断更新隐藏状态,记住之前的输入信息,并将其用于预测下一个单词或做出其他决策。RNN的应用由于RNN能够处理序列数据,因此它广泛应用于以下几个领域。自然语言处理:RNN能够处理文本中的上下文关系,用于机器翻译、语音识别、情感分析等。时间序列预测:RNN被用来分析股票价格、气象数据、传感器数据等时间序列数据。语音识别:RNN在处理语音信号的过程中,能够记住过去的语音信息,从而更好地识别连续语音。RNN的局限性尽管RNN很强大,但它在训练过程中存在一些问题常见的问题是梯度消失和梯度爆炸。具体而言,随着时间步的增加,梯度在反向传播时可能会不断减小,导致模型无法有效学习到长期的依赖关系,这意味着RNN在处理长序列时效果较差。梯度也可能在反向传播过程中变得非常大,导致模型训练不稳定。尽管传统的RNN存在梯度消失和爆炸问题,但通过LSTM网络和GRU等改进结构,RNN在很多实际应用中取得了显著的成果。LSTM网络与GRUAIPARTTWOLSTM网络RNN可以处理具有时间顺序的输入数据,例如文本、音频或视频。然而,传统的RNN在处理较长的序列时,会遇到梯度消失和梯度爆炸问题,导致网络无法有效地学习长期依赖关系。

LSTM(LongShortTermMemory,长短期记忆递归神经网络)是一种特别的RNN结构,旨在缓解标准RNN在处理长序列时遇到的梯度消失和梯度爆炸问题。它在处理序列数据时非常有效,尤其是在需要保持长时间记忆的任务中,例如自然语言处理、时间序列预测、语音识别等。传统RNN直观图LSTM网络LSTM网络通过引入记忆单元(MemoryCell),能够有效地捕捉长期依赖关系。如图所示,对于LSTM网络而言,当前时刻t的隐藏状态ht是通过前一时刻的隐藏状态ht-1

和当前输入xt在记忆单元里计算得到的。LSTM网络的关键在于其门控机制:遗忘门(ForgetGate)、输入门(InputGate)和输出门(OutputGate)。这些门用于控制记忆单元状态,决定哪些信息应该被记住,哪些信息应该被丢弃,哪些信息应该被更新。LSTM网络LSTM网络主要包含以下几个部分。(1)记忆单元状态:LSTM网络的核心部分,类似于“长时记忆”,负责存储信息。它在时间步之间传递,并且通过门控机制控制信息的更新。(2)遗忘门:决定当前记忆单元中哪些信息需要被丢弃。(3)输入门:决定哪些新的信息需要加入记忆单元。(4)输出门:决定当前时刻的输出值,基于当前记忆单元和输入数据。LSTM网络遗忘门如图所示,它通过当前输入

xt和前一时刻的隐藏状态ht-1

计算一个值,输出一个介于0和1之间的向量,表示应该丢弃多少记忆。公式为其中,σ

是Sigmoid激活函数,输出在0到1之间;Wf

和bf是权重矩阵和偏置项;[ht-1,xt]是前一时刻的隐藏状态和当前输入的拼接;ft是遗忘门的输出,决定了记忆单元Ct-1中的信息保留多少。LSTM网络输入门

LSTM网络更新记忆单元

LSTM网络输出门如图所示,输出门决定当前时刻的隐藏状态ht,它是基于更新后的记忆单元

Ct

和当前输入

xt

计算的。公式为其中,

Ot是输出门的控制信号,决定了记忆单元中哪些部分会影响最终输出;ht

是当前时刻的隐藏状态,表示模型的输出。LSTM网络LSTM的主要优势如下:LSTM通过记忆单元和门控机制,能够有效地存储和更新信息,从而捕捉到长期依赖关系。捕捉长期依赖关系LSTM在训练时有效地缓解了梯度消失问题,特别是在处理长序列时。缓解梯度消失问题LSTM可以灵活地在时间序列中记住有用的信息,并忘记无用的信息,因此适用于各种与序列数据有关的任务,如机器翻译、文本生成、时间序列预测等。

灵活性高GRUGRU(GatedRecurrentUnit,门控循环单元)

是RNN的一种变体,由Cho等人于2014年提出。GRU的设计目标是简化LSTM网络复杂的结构,同时保持与其相近的性能。它保留了LSTM网络的核心思想,通过门控机制来控制信息流动,缓解了RNN面临的梯度消失问题。此外,GRU使用了更简单的结构,更适合一些对计算资源要求较高的任务。GRUGRU主要依赖以下两个门来控制信息流动。重置门(ResetGate):控制遗忘多少过去的信息。更新门(UpdateGate):控制保留多少过去的信息,并决定当前时刻的新信息如何更新到隐藏状态。GRU重置门通过当前输入xt

和上一时刻的隐藏状态

ht-1

来计算一个值,范围在0到1之间:其中,

rt

是重置门的输出,表示遗忘程度,值越接近0,表示遗忘更多过去的信息;值越接近1,表示保留更多过去的信息。Wr

br分别表示权重矩阵和偏置项。σ是Sigmoid函数,将输出限制在[0,1]。重置门决定了上一时刻的隐藏状态ht-1

中哪些信息对当前时刻是无用的,从而减少不必要的信息干扰。GRU更新门更新门的作用是控制隐藏状态的更新,决定当前时刻的隐藏状态ht中有多少信息来自上一时刻、多少信息来自当前时刻。其中,zt

是更新门的输出,表示信息更新程度,值越接近0,表示更倾向于保留过去的信息;值越接近1,表示更倾向于引入新的信息。Wz和

bz分别表示权重矩阵和偏置项。更新门控制了信息的“平衡”,帮助网络在需要时记住长期依赖关系,同时允许加入新信息。GRU候选隐藏状态通过重置门rt的控制,将上一时刻的隐藏状态ht-1和当前输入

xt结合,生成一个新的候选隐藏状态。其中,rt•ht-1是通过重置门控制后的上一隐藏状态,Wh

和bh

分别表示权重矩阵和偏置项,tanh函数将值限制在[−1,1]。候选隐藏状态表示当前时刻根据输入和部分过去信息计算出的新内容。GRU隐藏状态更新

GRUvsLSTMGRU只有两个门(重置门和更新门),没有单独的记忆单元,这使得GRU的计算复杂度比LSTM网络更低,训练速度更快。在一些任务中,GRU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论