当前位置:   article > 正文

长短时记忆网络LSTM_g(i_tv,h_v)=蟽(w_g^t鈭橻i_tv,h_v,i_tv-h_v,i_tv鈭楬_v])+

g(i_tv,h_v)=蟽(w_g^t鈭橻i_tv,h_v,i_tv-h_v,i_tv鈭楬_v])+b_g

网络介绍
长短时记忆网络(Long short time memory network, LSTM)是RNN的重要变体,解决了RNN无法长距离依赖的问题,同时缓了RNN的梯度爆炸问题。LSTM由遗忘门、输入门、重置门和输出门四部分组成,当中使用了 t a n h tanh tanh s i g m o i d sigmoid sigmoid作为激活函数。

模型概述
使用记忆单元 C ~ t {{\tilde{C}}_{t}} C~t解决长距离依赖和梯度爆炸的问题,使用 C t C_t Ct避免梯度消失的问题。在 LSTM中,将文本看成一个文本序列,上一个过程处理的结果经过输入门进行输入,然后通过遗忘门决定哪些信息需要丢弃,遗忘门的取值范围介于0-1之间,随着信息的输入量大小而变化,并将处理后的信息融入到C中,当输入内容很大的时候,激活函数的值为1,则历史信息会原封不动的传递到下一个阶段;输入门中经过激活函数处理后的 i t i_t it和记忆单元计算后的数据传递到C中,实现对信息的更新,使得向下传递的信息进一步增多;输出门对遗忘门和输入门更新后的信息做一次激活,再将激活后的信息与 o t o_t ot进行矩阵运算,得到当前单元隐藏层的输出。图像结构:

在这里插入图片描述

其中 h h h(t-1)为上一个单元隐藏层的输出; h t {{h}_{t}} ht为当前单元隐藏层的输出; x t {{x}_{t}} xt为当前输入;σ为 sigmoid函数 f t {{f}_{t}} ft为遗忘门输出; i t {{i}_{t}} it C t {{C}_{t}} Ct的乘积为输入门输出; o t {{o}_{t}} ot为输出门输出。

计算过程分析:

遗忘门
首先,遗忘门决定哪些内容需要遗弃,此时使用的激活函数是sigmoid,输出0~1之间的值,0代表不允许通过,1代表允许通过

f t = σ ( W f ∙ [ h t − 1 , x t ] + b f ) f_t=\sigma (W_f \bullet [h_{t-1},x_t]+b_f) ft=σ(Wf[ht1,xt]+bf)

然后确定哪些信息可以存放在cell单元中。这个过程分为三个步骤。首先,输入门使用sigmoid控制哪些信息可以输入,以确定哪些信息需要更新;然后使用双曲正切tanh函数创建一个候选值向量 C ~ t {{\tilde{C}}_{t}} C~t;最后更新原来的cell状态, C t − 1 {{C}_{t-1}} Ct1变为 C t {{C}_{t}} Ct。将原始的状态 C t − 1 {{C}_{t-1}} Ct1 f t {{f}_{t}} ft做相乘,确定舍弃的信息,然后与输入的 i t {{i}_{t}} it和候选值向量相加,得到新的候选值 C t {{C}_{t}} Ct

输入门

i t = σ ( W i ∙ [ h t − 1 , x t ] + b i ) i_t=\sigma (W_i\bullet [h_{t-1},x_t]+b_i) it=σ(Wi[ht1,xt]+bi)
C ~ t = t a n h ( W c [ h t − 1 , x t ] + b c ) \tilde{C}_{t}=tanh(W_c[h_{t-1},x_t]+b_c) C~t=tanh(Wc[ht1,xt]+bc)
C t = f t C t − 1 + i t C ~ t C_t=f_t C_{t-1}+i_t\tilde{C}_t Ct=ftCt1+itC~t

最后使用输出门确定输出哪些值。首先通过sigmoid函数决定输出cell单元的哪些部分,然后将cell状态使用双曲正切的tanh做激活,再将激活后的值与sigmoid门的输出相乘,得到最终的输出 h t {{h}_{t}} ht

输出门

O t = σ ( W o ∙ [ h t − 1 , x t ] + b o ) O_{t}=\sigma (W_o\bullet [h_{t-1},x_t]+b_o) Ot=σ(Wo[ht1,xt]+bo)
h t = O t t a n h ( C t ) h_t={{O}_{t}}tanh\left( {{C}_{t}} \right) ht=Ottanh(Ct)

其中 h t − 1 {{h}_{t-1}} ht1为上一个单元输出; h t {{h}_{t}} ht为当前单元输出; x t {{x}_{t}} xt为当前输入; σ \sigma σ为sigmoid函数; f t {{f}_{t}} ft为遗忘门输出; i t {{i}_{t}} it C ~ t {{\tilde{C}}_{t}} C~t的乘积为输入门输出; o t {{o}_{t}} ot为输出门输出。 W f {{W}_{f}} Wf b f {{b}_{f}} bf分.别为遗忘门的权重矩阵和偏置; W i {{W}_{i}} Wi b i {{b}_{i}} bi分别为输入门的权重矩阵和偏置; C ~ t {{\tilde{C}}_{t}} C~t为候选向量; W c {{W}_{c}} Wc b c {{b}_{c}} bc分别为输出门的权重矩阵和偏置; W o {{W}_{o}} Wo b o {{b}_{o}} bo分别是计算单元的权重矩阵和偏置;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/449670
推荐阅读
相关标签
  

闽ICP备14008679号