激活函數總結(十一):激活函數補充(Absolute、Bipolar、Bipolar Sigmoid)

激活函數總結(十一):激活函數補充

  • 1 引言
  • 2 激活函數
    • 2.1 Absolute激活函數
    • 2.2 Bipolar激活函數
    • 2.3 Bipolar Sigmoid激活函數
  • 3. 總結

1 引言

在前面的文章中已經介紹了介紹了一系列激活函數 (SigmoidTanhReLULeaky ReLUPReLUSwishELUSELUGELUSoftmaxSoftplusMishMaxoutHardSigmoidHardTanhHardswishHardShrinkSoftShrinkTanhShrinkRReLUCELUReLU6GLUSwiGLUGTUBilinearReGLUGEGLUSoftminSoftmax2dLogsoftmaxIdentityLogSigmoidBent Identity)。在這篇文章中,會接著上文提到的眾多激活函數繼續進行介紹,給大家帶來更多不常見的激活函數的介紹。這里放一張激活函數的機理圖:
在這里插入圖片描述

最后,對于文章中沒有提及到的激活函數,大家可以通過評論指出,作者會在后續的文章中進行添加補充。

2 激活函數

2.1 Absolute激活函數

Absolute(絕對值)激活函數是一種基于絕對值非線性激活函數,它將輸入值映射到其絕對值上。該函數在輸入從負向正變化的過程中保持連續性。在輸入為負時,絕對值激活函數輸出與輸入值相同的正值;在輸入為正時,輸出仍然是輸入值。其數學表達式和數學圖像分別如下所示:

A b s o l u t e ( x ) = ∣ x ∣ Absolute(x) = |x| Absolute(x)=x在這里插入圖片描述
優點:

  • 無梯度消失問題: 絕對值激活函數在所有輸入范圍內的梯度都為常數(1或-1),因此不存在類似于Sigmoid或Tanh等函數那樣的梯度消失問題。這意味著在訓練過程中梯度可以更容易地傳播,特別是在深層神經網絡中。
  • 線性性質:絕對值激活函數是一個分段線性函數,其輸出在不同的區間內是線性的。這可以在某些問題中提供適度的非線性性質,對于某些任務可能是有用的。
  • 穩定性: 絕對值激活函數對于輸入中的大幅度變化有一定的魯棒性,因為它總是返回非負的輸出,避免了負數的抑制性影響。

缺點:

  • 缺乏靈活性:絕對值激活函數是非常簡單的線性函數,它沒有類似于Sigmoid、ReLU等激活函數引入的非線性特性。這可能限制了其在某些復雜任務上的表現能力。
  • 信息損失: 由于絕對值激活函數直接舍棄了輸入的符號信息,它可能無法區分正負值對任務的影響,這可能導致在某些情況下丟失有用的信息。
  • 非可導連續:絕對值激活函數在0處不可微分,表現出導數不連續的狀況。

這個激活函數十分簡單,也因其簡單的性質現在很少使用。。。

2.2 Bipolar激活函數

