神經網絡常見激活函數 13-Softplus函數

文章目錄

    • Softplus
      • 函數+導函數
      • 函數和導函數圖像
      • 優缺點
      • PyTorch 中的 Softplus 函數
      • TensorFlow 中的 Softplus 函數

Softplus

函數+導函數

  • Softplus函數
    Softplus?(x)=ln?(1+ex)\begin{aligned} \operatorname{Softplus}(x) &= \ln \bigl(1 + e^{\,x}\bigr) \end{aligned} Softplus(x)?=ln(1+ex)?

  • Softplus函數導數
    ddxSoftplus?(x)=ddxln??(1+ex)=11+ex?ex=ex1+ex=ex1+ex?e?xe?x=11+e?x=σ(x)\begin{aligned} \frac{d}{dx}\operatorname{Softplus}(x) &=\frac{d}{dx}\ln\!\left(1+e^{x}\right)\\ &=\frac{1}{1+e^{x}}\cdot e^{x}\\ &=\frac{e^{x}}{1+e^{x}}\\ &=\frac{e^{x}}{1+e^{x}} \cdot \frac{e^{-x}}{e^{-x}}\\ &=\frac{1}{1+e^{-x}}\\ &=\sigma(x) \end{aligned} dxd?Softplus(x)?=dxd?ln(1+ex)=1+ex1??ex=1+exex?=1+exex??e?xe?x?=1+e?x1?=σ(x)?
    其中,σ(x)=11+e?x\sigma(x)=\dfrac{1}{1+e^{-x}}σ(x)=1+e?x1? 是 sigmoid 函數。Softplus 處處可導,并且導數恰好是 sigmoid。


函數和導函數圖像

  • 畫圖

    import numpy as np
    from matplotlib import pyplot as plt# Softplus 函數
    def softplus(x):return np.log1p(np.exp(x))# Softplus 的導數 = sigmoid
    def softplus_derivative(x):return 1 / (1 + np.exp(-x))# 生成數據
    x = np.linspace(-6, 6, 1000)
    y = softplus(x)
    y1 = softplus_derivative(x)# 繪圖
    plt.figure(figsize=(12, 8))
    ax = plt.gca()
    plt.plot(x, y, label='Softplus')
    plt.plot(x, y1, label='Derivative (Sigmoid)')
    plt.title('Softplus and Derivative')# 去邊框
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    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()
    plt.savefig('./softplus.jpg',dpe=300)
    plt.show()3
    


優缺點

  • Softplus 的優點

    1. 平滑處處可導:Softplus 是 ReLU 的光滑近似,沒有折點,避免了 ReLU 在 0 處不可導的問題。
    2. 梯度不消失:對于任意輸入,梯度始終為正,并且隨輸入增大趨近于 1,有效緩解梯度消失。
    3. 解析形式簡單:公式簡潔,易于實現,且與 sigmoid 有天然聯系。
    4. 連續可導:在需要二階導數或高階導數的場景(如 Hessian、自然梯度)中更容易處理。
  • Softplus 的缺點

    1. 計算開銷:相比 ReLU 的逐位最大值操作,Softplus 需要計算指數和對數,計算量更大。
    2. 輸出始終為正:當需要負激活值時(如殘差網絡中的負值路徑),Softplus 無法提供。
    3. 邊緣飽和:當輸入為很大的負數時,Softplus 會趨于 0,雖然比 sigmoid 緩解,但仍可能帶來梯度衰減。
    4. 超參數敏感:在部分任務中需要額外調整初始化或學習率,以抵消其非零均值的副作用。

PyTorch 中的 Softplus 函數

  • 代碼

    import torch
    import torch.nn.functional as F# 使用 PyTorch 自帶的 Softplus
    sp = F.softplusx = torch.tensor([-2.0, 0.0, 2.0])
    y = sp(x)print("x :", x)
    print("softplus(x):", y)"""輸出"""
    x : tensor([-2.,  0.,  2.])
    softplus(x): tensor([0.1269, 0.6931, 2.1269])
    

