1. 递归神经网络
递归神经网络的结果与传统神经网络有一些不同,它带有一个指向自身的环,用来表示它可以传递当前时刻处理的信息给下一时刻使用。
可以认为它是对相同神经网络的多重复制,每一时刻的神经网络会传递信息给下一时刻。
递归神经网络因为具有一定的记忆功能,可以被用来解决很多问题,例如:语音识别、语言模型、机器翻译等。但是它并不能很好地处理长时依赖问题。
2.LSTM
长时依赖是这样的一个问题,当预测点与依赖的相关信息距离比较远的时候,就难以学到该相关信息。Long Short Term Mermory network(LSTM)是一种特殊的RNNs,可以很好地解决长时依赖问题。
所有的递归神经网络都是由重复神经网络模块构成的一条链,可以看到它的处理层非常简单,通常是一个单tanh层,通过当前输入及上一时刻的输出来得到当前输出。与神经网络相比,经过简单地改造,它已经可以利用上一时刻学习到的信息进行当前时刻的学习了。
LSTM的结构与上面相似,不同的是它的重复模块会比较复杂一点,它有四层结构: