循环神经网络

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

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.使用了门结构,解决了长距离依赖的问题

相关推荐
jerrywus30 分钟前
为什么每个程序员都应该试试 cmux:AI 加持的终端效率革命
前端·人工智能·claude
孟祥_成都43 分钟前
AI 术语满天飞?90% 的人只懂名词,不懂为什么!
前端·人工智能
机器之心1 小时前
高德纳:「震惊!震惊!」Claude破解《计算机程序设计艺术》难题
人工智能·openai
石臻臻的杂货铺1 小时前
GPT-5.4 发布:Computer Use 超越人类,Tool Search 让 Agent 用工具省了一半 token
人工智能
gustt1 小时前
使用 LangChain 构建 AI 代理:自动化创建 React TodoList 应用
人工智能·llm·agent
碳基沙盒1 小时前
OpenClaw 浏览器自动化配置完全指南
人工智能
Baihai_IDP2 小时前
在 Anthropic 的这两年,我学会了 13 件事
人工智能·程序员·llm
IT_陈寒2 小时前
JavaScript这5个隐藏技巧,90%的开发者都不知道!
前端·人工智能·后端
IvanCodes3 小时前
Anthropic突然开火:中国大模型被指大规模蒸馏攻击
人工智能·llm
风象南3 小时前
AI 写代码效果差?大多数人第一步就错了
人工智能·后端