TensorFlow 中的 Softplus 函數

  • 環境

    python: 3.10.9

    tensorflow: 2.19.0

  • 代碼

    import tensorflow as tfsoftplus = tf.keras.activations.softplusx = tf.constant([-2.0, 0.0, 2.0])
    y = softplus(x)print("x :", x.numpy())
    print("softplus(x):", y.numpy())"""輸出"""
    x : [-2.  0.  2.]
    softplus(x): [0.12692805 0.6931472  2.126928  ]
    

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89651.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89651.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89651.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度理解 KVM:Linux 內核系統學習的重要角度

📖 推薦閱讀:《Yocto項目實戰教程:高效定制嵌入式Linux系統》 🎥 更多學習視頻請關注 B 站:嵌入式Jerry 深度理解 KVM:Linux 內核系統學習的重要角度 作者:嵌入式 Jerry 一、為什么開發者需要學習 KVM&…

閉包的定義和應用場景

一、閉包是什么? 閉包是指函數可以“記住”并訪問它定義時的詞法作用域,即使這個函數在其作用域鏈之外執行。 簡單說:函數 A 在函數 B 中被定義,并在函數 B 外部被調用,它依然能訪問函數 B 中的變量,這就是…

北京-4年功能測試2年空窗-報培訓班學測開-第五十四天

今天交付的成果是,初版簡歷雖然只寫了項目部分,但用了一整天,期間聯系了前司組長,拿到了性能測試報告。然后再看壓測腳本,突然能看懂了,對服務端日志也能看懂些了,還找到了客戶端日志怎么說呢&a…

算法訓練營day24 回溯算法③ 93.復原IP地址 、78.子集、 90.子集II

今天繼續回溯算法的專題,第三篇博客! 93.復原IP地址 輸入:s "25525511135" 輸出:["255.255.11.135","255.255.111.35"] 切割字符串為4段,當進行到第四段的時候對第四段字符串進行判斷…

jeccg-boot框架實現xls模板導出功能

文章目錄一、后端部分二、前端部分三、模板制作一、后端部分 //1、在application-dev.yml文件增加模板路徑path :#模板路徑saxls: /data/opt/saxls/ //2、控制層寫法 public class sabassalController extends JeecgController<sabassalVo, IsabassalService> {Autowired…

LangChain4j入門:Java開發者的AI應用開發指南

&#x1f680; 在AI浪潮席卷全球的今天&#xff0c;Java開發者如何快速上手大語言模型應用開發&#xff1f;LangChain4j為我們提供了完美的解決方案&#xff01; 前言&#xff1a;為什么Java開發者需要LangChain4j&#xff1f; 想象一下&#xff0c;你正在開發一個企業級應用&…

相機光學(五十)——Depth AF

1.什么是Depth AFDepth AF&#xff08;景深自動對焦&#xff09;&#xff0c;也稱為 Depth-of-Field AF&#xff08;景深對焦&#xff09; 或 DEP AF&#xff0c;是一種基于景深范圍的自動對焦技術&#xff0c;核心目標是&#xff1a;確保從前景到背景的一整段距離都在清晰景深…

Unity 堆棧分析實戰指南 C#

Unity 堆棧分析實戰指南 提示&#xff1a;內容純個人編寫&#xff0c;歡迎評論點贊&#xff0c;來指正我。 文章目錄Unity 堆棧分析實戰指南1. 前言2. 什么是堆棧3. Unity 中的堆棧4. 堆棧分析工具5. 如何進行堆棧分析6. 實戰案例分析案例 1: 性能瓶頸分析案例 2: 內存泄漏檢測…

AE MDX L6 L12 L18 電源手側操作使用說明

AE MDX L6 L12 L18 電源手側操作使用說明

Gemini Function Calling 和 Qwen3 Embedding和ReRanker模型

Gemini API 的函數調用&#xff08;Function Calling&#xff09;功能。它解決了傳統大語言模型&#xff08;LLM&#xff09;的一個關鍵局限&#xff1a;LLM 本身是基于訓練數據的“知識庫”&#xff0c;擅長生成文本和回答問題&#xff0c;但無法直接執行代碼、訪問實時數據或…

??VMware Workstation Pro 17.5.0 安裝教程 - 詳細步驟圖解(附下載+激活)?

