当前位置: 首页 > news >正文

Mish激活函数:一种自正则化的非单调神经激活函数

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

1 Mish激活函数概述

Mish是一种新型的神经激活函数,由Diganta Misra在2019年提出。其数学定义为f(x)=x⋅tanh⁡(softplus(x))=x⋅tanh⁡(ln⁡(1+ex))f(x) = x \cdot \tanh(\text{softplus}(x)) = x \cdot \tanh(\ln(1+e^x))f(x)=xtanh(softplus(x))=xtanh(ln(1+ex))。与传统的ReLU及其变体相比,Mish具有平滑非单调自正则化等特点,在多个深度学习任务中表现出 superior 的性能。

Mish的设计灵感来源于Swish激活函数,它结合了自门控机制(self-gating property)和平滑特性,使得神经网络能够更好地传播信息和梯度,从而提升训练效果和泛化能力。实验表明,Mish在图像分类、目标检测、语义分割等任务中 consistently 优于ReLU和Swish等常用激活函数。

Mish的核心优势在于其独特的曲线形状——它无上界(避免饱和)、有下界(约-0.31,提供正则化效果)、处处连续可微(梯度平滑),并且保留了少量负值信息(避免"Dead Neuron"问题)。这些特性使Mish成为深度学习模型中ReLU的有力替代品,尤其在深层网络中效果显著。

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

往期文章推荐:

  • 20.Swish激活函数:深度学习中的自适应门控激活机制
  • 19.RMSprop优化算法:原理、应用与演进
  • 18.康威生命游戏:零玩家游戏的元胞自动机奇迹
  • 17.梯度范数:概念、性质、应用与算法实现
  • 16.LSTM:长短期记忆网络的原理、演进与应用
  • 15.古德-杰弗里斯悖论:贝叶斯统计中的先验选择难题
  • 14.BRLESC计算机:美国弹道研究实验室的科学计算先驱
  • 13.磁带记录仪:从磁带到数字的数据存储之旅
  • 12.振荡器:从基础原理到大模型计算的时钟心脏
  • 11.SuperGLUE:自然语言理解的挑战与进步
  • 10.奇异值:数据科学的数学基石与应用核心
  • 9.GLUE:自然语言理解评估的黄金基准
  • 8.MMLU:衡量大语言模型多任务理解能力的黄金基准
  • 7.低秩矩阵:揭示高维数据中的简约之美
  • 6.低秩分解技术:从理论到应用的全方位解读
  • 5.DROP:挑战机器离散推理能力的阅读 comprehension 基准
  • 4.Frank-Wolfe算法:深入解析与前沿应用
  • 3.SQuAD:机器阅读理解领域的里程碑数据集
  • 2.图灵完备性:计算理论的基石与无限可能
  • 1.CrowS-Pairs:衡量掩码语言模型中社会偏见的挑战数据集

2 历史背景与发展历程

2.1 激活函数的发展演变

激活函数是神经网络中引入非线性的关键组件。早期广泛使用的激活函数是SigmoidTanh,但它们容易饱和,导致梯度消失问题。ReLU(Rectified Linear Unit)因其简单性和有效缓解梯度消失的能力成为主流选择,但存在"Dying ReLU"问题(负数部分完全为零,导致神经元死亡)。

为了解决ReLU的局限性,研究者提出了多种改进方案,包括Leaky ReLUELUSELU等。2017年,Google提出了Swish激活函数(f(x)=x⋅σ(x)f(x)=x \cdot \sigma(x)f(x)=xσ(x)),其平滑非单调的特性在多项任务中超越了ReLU。Swish的成功激发了人们对类似激活函数的研究兴趣。

2.2 Mish的提出

Mish由Diganta Misra在2019年提出,并在论文《Mish: A Self Regularized Non-Monotonic Activation Function》中进行了详细阐述。Mish的设计受到Swish的启发,但通过系统分析和实验发现了更优的函数形式。

Mish的命名源自其发明者姓氏(Misra)和"SoftPlus"的组合,反映了其与SoftPlus函数的密切关系。该函数在2020年被YOLOv4目标检测算法采用作为默认激活函数,进一步推动了其广泛应用和认可。

表:激活函数发展历程主要里程碑

年份激活函数提出者/推广者主要特点
1990sSigmoid/Tanh-早期常用,但易饱和
2011ReLU-简单有效,但存在Dying ReLU问题
2015Leaky ReLU-解决Dying ReLU问题
2017SwishGoogle Research平滑、非单调
2019MishDiganta Misra自正则化、平滑、非单调

3 Mish的数学定义与性质

3.1 数学表达式

Mish激活函数的数学定义为:

f(x)=x⋅tanh⁡(softplus(x))=x⋅tanh⁡(ln⁡(1+ex))f(x) = x \cdot \tanh(\text{softplus}(x)) = x \cdot \tanh(\ln(1+e^x))f(x)=xtanh(softplus(x))=xtanh(ln(1+ex))

其中softplus(x)=ln⁡(1+ex)\text{softplus}(x) = \ln(1+e^x)softplus(x)=ln(1+ex)tanh⁡(⋅)\tanh(\cdot)tanh()是双曲正切函数。

