【AI初识境】激活函数:从人工设计到自动搜索

[论文笔记]SEARCHING FOR ACTIVATION FUNCTIONS ⭐ 作者利用自动搜索技术来发现新的激活函数。并且通过实验发现最佳的激活函数为f(x) = x * sigmoid(βx),称为Swish。 阅读详情

文章首发于微信公众号《有三AI》

【AI初识境】激活函数:从人工设计到自动搜索

这是专栏《AI初识境》的第4篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。

在神经网络中,有一个看似不起眼但是非常重要的概念,那就是激活函数。激活函数模型固然理解起来简单,但是也经历了从人工设计到自动探索的长足发展历程。

作者&编辑  | 言有三

 

01 无处不在的激活函数

我们都知道人工神经网络是用于模拟神经元的,那么提起激活函数,自然是要从那里去挖掘原因

在正说深度学习中的激活函数之前,我想说其实激活函数无处不在。

(1) 上班需要激活函数。早上10点上班,你8点到也好,9点到也好都一样,但是10点零1分到不行,性质就变了,考勤系统留下迟到的记录,全勤奖再无希望。

它的激活函数应该是这样的,x是打卡时间。

这是一个阶跃函数,类似于如下:

(2) 最近看上了一个跳槽过来的喜欢吃甜品的女同事,不过听说有男朋友,不过又听说好像正在慢慢闹分手。

那么如果要追这个女同事,什么时候送甜品能带来友情的升华?假如预判她和对象第t天后拜拜。

它的激活函数可能是这样的,x是送甜品的日子。

 

在刚分手的时候(也就是第t天,对应曲线斜率最大的地方)送甜品带来的好感激增度是最高的,再往后虽然随着相互之间越来越熟友谊持续升温,但是增长率下降了啊。而且到后来可能被其他人追走了,这个函数还只在一定期限内有效。

(3) 最近项目要加班,不过好在加班费是按小时(可以有分数)算的,那么当天的工资,就应该是这样算的。它的激活函数可能是这样的,x是工作时长。

形状长这样,超过一个阈值后是线性增加的,低于阈值则是常量。

(4) 不是单身狗?OK你是有老婆的人,那么下班回家陪老婆看电视总需要吧。不过到底陪不陪看,是不是陪就一定能得到老婆大人喜欢,这个可能是个周期性质的东西。

假如x是当天日历,那么激活函数可能是这样。

 

这么想想,是不是感觉激活函数无处不在,上面的这几种都是有正儿八经对应的激活函数的。

回转正题,之所以需要激活函数,从生物学上来说,是因为人脑的细胞接受刺激从而产生活动,首先需要一定的阈值,没有达到阈值,几乎没用。而不同的刺激产生的输出也是不同的,达到一定值后就饱和了,再加大也没用。

作为模拟人脑的人工神经网络,自然是需要某种机制来模拟这一种活动,这便是激活函数根本性的由来。

 

02 激活函数到底有什么用

一个复杂的神经网络,是有许多层的,其中最基本的单位便是神经元。

一个线性神经元,输入x输出y的变换关系如下。

可以看到输出y与x是一个线性关系。如果再增加一层,把y作为中间层,输出为z呢?

如下:

 

可以看出,最终的输出z仍然与x是线性关系,也就是说这样堆叠下去,永远都是线性关系。

人们期望神经网络可以模拟任意的函数,怎么可能用一个线性函数来完成呢?所以才会在线性神经元的输出后添加非线性的函数,添加的越多,变换自然就越复杂了。

而不同的非线性映射函数的选择,就是激活函数的研究课题了。

 

03 各种激活函数

https://en.wikipedia.org/wiki/Activation_function

关于激活函数的种类,有三这一次就偷个懒,大家可以去wiki 百科上面看,非常的详细,下面摘录其中的一些。

这些人工设计的激活函数有这么多,那么什么激活函数最好,是ReLU吗?还是各类ReLU的变种(LReLU,PReLU,RReLU,ELU,SELU,GELU等等),Maxout,又或者是某大神自己在搞的很复杂的激活函数,这是没有答案的,只能说有一些通用的大家认可的结论,下面也只能覆盖到一些。

(1) sigmoid和tanh激活函数。

为什么最早的时候大家用sigmoid函数呢?因为它不管输入处于多大的范围,输出是处于0~1的,机器学习里要解决的问题很多都是概率,用sigmoid不是很自然吗?

