Fly*_*per 2 machine-learning neural-network deep-learning activation-function relu
据我了解,在深度神经网络中,我们在应用权重(w)和偏差(b)后使用激活函数(g)(z := w * X + b | a := g(z)).因此有一个组合函数(g o z)和激活函数使得我们的模型可以学习除线性函数之外的函数.我看到Sigmoid和Tanh激活函数使我们的模型非线性,但是我看到ReLu(它取0和z的最大值)可以使模型非线性...
假设每个Z都是正数,那就好像没有激活函数......
所以我的问题是为什么ReLu在神经网络中制作非线性模型?
决定一个函数是否是线性的当然不是意见或辩论的问题; 有一个非常简单的线性函数定义,大致如下:
f(a*x + b*y) = a*f(x) + b*f(y)
Run Code Online (Sandbox Code Playgroud)
对于每个 x&y在函数域和a&b常量.
"为每一个"的要求意味着,如果我们能够找到上述条件不成立的单个例子,那么该函数是非线性的.
假设为了简单起见a = b = 1,让我们尝试x=-5, y=1使用fReLU函数:
f(-5 + 1) = f(-4) = 0
f(-5) + f(1) = 0 + 1 = 1
Run Code Online (Sandbox Code Playgroud)
因此,对于这些x&y(事实上对于每个x&y有x*y < 0),条件f(x + y) = f(x) + f(y)不成立,因此函数是非线性的...
事实上,我们也许能够找到子域(比如他们x和y为负或正此处),其中线性条件成立是什么定义了一些功能(如RELU)作为分段 -线性,这仍然是非线性不过.
现在,为了公平地对待你的问题,如果在特定的应用程序中输入恰好总是全部为正或者全部为负,那么是的,在这种情况下,ReLU实际上最终会表现得像线性函数.但对于神经网络而言并非如此,因此我们可以依靠它来提供必要的非线性......
| 归档时间: |
|
| 查看次数: |
1257 次 |
| 最近记录: |