神经网络常见激活函数 9-CELU函数

文章目录

    • CELU
      • 函数+导函数
      • 函数和导函数图像
      • 优缺点
      • pytorch中的CELU函数
      • tensorflow 中的CELU函数

CELU

  • 连续可微指数线性单元:CELU(Continuously Differentiable Exponential Linear Unit),是一种连续可导的激活函数,结合了 ELUReLU 的特点,旨在解决 ELU 在某些情况下的梯度问题。

函数+导函数

  • CELU函数
    C E L U ( x ) = { x x ≥ 0 α ( e x α − 1 ) x < 0 \rm CELU(x) = \left\{ \begin{array}{} x \quad x \ge 0 \\ \alpha(e^{\frac{x}{\alpha}} - 1) \quad x < 0 \end{array} \right. CELU(x)={xx0α(eαx1)x<0
  • CELU函数导数
    d d x C E L U ( x ) = { 1 x ≥ 0 e x α x < 0 \frac{d}{dx} \rm CELU(x) = \left\{ \begin{array}{} 1 \quad x \ge 0 \\ e^{\frac{x}{\alpha}} \quad x < 0 \end{array} \right. dxdCELU(x)={1x0eαxx<0
    其中, α \alpha α 是一个非负参数,用于控制 x < 0 x<0 x<0时曲线的平滑度。当 α = 0 \alpha=0 α=0时,CELU函数退化为ReLU函数。对于 x < 0 x<0 x<0的部分,CELU使用指数函数来确保梯度不会消失,有助于加速训练过程中的梯度流动。


函数和导函数图像

  • 画图

    下面的是 α = 1 \alpha = 1 α=1

    import numpy as np
    from matplotlib import pyplot as plt# 定义 CELU 函数
    def celu(x, alpha=1.0):return np.where(x > 0, x, alpha * (np.exp(x / alpha) - 1))# 定义 CELU 的导数
    def celu_derivative(x, alpha=1.0):return np.where(x > 0, 1, np.exp(x / alpha))# 生成数据
    x = np.linspace(-3, 3, 1000)
    alpha = 1.0  # 可以调整 alpha 的值
    y = celu(x, alpha)
    y1 = celu_derivative(x, alpha)# 绘制图形
    plt.figure(figsize=(12, 8))
    ax = plt.gca()
    plt.plot(x, y, label=f'CELU (α={alpha})')
    plt.plot(x, y1, label='Derivative')
    plt.title(f'CELU (α={alpha}) and Derivative')# 设置上边和右边无边框
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')# 设置 x 坐标刻度数字或名称的位置
    ax.xaxis.set_ticks_position('bottom')# 设置边框位置
    ax.spines['bottom'].set_position(('data', 0))
    ax.yaxis.set_ticks_position('left')
    ax.spines['left'].set_position(('data', 0))plt.legend(loc=2)
    plt.show()
    

    CELU


优缺点

  • CELU 的优点

    1. 连续可导:CELU函数在整个定义域上都是连续可导的,这使得它在优化过程中更加稳定。
    2. 缓解梯度消失问题:CELU在负输入时引入非零梯度,有助于缓解梯度消失问题。
    3. 平滑过渡:CELU函数在零点处是平滑的,避免了ReLU在零点处的不连续性。
    4. 灵活性:CELU可以表示ReLU作为其特例,当α趋近于0时,CELU趋近于ReLU。
    5. 加速收敛:在某些情况下,CELU能够比ReLU更快地收敛。
  • CELU 的缺点

    1. 计算复杂度高:CELU的指数运算比ReLU更复杂,计算成本更高。
    2. 参数敏感:CELU的性能对α参数的选择较为敏感,不同的α值可能会显著影响模型的性能。
    3. 可能的过拟合风险:在某些情况下,CELU可能会导致模型过拟合,尤其是在数据集较小或模型复杂度较高时。
    4. 训练时间增加:由于计算复杂度的增加,CELU可能会导致训练时间变长。

pytorch中的CELU函数

  • 代码

    import torch# 定义 CELU 函数
    f = torch.nn.CELU()  # PyTorch 提供的 CELU 激活函数模块
    x = torch.randn(2)   # 生成一个随机张量作为输入celu_x = f(x)        # 应用 CELU 函数print(f"x: \n{x}")
    print(f"celu_x:\n{celu_x}")"""输出"""
    x: 
    tensor([-0.8057, -0.8352])
    celu_x:
    tensor([-0.5532, -0.5662])
    

tensorflow 中的CELU函数

  • 代码

    python: 3.10.9

    tensorflow: 2.18.0

    import tensorflow as tf# 创建 CELU 激活函数
    celu = tf.keras.activations.celu# 生成随机输入
    # x = tf.random.normal([2])
    x = [-0.8057, -0.8352]# 应用 CELU 激活函数
    celu_x = celu(x)print(f"x: \n{x}")
    print(f"celu_x:\n{celu_x}")"""输出"""
    x: 
    [-0.8057, -0.8352]
    celu_x:
    [-0.5532249 -0.5662123]
    

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

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

相关文章

《安富莱嵌入式周报》第350期:Google开源Pebble智能手表,开源模块化机器人平台,开源万用表,支持10GHz HRTIM的单片机,开源CNC控制器

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版&#xff1a; https://www.bilibili.com/video/BV1YPKEeyEeM/ 《安富莱嵌入式周报》第350期&#xff1a;Google开…

小米平板怎么和电脑共享屏幕

最近尝试使用小米平板和电脑屏幕分屏互联 发现是需要做特殊处理的&#xff0c;需要下载一款电脑安装包&#xff1a;小米妙享 关于这个安装包&#xff0c;想吐槽的是&#xff1a; 没有找到官网渠道&#xff0c;是通过其他网络方式查到下载的 不附录链接&#xff0c;原因是因为地…

(学习总结23)Linux 目录、通配符、重定向、管道、shell、权限与粘滞位

Linux 目录、通配符、重定向、管道、shell、权限与粘滞位 Linux 目录通配符重定向管道shell 介绍Linux 权限Linux 权限的概念用户切换命令 su Linux权限管理文件访问者的分类&#xff1a;常用文件类型与其标识符&#xff1a;文件基本权限和权限值的表示方法&#xff1a;更改文件…

深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器

作为一位个人开发者兼产品经理&#xff0c;我的工作日常紧密围绕着云资源的运维和管理。在这个过程中&#xff0c;操作系统扮演了至关重要的角色&#xff0c;而操作系统控制台则成为了我们进行系统管理的得力助手。本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功…

Android10 音频参数导出合并

A10 设备录音时底噪过大&#xff0c;让音频同事校准了下&#xff0c;然后把校准好的参数需要导出来&#xff0c;集成到项目中&#xff0c;然后出包&#xff0c;导出方式在此记录 设备安装debug系统版本调试好后&#xff0c; adb root adb remount adb shell 进入设备目录 导…

dnslog+sqlmap外带数据

目录 爆库 爆表 爆列 爆数据 sqlmapDNSlog 外带参数 –dns-domain参数注入 –dns-domain参数为dnslog平台的域名&#xff08;我们也可以使用本地&#xff09; 爆库 python sqlmap.py -u "http://127.0.0.1/sqli/less-8/index.php/?id1" -techniqueB -dns-dom…

sql注入中information_schema被过滤的问题

目录 一、information_schema库的作用 二、获得表名 2.1 sys.schema_auto_increment_columns 2.2 schema_table_statistics 三、获得列名 join … using … order by盲注 子查询 在进行sql注入时&#xff0c;我们经常会使用information_schema来进行爆数据库名、表名、…

Flutter 常见布局模型

Flutter的常见的布局模型有容器&#xff08;Container&#xff09;、弹性盒子布局&#xff08;Flex、Row、Column、Expanded&#xff09;、流式布局&#xff08;Wrap、Flow&#xff09;、层叠布局&#xff08;Stack、Position&#xff09;、滚动布局&#xff08;ListView、Grid…

深度学习框架探秘|TensorFlow:AI 世界的万能钥匙

在人工智能&#xff08;AI&#xff09;蓬勃发展的时代&#xff0c;各种强大的工具和框架如雨后春笋般涌现&#xff0c;而 TensorFlow 无疑是其中最耀眼的明星之一。它不仅被广泛应用于学术界的前沿研究&#xff0c;更是工业界实现 AI 落地的关键技术。今天&#xff0c;就让我们…

TypeScript 与后端开发Node.js

文章目录 一、搭建 TypeScript Node.js 项目 &#xff08;一&#xff09;初始化项目并安装相关依赖 1、创建项目目录并初始化2、安装必要的依赖包 &#xff08;二&#xff09;配置 TypeScript 编译选项&#xff08;如模块解析方式适合后端&#xff09; 二、编写服务器代码 &a…

DDD该怎么去落地实现(3)通用的仓库和工厂

通用的仓库和工厂 我有一个梦&#xff0c;就是希望DDD能够成为今后软件研发的主流&#xff0c;越来越多研发团队都转型DDD&#xff0c;采用DDD的设计思想和方法&#xff0c;设计开发软件系统。这个梦想在不久的将来是有可能达成的&#xff0c;因为DDD是软件复杂性的解决之道&a…

国家队出手!DeepSeek上线国家超算互联网平台!

目前,国家超算互联网平台已推出 DeepSeek – R1 模型的 1.5B、7B、8B、14B 版本,后续还会在近期更新 32B、70B 等版本。 DeepSeek太火爆了!在这个春节档,直接成了全民热议的话题。 DeepSeek也毫无悬念地干到了全球增速最快的AI应用。这几天,国内的云计算厂家都在支持Dee…

内容中台驱动企业数字化内容管理高效协同架构

内容概要 在数字化转型加速的背景下&#xff0c;企业对内容管理的需求从单一存储向全链路协同演进。内容中台作为核心支撑架构&#xff0c;通过统一的内容资源池与智能化管理工具&#xff0c;重塑了内容生产、存储、分发及迭代的流程。其核心价值在于打破部门壁垒&#xff0c;…

算法1-1 玩具谜题

题目描述 小南有一套可爱的玩具小人&#xff0c;它们各有不同的职业。 有一天&#xff0c;这些玩具小人把小南的眼镜藏了起来。小南发现玩具小人们围成了一个圈&#xff0c;它们有的面朝圈内&#xff0c;有的面朝圈外。如下图&#xff1a; 这时 singer 告诉小南一个谜题&…

vs2022支持.netframework4.0

下载nuget包 .netframework4.0 解压nuget 复制到C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework 参考 https://www.cnblogs.com/bdqczhl/p/18670152 https://blog.csdn.net/xiaomeng1998_/article/details/135979884

数据治理常用的开源项目有哪些?

数据治理是企业在大数据时代中确保数据质量、安全性和可用性的关键环节。开源项目在数据治理中扮演着重要角色&#xff0c;提供了灵活、经济高效且功能强大的解决方案。以下是一些常用的开源数据治理项目&#xff1a; Apache Atlas&#xff1a; 功能&#xff1a;元数据管理、数…

登录弹窗效果

1&#xff0c;要求 点击登录按钮&#xff0c;弹出登录窗口 提示1&#xff1a;登录窗口 display:none 隐藏状态&#xff1b; 提示2&#xff1a;登录按钮点击后&#xff0c;触发事件&#xff0c;修改 display:block 显示状态 提示3&#xff1a;登录窗口中点击关闭按钮&#xff0…

docker nginx 配置文件详解

在平常的开发工作中&#xff0c;我们经常需要访问静态资源&#xff08;图片、HTML页面等&#xff09;、访问文件目录、部署项目时进行负载均衡等。那么我们就会使用到Nginx&#xff0c;nginx.conf 的配置至关重要。那么今天主要结合访问静态资源、负载均衡等总结下 nginx.conf …

Python+appium实现自动化测试

目录 一、工具与环境准备 二、开始测试 1、插上手机&#xff0c;打开usb调试&#xff0c;选中文件传输&#xff0c;我这里用华为手机为例 2、启动Appium Server GUI​编辑 3、启动 Inspector Session 4、录制脚本 使用Python和Appium进行自动化测试是一种常见的移动应用…

DeepSeek正重构具身大模型和人形机器人赛道!

中国人工智能公司DeepSeek&#xff08;深度求索&#xff09;以“低成本、高效率、强开放”的研发范式横空出世&#xff0c;火遍并震撼全球科技圈&#xff1b;DeepSeek展现出来的核心竞争力&#xff0c;除了低成本及推理能力&#xff0c;更重要的是开源模型能力追赶上了最新的闭…