荣泰建设集团网站广告视频
长短记忆神经网络定义
长短记忆神经网络(Long-short term memory, LSTM)是一种特殊的RNN结构。该神经网络可以有效保留历史信息,实现对文本的长期依赖信息进行学习。
关键问题:控制长期状态信息
解决方法:门控开关
- 门的定义:使用门(Gate)实现对图1中开关的控制。所谓的门,即全连接层的一个神经元,如图2所示。门的激活有两种形式:sigmodsigmodsigmod和tanhtanhtanh
- 门控实现:LSTM网络由输入门(inputgate)(input \ gate)(input gate)、遗忘门(forgetgate)(forget \ gate)(forget gate)、输出门(outputgate)(output \ gate)(output gate)和一个记忆单元(cell)(cell)(cell)来实现历史信息的更新和保留,如图3所示。
-
门限开关控制
遗忘门ftf_tft:决定保留多少上一时刻单元状态信息ct−1c_{t - 1}ct−1到当前时刻的记忆单元ctc_{t}ct中。
ft=sigmoid(Wf⋅[at−1,xt]+bf).{f_t} = sigmoid\left( {{W_f} \cdot \left[ {{a_{t - 1}},{x_t}} \right] + {b_f}} \right).ft=sigmoid(Wf⋅[at−1,xt]+bf).
输入门iti_tit:决定保留多少当前时刻的输入信息xtx_txt到当前时刻的记忆单元ctc_{t}ct中。
it=sigmoid(Wi⋅[at−1,xt]+bi).{i_t} = sigmoid\left( {{W_i} \cdot \left[ {{a_{t - 1}},{x_t}} \right] + {b_i}} \right).it=sigmoid(Wi⋅[at−1,xt]+bi).
输出门ot{o_{t}}ot:决定控制多少当前时刻的记忆单元ctc_{t}ct的输出值ot{o_t}ot。
ot=sigmoid(Wo⋅[at−1,xt]+bo).{o_t} = sigmoid\left( {{W_o} \cdot \left[ {{a_{t - 1}},{x_t}} \right] + {b_o}} \right).ot=sigmoid(Wo⋅[at−1,xt]+bo). -
状态更新
当前时刻cellcellcell候选状态值cin{c_{in}}cin(中间状态):
cin=tanh(Wc⋅[at−1,xt]+bc).{c_{in}} = \tanh \left( {{W_c} \cdot \left[ {{a_{t - 1}},{x_t}} \right] + {b_c}} \right).cin=tanh(Wc⋅[at−1,xt]+bc).
当前时刻长期状态值ct{c_t}ct更新:
ct=ft⋅ct−1+it⋅cin.{c_t} = {f_t} \cdot {c_{t-1}} + {i_t} \cdot {c_{in}}.ct=ft⋅ct−1+it⋅cin. -
当前时刻输出值
当前时刻LSTM单元的输出值at{a_{t}}at。
at=ot⋅tanh(ct).{a_t} = {o_t} \cdot \tanh \left( {{c_t}} \right).at=ot⋅tanh(ct).