Mish也可以表示为参数化形式(但原始论文中未引入参数),类似于Swish的参数化版本:

fβ(x)=x⋅tanh⁡(ln⁡(1+eβx))f_\beta(x) = x \cdot \tanh(\ln(1+e^{\beta x}))fβ(x)=xtanh(ln(1+eβx))

β=1\beta=1β=1时,即为标准Mish函数。

3.2 导数计算

Mish的一阶导数计算如下:

f′(x)=exωδ2f'(x) = \frac{e^{x} \omega}{\delta^2}f(x)=δ2exω

其中:

  • ω=4(x+1)+4e2x+e3x+ex(4x+6)\omega = 4(x+1) + 4e^{2x} + e^{3x} + e^{x}(4x+6)ω=4(x+1)+4e2x+e3x+ex(4x+6)
  • δ=2ex+e2x+2\delta = 2e^{x} + e^{2x} + 2δ=2ex+e2x+2

Mish的导数具有平滑连续的特性,这在反向传播中有利于梯度的稳定流动。

3.3 函数特性

Mish具有以下几个重要特性:

  1. 无上界(Unbounded Above):当x→+∞x \to +\inftyx+时,f(x)→+∞f(x) \to +\inftyf(x)+,这避免了饱和现象,有利于梯度流动。
  2. 有下界(Bounded Below):当x→−∞x \to -\inftyx时,f(x)→−0.31f(x) \to -0.31f(x)0.31,这提供了正则化效果。
  3. 平滑(Smooth):函数在所有点上都连续可微,导数平滑,这有利于优化和泛化。
  4. 非单调(Non-Monotonic):虽然整体趋势是递增的,但在x<0x < 0x<0的区域存在轻微的非单调性,这可能有助于模型捕捉更复杂的模式。
  5. 自正则化(Self-Regularized):通过保留适量负值信息,Mish有助于降低过拟合风险。

这些特性使Mish在多种任务中表现出色,尤其是在深层网络中。

3.4 与Swish的对比

Mish与Swish(f(x)=x⋅σ(x)f(x)=x \cdot \sigma(x)f(x)=xσ(x))有相似之处,但存在关键差异:

  • 平滑度:Mish比Swish更平滑,这有助于信息在深层网络中更深入地传播。
  • 负值处理:两者都保留少量负值信息,但Mish的负值处理更加平滑。
  • 性能:实验表明,Mish在大多数任务中略优于Swish。

4 Mish的实现方法与使用技巧

4.1 主流框架实现

PyTorch实现

import torch
import torch.nn.functional as Fclass Mish(torch.nn.Module):def __init__(self):super().__init__()def forward(self, x):return x * torch.tanh(F.softplus(x))# 或者更高效的实现
class MemoryEfficientMish(torch.nn.Module):class F(torch.autograd.Function):@staticmethoddef forward(ctx, x):ctx.save_for_backward(x)return x.mul(torch.tanh(F.softplus(x)))@staticmethoddef backward(ctx, grad_output):x = ctx.saved_tensors[0]sx = torch.sigmoid(x)fx = F.softplus(x).tanh()return grad_output * (fx + x * sx * (1 - fx * fx))def forward(self, x):return self.F.apply(x)

TensorFlow实现

import tensorflow as tfdef mish(x):return x * tf.math.tanh(tf.math.softplus(x))

4.2 使用技巧与最佳实践

  1. 学习率调整:与ReLU相比,使用Mish时可以适当降低学习率(通常为ReLU学习率的1/21/21/21/101/101/10),这有助于稳定训练。
  2. 与BatchNorm配合:当使用BatchNorm时,应启用缩放参数(scale parameter),这与ReLU的最佳实践不同。
  3. 初始化策略:Mish对初始化不太敏感,但仍建议使用标准初始化方法(如He初始化或Xavier初始化)。
  4. 网络深度:Mish在深层网络(>40层)中的优势更加明显,因为其平滑性有助于信息在更深层中传播。

4.3 计算效率考虑

Mish的计算比ReLU更复杂,因此前向传播和反向传播的时间开销会略高。在实际应用中,Mish相比ReLU通常每epoch增加约10-20%的训练时间。但考虑到其性能提升,这种计算开销通常是值得的。

对于计算资源严格受限的场景,可以考虑Mish的近似实现或使用CUDA优化的版本(如Mish-CUDA)来提高效率。

5 Mish的应用场景与效果验证

5.1 计算机视觉任务

Mish在计算机视觉的多个领域中表现出色:

图像分类:在ImageNet-1K数据集上,Mish consistently 优于ReLU和Swish。例如:

  • 在Squeeze Excite-18 Network上,Mish相比Swish和ReLU分别提高了0.494%和1.671%的Top-1准确率。
  • 在ImageWoof数据集上,使用Mish的XResNet50模型创造了新的FastAI排行榜记录。

目标检测:YOLOv4采用Mish作为默认激活函数,在MS-COCO数据集上获得了更好的检测精度。

