Long short term memory 郭琦鹏 qpguo12@fudan.edu.cn
Show and tell
神经元(感知机) net 𝑛𝑒𝑡 𝑥 = 𝑊∗𝑥 +𝑏 f w y x 𝑦=𝑓(𝑛𝑒𝑡 𝑥 )
BP(Back Propagation) f 𝑛𝑒𝑡 𝑥 = 𝑊∗𝑥 +𝑏 net 𝑦=𝑓(𝑛𝑒𝑡 𝑥 ) w y x 𝑛𝑒𝑡 𝑥 = 𝑊∗𝑥 +𝑏 net 𝑦=𝑓(𝑛𝑒𝑡 𝑥 ) f w y x 𝐸=0.5∗(𝑡−𝑦)^2 𝜕𝐸 𝜕𝑊 = 𝑡−𝑦 ∗ 𝑓 ′ 𝑛𝑒𝑡 𝑥 ∗ 𝑥
如何学习序列 学习序列需要找到序列间元素的关系 需要知道以前的信息 需要记忆
RNN(Recurrent Neural Network) 引入自环,将前一步的信息传递到当前时刻
RNN的学习 如何训练这种结构的网络? 两种传统的方法 BPTT RTRL
BPTT(Back Propagation Through Time)
RTRL(Real Time Recurrent Learning) w t2 ∆𝑤= ∆𝑤(𝑡) w t1 w t0
RNN的瓶颈 上述RNN的训练方法无法应对长期记忆。 𝜕𝐸(𝑡) 𝜕𝑦(t−𝑞) = 𝜕𝐸(𝑡) 𝜕𝑦(𝑡) 𝜕𝑦(𝑡) 𝜕𝑦(𝑡−1) 𝜕𝑦(𝑡−1) 𝜕𝑦(𝑡−2) … 𝜕𝑦 𝑡−𝑞+1 𝜕𝑦 𝑡−𝑞 = 𝑓 ′ 𝑛𝑒𝑡 𝑡 ∗ 𝑤∗ 𝑓 ′ 𝑛𝑒𝑡 𝑡−1 ∗ 𝑤∗ 𝑓 ′ 𝑛𝑒𝑡 𝑡−2 …
RNN的瓶颈
RNN的改进 固定自环的权值,稳定误差传递 新的问题,学习能力大大降低 1.0
RNN的进一步改进 引入开关控制输入信息 开关有助于把原始问题分解 然后再进行学习 1.0 输入开关
LSTM(Long Short Term Memory) 固定自环权值,引入开关,就从RNN到了LSTM
新的训练方法 LSTM使用的训练方法结合了RTRL和BPTT并做了一些调整 Truncated BPTT
Truncated BPTT
Forget Gate
EXPERIMENT
noise-free sequences with long time lags
References http://www.willamette.edu/~gorr/classes/cs449/rtrl.html http://en.wikipedia.org/wiki/Backpropagation_through_time Show and Tell: A Neural Image Caption Generator Oriol Vinyals, Alexander Toshev, Samy Bengio, Dumitru Erhan arXiv:1411.4555 S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Computation, 9(8):1735–1780, 1997.
Thanks Q&A
Show and Tell