循环神经网络

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

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

相关推荐
Omics Pro1 分钟前
「自兹以往」动物肠道微生物组
数据库·人工智能·机器学习·语言模型·自然语言处理
oddsand17 分钟前
pgvector 三大相似度算法
人工智能·算法·机器学习
2601_955781989 分钟前
私有化本地 AI,Windows 平台 OpenClaw 功能详解与配置
人工智能·开源·github·open claw
红色星际10 分钟前
Momenta赴美招揽AI人才
人工智能
贺国亚11 分钟前
Spring-AI与LangChain4j
java·人工智能·spring
沫儿笙11 分钟前
发那科机器人氩弧焊节气装置
人工智能·机器人
Cloud_Shy61812 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式
拾年27514 分钟前
别调 BERT 了:我用 Prompt 做了套 NLP 系统,20 分钟搞定
前端·人工智能
装不满的克莱因瓶36 分钟前
学习 LLM 的函数回调及格式化输出,让 LLM 拥有更强的能力
人工智能·ai·大模型·llm·agent·智能体
涤生大数据38 分钟前
从 ETL 到 Agent:AI数据工程如何搭建企业级“数据工厂“
数据仓库·人工智能·etl