NLP实习面试准备-RNN专题(四)-LSTM-GRU

1. LSTM如何解决普通神经网络具有的长期依赖问题?

对于一般的循环神经网络,某一时刻的输出仅与当前时刻以及前几个时刻的输入和状态具有强相关性,随着时间序列长度的增加,序列中间隔很远的具有相关性的词汇无法通过网络学习到。即长期依赖问题。
LSTM(Long Short Time Memory)在原有网络的基础上加入了一个新的cell state。使得不同时刻具有了可变的连接权重。缓解了普通神经网络的梯度消失和梯度爆炸的问题。LSTM在每一时刻具有两个状态:hidden state(短期状态单元)和cell state(长期状态单元)。两种状态相互配合形成长短期记忆机制。
LSTM的核心思想是利用门控单元控制信号的传递。主要又输入门 i t i_t it, 遗忘门 f t f_t ft, 输出门 o t o_t ot。可以将之看做为三个向量,向量中的每个值都处于0~1之间。三个门控单元都由输入 x t x_t xt和上一时刻状态 h t − 1 h_{t-1} ht1以及参数矩阵计算得到。
得到三个门之后通过下面三个公式更新hidden state和cell state:
c ~ t = Tanh ( W c x t + U c h t − 1 + b c ) (1) \tilde{c}_t = \textbf{Tanh}(W_cx_t+U_ch_{t-1}+b_c) \tag1 c~t=Tanh(Wcxt+Ucht1+bc)(1)
c t = f t ⊙ c t − 1 + i t ⊙ c ~ t (2) c_t=f_t \odot c_{t-1}+i_t \odot \tilde{c}_t \tag2 ct=ftct1+itc~t(2)
h t = o t ⊙ Tanh ( c t ) (3) h_t=o_t \odot \textbf{Tanh}(c_t) \tag3 ht=otTanh(ct)(3)
总之LSTM改变了循环神经网络中信息和梯度的传播方式。解决了长期依赖问题。

2. GRU如何用两个门控单元来控制时间序列的记忆及遗忘行为?

GRU(Gated Recurrent Unit)是2014年提出的,相比一般的LSTM、GRU具有更少参数和计算量。
不同于LSTM,GRU只有一个隐藏状态单元 h t h_t ht,并且只有两个门控单元:重置门 r t r_t rt和更新门 z t z_t zt每个门控单元的输入包括当前时刻的序列信息以及上一时刻的状态信息。
r t = σ ( W r x t + U r h t − 1 ) (4) r_t=\sigma(W_rx_t+U_rh_{t-1}) \tag4 rt=σ(Wrxt+Urht1)(4)
z t = σ ( W z x t + U z h t − 1 ) (5) z_t=\sigma(W_zx_t+U_zh_{t-1}) \tag5 zt=σ(Wzxt+Uzht1)(5)
其中重置门决定了计算新的隐藏状态时是否忽略上一时刻的隐藏状态单元。更新门则是控制当前隐藏状态单元被新的隐藏状态更新的程度。
h ~ t = Tanh ( W h x t + U h ( r t ⊙ h t − 1 ) ) (6) \tilde {h}_t=\textbf{Tanh}(W_hx_t+U_h(r_t\odot h_{t-1})) \tag6 h~t=Tanh(Whxt+Uh(rtht1))(6)
h t = ( 1 − z t ) h t − 1 + z t h ~ t (7) h_t=(1-z_t)h_{t-1}+z_t \tilde{h}_t \tag 7 ht=(1zt)ht1+zth~t(7)
GRU相对于LSTM具有更好的性能以及更快的收敛速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值