門控激活函數:GLU/GTU/Swish/HSwish/Mish/SwiGLU

10 門控激活函數

10.1 GLU:門控線性單元函數Gated Linear Unit

在這里插入圖片描述

10.2 GTU:門控Tanh單元函數Gated Tanh Unit

在這里插入圖片描述

自門控激活函數(Self-gated activation function)

是一種通過自身機制動態調節信息流動的激活函數,其核心在于模型能夠根據輸入數據自身的特征自動調整信息傳遞的強度,無需外部控制信號。 ?

核心特點

  • ?動態調節?:根據輸入數據的內在屬性(如數值大小、梯度變化等)自動開啟或關閉信息傳遞,增強模型對復雜數據的處理能力。 ?
  • 非線性特性?:通過非線性變換實現更復雜的特征提取,提升模型表達能力。 ?
  • 可微性?:所有點均可微,便于訓練過程中優化參數。 ?
  • 典型應用
    在深度學習模型中(如Transformer、FFN層),自門控激活函數通過動態調整信息流動,優化長序列處理和復雜語義關系的建模能力。 ?
  • 與傳統激活函數的區別
    傳統激活函數(如ReLU)僅對輸入信號進行固定閾值處理,而自門控激活函數通過內部機制實現更精細的信息篩選,尤其在處理小數值輸入時能起到正則化效果。

10.3 Swish:自門控激活函數

y = x * sigmoid (x)
Swish 的設計受到了 LSTM 和高速網絡中 gating 的 sigmoid函數使用的啟發。我們使用相同的 gating 值來簡化 gating 機制,這稱為 self-gating。
self-gating的優點在于它只需要簡單的標量輸入,而普通的 gating 則需要多個標量輸入。這使得諸如 Swish 之類的 self-gated激活函數能夠輕松替換以單個標量為輸入的激活函數(例如 ReLU),而無需更改隱藏容量或參數數量。

