哪些功能神经网络无法逼近

数据挖掘 神经网络
2021-10-05 16:54:55

我在 StackExchange 上的某处读到,神经网络无法将 Pi 数近似为圆长度和半径的函数。也许这是一个不正确的例子或错误的信息。帮助我理解。

那么任意数的和或乘法呢?是否还有其他神经网络无法近似的特定函数?

2个回答

神经网络可以逼近任何连续函数,只要它至少有一个隐藏层并在那里使用非线性激活。这已被普遍逼近定理证明。

因此,特定功能也不例外。你问:

我在 StackExchange 上的某处读到,神经网络无法将 Pi 数近似为圆长度和半径的函数。

一个近似的神经网络π很容易。你读到的可能是神经网络不能生成新的数字π它还没有被展示出来。稍后再说。. .

那么任意数的和或乘法呢?

是的,神经网络可以近似。

是否还有其他神经网络无法近似的特定函数?

不,没有神经网络无法逼近的特定函数。

但是,有一些重要的警告:

  • 神经网络不编码实际函数,只编码近似值。这意味着您可以实现良好近似的输入范围存在实际限制。

  • 能够在理论上逼近一个函数的神经网络与你或我能够构建一个逼近该函数的神经网络不同。没有已知的方法可以通过单独分析函数来构建神经网络(可以针对特定的简单函数,例如异或)。

  • 实现近似的常用方法是通过给出示例数据来训练神经网络。网络将近似于它已显示的数据。不能保证这将推广到尚未训练过的新输入并近似正确的输出。事实上,对于某些类型的输入/输出,它不可能这样做。例如,它不会学习如何生成第 4 位pi如果已显示数字 1,2,3,5,6,7,8,9。最好的泛化结果出现在训练示例之间具有平滑过渡的函数。

  • 神经网络不能很好地推断它们用于训练的数据之外的输入。它们“适合”训练数据(想象一张橡胶布覆盖在训练集中的所有点上)。

  • 神经网络不学习复制算法,只学习函数。因此,如果您采用复杂的算法,例如 AES 加密,并尝试训练一个神经网络来执行这个给定的大量输入示例,则没有真正的工作机会。现在,可以将 AES 加密视为一种功能,例如output=encrypt(input,key). 所以NN可以近似它。但它只会对已显示的特定输入和输出执行此操作。此外,AES 对近似值反应不佳 - 一个位错误将导致它是一个糟糕的加密。因此,您不会在密码学中看到用于加密或解密的 NN。

  • 神经网络的逼近能力受到神经元数量和它所具有的连接的限制。更复杂的功能需要更大的网络。为了在更复杂的功能上训练更大的网络,需要更多的时间和更多的训练数据。理论上,您可以训练神经网络来学习随机数生成器函数。然而,这将需要大量的资源——存储网络的内存,以及针对 RNG 的整个输出对其进行训练的时间。

不知道你所说的 NN 不近似是什么意思 pi. NN 可以逼近任何连续函数(只要它包含足够多的节点,一层就足够了)。Universal_approximation_theorem