Bipolar激活函數是一種特殊的激活函數,它是Threshold函數的一個變種。它的數學表達式如下和數學圖像分別如下所示::
B i p o l a r ( x ) = { 1 i f x > = t h r e s h o l d ? 1 i f x < t h r e s h o l d Bipolar(x)=\left\{ \begin{matrix} \quad \quad \quad 1 \quad \quad \quad if \quad x >= threshold \\ \quad \quad \quad -1 \quad \quad \quad if \quad x < threshold \quad \end{matrix} \right. Bipolar(x)={1ifx>=threshold?1ifx<threshold?在這里插入圖片描述
優點:

  • 簡單性: 閾值激活函數非常簡單,僅基于閾值對輸入進行二進制判定,因此計算效率高
  • 穩定性: 在一些特定的應用中,閾值激活函數可能會表現出穩定性,不易受到梯度爆炸等問題的影響。
  • 雙極性:輸出范圍在-1到1之間,這可以使其在處理輸入數據的正負關系時表現更好。

缺點:

  • 缺乏表達能力:閾值激活函數非常限制了神經網絡的表達能力,它只能輸出兩種值(0和1),無法適應更復雜的數據模式。這使得神經網絡很難從數據中學習到更高層次的特征表示
  • 梯度消失:閾值激活函數在大部分輸入范圍內的導數都為0,這導致在反向傳播時,梯度會很快消失,使得網絡很難學習。這個問題也在Sigmoid激活函數中存在,因此它們通常不作為主要的激活函數選擇。
  • 不可導性:閾值激活函數在閾值處是不可導的,這使得它無法直接應用于使用梯度下降等基于梯度的優化算法進行訓練。這會導致訓練過程不穩定,并可能需要使用一些近似的方法來處理。

Bipolar同Threshold是一致的,因其特性導致很難在網絡結構中使用。。。

2.3 Bipolar Sigmoid激活函數

論文鏈接:Mansor, Mohd Asyraf, and Saratha Sathasivam. “Activation function comparison in neural-symbolic integration.” In AIP Conference Proceedings, vol. 1750, no. 1, p. 020013. AIP Publishing LLC, 2016.

Bipolar Sigmoid激活函數是一種特殊的激活函數,它是Sigmoid函數的一個變種。它的數學表達式如下和數學圖像分別如下所示::

B i p o l a r S i g m o i d ( x ) = 2 / ( 1 + e x p ( ? x ) ) ? 1 Bipolar Sigmoid(x) = 2 / (1 + exp(-x)) - 1 BipolarSigmoid(x)=2/(1+exp(?x))?1在這里插入圖片描述

優點:

  • 雙極性輸出: Bipolar Sigmoid的輸出范圍在-1到1之間,這可以使其在處理輸入數據的正負關系時表現更好。它適用于處理具有雙極性性質的數據,例如一些情感分析任務中的正面和負面情感。
  • 連續可微性: 與標準的Sigmoid函數一樣,Bipolar Sigmoid也是連續可微的。這對于使用梯度下降等優化方法進行訓練和反向傳播是至關重要的,因為它們要求激活函數是可微的。
  • 非線性特性: Bipolar Sigmoid是非線性的激活函數,它可以引入一定的非線性表達能力,有助于神經網絡模型捕獲復雜的數據關系。

缺點:

  • 飽和問題: Bipolar Sigmoid激活函數在輸入遠離0的時候,輸出會飽和,即梯度趨近于0。這可能導致訓練時的梯度消失問題,特別是在深層網絡中。
  • 計算復雜性: 與標準的Sigmoid函數一樣,Bipolar Sigmoid的計算開銷也較大,因為它涉及到指數運算。這可能會在網絡訓練中導致較慢的收斂速度。

雖然Bipolar Sigmoid 在理論上具有比Sigmoid更好的效果,但是結合Sigmoid系列整體的激活函數而言,這是微不足道的!!!因此,Bipolar Sigmoid作為Sigmoid系列激活函數的一員也是很少使用的一類激活函數。。。。

3. 總結

到此,使用 激活函數總結(十一) 已經介紹完畢了!!! 如果有什么疑問歡迎在評論區提出,對于共性問題可能會后續添加到文章介紹中。如果存在沒有提及的激活函數也可以在評論區提出,后續會對其進行添加!!!!

如果覺得這篇文章對你有用,記得點贊、收藏并分享給你的小伙伴們哦😄。

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

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

相關文章

C++ auto關鍵字

文章目錄 一、auto的推導規則二、auto的限制 C11 中有&#xff1a;auto 類型推導 auto x 5; // OK: x 是 int 類型 auto pi new auto(1); // OK: pi 被推導為 int* const auto *v &x, u 6; // OK: v是const int*類型&#xff0c;u是const int類型 static auto y 0.0;…

【Java】批量生成條形碼-itextpdf

批量生成條形碼 Controller ApiOperation("商品一覽批量生成商品條形碼")PostMapping("/batchGenerateProdBarCode")public void batchGenerateProdBarCode(RequestBody ProductListCondition productListCondition,HttpServletResponse response){import…

使用Spring-Security后,瀏覽器不能緩存的問題

Spring-Security在默認情況下是不允許客戶端進行緩存的&#xff0c;在使用時可以通過禁用Spring-Security中的cacheControl配置項允許緩存。 protected void configure(HttpSecurity http) throws Exception {// 允許緩存配置http.headers().cacheControl().disable(); }

Java中使用流將兩個集合根據某個字段進行過濾去重?

Java中使用流將兩個集合根據某個字段進行過濾去重? 在Java中&#xff0c;您可以使用流(Stream)來過濾和去重兩個集合。下面是一個示例代碼&#xff0c;展示如何根據對象的某個字段進行過濾和去重操作&#xff1a; import java.util.ArrayList; import java.util.List; impor…

“代碼馭寵而行“:探索Python的魔法世界,開啟編程奇幻之旅!

文章目錄 &#x1f340;引言&#x1f340;第一步&#xff1a;安裝Python和開發環境&#x1f340;第二步&#xff1a;掌握基本語法&#x1f340;第三步&#xff1a;使用Python庫和模塊&#x1f340;第四步&#xff1a;實踐項目和練習&#x1f340;第五步&#xff1a;學習進階主題…

origin修改默認的字體等

因為默認是中文宋體&#xff0c;每次切換成英文尤其是希臘字母就很麻煩。 選擇菜單欄的【設置】——【選項】點擊。 彈出窗口中選擇【文本字體】 設置成你需要的字體就好。 這里同樣可以更改頁面、圖等的默認設置。 效果&#xff1a; 選擇插入文字后&#xff0c;自動更改成…

銀河麒麟V10 達夢安裝教程

安裝前先準備要安裝包&#xff0c;包需要需要區分X86和arm架構。 版本為&#xff1a;dm8_20230419_FTarm_kylin10_sp1_64.iso 達夢數據庫下載地址&#xff1a; https://www.aliyundrive.com/s/Qm7Es5BQM5U 第一步創建用戶 su - root 1. 創建安裝用戶組 dminstall。 groupad…

前饋神經網絡優化器

引用的知乎上的文章內容&#xff0c;現在有些地方還不太明白&#xff0c;留待以后查看。 import math import numpy as np import matplotlib.pyplot as pltRATIO 3 # 橢圓的長寬比 LIMIT 1.2 # 圖像的坐標軸范圍class PlotComparaison(object):"""多種優化…

Python爬蟲的應用場景與技術難點:如何提高數據抓取的效率與準確性

作為專業爬蟲程序員&#xff0c;我們在數據抓取過程中常常面臨效率低下和準確性不高的問題。但不用擔心&#xff01;本文將與大家分享Python爬蟲的應用場景與技術難點&#xff0c;并提供一些實際操作價值的解決方案。讓我們一起來探索如何提高數據抓取的效率與準確性吧&#xf…

python3實現線性規劃求解

Background 對于數學規劃問題&#xff0c;有很多的實現。MatlabYALMIPCPLEX這個組合應該是比較主流的&#xff0c;尤其是在電力相關系統中占據著比較重要的地位。MATLAB是一個強大的數值計算工具&#xff0c;用于數學建模、算法開發和數據分析。Yalmip是一個MATLAB工具箱&#…

MongoDB:MySQL,Redis,ES,MongoDB的應用場景

簡單明了說明MySQL,ES,MongoDB的各自特點,應用場景,以及MongoDB如何使用的第一章節. 一. SQL與NoSQL SQL被稱為結構化查詢語言.是傳統意義上的數據庫,數據之間存在很明確的關聯關系,例如主外鍵關聯,這種結構可以確保數據的完整性(數據沒有缺失并且正確).但是正因為這種嚴密的結…

神經網絡基礎-神經網絡補充概念-34-正則化

概念 正則化是一種用于控制模型復雜度并防止過擬合的技術&#xff0c;在機器學習和深度學習中廣泛應用。它通過在損失函數中添加一項懲罰項來限制模型的參數&#xff0c;從而使模型更傾向于選擇簡單的參數配置。 理解 L1 正則化&#xff08;L1 Regularization&#xff09;&a…

數據分析 | Boosting與Bagging的區別

Boosting與Bagging的區別 Bagging思想專注于降低方差&#xff0c;操作起來較為簡單&#xff0c;而Boosting思想專注于降低整體偏差來降低泛化誤差&#xff0c;在模型效果方面的突出表現制霸整個弱分類器集成的領域。具體區別體現在如下五點&#xff1a; 弱評估器&#xff1a;Ba…

vb數控加工技術教學素材資源庫的設計和構建

摘 要 20世紀以來,社會生產力迅速發展,科學技術突飛猛進,人們進行信息交流的深度與廣度不斷增加,信息量急劇增長,傳統的信息處理與決策的手段已不能適應社會的需要,信息的重要性和信息處理問題的緊迫性空前提高了,面對著日益復雜和不斷發展,變化的社會環境,特別是企業…

Windows上使用dump文件調試

dump文件 dump文件記錄當前程序運行某一時刻的信息&#xff0c;包括內存&#xff0c;線程&#xff0c;線程棧&#xff0c;變量等等&#xff0c;相當于調試程序時運行到某個斷點上&#xff0c;把程序運行的信息記錄下來。可以通過Windbg打開dump&#xff0c;查看程序運行的變量…

mysql 修改存儲路徑,重啟失敗授權

目錄 停掉mysql修改mysql 配置文件my.cnf目錄授權重啟mysql 停掉mysql 修改mysql 配置文件my.cnf 更改mysql 存儲位置 到/data/mysql_data目錄下&#xff1a; datadir/data/mysql/mysql_data/socket/data/mysql/mysql_data/mysql.sockmysql 默認路么徑在 /var/lib/mysql/ 防止…

go_并發編程(1)

go并發編程 一、 并發介紹1&#xff0c;進程和線程2&#xff0c;并發和并行3&#xff0c;協程和線程4&#xff0c;goroutine 二、 Goroutine1&#xff0c;使用goroutine1&#xff09;啟動單個goroutine2&#xff09;啟動多個goroutine 2&#xff0c;goroutine與線程3&#xff0…

在 React 中獲取數據的6種方法

一、前言 數據獲取是任何 react 應用程序的核心方面。對于 React 開發人員來說&#xff0c;了解不同的數據獲取方法以及哪些用例最適合他們很重要。 但首先&#xff0c;讓我們了解 JavaScript Promises。 簡而言之&#xff0c;promise 是一個 JavaScript 對象&#xff0c;它將…

Python Web:Django、Flask和FastAPI框架對比

原文&#xff1a;百度安全驗證 Django、Flask和FastAPI是Python Web框架中的三個主要代表。這些框架都有著各自的優點和缺點&#xff0c;適合不同類型和規模的應用程序。 1. Django&#xff1a; Django是一個全功能的Web框架&#xff0c;它提供了很多內置的應用程序和工具&am…

排序+運算>直接運算的效率的原因分析

大家好,我是愛編程的喵喵。雙985碩士畢業,現擔任全棧工程師一職,熱衷于將數據思維應用到工作與生活中。從事機器學習以及相關的前后端開發工作。曾在阿里云、科大訊飛、CCF等比賽獲得多次Top名次。現為CSDN博客專家、人工智能領域優質創作者。喜歡通過博客創作的方式對所學的…