就算它有所谓的饱和问题导致梯度很小,那也是在函数的尾部才会发生,或者是在多级连乘之后才明显。所以很早期的比较浅的神经网络,用sigmoid没毛病,现在在LSTM这一类需要计算开关概率的网络中,sigmoid仍然是很常见的。

那tanh函数又如何呢?它相比sigmoid来说,将输出映射到(-1,1)之间了,拓展了一倍的值域。激活有负值之后,网络的表达能力可以得到提升,但未必一定需要这么做的,因为权重本身是可以为负的,而在最早期的神经网络中,用模拟信号处理问题,甚至连权重都没有非负的,一样有效。不过一般来说tanh总不至于比sigmoid差的,它毕竟通过零点,输出期望不会漂移。

(2)ReLU激活函数。

好处是很明显的。首先它简单,这个简单不仅在于导数恒定,更在于它将低于一定阈值的信号丢弃了。深度学习要解决的是工程问题,工程问题很多时候都是稀疏性的,往往简单的解决方案是最有效和稳定的。不过ReLU输出没有负数的问题确实有一定负作用,这也是其他方法对ReLU的改进空间所在。

(3)ReLU的一大堆变种(LReLU,PReLU,RReLU,ELU,SELU,GELU等等)。

我相信这些变种是有用的,但是我没怎么用过。不用因为是首先它们还没有表现出一定比ReLU强,在如今有BN等技术以及好的初始化方法后,ReLU的缺点没有那么明显了。另一方面是,没时间去一个一个试,解决问题的过程中还有很多其他因素更加需要去探索。不过,还是建议大家去仔细了解一下的,用不用的着再说。

正因如此,在对ReLU改进的差不多之后,激活函数的人工设计就没有这么多热情了。

 

04自动搜索

不过坑还没有填完,还是有人没有忘记这个问题的,比如谷歌。谷歌开了许多深度学习领域的自动化的工作,比如自动设计网络NASNet,自动数据增强AutoAugment等工作,也做了自动搜索最优的激活函数的工作。

文[1]就在一系列一元函数和二元函数组成的搜索空间中,进行了比较细致的组合搜索实验。

结论是好用的激活函数都比较简单,不会超过两个基本函数的乘的组合。搜到了一些比Relu表现更好的函数,最好的是一个这样的函数:x · σ(βx),被称为Swish,它在某个特定的参数下也和ReLU及其变种类似,看看图就知道了。

顺便说一下该方法做实验时的一元函数和二元函数的搜索空间:

已经覆盖我们能想到的一些简单的函数了。

类似地也有其他的研究人员通过遗传算法学习到一些新的激活函数,包括EliSH,HardEliSH[2],感兴趣的可以去看论文。

这个坑就挖给你了,还可以填。

[1] Ramachandran P, Zoph B, Le Q V. Searching for activation functions[J]. arXiv preprintarXiv:1710.05941, 2017.

[2] Basirat M , Roth P M . The Quest for the Golden Activation Function[J]. 2018.

[3] Nwankpa C , Ijomah W , Gachagan A , et al. Activation Functions: Comparison of trends in Practice andResearch for Deep Learning[J]. 2018.

最后发一个通知,2019年有三AI培养计划开始了,一个季度一期噢。

2019年有三AI“春季”划,给我一个荣耀,还你一生荣耀

 

总结

深度学习各个维度的理论正处于全面被研究中,如果你想有所建树,那么必须要深入思考以前那些看似习以为常的东西,激活函数就是一个例子。

下期预告:深度学习中初始化的重要性

 

转载文章请后台联系

侵权必究

比如网络loss不正常,怎么调都不管用。

比如训练好好的,测试就是结果不对。

bug天天有,深度学习算法工程师遇到的特别多,如果你想交流更多,就来有三AI知识星球实时提问交流吧,大咖众多,总有能解决你问题的。

初识境界到此基本就结束了,这一系列是为大家奠定扎实的深度学习基础,希望学习完后大家能有收获。

AI白身境系列完整阅读:

第一期:【AI白身境】深度学习从弃用windows开始

第二期:【AI白身境】Linux干活三板斧,shell、vim和git

第三期:【AI白身境】学AI必备的python基础

第四期:【AI白身境】深度学习必备图像基础

第五期:【AI白身境】搞计算机视觉必备的OpenCV入门基础

第六期:【AI白身境】只会用Python?g++,CMake和Makefile了解一下

第七期:【AI白身境】学深度学习你不得不知的爬虫基础

第八期: 【AI白身境】深度学习中的数据可视化

