Finding Structure in Time论文解读

《Finding Structure in Time》-1990
作者Jeffrey L.Elman
已经于2018年的六月份去世了。
该文的引用量非常之高,目前有9000多,所以也导致有些神经网络发展史中把该篇文章视为经典论文。

文章目的是:
提出一种新的结构,用来解决时序相关的问题。
注意,该文的Section 1不是从Introduction部分开始算起。

={1.The Problem with Time2.Networks with memory3.ExclusiveOR4.Struture in letter sequences5.Discovering the notion "word"6.Discovering lexical classes from word order7.Types,tokens,and structured representations8.Conclucions文章结构=\left\{ \begin{aligned} 1.The\ Problem\ with\ Time \\ 2.Networks\ with\ memory\\ 3.Exclusive-OR \\ 4.Struture\ in\ letter\ sequences\\ 5.Discovering\ the\ notion\ "word"\\ 6.Discovering\ lexical\ classes\ from\ word\ order\\ 7.Types,tokens,and\ structured\ representations\\ 8.Conclucions \end{aligned} \right.
section1 讲了目前的一些问题。
section2 指明本文的方案
论文的中间大部分用来指明该方案应用到现有问题上的一些效果。

Section 1的标题是:The problem with time.
讲了三个问题:
1.现有的神经网络的使用需要现实世界与该神经网络有一个接口。
怎么让该神经网络系统知道接受的内容中的哪一部分应该作为神经网络的输入数据?(对应P181的第2段内容)
2.现有的系统的输入端口数量是固定的,那要是相比较两个长度不一的句子咋办?(对应P181的第3段内容)
3.之前的方案不能准确地区分相对时序位置,作者这里举了一个例子:
[011100000]
[000111000]
怎么让系统知道这是两个不同的输入呢?

这里稍微总结下:我个人理解,这里的前面两个问题其实是在说同一个事儿。

Section 2的标题是:Networks with Memory.
注意,下面的Figure1,虽然号称使用的是Jordan的1986年的文章中的一个插图。该文章是:
《Serial order:A parallel distributed processing approach》-1986Finding Structure in Time论文解读
但是该篇所谓的1986年的文章在google学术中查到是1997年发表的。
所以可能是86年发表后,于1997年重映了。
值得一提的是,上图与《Serial order:A parallel distributed processing approach》-1986的插图并不一致。
好了,本文作者提出的结构如下:
Finding Structure in Time论文解读

一句话概括:创新点在哪里:
Fig1中的反馈点是从“输出层”返回输入端。
Fig2中的反馈点是从“隐藏层输出端”返回输入端。
所以本文创新点就是改了个输出端,然后后面就是各种实验和理论分析了。

好了,上图只是一个草图,
这个神经网络内部到底长啥样?
我们来看Section 3:Exclusive-OR
XOR异或的完整名称就是“Exclusive-OR”
这个section在P185
这个Section下面的第4段提到:

The input stream was presented to the network shown in Figure2(with 1 input unit,2 hidden units,1 output unit,and 2 context units),one bit at a time.
所以上面的Figure2里面的节点数我们知道了,但是怎么反馈的,上面的图就是很抽象的一条线,以及“权重线”具体怎么连接也没有说。
作者去世了,所以也无法联系了。

P186的最下方,我们可以得到一丁点信息:
当全0或者全1输入时,其中一个hidden unit(就是放**函数)会被**,另外一个会被抑制。
当0101…这种不停变换的方式输入时,则反过来,其中一个hidden unit被抑制,另外一个hidden unit会被**。

因为论文本身也没有附带代码链接,且没有讲清楚具体的网络结构,后面的解读无法进行下去,也无法联系去世的作者获知具体细节。