本文作者:Joshua J. Michalenko, Ameesh Shah, Abhinav Verma, Richard G. Baraniuk, Swarat Chaudhuri, Ankit B. Patel(Rice University)
论文地址:https://arxiv.org/abs/1902.10297
解读者:大漠孤烟
本文对ICLR2019论文《REPRESENTING FORMAL LANGUAGES:A COMPARISON BETWEEN FINITE AUTOMATA AND RECURRENT NEURAL NETWORKS》进行了解读。
这篇论文通过将RNN的内部状态映射为自动机状态,研究RNN在正则语言识认时所采用的内部结构。通过实验证实了RNN状态与自动机状态间确实存在解码函数。不过这种解码函数不能将RNN状态直接映射到正则语言的MDFA状态,而是映射到它的超状态 。研究显示RNN与自动机在结构上存在较强的关联关系,并解释了RNN在形式语言识认方面所具备的较强学习能力的原因。
研究背景
循环神经网络(RNN)对真实世界中带噪声的序列数据具有不可思议的建模效果。它似乎能够识认序列数据的文法,因为RNN可以生成文法基本正确的结构化数据,像C++和Latex源码。然而,关于RNN识认形式语言的能力方面的研究却很少。本文通过对比RNN与有限自动机的内部结构,提出一种理解RNN在表示形式文法方面所使用的内部结构的新方法。
由于正则语言可以采用无限多的有限自动机定义,所以本文只考虑最小确定有限自动机MDFA(minimal deterministic finite automaton),即定义某项正则语言的自动机集合中包含状态最少的自动机。
在实验过程中,我们首先选择一个自动机,并随机生成一组符合该自动机的正负样本序列,然后将样本数据喂给RNN进行训练。最后将训练得到的RNN的隐层状态与自动机状态进行对比,分析两种状态间是否存在某种映射关系。
我们一共选择了大约500个自动机进行实验,结果显示这种映射关系确实存在。图1展示了用正则语言[(([4-6]{2}[4-6]+)?)3[4-6]+]生成的样本训练得到的RNN网络的t-SNE嵌入。虽然,右侧的MDFA包含6个状态,我们发现左侧的RNN状态呈现出5个点簇。实际上这种现象在实验中普遍存在, 而且可以用经典系统理论中的抽象概念进行很好地解释。
图1:右侧是刻画正则语言[(([4-