ReLU是目前较常用的激活函数,Swish激活函数在它的基础上进一步提高了ImageNet上的精度。参考论文提出了ACON激活函数,它一方面解释了Swish函数的内在机理,证明Swish是ReLU的平滑近似版本,另一方面又推广出ACON激活函数,可进一步提高精度,且ACON的上下边界是可学习的。在网络高度deep的时候证明比其他激活函数更能提高精度。
具体改进可见下图,对于每层是不是要激活是不一样的,而ReLU是每层都一样。
ACON原理
考虑max函数
转换成softmax的话为
而ReLU是max(x, 0),是两个变量的max函数,转换成更一般的形式,即两个变量都是x的线性函数,
把它转换为softmax函数形式
其中第二行到第4行的推导,可以在第2行的第2项分子分母都乘
这个公式可以在设不同的
时作各种推广
其中ACON-A正是Swish激活函数
接着是一阶导的上下界证明
为求一阶导最大最小值,求二阶导为0处的值,得到
可看到一阶导的上下边界也是可学习的
上面的
β
\beta
β是超参,是设置的,而如果
β
\beta
β是可学习的情况,就是
Meta-ACON
β
\beta
β = G(x), 至于G(x)如何设置,作者给出了设计的空间。
如果每个layer设一个
β
\beta
β的话,可设为
如果每个channel设一个,那么
β
\beta
β =
其中W1的shape为C x C/r, W2的shape为 C/r x C,
而注意后面的求和项,求和后shape为C x 1
所以
β
\beta
β的shape为C x 1,也就是每个channel学习一个值
具体实现可见源代码