循环神经网络

应用场景,很多问题具有时序性,自然语言处理、视频图像处理、股票交易信息等

RNN的模型结构

梯度消失与梯度爆炸

由于RNN在时间轴上展开,层数比较多

在RNN的梯度算法中,会出现权值W和激活函数的导数f`连乘的情况

所以当W不太大时,Wf`h和f`连乘回事梯度接近于0,出现梯度消失;当W很大时,Wf`连乘会使梯度接近于无穷大,出现梯度爆炸。

长距离依赖问题

RNN可以将之前处理的信息与当前节点联系起来,所以他可以处理序列问题,但是当序列过长时,由于梯度消失和梯度爆炸问题,队于T时刻来说,它产生的梯度在时间轴上向历史传播几层之后就消失了,根本就无法影响太遥远的过去。

RNN会忘记喝酒以前出现的信息,而只鞥你记住近期出现的信息,所以RNN很难有效处理长文本,梯度爆炸不是严重的问题,一版裁剪后的优化算法即可解决,比如Gradient clipping,通过LSTM(Long Short-Term Memory 长短时记忆网络)改进RNN结构,消除梯度消失。

普通RNN基本结构

传统RNN每一步的隐藏单元只是执行一个简单的tanh或ReLU操作。

LSTM网络

LSTM基本结构和RNN相似,主要不同是LSTM对隐含层进行了改进,在LSMT中,每个神经元相当于一个记忆细胞(Cell)

基本状态

LSTM的关键是细胞的状态,细胞的状态类似于传送带,直接在整个链路上运行,只有一些少量的线性交互

LSTM有通过精心设计的称作'门'的机构来去除或者增加信息到细胞状态的能力。

门是一种让信息选择式通过的方法,包含一个Sigmoid神经网络层和一个点乘操作。

Sigmoid层输出0到1之间的数值,描述每一部分有多少量可以通过,

0代表"不许任何量通过"

1代表"允许任何量通过"

LSTM拥有三个门,来保护和通知细胞的状态。

遗忘门:决定丢弃上一步的那些信息

改门会读取ht-1和xt,输出一个在0到1之间的数值给每个在细胞状态Ct-1中的数字。1表示完全保留

0表示完全舍弃。

输入门:决定加入那些信息

tanh层创建一个新的候选向量ct~,加到状态中。这里sigmoid层称"输入门层",起到一个缩放的作用,这两个信息产生对状态的更新。

形成新的细胞状态,1.旧的细胞状态Ct-1与ft相乘来丢弃一部分信息。2.再加上it*C他~(i是输入门),生成新的细胞状态Ct

输出门:决定输出那些信息

把Ct输给tanh函数,得到一个候选的输出值,运行一个Sigmoid层来确定细胞状态的那部分将输出出去。

LSTM相比RNN的有点

1.梯度下降法中,RNN的梯度求解是累乘的形式,由于LSTM的隐含层更复杂,LSTM在梯度求解时,式子是累加的形式,所以LSTM的梯度往往不会是一个接近于0的小值,缓解了梯度消失的问题

2.使用了门结构,解决了长距离依赖的问题

相关推荐
Java后端的Ai之路2 小时前
【AI大模型开发】-基于 Word2Vec 的中文古典小说词向量分析实战
人工智能·embedding·向量·word2vec·ai大模型开发
Lips6112 小时前
第五章 神经网络(含反向传播计算)
人工智能·深度学习·神经网络
gongfuyd2 小时前
《强化学习的数学原理》中文版第2章-第4章总结
人工智能
愚公搬代码2 小时前
【愚公系列】《AI+直播营销》032-主播的选拔和人设设计(主播人设打造的4个要素)
人工智能
love530love2 小时前
告别环境崩溃:ONNX 与 Protobuf 版本兼容性指南
人工智能·windows·python·onnx·stablediffusion·comfyui·protobuf
gorgeous(๑>؂<๑)2 小时前
【电子科大-李晶晶组-AAAI26】利用专用提示引导泛化视觉 - 语言模型
人工智能·语言模型·自然语言处理
程序员果子2 小时前
GraphRAG:让大模型在知识图谱中精准导航
人工智能·git·语言模型·aigc·知识图谱
Code-world-12 小时前
NVIDIA Isaac Sim 安装教程
linux·人工智能·ubuntu·强化学习·isaac sim