激活函数Mish

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在大多数情况下都取得了最优的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/742947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 创建群时报错 Node XXX is not empty

在创建 Redis 集群时报错[ERR] Node XXX is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0. 主要原因是 RDB 或者 AOF 文件中有数据,redis集群搭建的时候需要所有节点都为 空,不…

【组件初始化链条】简化Unity组件的初始化

简介 在游戏脚本中我们通过借助GetComponent或TryGetComponent方法获取组件,所以当需要获取较多组件时,我们不可避免地要书写一些重复代码,为了提升代码简洁程度,简化组件初始化逻辑,本文以"组件初始化链条"…

Springboot的配置文件及其优先级

配置文件 内置配置文件 配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;SpringBoot使用一个全局的配置文件,配置文件名是固定的: application.propertiesapplication.yml 以上…

网络建设与运维培训介绍和能力介绍

1.开过的发票 3.培训获奖的证书 4合同签署 5.实训设备

利用 boost::asio::ssl C/C++ 检查SSL/PEM证书文件的有效性

我们可以通过 boost::asio::ssl::context (SSL上下文)对象实例成员接口来检查SSL证书文件的有效性。 1、use_certificate_chain_file 使用证书链文件(CA*) 2、use_certificate_file 使用证书文件(公钥&am…

[ThinkPHP]Arr返回1

$detailId (int)Arr::get($detail, null); var_dump($detailId); 打印结果:int(1) 原因: vendor/topthink/think-helper/src/helper/Arr.php

干洗店管理系统洗鞋店预约上门小程序洗护流程;

干洗店洗鞋店收银管理系统﹣智能线上预约洗衣店小程序软件; 闪站侠洗衣洗鞋店收银管理系统,一款集进销存、收衣、收银、会员管理等实用功能于一体的洗护管理软件,适用于各大中小型企业个体工商户,功能强大,操作简单&…

瑞_23种设计模式_命令模式

文章目录 1 命令模式(Command Pattern)1.1 介绍1.2 概述1.3 命令模式的结构1.4 命令模式的优缺点1.5 命令模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析(Runable) 🙊 前言…

【机器学习智能硬件开发全解】(二)—— 政安晨:嵌入式系统基本素养【处理器原理】

嵌入式系统的基本素养包括以下几个方面: 硬件知识:嵌入式系统通常由硬件和软件组成,了解和熟悉硬件的基本知识,包括微处理器、存储器、外设等,并了解它们的工作原理和特性。 软件编程:熟悉至少一种编程语言…

人工智能迷惑行为大赏——需求与科技的较量

目录 前言 一、 机器行为学 二、人工智能迷惑行为的现象 三、产生迷惑行为的技术原因 四、社会影响分析 五、解决措施 总结 前言 随着ChatGPT热度的攀升,越来越多的公司也相继推出了自己的AI大模型,如文心一言、通义千问等。各大应用也开始内置…

WPF图表库LiveCharts的使用

这个LiveCharts非常考究版本,它有非常多个版本,.net6对应的是LiveChart2 我这里的wpf项目是.net6,所以安装的是这三个,搜索的时候要将按钮“包括愈发行版”打勾 git:https://github.com/beto-rodriguez/LiveCharts2?…

webpack面试题

1、webpack是干什么的 Webpack是一个现代的JavaScript应用程序的静态模块打包工具。当webpack处理应用程序时,它会在内部构建一个依赖图,此依赖图对应映射到项目所需的每个模块,然后将所有这些模块打包成一个或多个bundle。Webpack的主要功能…

趣学前端 | 平平无奇的JavaScript函数

背景 最近睡前习惯翻会书,重温了《JavaScript权威指南》。这本书,文字小,内容多。两年了,我才翻到第十章。因为书太厚,平时都充当电脑支架。 JavaScript函数 读这章之前,我感觉我三十年开发功力&#xf…

经典卷积神经网络LeNet-5、AlexNet、VGG-16

一、LeNet-5 这里只讲一下C5,卷积核大小是5*5,通道数是120,所以卷积完成之后是1*1*120,这里形成120个卷积结果。每个都与上一层的16个图相连。所以共有(5x5x161)x120 48120个参数,同样有48120个连接。 其他卷积层和池…

Maven: There are test failures.(已解决)

问题解决办法 进行package打包时报错如下: 然后这些并不能看出是测试的哪里的问题,可以点击上一级进行查看更详细的错误,越向上日志越详细,可以看到是52行出了错误, 52对应代码如下: 原因是存在注册的测…

HTML5+CSS3+JS小实例:全屏范围滑块

实例:全屏范围滑块 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale…

R语言系列4——R语言统计分析基础

目录 写在开头1. 描述性统计分析1.1 描述性统计分析的定义与重要性1.2 R语言中的描述性统计分析功能1.3 常用的描述性统计量及其在R中的计算方法1.4 使用R语言进行描述性统计分析的实际示例1.5 描述性统计分析的局限性和应用注意事项 2. 假设检验基础2.1. 假设检验的基本原理和…

Mybatis多表映射之一对多映射

上文总结了一对一关联关系中的映射方法。那么&#xff0c;如果存在一对多关系&#xff0c;又该定义映射关系呢&#xff1f; 1. 需求说明 假设目前存在顾客表与订单表&#xff0c;一个顾客与多个订单对应。因此&#xff0c;在顾客实体类中&#xff0c;应该有一个订单类型的lis…

机试:偶数分解

题目描述: 代码示例: #include <bits/stdc.h> using namespace std; int main(){ // 算法思想1:遍历小于该偶数的所有素数,存入数组中,遍历数组找出两个数之和等于偶数的数int n;cout << "输入样例" << endl;cin >> n;int nums[n];int k …

LeetCode98题:验证二叉搜索树(python3)

代码思路&#xff1a; 二叉搜索树的具体定义&#xff1a; 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 也可以理解为&#xff1a; 当前节点的值是其左子树的值的上界&#xff08;最大值&#xff09; 当前节点的值是其右子树的值的下界&#xf…