ReLU 是非线性激活函数吗?

人工智能 神经网络 深度学习 数学 激活函数 雷路
2021-10-19 03:20:13

根据这篇博文

激活函数的目的是为函数添加某种非线性属性

sigmoid 通常用作神经网络单元的激活函数,以引入非线性。

ReLU 是非线性激活函数吗?为什么?如果不是,那为什么它被用作神经网络的激活函数?

2个回答

简短的回答:是的

视觉上:

在此处输入图像描述

如果您从wikipedia看到图像,它表明 ReLU(蓝线)是非线性的(线不是直的,它变成 0)。您还可以在维基百科中检查线性函数的“视觉”定义:

“在微积分和相关领域中,线性函数是图形为直线的函数”

数学上:

一个变量的线性函数可以定义为:

f(x)=ax+b

如果您在 2D 中绘制该函数,它将为您提供一条直线。那么,多变量线性函数的形式:

f(x1,x2,...,xn)=a1x1+a2x2+...+anxn+b

如果您再次以正确的尺寸绘制该函数,它也会给您一条直线。如果你仔细地操作,它类似于发生在神经元中的计算。这就是为什么神经元加法和乘法是一个线性函数:

F(X1,X2,...,Xn)=w1X1+w2X2+...+wnXn+b

添加更多层的线性函数不会使函数变得“复杂”,例如,如果你有F(X)像下面然后你再放一层线性函数G(X)在它的上面:

F(X)=一个X+b

G(X)=CF(X)+d=C一个X+Cb+d

因为神经网络被训练来找到一个,b,C,d,我们可以将上式中的常数分组,然后改写为:

H(X)=X+n

=C一个n=Cb+d. 所以没有非线性函数,神经网络层是没有用的,它只会给你另一个“简单”的线性函数

ReLU 公式是F(X)=一个X(0,X),它会产生非线性,因为您无法写入线性函数格式。当您在其上添加更多图层时,使用此功能会给您带来“复杂性”。

根据定义,ReLU 是非线性的

在微积分和相关领域中,线性函数是图形为直线的函数,即一阶或零阶的多项式函数。

由于 ReLU 函数的图F(X)=最大限度(0,X)不是一条直线(等效地,它不能用形式来表示F(X)=X+C),根据定义它不是线性的。

ReLU分段线性的

ReLU在边界上 分段线性的(-信息,0][0,信息)

F(X)=最大限度(0,X)={0X0XX>0

但这在整个域上仍然是非线性的:

在此处输入图像描述