VMware Workstation Pro 17.5.0 是一款功能強大的虛擬機軟件&#xff0c;允許用戶在一臺計算機上同時運行多個操作系統&#xff08;如 Windows、Linux、macOS&#xff09;&#xff0c;適用于開發、測試、運維及學習環境搭建。本教程提供 ??詳細安裝步驟??&#xff0c;包括 …

端到端神經網絡視頻編解碼器介紹

一、技術演進&#xff1a;從模塊優化到全局智能的范式躍遷 傳統編解碼器的效率天花板&#xff08;1990-2017&#xff09; 架構局限&#xff1a;H.264/HEVC依賴手工設計的運動估計、DCT變換、熵編碼模塊&#xff0c;各模塊獨立優化導致全局效率損失。高分辨率瓶頸&#xff1a;4…

Kubernetes (k8s)環境重啟Pod方式總結

前言&#xff1a;在 Kubernetes (k8s) 中&#xff0c;沒有直接的命令如 kubectl restart pod 來重啟 Pod&#xff0c;因為 Pod 的生命周期由控制器&#xff08;如 Deployments、StatefulSets 或 ReplicaSets&#xff09;管理。重啟操作本質上是通過刪除并重建 Pod 來實現的&…

OOA、OOD 與 OOP:面向對象范式的核心支柱詳解

作為軟件系統架構的核心范式&#xff0c;面向對象方法貫穿軟件開發生命周期。OOA、OOD 和 OOP 分別代表分析、設計和實現三個關鍵階段&#xff0c;共同構成一個連貫的工程體系。一、OOA (Object-Oriented Analysis&#xff0c;面向對象分析) 目標&#xff1a;理解問題域&#x…

GBase 8a 與 Spring Boot + MyBatis 整合實戰:從環境搭建到CRUD操作

一、引言 在企業級數據管理場景中&#xff0c;GBase數據庫憑借其高性能的數據分析能力和對SQL標準的良好兼容性&#xff0c;成為金融、電信等行業的常用選擇。本文將詳細演示如何將GBase數據庫與Spring Boot、MyBatis框架整合&#xff0c;實現高效的數據持久化操作&#xff0c…

功能安全之BIST的基本原理

BIST&#xff08;Built-In Self-Test&#xff0c;內建自測試&#xff09;是一種將測試功能直接集成到集成電路&#xff08;IC&#xff09;或系統內部的設計方法。其基本原理的核心在于&#xff1a;讓被測試電路自身&#xff08;或借助少量專用硬件&#xff09;來生成測試激勵、…

Linux 程序地址空間

目錄 Ⅰ、什么是程序地址空間&#xff1f; Ⅱ、虛擬地址空間是什么樣的&#xff1f; 一、虛擬地址空間和頁表 1、什么是頁表&#xff1f; 2、什么是虛擬地址空間&#xff1f; 3、什么是vm_area_struct? Ⅲ、為什么要用虛擬地址空間&#xff1f; 一、進程的獨立性 二、…

【iOS】消息傳遞和消息轉發

文章目錄前言一、消息傳遞&#xff1a;objc_msgSend 的“查字典遞歸找家長”流程1. 第一步&#xff1a;查“最近調用記錄”&#xff08;方法緩存&#xff09;—— 最快即快速查找&#xff01;2. 第二步&#xff1a;翻“自己的字典”&#xff08;類方法列表查找&#xff09;——…

MySQL查詢優化與事務實戰指南

本節用到的員工信息管理表結構放到資源中&#xff0c;需要的同學自取。本節內容以此表為示例&#xff1a; 面試題&#xff1a;innodb與myisam的區別。 外鍵&#xff0c;事務 特性InnoDBMyISAM事務支持支持不支持外鍵支持不支持鎖粒度行級鎖表級鎖索引結構聚簇索引非聚簇索引崩…

Windows 10/11 磁盤清理操作指南:徹底解決系統盤空間不足問題

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家、CSDN平臺優質創作者&#xff0c;高級開發工程師&#xff0c;數學專業&#xff0c;10年以上C/C, C#,Java等多種編程語言開發經驗&#xff0c;擁有高級工程師證書&#xff1b;擅長C/C、C#等開發語言&#xff0c;熟悉Java常用開發…