一.激活函数(activation functions)
发布网友
发布时间:2022-11-25 07:58
我来回答
共1个回答
热心网友
时间:2023-10-09 02:27
激活函数通常有如下一些性质:
非线性: 当激活函数是非线性的时候,一个两层的神经网络就可以*近基本上所有的函数了。但是,如果激活函数是恒等激活函数的时候(即f(x)=xf(x)=x),就不满足这个性质了,而且如果MLP使用的是恒等激活函数,那么其实整个网络跟单层神经网络是等价的。
可微性: 当优化方法是基于梯度的时候,这个性质是必须的。
单调性: 当激活函数是单调的时候,单层网络能够保证是凸函数。
f(x)≈xf(x)≈x: 当激活函数满足这个性质的时候,如果参数的初始化是random的很小的值,那么神经网络的训练将会很高效;如果不满足这个性质,那么就需要很用心的去设置初始值。
输出值的范围: 当激活函数输出值是 有限 的时候,基于梯度的优化方法会更加 稳定,因为特征的表示受有限权值的影响更显著;当激活函数的输出是 无限 的时候,模型的训练会更加高效,不过在这种情况小,一般需要更小的learning rate.
通过上面的介绍,我们对激活函数大体上有了一个认识。
联系之前学习过的机器学习理论,激活函数和核函数的作用简直是异曲同工!都是在不改变线性模型的条件下,将输出结果转变为非线性。
sigmod函数、tanh函数、修正线性单元ReLU函数、Leaky ReLU、参数化ReLU、随机化ReLU、指数化线性单元ELU函数和PReLU函数。
具体介绍参考如下文章:
激活函数又称为“”非线性映射函数“,是深度卷积神经网络不可或缺的模块。
直观上,激活函数模仿了生物神经元特性,接受一组输入信号并产生输出。
(1)激活函数对深度网络模型引入非线性;
(2)Sigmoid型函数是最早的激活函数之一,但它和tanh(x)型函数一样,会产生梯度饱和现象,故实际工程中很少使用;
(3)建议使用目前最常用的ReLU函数,但需注意模型参数初始化和学习率的设定;
(4)其他几种ReLU函数实际性能并无优劣,应结合实际场景具体讨论。