我经常读到,由于前馈神经网络缺乏内部状态和短期记忆,前馈神经网络和循环神经网络(RNNs)之间存在根本差异。这在我看来乍一看是合理的。
然而,当使用时间反向传播算法学习循环神经网络时,如果我理解正确的话,循环网络会被转换成等效的前馈网络。
这似乎意味着实际上并没有根本的区别。为什么RNN在某些任务(图像识别、时间序列预测等)上表现得比深度前馈网络更好呢?
回答:
使用某种技巧进行训练的事实,并不改变这样一个事实,即在网络状态的保留方面存在根本的差异,而这种差异在前馈网络中是不存在的。
“展开”的前馈网络并不等同于循环网络。它只是一个马尔可夫近似(由“展开”的层数决定的水平)。所以你只是用k步记忆来“模拟”循环网络,而实际的循环神经网络理论上具有无限的记忆。