根据这篇博文
激活函数的目的是为函数添加某种非线性属性
sigmoid 通常用作神经网络单元的激活函数,以引入非线性。
ReLU 是非线性激活函数吗?为什么?如果不是,那为什么它被用作神经网络的激活函数?
根据这篇博文
激活函数的目的是为函数添加某种非线性属性
sigmoid 通常用作神经网络单元的激活函数,以引入非线性。
ReLU 是非线性激活函数吗?为什么?如果不是,那为什么它被用作神经网络的激活函数?
简短的回答:是的
视觉上:
如果您从wikipedia看到图像,它表明 ReLU(蓝线)是非线性的(线不是直的,它变成 0)。您还可以在维基百科中检查线性函数的“视觉”定义:
“在微积分和相关领域中,线性函数是图形为直线的函数”
数学上:
一个变量的线性函数可以定义为:
如果您在 2D 中绘制该函数,它将为您提供一条直线。那么,多变量线性函数的形式:
如果您再次以正确的尺寸绘制该函数,它也会给您一条直线。如果你仔细地操作,它类似于发生在神经元中的计算。这就是为什么神经元加法和乘法是一个线性函数:
添加更多层的线性函数不会使函数变得“复杂”,例如,如果你有像下面然后你再放一层线性函数在它的上面:
因为神经网络被训练来找到,我们可以将上式中的常数分组,然后改写为:
和和. 所以没有非线性函数,神经网络层是没有用的,它只会给你另一个“简单”的线性函数
ReLU 公式是,它会产生非线性,因为您无法写入线性函数格式。当您在其上添加更多图层时,使用此功能会给您带来“复杂性”。