第九期:【AI白身境】入行AI需要什么数学基础:左手矩阵论,右手微积分

第十期:【AI白身境】一文览尽计算机视觉研究方向

第十一期:【AI白身境】AI+,都加在哪些应用领域了

第十二期:【AI白身境】究竟谁是paper之王,全球前10的计算机科学家

AI初识境系列完整阅读

第一期:【AI初识境】从3次人工智能潮起潮落说起

第二期:【AI初识境】从头理解神经网络-内行与外行的分水岭

第三期:【AI初识境】近20年深度学习在图像领域的重要进展节点

第四期:【AI初识境】激活函数:从人工设计到自动搜索

第五期:【AI初识境】什么是深度学习成功的开始?参数初始化

第六期:【AI初识境】深度学习模型中的Normalization,你懂了多少?

第七期:【AI初识境】为了围剿SGD大家这些年想过的那十几招

第八期:【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?

第九期:【AI初识境】如何增加深度学习模型的泛化能力

第十期:【AI初识境】深度学习模型评估,从图像分类到生成模型

第十一期:【AI初识境】深度学习中常用的损失函数有哪些?

第十二期:【AI初识境】给深度学习新手开始项目时的10条建议

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI!

【rk3566/3568】Android 11移植gms 【rk3566/3568】Android 11移植gms 1、前言 测试功能时,想去Google play store去下个应用测试,发现通过网页搜索总是下载不到正确的谷歌服务框架;于是就不得不去搞一个内置的gms。 2、移植 1、需要下载Android 11对应的gms的包 opengapps 2、看下文件目录 直接移植core里面的文件,GAPPs Optional按需添加 3、在vendor下创建google目录 ... 阅读详情

相关推荐

【故障处理】- ORA-01722

在执行升级脚本@?/rdbms/admin/catupgrd.sql时报错ora-01722。

weixin_39099660的博客 855

SEARCHING FOR ACTIVATION FUNCTIONS翻译

1.摘要 在深度神经网络中选择合适的激活函数对网络的动态训练和任务的性能具有显著的影响。目前,最成功也最为被广泛使用的激活函数是修正线性单元(Rectified Linear Unit,ReLU)。虽然已经提出了各种手工设计的ReLU替代方案,但由于收益不一致,没有人设法取代它。在这项工作中,我们提出了利用自动搜索技术来发现新的激活函数。使用穷举和强化学习搜索的组合,我们发现了多个新的激活函数。我...

nopSled 2069

深入解析YT8521S千兆以太网PHY芯片的设计与调试要点

本文深入解析了YT8521S千兆以太网PHY芯片的设计与调试要点。重点剖析了硬件设计中的电源方案、RGMII接口电平配置(尤其是1.8V电平方案)以及PCB布局布线等关键细节,并提供了从硬件检查、驱动配置到性能测试的完整调试流程,帮助工程师规避常见陷阱,实现稳定可靠的千兆网络连接。

weixin_29190573的博客 690

SWISH论文翻译

SWISH论文翻译 基本是机器翻译,也进行了基本的人工矫正,凑活看吧 原论文:SEARCHING FOR ACTIVATION FUNCTIONS 链接:https://arxiv.org/pdf/1710.05941.pdf 摘要 深度网络中激活函数的选择对训练动态和任务性能有显着影响。目前,最成功和广泛使用的激活函数是整流线性单元(ReLU)。尽管已经提出了各种手工设计的ReLU替代品,但...

Learning 3240

Fusion 360嵌入式外壳建模实战:从草图到可装配结构

参数化三维建模是现代电子结构设计的核心能力,其本质是通过几何约束与特征驱动实现设计意图的精确表达和快速迭代。Fusion 360作为集成CAD/CAM/CAE的云端平台,以时间轴驱动的参数化工作流、基于基准面的草图约束机制和面向制造的特征操作逻辑,显著提升了嵌入式硬件的结构验证效率。该技术价值在于支持工程师在无专业机械背景前提下,独立完成PCB适配、散热布局、接口开孔与装配干涉检查等关键任务,广泛应用于3D打印原型、CNC加工外壳及IoT终端结构开发。本文以ESP32冰箱监控终端为实例,详解从基准定义、草图

weixin_35671843的博客 590

在win10-wsl2(ubuntu)中安装jlink

在 官方下载linux版本的deb包拷贝到ubuntu的/home目录下(其他目录也可以),进行安装然后提示很多依赖缺失的错误,此时执行自动安装需要的依赖包再次重新安装就可以啦查看是否安装成功,输入JLink 再按下两次Table键,是否如下所示这样表示安装成功了。