Swish 激活函數的主要優點如下:
「無界性」有助于防止慢速訓練期間,梯度逐漸接近 0并導致飽和;(同時,有界性也是有優勢的,因為有界激活函數可以具有很強的正則化,并且較大的負輸入問題也能解決);
導數恒 > 0;
平滑度在優化和泛化中起了重要作用。
在這里插入圖片描述
Swish在原點附近不是飽和的,只有負半軸遠離原點區域才是飽和的,而ReLu在原點附近也有一半的空間是飽和的。而我們在訓練模型時,一般采用的初始化參數是均勻初始化或者正態分布初始化,不管是哪種初始化,其均值一般都是0,也就是說,初始化的參數有一半處于ReLu的飽和區域,這使得剛開始時就有一半的參數沒有利用上。特別是由于諸如BN之類的策略,輸出都自動近似滿足均值為0的正態分布,因此這些情況都有一半的參數位于ReLu的飽和區。相比之下,Swish好一點,因為它在負半軸也有一定的不飽和區,所以參數的利用率更大。[FROM 蘇劍林 https://kexue.fm/archives/4647]

10.3.1 hswish

激活函數 h-swish是MobileNetV3相較于V2的一個創新,是在谷歌大腦2017年的論文Searching for Activation Functions中swish數的基礎上改進而來,用于替換V2中的部分ReLU6。
優點: 與 swish相比 hard swish減少了計算量,具有和 swish同樣的性質。
缺點: 與 relu6相比 hard swish的計算量仍然較大。

10.4 Mish:自門控激活函數

在這里插入圖片描述
里面是softplus

Mish優點:

  • 和Swish一樣
  • 比 ReLU慢
  • Cannot 100% guarantee
  • Could pair with Ranger Optimizer(2019,Hinton)
  • 比Swish穩定。
  • 補充:
    1.無上界有下界:無上界是任何激活函數都需要的特征,因為它避免了導致訓練速度急劇
    下降的梯度飽和,因此加快訓練過程。無下界有助于實現強I正則化效果(適當的擬合模
    型)。(這個性質類似于ReLU和Swish的性質,其范圍是[≈0.31,[])
    2.非單調函數:這種性質有助于保持小的負值,從而穩定網絡梯度流。大多數常用的激活
    函數,如ReLU[f(x)=max(0,x)], Leaky ReLU[f(x)=max (0, x),1],由于其差分為0,
    不能保持負值,因此大多數神經元沒有得到更新。
    3.無窮階連續性和光滑性:Mish函數是光滑函數,具有較好的泛化能力和結果的有效優化
    能力,可以提高結果的質量。
    在這里插入圖片描述

10.5 SwiGLU:自門控激活函數

在這里插入圖片描述

10.5.1 為什么現在的大模型要高精度跑GeLU或SwiGLU,而不是改回ReLU跑低精度?

現在大模型往往是bf16或fp8跑矩陣乘法,但是激活函數都會用fl32來確保精度。

主要原因是,常用的激活函數如GeLU和SwiGLU都很復雜,低精度掉點非常顯著

GeLU和SwiGLU的優勢在于它們提供了更平滑、更豐富的非線性特征表達。
根據Shazeer(2020)的研究,SwiGLU相比于ReLU在Transforme架構+下能降低約1-2%的困惑
度,這種性能差距雖然看似不大,但對動輒幾十億甚至千億參數的LLM+而言,能帶來的性能收益
非常明顯。
至于的"低精度下掉點嚴重"的現象,確實存在。英特爾實驗室在FP8+超低精度訓練LLaMA+2-7B時
就發現,SwiGLU激活函數在長時間訓練后會出現非常嚴重的數直不穩定,具體表現為訓練后期loss
劇烈上升甚至訓練發散。分析顯示這是由于SwiGLU的門控機飛制極易放大激活輸出中的少數離群
值,這在FP8這種低精度下非常致命,最終導致梯度爆炸。
但值得注意的是,在稍高一些的精度(如BF16+)下,GeLU和SwiGLU并不會表現出明顯的性能下
降或者數值問題。谷歌的PaLM+、Meta的LLaMA訓練時都使用BF16精度,幾乎無性能損失(與
FP32相比誤差在統計波動范圍內)。也就是說BF16精度已經足以支撐GeLU/SwiGLU這類激活函數
的穩定訓練與推理。

那么問題來了,既然ReLU在低精度上數值更穩定(畢竟只涉及簡單的截斷操作,沒有復雜的指數或
高階函數),為什么大家還是不用呢?我認為ReLU的劣勢主要體現在兩個方面:

  • 第一是早期觀念上的誤區,認為ReLU容易出現負值梯度為零導致的"神經元死亡"(deadReLU)
    現象;但實際上在Transformer這種帶有LayerNorm+的架構里,ReLU死亡現象并不明顯,這一點最
    近已經逐漸被學術界重新證實。
  • 第二個因素更關鍵:業界剛剛開始注意到ReLU的潛在優勢,比如激活值高稀疏性帶來的效率提
    升。大船掉頭需要時間。Mirzadeh(2023)等人發現,使用ReLU激活后模型推理時可以跳過大量
    的零值運算,FLOPs甚至可以減少30%~50%。他們在大模型微調實驗中驗證過,使用ReLU或其變
    種(如ReGLU,Squared ReLU)替換原始的GeLU/SWiGLU,模型性能幾乎不受影響,但推理效率
    卻能明顯提高。

這種"回歸簡單激活函數"的思潮,已經在低資源推理場景(如BitNet)得到了實際驗證。BitNet就通
過ReLU搭配1-bit權重和8-bit激活,成功實現了Transformer模型的超低精度訓練和部署,且性能與
標準FP16模型幾乎持平。
所以綜合來看,目前大模型仍廣泛使用GeLU/SwiGLU激活函數更多是歷史延續及微小性能增益的綜
合結果,BF16精度足夠支撐它們的正常表現。只有在追求極致低精度部署(如FP8或更低)或更極
端的效率優化場景下,ReLU才開始重新受到關注。

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

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

相關文章

Linux內核IPv4多播路由深度解析:從數據結構到高效轉發

多播路由是網絡通信的核心技術之一,Linux內核通過精密的多層設計實現了高性能的IPv4多播路由功能。本文將深入剖析其核心實現機制,揭示其高效運轉的秘密。一、核心數據結構:路由系統的基石1. 多播路由表(struct mr_table&#xff…

ffmpeg-7.1.1 下載安裝 windows 版,MP4 轉 m3u8 切片,遇到報錯 Unrecognized option ‘vbsf‘的解決辦法

工作中偶爾會需要造指定大小的文檔文件,不要求內容,可以隨意填充任意無毒內容,所以打算用ts文件填充,現記錄下過程。一、下載 ffmpeg廢話不多說,上鏈接,https://ffmpeg.org/會跳轉新頁面,向下拉…

Linux網絡編程:網絡基礎概念(下)

目錄 前言: 一、網絡傳輸基本流程 1.1、認識MAC地址 1.2、認識IP地址 二、socket編程預備 2.1、端口號 2.2、傳輸層的代表 2.3、網絡字節序 2.4、sockaddr 結構 總結: 前言: 大家好,上一篇文章,我們說到了…

亞馬遜廣告進階指南:如何優化流量實現新品快速起量

“新品上架如何快速獲取精準流量?”“如何降低ACOS同時提升轉化率?”“競品流量攔截有哪些高效方法?”“關鍵詞廣告和ASIN廣告如何協同投放?”“人工投放效果不穩定,AI工具真的能解決問題嗎?”如果你也在思…

路徑平滑優化算法--Clothoid 路徑平滑

路徑平滑優化算法–Clothoid 路徑平滑 文章目錄路徑平滑優化算法--Clothoid 路徑平滑0 為什么選 Clothoid?1 數學基礎:嚴謹推導(Mathematical Foundation)可視化解釋1.1 曲率線性假設1.2 切向角(Heading Angle&#…

PCB學習筆記(一)

文章目錄一、PCB的制作過程了解1.1 覆銅板一、核心作用:制作印制電路板(PCB)二、不同類型覆銅板的針對性用途三、延伸應用1.2 覆銅板和信號線的關系一、覆銅板不是“全是銅”,原始結構是“絕緣基材銅箔”二、信號線就是銅&#xf…

【19】C# 窗體應用WinForm ——【列表框ListBox、復選列表框CheckedListBox】屬性、方法、實例應用

文章目錄9 復選列表框CheckedListBox10. 列表框ListBox10.1 實例:買菜10.2 實例:購菜 應用二WinForm 是 Windows Form 的簡稱,是基于 .NET Framework 平臺的客戶端(PC軟件)開發技術,是 C# 語言中的一個重要…

新注冊企業信息查詢“數據大集網”:驅動企業增長的源頭活水

商貿繁榮的齊魯大地上,“趕大集”曾是千年傳承的民間智慧。而今天,一場以新注冊企業信息為核心的“數據大集”正悄然重塑商業生態——數據大集網,以“聚天下好數,促萬企互聯”為使命,將分散的企業信息轉化為精準商機&a…

項目目標如何拆解,才能提高執行效率和效果

項目目標要有效拆解以提高執行效率和效果,需要遵循以下關鍵步驟:明確整體目標、劃分階段性目標和里程碑、具體化任務細分并設定優先級、分配明確的責任人和時間節點、持續跟蹤與反饋調整。其中,劃分階段性目標和里程碑尤為重要,通…

spring-ai-alibaba動態 Prompt 最佳實踐

Spring AI Alibaba 使用 Nacos 的配置中心能力來動態管理 AI 應用的 Prompt。以此來實現動態更新 Prompt 的功能。 環境準備 Nacos: 具備配置中心能力的 Nacos,本例中使用 Nacos 3.0.2。Nacos 2.X 亦可, spring-ai版本1.0.0 ,spring-ai-al…

基于詞頻統計、關鍵詞提取、情感分析與AI大模型自動生成系統的設計與實現

文章目錄有需要本項目的代碼或文檔以及全部資源,或者部署調試可以私信博主一、研究背景與項目意義二、項目目標與研究內容三、系統架構與功能模塊1. AI對話生成模塊2. 分詞與關鍵詞提取模塊3. 情感分析模塊4. 行為預測模塊5. 系統管理模塊6. 可視化展示模塊四、技術…

JVM工具

首先,JDK 自帶了很多監控工具,都位于 JDK 的 bin 目錄下,其中最常用的是 jconsole 和 jvisualvm 這兩款視圖監控工具。 一、jps(Java Process Status) 用于查看有權訪問的虛擬機的進程,并顯示他們的進程號 -v:列出虛擬…

VisionPro系列講解 - 03 Simulator 模擬器使用

一、VisionOS Simulator 簡介 VisionOS Simulator 模擬器是專為 VisionOS 操作系統開發的調試和測試工具。它允許開發者在沒有實際硬件設備的情況下,在計算機上模擬 VisionOS 環境,進行應用的開發、調試和優化。該模擬器幫助開發者快速驗證應用的功能和界…

huggingface是什么?2025-07-30

huggingface被我看做是ai模型的試用空間 體驗了一下image edit的功能,去除背景的功能不錯 models 模型庫 dataset 目前對我來說沒用 spaces huggingface的spaces是什么? 演示空間吧。 令人震驚的背景移除能力H200是什么?

mysql索引下推和索引失效

索引下推:ICP過濾的條件可以不限于用于索引查找(index lookup)的字段。只要存儲引擎在掃描當前索引時能夠訪問到該字段的值,就可以用它來過濾。索引可以分為聚簇索引和非聚簇索引沒有索引下推:當使用聚簇索引的時候&am…

【電賽學習筆記】MaixCAM 的OCR圖片文字識別

前言 本文是對MaixPy官方文檔 MaixCAM MaixPy 實現 OCR 圖片文字識別 - MaixPy 的項目實踐整理與拓展,侵權即刪。 功能介紹 OCR是MaixCAM中功能強大的數字文字識別模塊,可以做到輕松的識別各種數字與文字。 OCR官方例程解析 工程源碼 from maix im…

如何在生成式引擎優化(GEO)中取得成功

如果你希望您的內容出現在 AI Overviews、ChatGPT 和 Gemini 中?以下是設置 GEO 廣告系列的方法。 任何好的 GEO 活動的第一步是創造一些東西實際上想要鏈接到或引用。 GEO 策略組件 想象一些你合理預期不會直接在 ChatGPT 或類似系統中找到的體驗: 例如…

WPFC#超市管理系統(3)商品管理

超市管理系統6. 商品管理6.1 添加商品6.1 商品管理主界面6.3 修改商品6. 商品管理 將前文中的GoodsView全部改成和數據庫一致的ProductView新增枚舉類型商品類型ProductType.cs namespace 超市管理系統.Enums {public enum ProductType{水果類,休閑食品類,糧油類,飲料類,日用…

openwrt中br-lan,eth0,eth0.1,eth0.2

CPU是QCA9558 有兩個以太網接口 這個好像沒有外接交換機直接印出來的 openwrt中br-lan,eth0,eth0.1,eth0.2 https://blog.csdn.net/f2157120/article/details/119460852 這個哥用的是 鏈接: DomyWifi DW33D 路由器 CPU是QCA9558 有兩個以太網接口 因為CPU沒集成千兆交換&…

RAG實戰指南 Day 29:RAG系統成本控制與規模化

【RAG實戰指南 Day 29】RAG系統成本控制與規模化 開篇 歡迎來到"RAG實戰指南"系列的第29天!今天我們將深入探討RAG系統的成本控制與規模化部署策略。當RAG系統從原型階段進入生產環境時,如何經濟高效地擴展系統規模、控制運營成本成為關鍵挑…