具有非线性激活函数(比如 ReLU)的神经网络可以用于线性分类任务吗?

Can a neural network having non-linear activation function (say ReLU) be used for linear classification task?

我认为答案是肯定的,但我无法对此做出很好的解释。

技术上,

可以为此任务使用非线性激活函数的原因是您可以手动更改结果。假设激活函数输出的范围在 0.0-1.0 之间,那么您可以向上或向下舍入以获得二进制 0/1。 明确一点,向上或向下舍入不是线性激活,但对于这个特定问题该网络的目的是为了分类,其中必须应用某种舍入。

不应该 的原因与你不应该将工业加热器连接到风扇并称之为吹风机的原因相同,它不必要地强大而且它可能会浪费资源和时间。

希望这个回答对您有所帮助,祝您有个愉快的一天!

数学论证在于表示线性的幂,我们可以用以下三个引理来证明:

引理 1

通过仿射变换(线性层)我们可以将输入的超立方体[0,1]^d 映射到任意小方框[a,b]^k。证明很简单,我们只要让所有的偏差都等于a,让权重乘以(b-a)即可。

引理 2

对于足够小的尺度,许多非线性近似线性。这实际上是导数或泰勒展开式的定义。特别是让我们采用 relu(x),因为 x>0 它实际上是线性的!乙状结肠呢?好吧,如果我们看一个很小的区域 [-eps, eps],您会发现它接近线性函数 eps->0!

引理 3

仿射函数的合成是仿射的。换句话说,如果我要制作一个具有多个线性层的神经网络,则相当于只有一个。这来自于矩阵组成规则:

W2(W1x + b1) + b2 = W2W1x + W2b1 + b2 = (W2W1)x + (W2b1 + b2)
                                        ------    -----------
                                    New weights   New bias

综合以上

结合上面的三个引理我们可以看到,对于非线性层,总是存在线性函数的任意好的近似值!我们简单地使用第一层将整个输入 space 映射到预激活空间的一小部分,在那里你的线性度近似线性,然后我们在下一层“映射回来”。

一般情况

这是一个非常简单的证明,现在一般你可以用Universal Approximation Theorem来证明一个非线性神经网络(Sigmoid,Relu,还有很多)足够大,可以逼近任何平滑的目标函数,包括线性函数。然而,这个证明(最初由 Cybenko 给出)要复杂得多,并且依赖于证明特定的 类 函数在连续函数的 space 中是稠密的。