激活仅用于非线性吗?

时间:2018-08-10 04:33:42

标签: machine-learning neural-network deep-learning computer-vision conv-neural-network

激活仅用于非线性或两个问题。我仍然很困惑,为什么我们需要激活功能以及它如何提供帮助。

1 个答案:

答案 0 :(得分:1)

通常,这样的问题将适用于Stats StackexchangeData Science Stackexchange,因为它只是一个理论上的问题,与编程无关(Stackoverflow的目的)。

无论如何,我假设当您谈论“两个问题”时,都是指线性可分离非线性可分离问题的类。 实际上,无论您要使用神经网络解决哪种问题,都始终使用函数中的非线性。将非线性作为激活函数的简单原因如下:

网络中的每一层都由一系列线性操作加上非线性组成。

形式上-这可能是您以前见过的-您可以表达单层F的数学运算,并将其输入h为:

F(h) = Wh + b

其中W代表权重矩阵,加上偏差b。此操作是纯粹顺序的,对于一个简单的多层感知器(具有n层且没有非线性),我们可以将计算公式编写如下:

y = F_n(F_n-1(F_n-2(...(F_1(x))))

等效于

y = W_n W_n-1 W_n-2 ... W_1 x + b_1 + b_2 + ... + b_n

具体来说,我们注意到这些只是乘法和加法,我们可以按照自己喜欢的任何方式对其进行重新排列;特别是we could aggregate this into one uber-matrix W_p并偏向b_p,以一个公式将其重写:

y = W_p x + b_p

它具有与上述多层感知器相同的表达能力,但是可以固有地由单层建模! (尽管参数要比以前少得多。)

对该方程引入非线性将简单的“构建基块” F(h)转换为:

F(h) = g(Wh + b)

现在,不再可能重新排列一系列层,然后非线性进一步允许我们approximate any arbitrary function

编辑: 为了解决您的另一个问题(“它有什么帮助?”),我应该明确提到并非每个函数都是线性可分离的,因此不能通过纯线性网络(即没有非线性)来解决。一个经典的简单示例是XOR operator