paper:Mish: A Self Regularized Non-Monotonic Activation Function
official implementation:https://github.com/digantamisra98/Mish
背景
在早期文献中,Sigmoid和TanH激活函数被广泛使用,随后在深度神经网络中失效。相比于Sigmoid和TanH,一个受概率启发较小的,非饱和分段线性激活函数ReLU展现出了更好的泛化性以及更快的收敛速度。但它也有缺点,其中之一被称为Dying ReLU,即通过将负输入坍缩为0导致的梯度信息损失。多年来,人们为了提高性能并解决ReLU的缺点提出了许多新的激活函数,包括Leaky ReLU、ELU、SELU。其中Swish,相较于ReLU表现出了很强的改进,证明是一个更健壮的激活函数。
本文受Swish的self gating特性的启发,提出了Mish。在激活函数的理论研究中,那些具有类似Swish的特性,包括非单调性、保持小的负权重的能力和平滑轮廓,一直在反复的讨论。Mish的设计,虽然受到了Swish工作的影响,但却是通过对使Swish如此有效的特性的系统分析和实验而发现的。
本文的创新点
- 本文提出了一种新的自正则化、非单调的激活函数,Mish,定义为 \(f(x)=xtanh(softplus(x))\)。在大多数情况下,超越了ReLU、Leaky ReLU和Swish。
- 我们还观察到,最先进的数据增强技术,如CutMix和其他已被验证的技术如标签平滑,表现与预期一致。
-
我们探索了Mish与Swish函数族相关的数学公式,并提出了一个关于一阶导数行为如何作为一个正则化器来帮助优化深度神经网络的直观理解。
Mish
如图1(a)所示,Mish是一个平滑的、连续的、自正则化的、非单调的激活函数,在数学上定义为:
和Swish类似,Mish有下界无上界范围为 \([\approx -0.31,\infty )\)。Mish的一阶导数如图1(b)所示,定义为
其中 \(\omega =4(x+1)+4e^{2x}+e^{3x}+e^{x}(4x+6),\delta =2e^{x}+e^{2x}
+2\)。受Swish的启发,Mish使用了Self-Gating特性,其中non-modulated输入与输入经过非线性函数得到的输出相乘。由于保留了少量的negative信息,Mish消除了Dying ReLU现象。这个特性有助于更好的表达能力和信息流动。由于没有上界,Mish避免了饱和,但由于接近于0的梯度通常也会导致训练变慢。有下界也有好处,它会到来强正则化效果。与ReLU不同,Mish是连续可微的,由于避免了奇点这是一个更可取的特性。
实验结果
在CIFAR-10数据集上,基于不同网络架构,Mish、Swish和ReLU的精度对比
在ImgeNet-1k数据集上,Mish在大多数情况下都取得了最优的结果