Swish

Swish

Google 提出的自門控平滑激活函數

詳細解釋

Swish是Google發現的自門控激活函數,定義為f(x) = x · sigmoid(βx),平滑且非單調,在深度網絡中通常優於ReLU。

數學定義:

  • Swish(x) = x · sigmoid(βx)
  • β=1時:Swish(x) = x · σ(x)
  • β→∞:趨向ReLU
  • β→0:趨向線性函數

特性:

  • 平滑:處處可微
  • 非單調:小負值區域有正值輸出
  • 自門控:Sigmoid作為門控信號
  • 無上界:正值區域線性增長
  • 有下界:負值趨向0

發現故事:

  • 2017年:Google使用神經架構搜索發現
  • 自動搜索:在大量候選激活中找到
  • 驚喜:簡單但優於精心設計的ReLU
  • 推廣:被多種架構採用

與ReLU的比較:

  • ReLU:硬閾值,dying問題
  • Swish:平滑,緩解dying
  • 性能:通常優於ReLU
  • 成本:Sigmoid計算開銷

與GELU的關係:

  • 非常相似:都是x與某種門控的乘積
  • GELU:使用高斯CDF
  • Swish:使用Sigmoid
  • 性能:通常相當

應用:

  • EfficientNet:Google的高效網絡使用Swish
  • 搜索發現的架構:NAS發現的模型常用
  • Transformer:某些變體使用(但GELU更常見)
  • 現代CNN:替代ReLU的選擇之一

計算優化:

  • 1.702近似:Swish(x) ≈ x · σ(1.702x)接近GELU
  • 硬Swish:h-swish = x · ReLU6(x+3)/6
  • 移動優化:硬Swish適合量化移動設備

變體:

  • H-Swish(Hard Swish):
  • 使用ReLU6近似Sigmoid
  • 計算更快,適合移動端
  • MobileNetV3使用

為何有效:

  • 非單調性:小負值保留有用信息
  • 平滑性:優化更穩定
  • 自門控:自動調節信息流

Swish是神經架構搜索發現的成功激活函數。

探索更多AI詞彙

查看所有分類,繼續學習AI知識