深度学习笔记之循环神经网络(三)循环神经网络思想

本文介绍了循环神经网络(RNN)的思想,从潜变量自回归模型的角度出发,解释了RNN如何通过隐藏层的计算来描述序列信息的表示。同时,详细讨论了困惑度作为衡量语言模型优劣性的指标,以及在RNN中如何使用交叉熵损失函数计算困惑度。
摘要由CSDN通过智能技术生成

深度学习笔记之循环神经网络——循环神经网络思想

引言

上一节介绍了基于统计算法的语言模型。本节将介绍基于神经网络的序列模型——循环神经网络

回顾:潜变量自回归模型

关于潜变量自回归模型,它的概率图结构表示如下:
潜变量自回归模型——概率图结构
这里仅观察 t t t时刻 t + 1 t+1 t+1时刻随机变量的变化情况。它的变化过程可划分为两个部分

  • x t − 1 , h t − 1 ⇒ h t x_{t-1},h_{t-1} \Rightarrow h_{t} xt1,ht1ht过程。其概率图结构表示为:
    过程1——概率图结构
    对应的因子分解可表示为: P ( h t ∣ h t − 1 , x t − 1 ) \mathcal P(h_t \mid h_{t-1},x_{t-1}) P(htht1,xt1)。如果使用自回归模型去描述 h t h_t ht后验概率,它可以表示为:
    就是以 h t − 1 , x t − 1 h_{t-1},x_{t-1} ht1,xt1作为模型输入,其输出结果对 h t h_t ht的分布进行描述。 λ \lambda λ为模型参数。
    P ( h t ∣ h t − 1 , x t − 1 ) = P [ h t ∣ f ( h t − 1 , x t − 1 ; λ ) ] \mathcal P(h_t \mid h_{t-1},x_{t-1}) = \mathcal P [h_t \mid f(h_{t-1},x_{t-1};\lambda)] P(htht1,xt1)=P[htf(ht1,xt1;λ)]
  • x t − 1 , h t ⇒ x t x_{t-1},h_{t} \Rightarrow x_{t} xt1,htxt过程。同理,其概率图结构表示为:
    过程2——概率图结构
    同理,它的因子分解表示为: P ( x t ∣ h t , x t − 1 ) \mathcal P(x_t \mid h_{t},x_{t-1}) P(xtht,xt1),对该条件概率进行建模,对应后验概率可表示为:
    P ( x t ∣ h t , x t − 1 ) = P [ x t ∣ f ( h t , x t − 1 ; η ) ] \mathcal P(x_t \mid h_t,x_{t-1}) = \mathcal P[x_t \mid f(h_t,x_{t-1};\eta)] P(xtht,xt1)=P[xtf(ht,xt1;η)]

最终通过对上述两步骤的交替执行,从而完成对序列信息的表示。也就是说,在遍历到最后一个随机变量 x T x_{\mathcal T} xT,得到相应的特征结果:
P ( h T + 1 ∣ h T , x T ) = P [ h T + 1 ∣ f ( h T , x T ; θ ) ] \mathcal P(h_{\mathcal T + 1} \mid h_{\mathcal T},x_{\mathcal T}) = \mathcal P[h_{\mathcal T + 1} \mid f(h_{\mathcal T},x_{\mathcal T};\theta)] P(hT+1hT,xT)=P[hT+1f(hT,xT;θ)]

循环神经网络思想

观察上述步骤,无论是 P ( h t ∣ h t − 1 , x t − 1 ) \mathcal P(h_t \mid h_{t-1},x_{t-1}) P(htht1,xt1)还是 P ( x t ∣ h t , x t − 1 ) \mathcal P(x_t \mid h_t,x_{t-1}) P(xtht,xt1),它们都属于推断过程。而循环神经网络 ( Recurrent Neural Network ) (\text{Recurrent Neural Network}) (Recurrent Neural Network),就是将上述推断过程通过神经网络的方式描述出来。

循环神经网络隐藏层计算图展开结构表示如下:
循环神经网络——展开图结构
该隐藏层结构的前馈计算过程表示为如下形式:
t t t时刻到 t + 1 t+1 t+1时刻的计算过程为例,并且仅包含 1 1 1个隐藏层。
{ h t + 1 = σ ( W h t ⇒ h t + 1 ⋅ h t + W x t ⇒ h t + 1 ⋅ x t + b h t + 1 ) O t + 1 = ϕ ( W h t + 1 ⇒ O t + 1 ⋅ h t + 1 + b O t + 1 ) \begin{cases} h_{t+1} = \sigma(\mathcal W_{h_t \Rightarrow h_{t+1}} \cdot h_{t} + \mathcal W_{x_t \Rightarrow h_{t+1}} \cdot x_t + b_{h_{t+1}}) \\ \mathcal O_{t+1} = \phi(\mathcal W_{h_{t+1} \Rightarrow \mathcal O_{t+1}} \cdot h_{t+1} + b_{\mathcal O_{t+1}}) \\ \end{cases} { ht+1=σ(Whtht+1ht+Wxtht+1xt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静的喝酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值