激活函数总结(五):Shrink系列激活函数补充(HardShrink、SoftShrink、TanhShrink)

激活函数总结(五):Shrink系列激活函数补充

  • 1 引言
  • 2 激活函数
    • 2.1 HardShrink激活函数
    • 2.2 SoftShrink激活函数
    • 2.3 TanhShrink激活函数
  • 3. 总结

1 引言

在前面的文章中已经介绍了一系列激活函数 (SigmoidTanhReLULeaky ReLUPReLUSwishELUSELUGELUSoftmaxSoftplusMishMaxoutHardSigmoidHardTanhHardswish)。在这篇文章中,会接着上文提到的众多激活函数继续进行介绍,给大家带来更多不常见的激活函数的介绍。这里放一张激活函数的机理图:
在这里插入图片描述

最后,对于文章中没有提及到的激活函数,大家可以通过评论指出,作者会在后续的文章中进行添加补充。

2 激活函数

2.1 HardShrink激活函数

HardShrink激活函数的数学表达式和数学图像分别如下所示:
H a r d S h r i n k ( x ) = { x i f x > + t h r e s h o l d x i f x < − t h r e s h o l d 0 o t h e r w i s e HardShrink(x)=\left\{ \begin{matrix} \quad \quad \quad x \quad \quad \quad if \quad x > +threshold \\ \quad \quad \quad x \quad \quad \quad if \quad x < -threshold \\ \quad \quad \quad 0 \quad \quad \quad \quad \quad \quad \quad otherwise \end{matrix} \right. HardShrink(x)= xifx>+thresholdxifx<threshold0otherwise 在这里插入图片描述
上面这幅图像是连续的(这是因为以直线的形式画出来了,会将断点连接),实际上的图像是非连续的,如下所示:
在这里插入图片描述
其中, t h r e s h o l d threshold threshold 是硬缩减的阈值,通常为一个预先设定的常数。

优点:

  • 硬缩减:HardShrink激活函数在输入值小于阈值时直接将输出缩减为0,从而引入了非线性变换。这种硬缩减操作可以帮助模型学习具有稀疏性的表示,有助于减少模型的计算复杂性和参数数量。
  • 无需学习参数:HardShrink激活函数不需要学习任何参数,因为它只是简单地对输入进行硬缩减。这使得HardShrink函数非常轻量级,适用于一些资源有限的场景和轻量级模型。

缺点:

  • 硬缩减的信息丢失:HardShrink函数在阈值区间时直接将输出设为0,这可能导致部分信息的丢失。因此,HardShrink函数可能不适用于一些需要保留全部信息的任务。
  • 不连续性:HardShrink函数在阈值处存在不连续性,这意味着在这些点上梯度不连续。这可能会影响梯度优化过程的稳定性和收敛性。
  • 参数选择:HardShrink激活函数的性能高度依赖于阈值的选择。选择不合适的阈值可能导致性能下降,因此需要进行一定的调参。

对于不连续的HardShrink激活函数,几乎没有人使用。。。

2.2 SoftShrink激活函数

SoftShrink激活函数的数学表达式和数学图像分别如下所示:
S o f t S h r i n k ( x ) = { x − t h r e s h o l d i f x > + t h r e s h o l d x + t h r e s h o l d i f x < − t h r e s h o l d 0 o t h e r w i s e SoftShrink(x)=\left\{ \begin{matrix} \quad \quad \quad x-threshold \quad \quad \quad if \quad x > +threshold \\ \quad \quad \quad x+threshold \quad \quad \quad if \quad x < -threshold \\ \quad \quad \quad 0 \quad \quad \quad \quad \quad \quad \quad \quad otherwise \end{matrix} \right. SoftShrink(x)= xthresholdifx>+thresholdx+thresholdifx<threshold0otherwise
在这里插入图片描述
HardShrink激活函数相比,SoftShrink激活函数是连续的,具有更少的稀疏性,保存更多的信息。同时,由于其连续性,在进行优化时过程会更加稳定

SoftShrink在一定程度上改善了HardShrink的情况,但是在当前情况下仍不怎么使用。。。

2.3 TanhShrink激活函数

基于Tanh之上,计算输入输出的差值,即为TanhShrink。数学表达式和数学图像分别如下所示:
T a n h S h r i n k ( x ) = x − tanh ⁡ ( x ) = x − exp ⁡ ( x ) − exp ⁡ ( − x ) exp ⁡ ( x ) + exp ⁡ ( − x ) = x i − exp ⁡ ( 2 x ) − 1 exp ⁡ ( 2 x ) + 1 TanhShrink(x) =x-\tanh(x)=x- \frac{\exp(x) - \exp(-x)}{\exp(x) + \exp(-x)} = x_i-\frac{\exp(2x) - 1}{\exp(2x) + 1} TanhShrink(x)=xtanh(x)=xexp(x)+exp(x)exp(x)exp(x)=xiexp(2x)+1exp(2x)1
在这里插入图片描述
在当输入在0附近时,梯度近乎为0,而在输入极大或极小时,梯度反而为正常梯度

TanhShrink相对于SoftShrink函数又具有一定的平滑性能,但是仍具有局限性(更多的是用作Tanh激活函数的代替)。。。

3. 总结

上述介绍的Shrink系列激活函数更多的是对Tanh函数的改进,同样地,这些函数也更适用于对Tanh函数进行替换,别的情况下很难得到应用。。。。
到此,使用 激活函数总结(五) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的激活函数也可以在评论区提出,后续会对其进行添加!!!!

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基本动态规划问题的扩展

基本动态规划问题的扩展 应用动态规划可以有效的解决许多问题&#xff0c;其中有许多问题的数学模型&#xff0c;尤其对一些自从57年就开始研究的基本问题所应用的数学模型&#xff0c;都十分精巧。有关这些问题的解法&#xff0c;我们甚至可以视为标准——也就是最优的解法。…

Vue组件库

Vue组件库 ViteVue3TypescriptTSX 1、项目搭建 1.1、创建项目&#xff08;yarn&#xff09; D:\WebstromProject>yarn create vite yarn create v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh pa…

为新手和非技术人员提供扩展Web网站提供一个升级指南

本指南总结了扩展的基本原则&#xff0c;从一台服务器扩展到能够服务数百万用户的Web应用程序。它面向在技术领域工作的新手和非开发人员。因此&#xff0c;如果您刚刚部署了您的多云平台VPN设置&#xff0c;那么本文并不适合您。 话不多说&#xff0c;那就让我们开始吧&#x…

基于灰狼优化(GWO)、帝国竞争算法(ICA)和粒子群优化(PSO)对梯度下降法训练的神经网络的权值进行了改进(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

存储过程的学习

1&#xff0c;前言 这是实习期间学习的&#xff0c;我可能是在学校没好好听课&#xff0c;&#xff08;或者就是学校比较垃&#xff0c;没教这部分&#xff0c;在公司经理让我下去自己学习&#xff0c;太难了&#xff0c;因为是公司代码很多部分都是很多表的操作&#…

SQL Server 查询数据并汇总相关技巧 23.08.08

GROUPING 是一个聚合函数,它产生一个附加的列&#xff0c;当用 CUBE 或 ROLLUP 运算符添加行时&#xff0c;附加的列输出值为1&#xff0c;当所添加的行不是由 CUBE 或 ROLLUP 产生时&#xff0c;附加列值为0。 仅在与包含 CUBE 或 ROLLUP 运算符的 GROUP BY 子句相联系的选择…

基于grpc从零开始搭建一个准生产分布式应用(1) - 开始准备

开始前必读&#xff1a;​​基于grpc从零开始搭建一个准生产分布式应用(0) - quickStart​​ 本来笔者并不想开设这个系列&#xff0c;因为工作量比较大&#xff0c;另外此专题的技术点也偏简单。最近复盘了下最近的工作&#xff0c;发现一个问题就是各个互联网大厂一般都会有…

AcWing算法提高课-4.2.3一个简单的整数问题2

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 给定一个长度为 N N N 的数列 A A A&#xff0c;以及 M M M 条指令&#xff0c;每条指令可能是以下两种之一&#xff1a; C l r…

嵌入式Linux下LVGL的移植与配置

一.sdk源码下载路径 1.官方源码下载路径如下: ​​​​​​ https://github.com/lvgl/lvgl git下载方式 git clone https://github.com/lvgl/lvgl.git 2.个人移植好的源码8.2版本下载路径: 链接&#xff1a;https://pan.baidu.com/s/1jyqIennsQpv-RB4RyKvZyg?pwdc68e 提取…

Spring-Cloud-Loadblancer详细分析_2

LoadBalancerClients 终于分析到了此注解的作用&#xff0c;它是实现不同服务之间的配置隔离的关键 Configuration(proxyBeanMethods false) Retention(RetentionPolicy.RUNTIME) Target({ ElementType.TYPE }) Documented Import(LoadBalancerClientConfigurationRegistrar…

电脑开不了机如何解锁BitLocker硬盘锁

事情从这里说起&#xff0c;不想看直接跳过 早上闲着无聊&#xff0c;闲着没事干&#xff0c;将win11的用户名称改成了含有中文字符的用户名&#xff0c;然后恐怖的事情发生了&#xff0c;蓝屏了… 然后就是蓝屏收集错误信息&#xff0c;重启&#xff0c;蓝屏收集错误信息&…

基于深度学习的3D城市模型增强【Mask R-CNN】

在这篇文章中&#xff0c;我们描述了一个为阿姆斯特丹 3D 城市模型自动添加门窗的系统&#xff08;可以在这里访问&#xff09;。 计算机视觉用于从城市全景图像中提取有关门窗位置的信息。 由于这种类型的街道级图像广泛可用&#xff0c;因此该方法可用于较大的地理区域。 推荐…

如何把图片转成gif?一分钟学会在线一键生成gif

平时我们在聊天的时候&#xff0c;经常会发送一下有趣的表情包&#xff0c;这些表情包是怎么做出来的呢&#xff1f;其实可以使用在线gif生成的方法&#xff0c;下面就来给大家演示一下图片制作gif&#xff08;https://www.gif.cn&#xff09;的具体步骤&#xff0c;一起来看看…

Flink学习记录

可以快速搭建一个Flink编写程序 mvn archetype:generate \-DarchetypeGroupIdorg.apache.flink \-DarchetypeArtifactIdflink-quickstart-java \-DarchetypeVersion1.17.1 \-DgroupIdcom.zxx.langhuan \-DartifactIdlanghuan-flink \-Dversion1.0.0-SNAPSHOT \-Dpackagecom.zx…

《全生命周期眼健康管理》助力健康科学用眼

8月8日下午&#xff0c;烟台正大光明眼科医院眼健康管理中心张提主任受邀来到烟台市残疾人事务综合服务中心&#xff0c;为残联康复训练教师及相关工作人员进行了《全生命周期眼健康管理》讲座。 烟台正大光明眼科医院眼健康管理中心张提主任 “全生命周期眼健康”这一理念其宗…

流水线时序调度之规避冲突

1 写在前面的&#xff1a; 其实略微一个大点的机器&#xff0c;一个测试流程需要若干个步骤&#xff0c;都可以用流水线的思维去看待它&#xff1b; 我之前也没往流水线的角度去考虑&#xff0c;那有些机器的时序调度是不好理解的&#xff0c;甚至计算个通量都很麻烦&#xff…

15-1_Qt 5.9 C++开发指南_Qt多媒体模块概述

多媒体功能指的主要是计算机的音频和视频的输入、输出、显示和播放等功能&#xff0c;Qt 的多媒体模块为音频和视频播放、录音、摄像头拍照和录像等提供支持&#xff0c;甚至还提供数字收音机的支持。本章将介绍 Qt 多媒体模块的功能和使用。 文章目录 1. Qt 多媒体模块概述2. …

pgAdmin开发工具之ERD

pgAdmin 是一个免费的 PostgreSQL 管理与开发平台&#xff0c;这篇文章介绍了它的安装与使用。 今天我们要介绍的是它的一个开发功能&#xff1a;实体关系图&#xff08;ERD&#xff09;工具。 ERD 工具可以使用图形化的方式表示数据库中的表、字段以及表之间的关系。 pgAdmin…

vue svg画渐变色线条

基于业务需求需要&#xff0c;需要使用svg画渐变色弧线并且采用虚线。并且封装成组件。 一、path路径 path路径是svg中最强大的图形&#xff0c;可以绘制各种svg所有能画的图形。 路径中的线是由d属性来绘制&#xff0c;属性参数由各种命令组成&#xff0c;以下是它的基本命…

selenium.webdriver Python爬虫教程

文章目录 selenium安装和使用 selenium安装和使用 pip install selenium 下载对应的浏览器驱动 实例化浏览器 from selenium import webdriverbrowser webdriver.Chrome()元素定位 控制浏览器