是否真的可以为 1 隐藏层神经网络创建通用逼近定理中使用的“完美圆柱体”?

人工智能 神经网络 前馈神经网络 通用逼近定理
2021-10-25 07:54:37

只有 1 个隐藏层的通用逼近定理有证明。

证明是这样的:

  1. 使用 2 个神经元创建一个“凹凸”函数。

  2. 创建(无限)许多具有不同角度的阶跃函数,以创建塔状形状。

  3. 将步长/半径减小到一个非常小的值以近似圆柱体。这是我不相信的

  4. 使用这些圆柱体可以近似任何形状。(此时它基本上只是一个像这样的包装问题。

这段视频中,第 42 分钟,讲师说

在极限内,这将是一个完美的圆柱体。如果气缸足够小。这将是一个完美的圆柱体。对 ?我可以控制半径。

这是幻灯片。

在此处输入图像描述

这是另一所大学的pdf版本,因此您不必观看视频。

为什么我不相信?

我创建了一个程序来绘制它,即使我将半径减小了几个数量级,它仍然具有相同的形状。

让我们从一个半径为 0.1 的简​​单塔开始:

在此处输入图像描述

现在让我们将半径减小到 0.01:

在此处输入图像描述

现在,您可能会认为它接近圆柱体,但由于缩小效果,它看起来就像是一个完美的圆柱体。

让我们放大:

在此处输入图像描述

让我们将半径减小到 0.0000001。

在此处输入图像描述

仍然不是一个完美的圆柱体。事实上,气缸的“质量”是一样的。

重现的 Python 代码(需要 NumPy 和 matplotlib):https ://pastebin.com/CMXFXvNj 。

所以我的问题是:

Q1 是否真的可以通过将塔的半径减小到 0 来得到一个完美的圆柱体?

Q2 如果这是真的,为什么我用不同的半径(0.1,vs 1e-7)绘制它时没有区别?

两座塔的形状相同

澄清:我的意思是:相同的形状?假设我们计算一个与我们的塔具有相同半径和高度的实际圆柱体(Vc)的体积,并将其除以塔的体积(Vt)。

Vc = 容积圆柱

Vt = 体积塔

比率(r) = Vc/Vt

该文件/讲座声称这两个卷的比率取决于半径,但在我看来它只是恒定的。

所以他们说的是: lim r -> 0 for ratio(r) = 1 但我的实验表明: lim r -> 0 for ratio(r) = const 并且根本不依赖于半径。

Q3前言

我曾多次收到DuttaDW的反对意见是,仅仅减少辐射范围并绘制它在数学上并不严谨。

所以让我们假设在 r=0 的限制下它确实是一个完美的圆柱体。

对此的一种可能解释是,限制是一种特殊情况,无法接近它

但如果这是真的,这意味着它没有用处,因为半径不可能完全为零。只有当我们可以通过减小半径逐渐接近完美圆柱体时,它才会有用。

Q3 那么我们为什么还要关心这个呢?

进一步说明

单隐藏层神经网络的原始通用逼近定理证明由 G. Cybenko 完成。然后我认为人们试图对它进行一些视觉解释。我不是在质疑论文!但我质疑链接的lecutre / pdf(由其他人制作)中给出的视觉解释

1个回答

我想得越多,我就越相信链接讲座的视觉解释是错误的。但好消息是仍有一些方法可以接近圆柱体,但不是在最后一个神经元激活之前,而是在激活之后。我没有用 simgoid 做过。但我现在尝试使用 ReLu。

我们可以在最顶部切割塔(感谢 ReLu 和偏差)。我们越靠近顶部切割它,它就越像圆柱体。

我们可以通过权重控制塔的高度。

首先在 2d 中:

在此处输入图像描述

不幸的是,我们将这些塔放在一起越近,它们就越会开始相互影响。

在此处输入图像描述

但是我们可以用它们之间的负塔来对抗它。 在此处输入图像描述

现在在 3d 中:

在此处输入图像描述

这个答案正在进行中,当我发现新的东西时我会更新它。