语义分割:Mish在分割任务中也表现出优势,因其平滑的梯度流有助于保留细节信息。

5.2 自然语言处理

虽然Mish最初主要应用于计算机视觉,但在自然语言处理任务中也显示出潜力:

  • 在语言建模中,Mish有助于捕捉长距离依赖关系。
  • 在机器翻译中,Mish提升了翻译质量和训练稳定性。

5.3 生成模型

在生成对抗网络(GAN)中,Mish可以提高训练稳定性和生成质量,因其平滑的梯度有助于平衡生成器和判别器的训练。

5.4 强化学习

Mish在强化学习中的价值也逐渐被发掘,其自正则化特性有助于策略网络更好地探索和利用环境。

表:Mish在不同任务上的性能对比

任务类型数据集Mish准确率Swish准确率ReLU准确率
图像分类ImageNet-1K78.6%78.1%77.0%
图像分类CIFAR-1098.0%97.8%97.2%
目标检测MS-COCO48.9% mAP48.3% mAP47.5% mAP
语义分割Cityscapes81.2% mIoU80.7% mIoU79.9% mIoU

6 Mish的变体与相关研究

6.1 参数化Mish

研究者提出了参数化版本的Mish,引入可学习的参数β\betaβ

fβ(x)=x⋅tanh⁡(ln⁡(1+eβx))f_\beta(x) = x \cdot \tanh(\ln(1+e^{\beta x}))fβ(x)=xtanh(ln(1+eβx))

这允许网络自适应地调整激活函数的形状,进一步提升表达能力。

6.2 Mish-GLU

受GLU(Gated Linear Unit)的启发,研究者将Mish与门控机制结合:

Mish-GLU(x)=(xW+b)⊗mish(xV+c)\text{Mish-GLU}(x) = (xW + b) \otimes \text{mish}(xV + c)Mish-GLU(x)=(xW+b)mish(xV+c)

其中⊗\otimes表示元素级乘法,这种变体在Transformer模型中表现出色。

6.3 与其他激活函数的融合

研究者还尝试将Mish与其他激活函数结合,例如:

  • Mish-Swish混合:结合Mish和Swish的优点。
  • 自适应激活函数:让网络自动选择激活函数的形式,Mish常被包含在候选集中。

6.4 理论分析

尽管Mish在实践中表现优异,但其理论分析仍相对欠缺。一些研究者试图从函数平滑性、梯度流动性和正则化效果等角度解释Mish的有效性,但尚未形成统一理论。

7 总结

7.1 优势总结

Mish作为一种新型激活函数,具有以下突出优势:

  1. 卓越的性能:在多种任务和网络结构中 consistently 优于ReLU和Swish。
  2. 改善的梯度流动:平滑的特性有助于梯度在深层网络中更有效地传播。
  3. 自正则化效果:有助于降低过拟合风险,提高模型泛化能力。
  4. 防止神经元死亡:保留适量负值信息,避免Dying ReLU问题。

7.2 局限性

Mish也存在一些局限性:

  1. 计算开销:比ReLU更复杂,训练和推理时间更长。
  2. 理论支持不足:尽管实证效果显著,但缺乏严格的理论分析。
  3. 参数调优:需要调整学习率等超参数以获得最佳性能。

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

http://www.dtcms.com/a/411631.html

相关文章:

  • Stanford CS336 assignment1(上)
  • 做网站一般几个人完成做简历的网站 知乎
  • 【思考】作为“纯硬件”的ADC芯片,它是如何识别并处理SPI命令的?
  • 申请自助建站多点网络网站制作系统
  • 郑州网站优化seo网站的设计思路怎么写
  • 影刀 RPA:定时推送信息,高效便捷省心
  • 深度学习Pytorch入门(1):手撕CIFAR 10影像分类
  • Next.js 和VUE 区别对比总结
  • 网站建设这块是怎么挣钱的网络稿件投稿平台
  • 安徽建设银行 招聘网站wordpress自媒体博客模板
  • 基于大模型的换衣试装应用开发实战:从零构建虚拟试衣系统
  • 微信小程序学习(三)
  • 数据库迁移实战:最小化停机时间的方法
  • 十大免费ppt模板免费下载网站活动营销策划方案
  • 高端网站建设知识十大仓库管理软件
  • 路径平滑连接方法
  • 商业空间设计师岗位职责上海高玩seo
  • iis 网站启动不了企业网站建设 租用服务器
  • Windows更新服务的带宽限制
  • CIFAR-10 数据集实战指南:从数据加载、可视化到 CNN 训练与常见问题解决
  • 福清网站建设iis网站重定向
  • 手机网站建设品牌好广东东莞新闻最新消息
  • 【rust】 pub(crate) 的用法
  • 药品网站建设做彩票网站推广犯法吗
  • Rust错误处理详解
  • mdBook 文档
  • 女性时尚网站源码网站维护和制作怎么做会计分录
  • 怎么创建网站免费的wordpress xampp 教程
  • 宁波全网营销型网站建设哪家做网站的好
  • springboot项目整合p6spy框架,实现日志打印SQL明细(包括SQL语句和参数)