yaq_30401的博客 3141

激活函数Swish(ICLR 2018)

本文提出用自动搜索技术来寻找新的激活函数。结合穷举和基于强化学习的搜索,作者发现了许多新的激活函数。作者还通过对找到的最优激活函数的经验评估来验证搜索的有效性。实验表明,找到的最优激活函数 \(f(x)=x\cdot siogmoid(\beta x)\),作者称之为 \(Swish\),在许多具有挑战性的数据集上,效果都优于ReLU。

00000cj的博客 1459

YOLOv8 TensorRT C++部署实战详解:从XMake构建到推理流水线

本项目实现了一个基于YOLOv8和TensorRT的高性能火灾烟雾检测系统,具有以下核心特点: 技术架构:采用TensorRT 8.6+进行GPU加速推理,结合CUDA 12.1和OpenCV 4.8+,实现高效计算机视觉处理。系统使用XMake替代CMake构建,配置更简洁高效。

hscing的博客 1066

激活函数Swish和Hardswish简介

Swish激活函数和Hardswish激活函数学习笔记。

码农1479的博客 2万+

10、业务任务(service task)

业务任务通常是用来调用业务系统,camunda中可以调用JAVA代码或者rest api调用。 在camunda中,业务任务实现方式有5种,本节先用一个小例子显示前三种,External 外部任务,Connector连接器后面分别讲解。假设用户预约电器公司上门维修家电,然后师傅上门维修,完成后公司回访客户对师傅服务打分,师傅查询自己的评分。使用java class 模式实现业务任务。 com.forestlake.camunda.servicetask.ReserveRepair 使用Delegate ex

leyoliu的博客 3233

基于simulink的BMS系统中电池单体故障隔离与恢复建模

本文介绍了使用Simulink构建BMS电池单体故障诊断与容错控制模型的方法。主要内容包括:1)搭建12串锂电池组模型;2)实现单体故障注入(过压、断线等);3)设计故障诊断与隔离模块(采用Stateflow状态机);4)开发恢复判断逻辑(需满足电压、温度等条件);5)系统监控与仿真设置。文章还提供了工程实践建议,如防环流设计、通信冗余等,并指出进阶方向(多故障处理、AI预警等)。该模型适用于新能源汽车、储能系统的BMS设计,可提高系统可靠性和安全性。

xiaoheshang_123的博客 141

激活函数设计vhdl_「AI初识境」激活函数:从人工设计到自动搜索

原标题:「AI初识境」激活函数:从人工设计到自动搜索这是专栏《AI初识境》的第4篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。在神经网络中,有一个看似不起眼但是非常重要的概念,那就是激活函数。激活函数模型固然理解起来简单,但是也经历了从人工设计到自动探索的长足发展历程。作者&编辑 | 言有三01 无处不在的激活函数我们都知道人工神经网络是用于模拟神经元的,那么提起激活函...

weixin_39550379的博客 154

DA14531之如何Debug(在线调试、Jlink仿真、串口打印)

在线调试和串口打印调试。在线调试是Keil软件配合Jlink编译、烧录、仿真为一体的,其操作包括:运行、停止、打断点,单步运行等。而串口打印调试,只需打开相关配置,让arch_printf()函数正常输出串口数据。若想在初始化完成后打印arch_printf(“goto Loop\r\n”);波特率为115200,接收到串口消息goto Loop。连好线后,点击仿真按钮,在线Jlink调试。

hejinwu1314的博客 1792

「AI初识境」激活函数:从人工设计到自动搜索

https://www.toutiao.com/a6694433329048977927/ 这是专栏《AI初识境》的第4篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。 在神经网络中,有一个看似不起眼但是非常重要的概念,那就是激活函数。激活函数模型固然理解起来简单,但是也经历了从人工设计到自动探索的长足发展历程。 作者&编辑 | 言有三 01 无处不在的激活...

喜欢打酱油的老鸟 434

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

relu函数_【AI初识境】激活函数:从人工设计(sigmoid,relu)到自动搜索(swish)

这是专栏《AI初识境》的第4篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。在神经网络中,有一个看似不起眼但是非常重要的概念,那就是激活函数。激活函数模型固然理解起来简单,但是也经历了从人工设计到自动探索的长足发展历程。 ...

weixin_39893728的博客 262

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

