作者 | Miracle R

编译 | ronghuaiyang

转自 | AI公园

导读

对YOLOv4中的Mish激活函数进行解释和优缺点对比。

YOLO,是一种 one-shot 的目标检测技术,由Joseph Redmon和Ali Farhadi在2016年引入,目前已经有4个版本的技术。在这里,我们会来看看YOLOv4,特别是它的优化器,使用的两个bags的优化函数:在训练期间使用的“Bag of Freebies (BoF)”和在推理期间使用的“Bag of Specials (BoS)”。

Bag of Specials包含了用于YOLOv4架构的主干和检测器的低计算成本模块。这些是:

在这里,我们可以看到Mish激活函数同时存在于主干和检测器中。那么,是什么让它“special”呢?让我们进一步了解这个激活函数。

Mish激活函数

Mish是光滑的非单调激活函数,可定义为:

f(x) = xtanh(ς(x))

其中, ς(x) = ln(1+e^x),是一个softmax激活函数和。

这与另一个被称为Swish函数的激活函数非常相似,可以定义为:

在YOLOv4中使用Mish函数的原因是它的低成本和它的平滑、非单调、上无界、有下界等特点,与其他常用函数如ReLU和Swish相比,提高了它的性能。

Mish的性能详细说明如下:

  1. 无上界有有界:无上界是任何激活函数都需要的特性,因为它避免了导致训练速度急剧下降的梯度饱和。因此,加快训练过程。无下界属性有助于实现强正则化效果(适当的拟合模型)。(Mish的这个性质类似于ReLU和Swish的性质,其范围是[≈0.31,∞))。

  2. 非单调函数:这种性质有助于保持小的负值,从而稳定网络梯度流。大多数常用的激活函数,如ReLU [f(x) = max(0, x)], Leaky ReLU [f(x) = max(0, x), 1],由于其差分为0,不能保持负值,因此大多数神经元没有得到更新。

  3. 无穷阶连续性和光滑性:Mish是光滑函数,具有较好的泛化能力和结果的有效优化能力,可以提高结果的质量。在图中,可以看到ReLU和Mish之间的一个随机初始化的神经网络在宏观平滑度上的剧烈变化。然而,在Swish和Mish的情况下,宏观上或多或少还是相似的。

  1. 计算量较大,但是效果更好:与ReLU相比,它的计算比较贵,但在深度神经网络中显示了比ReLU更好的结果。

![](Mish Activation Function In YOLOv4.assets/0_PJVEahgbKstqbgAd.png)

  1. 自门控:此属性受到Swish函数的启发,其中标量输入被提供给gate。它优于像ReLU这样的点式激活函数,后者只接受单个标量输入,而不需要更改网络参数。

Python实现

使用PyTorch可以在python中实现Mish函数,如下所示:

![0_93iwe6BzbP6VRSAj](Mish Activation Function In YOLOv4.assets/0_93iwe6BzbP6VRSAj.png)import torch
import torch.nn as nn
import torch.nn.functional as Fclass Mish(nn.Module):def __init__(self):super().__init__()def forward(self, x):return x*(torch.tanh(F.softplus(x)))

总结

在诸如CIFAR-10, CIFAR-100, CalTech-256, ASL等具有挑战性的数据集的70多个不同的问题标准中,Mish函数的表现超过了广泛使用的激活函数,如ReLU和Swish。下图显示了Mish、Swish和ReLU在不同模型的CIFAR-10数据集上的性能,从图中可以很容易地推断,Mish比Swish函数的性能大约高0.494%,ReLU比Swish函数的性能高1.671%,因此是三者中最准确的:

在YOLOv4中,使用了Mish函数+ CSPDarknet53的组合,尽管代价有点高,但它极大地提高了检测的准确性,因此使Mish成为**“Specials”**之一。

感谢你的分享,点赞,在看三连↓

