Pytorch激活函数最全汇总

news2024/11/29 0:31:04

为了更清晰地学习Pytorch中的激活函数,并对比它们之间的不同,这里对最新版本的Pytorch中的激活函数进行了汇总,主要介绍激活函数的公式、图像以及使用方法,具体细节可查看官方文档。


目录

1、ELU

2、Hardshrink

3、Hardsigmoid

4、Hardtanh

5、Hardswish

6、LeakyReLU

7、LogSigmoid

8、PReLU

9、ReLU

10、ReLU6

11、RReLU

12、SELU

13、CELU

14、GELU

15、Sigmoid

16、SiLU

17、Mish

18、Softplus

19、Softshrink

20、Softsign

21、Tanh

22、Tanhshrink

23、Threshold

24、GLU

25、Softmin

26、Softmax

27、LogSoftmax

28、其它


1、ELU

公式:

ELU(x)=\left\{\begin{matrix} x, & x>0\\ \alpha\ast \left ( exp\left ( x \right )-1 \right ), & x\leqslant 0 \end{matrix}\right.

图像:

 示例:

m = nn.ELU()
input = torch.randn(2)
output = m(input)

2、Hardshrink

公式:

HardShrink(x)=\left\{\begin{matrix} x, & x>\lambda \\ x, & x<-\lambda \\ 0, & otherwise \end{matrix}\right.

图像:

示例:

m = nn.Hardshrink()
input = torch.randn(2)
output = m(input)

3、Hardsigmoid

公式:

Hardsigmoid(x)=\left\{\begin{matrix} 0, & x\leq -3 \\ 1, & x\geq +3 \\ \frac{x}{6}+\frac{1}{2}, & otherwise \end{matrix}\right.

图像:

 示例:

m = nn.Hardsigmoid()
input = torch.randn(2)
output = m(input)

4、Hardtanh

公式:

Hardsigmoid(x)=\left\{\begin{matrix} max\_val, & x>max\_val \\ min\_val, & x<min\_val \\ x, & otherwise \end{matrix}\right.

图像:

 示例:

m = nn.Hardtanh(-2, 2)
input = torch.randn(2)
output = m(input)

5、Hardswish

公式:

Hardswish(x)=\left\{\begin{matrix} 0, & x\leq -3 \\ x, & x\geq +3 \\ \frac{x\cdot \left ( x+3 \right )}{6}, & otherwise \end{matrix}\right.

图像:

 示例:

m = nn.Hardwish()
input = torch.randn(2)
output = m(input)

6、LeakyReLU

公式:

LeakyReLU(x)=\left\{\begin{matrix} x, & x\geq0\\ negetive\_slope\times x, & otherwise \end{matrix}\right.

图像:

示例:

m = nn.LeakyReLU(0.1)
input = torch.randn(2)
output = m(input)

7、LogSigmoid

公式:

LogSigmoid\left ( x \right )=log\left ( \frac{1}{1+exp(-x))} \right )

图像:

 

示例;

m = nn.LogSigmoid()
input = torch.randn(2)
output = m(input)

8、PReLU

公式:

PReLU(x)=\left\{\begin{matrix} x, & x\geq0 \\ ax, & otherwise \end{matrix}\right.

其中,a是可学习的参数。

图像:

 示例:

m = nn.PReLU()
input = torch.randn(2)
output = m(input)

9、ReLU

公式:

ReLU(x)=\left\{\begin{matrix} x, & x\geq0 \\ x, & otherwise \end{matrix}\right.

图像:

 示例:

m = nn.ReLU()
input = torch.randn(2)
output = m(input)

10、ReLU6

公式:

ReLU6=min(max(0,x),6)

图像:

 示例:

m = nn.ReLU6()
input = torch.randn(2)
output = m(input)

11、RReLU

公式:

RReLU(x)=\left\{\begin{matrix} x, & x\geq0 \\ ax, & otherwise \end{matrix}\right.

其中,a从均匀分布U(lower,upper)随机采样得到。

图像:

 示例:

m = nn.RReLU(0.1, 0.3)
input = torch.randn(2)
output = m(input)

12、SELU

公式:

SELU(x)=scale\ast (max(0,x)+min(0,\alpha\ast (exp(x)-1)))

其中,a=1.6732632423543772848170429916717,scale=1.0507009873554804934193349852946。

图像:

示例:

m = nn.SELU()
input = torch.randn(2)
output = m(input)

13、CELU

公式:

CELU\left (x \right )=max(0,x)+min(0,\alpha \ast (exp(x)-1))

图像:

 示例:

m = nn.CELU()
input = torch.randn(2)
output = m(input)

14、GELU

公式:

GELU(x)=0.5 \ast x \ast (1+Tanh(\sqrt{(2/\pi)} \ast (x+0.044715 \ast x^{3})))

图像:

 示例:

m = nn.GELU()
input = torch.randn(2)
output = m(input)

15、Sigmoid

公式:

Sigmoid(x)=\sigma (x)=\frac{1}{1+exp(-x)}

图像:

 示例:

m = nn. Sigmoid()
input = torch.randn(2)
output = m(input)

16、SiLU

公式:

SiLU(x)=x*\sigma (x)=x \ast \frac{1}{1+exp(-x)}

图像:

 示例:

m = nn.SiLU()
input = torch.randn(2)
output = m(input)

17、Mish

公式:

Mish(x)=x \ast Tanh(Softplus(x))

图像:

 示例:

m = nn.Mish()
input = torch.randn(2)
output = m(input)

18、Softplus

公式:

Softplus(x)=\frac{1}{\beta} \ast log(1+exp(\beta \ast x))

对于数值稳定性,当input \times \beta >threshold时,恢复到线性函数。

图像:

 示例:

m = nn.Softplus()
input = torch.randn(2)
output = m(input)

19、Softshrink

公式:

Softshrink(x)=\left\{\begin{matrix} x-\lambda, & x>\lambda\\ x+\lambda, & x<-\lambda\\ 0, & otherwise \end{matrix}\right.

图像:

 示例:

m = nn.Softshrink()
input = torch.randn(2)
output = m(input)

20、Softsign

公式:

SoftSign(x)=\frac{x}{1+\left | x \right |}

图像:

 示例:

m = nn.Softsign()
input = torch.randn(2)
output = m(input)

21、Tanh

公式:

Tanh(x)=tanh(x)=\frac{exp(x)-exp(-x)}{exp(x)+exp(-x)}

图像:

 示例:

m = nn.Tanh()
input = torch.randn(2)
output = m(input)

22、Tanhshrink

公式:

Tanhshrink(x)=x-tanh(x)

图像:

 示例:

m = nn.Tanhshrink()
input = torch.randn(2)
output = m(input)

23、Threshold

公式:

y=\left\{\begin{matrix} x, & x>threshold \\ value, & otherwise \end{matrix}\right.

示例:

m = nn.Threshold(0.1, 20)
input = torch.randn(2)
output = m(input)

24、GLU

公式:

GLU(a,b)=a\bigotimes \sigma(b)

其中,a是输入矩阵的前半部分,b是后半部分。

示例:

m = nn.GLU()
input = torch.randn(4, 2)
output = m(input)

25、Softmin

公式:

Softmin(x_i)=\frac{exp(-x_i)}{\sum_j exp(-x_j)}

示例:

m = nn.Softmin(dim=1)
input = torch.randn(2, 3)
output = m(input)

26、Softmax

公式:

Softmax(x_i)=\frac{exp(x_i)}{\sum_j exp(x_j)}

示例:

m = nn.Softmax(dim=1)
input = torch.randn(2, 3)
output = m(input)

27、LogSoftmax

公式:

LogSoftmax(x_i)=log\begin{pmatrix} \frac{exp(x_i)}{\sum_j exp(x_j)} \end{pmatrix}

示例:

m = nn.LogSoftmiax(dim=1)
input = torch.randn(2, 3)
output = m(input)

28、其它

还有MultiheadAttention、Softmax2d、AdaptiveLogSoftmaxWithLoss相对复杂一些没有添加,可去官网文档查看。

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

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

相关文章

分屏视图上线,详情数据秒切换

分屏视图 路径 表单 >> 表单设计 功能简介 新增「分屏视图」。分屏视图是一种对数据阅读提供沉浸式体验的视图组织形式&#xff0c;用户可通过分屏视图更快速的查看数据详情。 使用场景&#xff1a; 对于数据类型是「订单」数据的表单&#xff0c;管理人员往往会对…

pandas的使用

Pandas 的使用 **介绍:**pandas 是 python 语言的的一个关于数据分析的扩展库&#xff1b;pandas 可以对各种数据进行操作, pandas 依赖于 numpy &#xff0c;在常规的数据分析中&#xff0c;pandas 的使用范围是最宽广的; 参考文章:https://www.runoob.com/pandas/pandas-tu…

VScode安装问题

1、编译运行的时候会产生正在启动生成… D:\install\vscode\vscode&MinGW\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gcc.exe -fdiagnostics-coloralways -g D:\install\vscode\Folder\hello.c -o D:\install\vscode\Folder\hello.exe ‘D:\install\vscode\…

服务端实时推送技术之SSE(Server-Send Events)

文章目录 前言一、解决方案&#xff1a;1、传统实时处理方案&#xff1a;2、HTML5 标准引入的实时处理方案&#xff1a;3、第三方推送&#xff1a; 二、SSE&#xff1a;1、客户端&#xff1a;2、服务端&#xff1a; 三、业务实践&#xff1a;总结&#xff1a; 前言 服务端推送…

JavaWeb之过滤器Filter

今天开发遇到了&#xff0c;简单记录一下&#xff01; 简介&#xff1a;Filter是JavaWeb三大组件之一&#xff08;Servlet程序、Listener监听器、Filter过滤器&#xff09; 作用&#xff1a;既可以对请求进行拦截&#xff0c;也可以对响应进行处理。 1、Filter中的三个方法 …

人类 vs AI:玩梗大作战,看看谁是最后的赢家?

能解释人类玩梗的 AI 究竟能多大程度地理解人类的「梗」&#xff1f; 五一假期就在眼前&#xff0c;LigaAI 小编每天都在「调休好烦」和「快放假啦」两种情绪间反复横跳&#xff0c;还会忍不住思考「AI 能不能理解调休和放假的情绪差异&#xff1f;」&#xff08;一些精神世界高…

xilinx block design address editor 计算

xilinx block design address editor 计算 1k 0x000 ~ 0x3ff 10bit 1m 00000 ~ FFFFF 20bit 每个pcie 配置空间有4k 【11:0】 PCIe 配置空间 (PCIe Configuration Space) PCIe Spec中定义&#xff1a;每个PCIe Function都有 4096 Byte 的配置空间(Configuration Space)。前256…

基于机器学习的纠错系统技术 - 智能文本纠错 API

引言 在过去的几十年里&#xff0c;文本纠错技术已经取得了巨大的进展&#xff0c;从最初的基于规则的纠错系统到现在的基于机器学习的纠错系统&#xff0c;技术的发展已经帮助人们解决了大量的文本纠错问题&#xff0c;随着机器学习技术的发展&#xff0c;文本纠错技术也发生…

WINCC 趋势判断

项目函数 //状态: //稳定 2 //稳定 //递增 -1 //无序 0 //波动 //递减 1 int ordered(double *Trend_data, int Trend_len) {int Trend_out 0,Order 0;if (Trend_len 1){return 2;}Trend_out (Trend_data[0] < Trend_data[1]) - (Trend_data[0] > Trend_da…

input 各类事件汇总触发时机触发顺序

今天梳理了一下input框的各类事件&#xff0c;简单介绍一下吧 目录 1.click 2.focus 3.blur 4.change 5.input 6.keydown 7.keyup 8.select 1.click 点击事件&#xff0c;简单易理解&#xff0c;点击触发&#xff0c;等下跟focus事件一起比较 2.focus 获取焦点事件…

新能源行业雨水除铊,污水中铊超标的解决方法

锂电行业的发展会带动相关产业的发展&#xff0c;例如锂电池原材料和生产设备的制造、电池回收和处理等&#xff0c;这些产业的发展可能也会带来铊排放问题。除了锂电池生产过程中可能存在的铊污染外&#xff0c;企业的生活污水也可能含有铊&#xff0c;因为铊是一种广泛存在于…

Java面试题总结 | Java面试题总结6-MYSQL模块(持续更新)

Mysql 文章目录 Mysql关系型数据库和非关系型数据库的区别什么是ORM?-**mybatis**如何评估一个索引创建的是否合理&#xff1f;Count函数执行效果上&#xff1a;执行效率上&#xff1a;count(主键)和count(列名) 数据库的三大范式Mysql中char和varchar的区别数据库设计或者功能…

【科普知识】电机的10种工作制说明:S1~S10

如今&#xff0c;在我们的生活中&#xff0c;电机几乎无处不在&#xff0c;从国防、工农、运输、临床器械、通讯到生活中的洗衣机、风扇、吸尘器、电动机器人等&#xff0c;都在应用着各式各样的电动机。 电机作为一种能够将电能转换成机械能的装置&#xff0c;是现代工业生产和…

Elisp之检测函数运行时,在它之前执行别的程序(六)

公众号&#xff1a;Android系统攻城狮 简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&am…

OpenGLES 实验室之2D篇 第三弹 の 直播白板

本文字数&#xff1a;4555字 预计阅读时间&#xff1a;12分钟 笔者之前发表的音视频文章&#xff0c;有图像的处理&#xff0c;音频的重采样等等&#xff0c;都属于入门级别。通过阅读它们&#xff0c;读者能对音视频有了了解。可在 Gitee 上面回顾。 2023 年&#xff0c;笔者将…

如何使用depcheck检查vue和react的依赖,以后不用把时间浪费在依赖问题上了

当我们在开发 JavaScript 项目时&#xff0c;会引入各种依赖库。但是有些依赖库可能只用到了部分功能&#xff0c;或者已经不再需要了&#xff0c;但是却一直被保留在项目中。 这些未使用的依赖库会占据项目的空间&#xff0c;增加项目的复杂度&#xff0c;影响项目的性能。为…

Elasticsearch --- 索引库、文档操作

一、索引库操作 索引库就类似数据库表&#xff0c;mapping映射就类似表的结构。 我们要向es中存储数据&#xff0c;必须先创建“库”和“表”。 1.1、mapping映射属性 mapping是对索引库中文档的约束&#xff0c;常见的mapping属性包括&#xff1a; type&#xff1a;字段数据…

【python】scikit-learn包:机器学习

环境配置&#xff1a;Scikit-learn包 只支持python语言 安装 WinR &#xff0c;输入指令&#xff1a;pip install -U scikit-learn 数据预处理 数据导入 借助pandas和numpy 进行数据导入与处理 字符串类label的数字化编码 机器学习的函数大部分只能对数字信息进行处理&…

轻量级任务看板做任务管理

利用看板管理工作和任务&#xff0c;可以让团队更高效&#xff0c;也可以一目了然的了解任务进度及问题 1、首先创建一个任务看板 使用看板工具轻量级项目模板创建一个任务看板。 任务看板内包含&#xff1a;列表和任务卡片&#xff0c;列表一般代表任务流程及状态&#xff…

(四)ArcMap基础——要素的选择

要素的选择 当要在已有的数据中选择部分要素时&#xff0c;ArcMap提供了三种方式&#xff1a;按属性选择、按位置选择及按图形选择。 目录 要素的选择一、按属性选择二、按位置选择三、按图形选择 一、按属性选择 通过设置 SQL 查询表达式&#xff0c;用来选择与选择条件匹配…