我理解回归神经网络(RNN)需要一个记忆,以及如何通过反馈隐藏神经元的输出来获得记忆。但为什么他们只能保留输入;也就是说,只延迟和反馈一系列输入,而不是那些输入函数的隐藏神经元,并使用 作为上下文?
这似乎解决了很多问题,将整个隐藏状态反馈(即BPTT困难),但仍保留所有上下文。根据定义,输入具有计算上下文所需的任何数据。
即使上下文是输入而不是输入本身的函数,我们仍然可以使用它,因为单个隐藏层中的一些神经元将能够成为x(t-1) x(t-2)...
输入的函数。因此,我们仍然可以使用标准RNN计算我们可以计算的任何东西,但复杂性要低得多:一些神经元将专注于x(t)
而另一些神经专注于x(t-n)
。
现在,由于没有人这样做,我不得不想象他们会考虑并拒绝它。为什么呢?
答案 0 :(得分:0)
看看http://www-dsi.ing.unifi.it/~paolo/ps/tnn-94-gradient.pdf 通过Bengio等人学习具有梯度下降的长期依赖性。 "递归神经网络......具有一个内部状态,可以...保持过去输入的信息一段时间不是先验固定的...相反,静态网络(即没有循环连接) ),即使它们包含延迟(例如时间延迟神经网络)具有有限的脉冲响应,也无法无限期地存储一些信息。
因此,似乎我提出的方案被Bengio称为时延神经网络,其主要缺点是存在固定的,有限的最大内存。例如,没有办法在一个实现acculumator(超过窗口大小)。与真正的RNN相比,权重(尽管可能很难学习)可以无限期地保留特定信息。例如,累加器很容易实现。