深度学习笔记------循环神经网络RNN

本文介绍了循环神经网络(RNN)的基础概念,包括马尔可夫性、马尔可夫链,以及RNN的模型、核心计算、参数共享、训练过程。RNN通过隐藏状态记录历史信息,实现时序相关的计算。然而,RNN在长序列学习中存在梯度消失和爆炸的问题,导致捕捉长期依赖困难。
摘要由CSDN通过智能技术生成

抽象模型

马尔可夫性

这是一个概率论的概念,即:
P ( x t + 1 ∣ . . . , x t − 1 , x t ) = P ( x t + 1 ∣ x t ) P(x_{t+1}|...,x_{t-1},x_{t})=P(x_{t+1}|x_{t}) P(xt+1...,xt1,xt)=P(xt+1xt)
通俗的解释就是关于时间的事件序列x,其发生的状态的情况仅仅与当前时刻的事件有关与更早的事件是无关的。这一性质描述了一个随机过程无记忆的特性。

马尔可夫链

上面定义无记忆的过程也定义了马尔可夫链,也就是对应的 x t x_t xt为离散时间马尔可夫链,对应的下一时间的状态仅仅与当前的状态相关,相关量的数量为1,如果推广一下到2,3,4,5…于是有当下一时间的状态与过去发生过的两个时间序列相关为:
P ( x 3 ∣ x 0 , x 1 , x 2 ) = P ( x 3 ∣ x 1 , x 2 ) P(x_3|x_0,x_1,x_2)=P(x_3|x_1,x_2) P(x3x0,x1,x2)=P(x3x1,x2)
P ( x 1 , x 2 , x 3 , x 4 ) = P ( x 1 ) P ( x 2 ∣ x 1 ) P ( x 3 ∣ x 1 , x 2 ) P ( x 4 ∣ x 2 , x 3 ) P(x_1,x_2,x_3,x_4)=P(x_1)P(x_2|x_1)P(x_3|x_1,x_2)P(x_4|x_2,x_3) P(x1,x2,x3,x4)=P(x1)P(x2x1)P(x3x1,x2)P(x4x2,x3)
其对应为二阶的马尔可夫链,同样更大阶数的马尔可夫链也是相同的方法推导。

最终我们获得了一个通过之前多个时间序列来推导下一时间序列的抽象模型。

循环神经网络

与全连接神经网络不同,RNN体现了一种时间相关性,而其时间相关性的实现便是通过隐藏状态体现,隐藏状态记录了之前时间步的信息,之后传递到下一时间步参与运算,如此往后,循环进行,以此实现一个时序相关的计算过程。

模型

循环神经网络的结构具有很高的重复性,相比于卷积与全连接其显得比较规整,也正因为规整与重复的结构才对应了相应的循环运算。

图中的x为输入,h为产生的隐藏状态,每个单元之间的箭头都是上一单元的隐藏状态,注意 x t x_t xt是某一时间的状态序列,可能是单变量的一个值,也可能是多变量的数据,描述时间点的相关信息。

核心

其中核心的计算就是关于隐藏变量的计算过程,这里与一般的神经网络进行类比:
全连接中的运算是一个线性运算之后进行一个激活函数
H = ϕ ( X W i + b i ) H=\phi(XW_i+b_i) H=ϕ(XWi+bi) W W W为对应层的参数, b b b为对应的偏置量, ϕ \phi ϕ为相应的激活函数。
RNN中的计算过程多了一个隐藏状态的权重计算:
H t = ϕ ( X t W x h + H t − 1 W h h + b h ) H_t=\phi(X_tW_{xh}+H_{t-1}W_{hh}+b_h) Ht=ϕ(XtWxh+Ht1Whh+bh),对应的x是一个时间点的信息, H t − 1 H_{t-1} Ht1为上一时间点的状态信息, b h b_h bh为对应的偏置量, ϕ \phi ϕ为相应的激活函数, W x h , W h h W_{xh},W_{hh} Wxh,Whh为隐藏层的参数, b h b_h b<

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值