“ RNN可以近似任何算法”的含义(和证明)


28

最近,我读到递归神经网络可以近似任何算法。

所以我的问题是:这到底是什么意思,您能给我一个证明这一点的参考吗?


检查哈尔伯特·怀特的作品。我认为是他证明了神经网络是通用逼近器。(尽管不确定递归神经网络。)
Richard Hardy

Answers:


42

背景

我们首先必须回顾计算理论中的一些概念。的算法是用于计算一个函数的过程。给定输入,算法必须在有限的步骤中产生正确的输出,然后终止。说一个函数是可计算的意味着存在一种计算它的算法。在所有函数的无穷集合中,大多数不是可计算的。图灵机是一种数学模型,可以将计算概念形式化。还存在其他等效模型,但图灵机是标准的“参考模型”。根据教会图灵的论点,图灵机可以实现任何算法,从而可以计算所有可计算函数。图灵机的任何特定实例仅计算特定功能。但是,存在一类特殊的图灵机,称为通用图灵机,它可以为任何输入模拟任何其他图灵机。他们通过将要模拟的机器(及其输入)描述作为自己输入的一部分来进行此操作。因此,通用图灵机的任何特定实例都可以计算任何可计算的函数(即可以实现任何算法)。具有此功能的任何系统都称为图灵完成。证明系统是图灵完整的一种方法是证明它可以模拟通用图灵机。许多系统已经证明是图灵完整的(例如,大多数编程语言,某些细胞自动机量子力学)。

递归神经网络

下列论文表明,对于任何可计算函数,都存在一个可以对其进行计算的有限递归神经网络(RNN)。此外,存在有限的图灵完备的RNN,因此可以实现任何算法。

Siegelmann和Sontag(1992)。关于神经网络的计算能力

他们使用包含有限数量的循环连接单元的网络,这些单元在每个时间点都接收外部输入。每个单元的状态由其输入的加权总和(加上偏置)给出,并通过非线性激活函数运行。激活函数是饱和线性函数,它是S型曲线的分段线性近似。权重和偏差是固定的,因此不会发生学习。

网络执行从二进制输入序列到二进制输出序列的映射。网络有两个外部输入,它们输入到所有单元:“数据线”和“验证线”。数据线包含零和一的输入序列,输入序列完成后为零。验证行使网络知道何时发生输入序列。在输入序列的持续时间内,它包含一个,然后在输入序列结束后包含零。一个单元被认为是“输出单元”。它输出零以产生任意延迟,然后输出零和一的输出序列,在输出序列完成后输出零。另一个单位被视为“验证单位”,让我们知道何时发生输出序列。

尽管这些RNN将二进制输入序列映射到二进制输出序列,但我们可能对在各种其他数学对象(其他类型的数字,向量,图像,图形等)上定义的函数感兴趣。但是,对于任何可计算的功能,这些其他类型的对象都可以编码为二进制序列(例如有关使用自然数编码其他对象的描述,请参见此处,而自然数又可以二进制表示)。

结果

他们表明,对于每个可计算的函数,都有一个可以计算它的有限RNN(具有上述形式)。他们通过显示可以使用RNN显式模拟具有两个堆栈的下推自动机来实现此目的。这是另一个在计算上等效于图灵机的模型。图灵机可以计算任何可计算的函数。任何图灵机都可以通过具有两个堆栈的下推自动机进行模拟。具有两个堆栈的任何下推自动机都可以通过RNN进行模拟。因此,RNN可以计算任何可计算函数。此外,由于某些图灵机是通用的,因此模拟它们的RNN是图灵完整的,因此可以实现任何算法。特别是,它们表明存在1058个或更少单元的图灵完整RNN。

其他后果

模拟结果的有趣结果是,关于RNN行为的某些问题尚不确定。这意味着没有算法可以对任意RNN进行回答(尽管在特定 RNN 的情况下它们可能是可以回答的)。例如,给定单位是否取值为0的问题尚不确定。如果人们通常能够回答这个问题,就有可能解决图灵机的停机问题,这是不确定的。

计算能力

在以上论文中,所有网络参数和状态均为有理数。这很重要,因为它限制了RNN的功能,并使生成的网络更加真实。原因是有理数是可计算的数,这意味着存在一种用于以任意精度计算它们的算法。大多数实数是不可计算的,因此无法访问-即使是功能最强大的图灵机也无法表示它们,许多人怀疑它们甚至可以在物理世界中表示出来。当我们在数字计算机上处​​理“实数”时,我们正在访问甚至更小的子集(例如64位浮点数)。表示任意实数将需要无限的信息。

该论文说,使网络能够访问实数将进一步提高计算能力,这是图灵机所不能提供的。西格尔曼(Siegelmann)发表了许多其他论文,探讨了这种“超级图灵”功能。但是,重要的是要注意这些是数学模型,其结果并不意味着这样的机器实际上可以存在于物理世界中。有充分的理由认为它不能,尽管这是一个开放的问题。


1
嘿,我觉得这很有趣,我想知道您是否有参考资料可了解有关此计算理论及其与机器学习算法或量子计算的关系的更多信息。谢谢!
user110320

0

我认为这就是您要寻找的。这个家伙证明,只要网络具有足够的隐藏单元,多层甚至单层前馈网络都可以近似任何功能。

Hornik,K。(1991)。多层前馈网络的逼近能力。神经网络,4(2),251-257。


1
这不是我的意思。我已经阅读了证明。我编辑了问题。
user3726947
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.