【深度学习】RNN、GRU、LSTM

作者:LogM

本文原载于 https://segmentfault.com/u/logm/articles ,不允许转载~

本文为旧博客文章,数学公式显示不正常,请至 https://segmentfault.com/a/1190000019687652 查看。

1. RNN

$$H_t = \phi(W_{xh}X_t + W_{hh}H_{t-1} + b_h)$$

$$O_t = W_{hq}H_t + b_q$$

其中,$\phi$ 为激活函数。

RNN 容易出现"梯度爆炸"和"梯度衰减",应对梯度衰减的方式是使用 GRU 或 LSTM,应对梯度爆炸的方式是"裁剪梯度":
$$min(\frac{\theta}{||g||})g$$
其中,$g$ 为求得的梯度,限制梯度的 $L_2$ 范数的值不超过 $\theta$。

RNN

2. GRU

  • 重置门:

$$R_t = \sigma(W_{xr}X_t + W_{hr}H_{t-1} + b_r)$$

  • 更新门:

$$Z_t = \sigma(W_{xz}X_t + W_{hz}H_{t-1} + b_z)$$

  • 候选隐状态:

$$\tilde{H_t} = tanh[W_{xh}X_t + W_{hh}(R_t \odot H_{t-1}) + b_h]$$

  • 隐状态:

$$H_t = Z_t \odot H_{t-1} + (1-Z_t) \odot \tilde{H_t}$$

其中,$\sigma$ 为 sigmoid 函数,$\odot$ 表示 element-wise 乘法。

GRU

3. LSTM

  • 输入门:

$$I_t = \sigma(W_{xi}X_t + W_{hi}H_{t-1} + b_i)$$

  • 遗忘门:

$$F_t = \sigma(W_{xf}X_t + W_{hf}H_{t-1} + b_f)$$

  • 输出门:

$$O_t = \sigma(W_{xo}X_t + W_{ho}H_{t-1} + b_o)$$

  • 候选记忆细胞:

$$\tilde{C_t} = tanh(W_{xc}X_t + W_{hc}H_{t-1} + b_c)$$

  • 记忆细胞:

$$C_t = F_t \odot C_{t-1} + I_t \odot \tilde{C_t}$$

  • 隐状态:

$$H_t = O_t \odot tanh(C_t)$$

LSTM

4. 参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值