问题引入

在做深度学习的建模时,会接触到很多的激活函数,对于这么一个函数Maxout你知道是什么吗?他的优缺点是啥呢?

问题解答

Maxout出现在ICML2013上,作者Goodfellow将maxout和dropout结合后,号称在MNIST, CIFAR-10, CIFAR-100, SVHN这4个数据上都取得了start-of-art的识别率。 Maxout可以看做是在深度学习网络中加入一层激活函数层,包含一个参数k.这一层相比ReLU,sigmoid等,其特殊之处在于增加了k个神经元,然后输出激活值最大的值. 我们常见的隐含层节点输出: 而在Maxout网络中,其隐含层节点的输出表达式为: 其中 假设 w 是 2 维,那么有 可以注意到,ReLU 和 Leaky ReLU 都是它的一个变形(比如,w1,b1=0的时候,就是 ReLU). 与常规激活函数不同的是,它是一个可学习的分段线性函数.然而任何一个凸函数,都可以由线性分段函数进行逼近近似。其实我们可以把以前所学到的激活函数:ReLU、abs激活函数,看成是分成两段的线性函数,如下示意图所示:实验结果表明Maxout与Dropout组合使用可以发挥比较好的效果。 Maxout的拟合能力是非常强的,它可以拟合任意的的凸函数。作者从数学的角度上也证明了这个结论,即只需2个 maxout 节点就可以拟合任意的凸函数了(相减),前提是”隐隐含层”节点的个数可以任意多. 这样 Maxout 神经元就拥有 ReLU 单元的所有优点(线性和不饱和),而没有它的缺点(死亡的ReLU单元)。然而和 ReLU 对比,它每个神经元的参数数量增加了一倍,这就导致整体参数的数量激增。 Maxout 激活函数特点:maxout激活函数并不是一个固定的函数,不像Sigmod、Relu、Tanh等函数,是一个固定的函数方程.它是一个可学习的激活函数,因为我们 W 参数是学习变化的。它是一个分段线性函数: 优点:Maxout的拟合能力非常强,可以拟合任意的凸函数。Maxout具有ReLU的所有优点,线性、不饱和性。同时没有ReLU的一些缺点。如:神经元的死亡。 缺点:从上面的激活函数公式中可以看出,每个神经元中有两组(w,b)参数,那么参数量就增加了一倍,这就导致了整体参数的数量激增。 参考: [1] https://www.jianshu.com/p/aa12a6b80840 喜欢就关注一下啦~~~