长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。在标准RNN中,这个重复的结构模块只有一个非常简单的结构,例如一个tanh层。
lstm模型优缺点
LSTM(Long Short-Term Memory)也称长短时记忆结构, 它是传统RNN的变体, 与经典RNN相比能够有效捕捉长序列之间的语义关联, 缓解梯度消失或爆炸现象。其主要特点是在于通过门结构控制,包括遗忘门、输入门、细胞状态、输出门,其作用相当于加入了一个判断信息有用与否的“处理器”,LSTM能更好地处理时间序列的任务;同时解决了RNN的长期依赖问题,并且缓解了RNN在训练时反向传播带来的“梯度消失”问题。其优缺点如下:
LSTM优点:
1.改善了RNN中存在的长期依赖问题;LSTM的表现通常比时间递归神经网络及隐马尔科夫模型(HMM)更好;作为非线性模型,LSTM可作为复杂的非线性单元用于构造更大型深度神经网络。
2、LSTM通过各种门函数来将重要特征保留下来,能够有效减缓长序列问题中可能出现的梯度消失或爆炸, 虽然并不能杜绝这种现象, 但在更长的序列问题上表现优于传统RNN。
LSTM缺点:
1、并行处理上存在劣势,只能从前到后,与一些最新的网络相对效果一般;
2、RNN的梯度问题在LSTM及其变种里面得到了一定程度的解决,但还是不够。它可以处理100个量级的序列,而对于1000个量级,或者更长的序列则依然会显得很棘手;
3、计算费时。由于内部结构相对较复杂, 因此训练效率在同等算力下较传统RNN低很多,每一个LSTM的cell里面都意味着有4个全连接层(MLP),如果LSTM的时间跨度很大,并且网络又很深,这个计算量会很大,很耗时。
总结:
LSTM本身的模型结构就相对复杂,训练比起CNN来说更加耗时;此外,RNN网络的特性决定了它们不能很好的并行化处理数据;再者,LSTM虽然一定程度上缓解了RNN的长期依赖问题,但对于更长的序列数据,需要引入更多变体解决依赖问题。