AI修行三十篇文章到不惑,已经掌握了什么,接下来还要说什么

文/编辑 | 言有三AI修行之路系列文章是有三AI的代表性作品,共分为5个系列,分别是AI白身境,AI初识境,AI不惑境,AI有识境,不可知。其中前4个系列我们会推出对应...

hacker_long的专栏 571

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【硬核科技】转行AI,从零出发

文/编辑 | 言有三AI修行之路系列文章是有三AI的代表性作品,共分为5个系列,分别是AI白身境,AI初识境,AI不惑境,AI有识境,不可知。其中前4个系列我们会推出对应...

湾区人工智能 308

【总结】有三AI视觉算法工程师成长指导手册不更新了?不,换视频更新了!...

早期的粉丝们想必还记得我们之前发布的400多页的视觉算法工程师成长指导手册,光是在咱们公众号后台就有超过5000的下载量,已经有段时间没有更新了,因此有小伙伴问我们是不是不更新了,答案是会...

hacker_long的专栏 808

【完结】12篇文章告诉你深度学习理论应该学到什么水平

专栏《AI初识境》正式完结了,在这一个专题中,我们给大家从神经网络背景与基础,讲到了深度学习中的激活函数,池化,参数初始化,归一化,优化方法,正则项与泛化能力,讲到了深度学习中的评测指标,优化目标,以及新手开始做训练时的注意事项。 消化完这12期文章后,你肯定具备了扎实的深度学习理论基础,接下来就大胆地往前走吧,下面再次回顾提炼一下主要内容。 作者&编辑 | 言有三 1、...

hacker_long的专栏 1649

言有三文章 - AI系列完整阅读

言有三文章 - AI系列完整阅读 第一期:【AI白身境】深度学习从弃用windows开始 第二期:【AI白身境】Linux干活三板斧,shell、vim和git 第三期:【AI白身境】学AI必备的python基础 第四期:【AI白身境】深度学习必备图像基础 第五期:【AI白身境】搞计算机视觉必备的OpenCV入门基础 第六期:【AI白身境】只会用Python?g++,CMake和...

喜欢打酱油的老鸟 1155

有三AI第一批10个研究小组上线

文/编辑 | 言有三很多粉丝都知道有三AI有一个计算机视觉群,但是有且仅有一个,而且因为人满了早就开始实行淘汰制。为什么不开第二个群呢,是因为有三觉得不会有500个以上...

hacker_long的专栏 598

有三AI小程序上线,把你的代码show给世界

文/编辑 | 言有三五一期间不发技术文影响大家休假,不过经过有三这几天的折腾,今天有三AI小程序上线了,虽然是很粗糙的一个版本,但是哆哆嗦嗦,勉勉强强地也能用了,给大家介...

hacker_long的专栏 632

【杂谈】当当最新购书优惠来了,满300-60,AI好书推荐

当当最新购书优惠券来了,满200-30,满300-60,有效期仅限周末两天,至5.23日截止,需要购书的不要错过,下面推荐一些比较热门的书。神经网络与深度学习豆瓣评分9.5!复旦大学邱锡鹏...

hacker_long的专栏 1712

【直播预告】如何设计性能更强的CNN模型

大家好,预告一下下周六的知乎Live直播-如何设计性能更强的CNN模型结构。1、直播基本信息时间:2019年5月4日20:04开始。地点:知乎live,线上直播。主讲人:...

hacker_long的专栏 474

面试官如何判断面试者的机器学习水平?

元学习论文总结||小样本学习论文总结 2017-2019年计算机视觉顶会文章收录 AAAI2017-2019 CVPR2017-2019 ECCV2018 ICCV2017-2019 ICLR2017-2019 NIPS2017-2019 问题:https://www.zhihu.com/question/62482926 转载:https://www.zhihu.com/question/...

VIEO 430

深度学习优化篇

模型要想训得好,参数优化不可少。 激活函数 一个复杂的神经网络,是有许多层的,其中最基本的单位便是神经元。一个线性神经元不断堆叠下去,永远都是线性关系。这就无法解决非线性问题,而不同的非线性映射函数的选择,就是激活函数的研究课题了。 为了解决非线性的问题,在感知机的基础上发展出了多层神经网络的概念。多层神经网络由输入层、多个中间层,以及输出层组成。 解决非线性问题的还可以使用非...

深页 324
上一篇: 【AI初识境】近20年深度学习在图像领域的重要进展节点
下一篇: 【AI初识境】什么是深度学习成功的开始?参数初始化
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值