YOLOv4 中的 Mish 激活函数相关推荐

  1. Mish激活函数,ReLU的继任者

    参考链接:https://blog.csdn.net/u011984148/article/details/101444274 对激活函数的研究一直没有停止过,ReLU还是统治着深度学习的激活函数,不 ...

  2. yolov4中的route和shortcut层

    1.shortcut层 shortcut层的输入层一般是两个(目前还没出现多余两个的情况),实现两个张量相加,例如: 对应的cfg文件中的层为: #4 [convolutional] batch_no ...

  3. DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略

    DL之AF:机器学习/深度学习中常用的激活函数(sigmoid.softmax等)简介.应用.计算图实现.代码实现详细攻略 目录 激活函数(Activation functions)相关配图 各个激活 ...

  4. SELU︱在keras、tensorflow中使用SELU激活函数

    arXiv 上公开的一篇 NIPS 投稿论文<Self-Normalizing Neural Networks>引起了圈内极大的关注,它提出了缩放指数型线性单元(SELU)而引进了自归一化 ...

  5. 浅谈yolov4中的一部分数据增强

    浅谈yolov4中的数据增强 前言 数据增强 数据增强步骤 1.对图片进行水平翻转 2.对图片进行缩放 3.对图片HSV色域变换 4. Mosaic数据增强 5. 总代码 前言 在接下来的几天,我将解 ...

  6. yolov4中的mosaic数据增强

    文章详细讲解yolov4中的mosaic数据增强方法以及代码细节,如有错误,希望指正. 参考代码链接:https://github.com/bubbliiiing/yolov4-keras 1.下述代 ...

  7. Soft-Clipping Mish激活函数

    Soft-Clipping激活函数 论文:Soft Clipping Mish – A Novel Activation Function for Deep Learning 年份:2021 简介 该 ...

  8. pytorch和tensorflow中实现SMU激活函数

    在Pytorch中实现SMU激活函数 本文代码来源于githubuSMU源码链接 # coding=utf-8import torch from torch import nnclass SMU(nn ...

  9. tensorflow中Leaky Relu激活函数

    tensorflow中Leaky Relu激活函数 引用API:tensorflow.nn.leaky_relu(x) Leaky Relu激活函数 Leaky Relu激活函数引入一个固定斜率a,具 ...

最新文章

  1. 0308-标签的用法(a,ul/ol,table)
  2. 读论文之《基于 FPGA 的并行全比较排序算法》
  3. 在Spark上用Scala实验梯度下降算法
  4. 现实世界 机器学习_公司沟通分析简介现实世界的机器学习方法
  5. 【转】wpf和winform的区别
  6. angularjs html 缓存,如何删除使用AngularJS的HTML中的浏览器缓存?
  7. codevs4203山区建小学
  8. nagios监控mysql主从
  9. MQTT 固定报头 中 剩余长度字段的计算
  10. Redis 订阅与发布
  11. 网上预约订餐系统(联网可用)
  12. 微信小程序 java高校科研管理系统
  13. BT种子结构及bencoding编码解析
  14. GeekTool介绍及Shell模式应用二则(以及df、cal、date、sed的使用)
  15. 关于MFC窗口隐藏的方法
  16. BZOJ-1898 Swamp 沼泽鳄鱼
  17. 绝了,hutool导出excel 图片居然没有调用方法
  18. 测试人员进阶之路:成为测试专家或测试管理都需要知道什么
  19. JavaEE中,考勤(签到签退)功能的实现
  20. MySQL学习笔记day2--DQL案例练习

热门文章

  1. 中国电子学会图形化四级编程题:加减法混合运算器
  2. 【第22周复盘】可以查成绩了!
  3. 【Codeforces】1015B Obtaining the String(字符串 交换)
  4. 谷歌提出纯 MLP 构成的视觉架构,无需卷积、注意力 !
  5. 实战|手把手教你用Python爬取存储数据,还能自动在Excel中可视化
  6. 紧急更新下降难度,《王者荣耀》绝悟 AI 难倒一片玩家
  7. 只给测试集不给训练集,要怎么做自己的物体检测器?
  8. 小小的Python编程故事
  9. NLP技术落地为何这么难?里面有哪些坑?
  10. AI一分钟 | 美国国会传唤扎克伯格:来,就5000万用户数据泄露案作证;菜鸟无人车路测视频曝光