随笔 - 27  文章 - 0  评论 - 0  阅读 - 1644

RNN循环神经网络&LSTM长短期记忆网络&GRU

个人学习使用,内容来源于网络,侵权删

1. 基本原理

传统网络的结构:

RNN的结构:

使用场景:

  • 语音识别,要按顺序处理每一帧的声音信息,有些结果需要根据上下文进行识别;

  • 自然语言处理,要依次读取各个单词,识别某段文字的语义

这些场景都有一个特点,就是都与时间序列有关,且输入的序列数据长度是不固定的。
这就需要有一种能力更强的模型:该模型具有一定的记忆能力,能够按时序依次处理任意长度的信息。这个模型就是循环神经网络(RNN)。

2. RNN模型展开

W不变,是每个时间点之间的权重矩阵,RNN之所以可以解决序列问题,是因为它可以记住每一时刻的信息,每一时刻的隐藏层不仅由该时刻的输入层决定,还由上一时刻的隐藏层决定,公式如下,其中Ot代表t时刻的输出, St代表t时刻的隐藏层的值:

Ot=g(VSt)

St=f(UXt+WSt1)

以上式子忽略了偏置项,f,g为激活函数。St的值不仅仅取决于Xt还取决于St1,在整个训练过程中,每一时刻所用的都是同样的W

3. LSTM模型
LSTM是RNN的变种,RNN每一个处理单元如下,

而LSTM则是如下,

LSTM计算过程如下,

其中,

Z=tanh(W[xt,ht1])

Zi=σ(Wi[xt,ht1])

Zf=σ(Wf[xt,ht1])

Zo=σ(Wo[xt,ht1])

以上同样忽略了偏置项。

总体过程如上,it,ft,ot分别对应Zi,Zf,Zo,如上图所示,LSTM提供门控机制,这三个参数为三个门通过σ激活函数映射到01之间,然后决定之前内容Ct1与如今内容C~t之间的比例,以此达到长期记忆的目的。

4. GRU模型

GRU输入输出的结构与普通的RNN相似,其中的内部思想与LSTM相似。

与LSTM相比,GRU内部少了一个”门控“,参数比LSTM少,但是却也能够达到与LSTM相当的功能。考虑到硬件的计算能力和时间成本,因而很多时候我们也就会选择更加”实用“的GRU。

参考来源:
大话循环神经网络
史上最详细循环神经网络讲解
Understanding LSTM Networks
深度学习知识点全面总结
人人都能看懂的GRU

posted on   zhou-snaker  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示