社群計算機視覺課程文件

Hyena

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

Hyena

概述

什麼是 Hyena

雖然 Transformer 是一種成熟且功能強大的架構,但其二次方的計算成本非常高昂,尤其是在推理方面。

Hyena 是一種新型運算元,可以替代注意力機制。它由 Hazy Research 開發,具有次二次方的計算效率,透過交錯隱含引數化的長卷積和資料控制門控構建。

長卷積類似於標準卷積,但其核大小與輸入相同。這相當於擁有一個全域性感受野而非區域性感受野。隱含引數化的卷積意味著卷積濾波器的值不是直接學習的。相反,更傾向於學習一個能夠恢復這些值的函式。

門控機制控制資訊在網路中的流動路徑。它們有助於定義資訊應被記住多久。通常它們由逐元素乘法組成。關於門控的有趣部落格文章可以在這裡找到。

transformer2hyena.png Hyena 運算元透過一次遞迴計算卷積和乘法逐元素門控操作,直到所有投影都用盡。這種方法建立在同樣由這些研究人員開發的 Hungry Hungry Hippo (H3) 機制之上。H3 機制的特點是其資料控制的引數分解,充當替代注意力機制。

理解 Hyena 的另一種方式是將其視為 H3 層對於任意數量投影的泛化,其中 Hyena 層以不同的長卷積引數化選擇遞迴地擴充套件 H3。 hyena_recurence.png

從注意力到 Hyena 運算元

注意力機制具有兩個基本特性:

  1. 它具有全域性上下文感知能力,使其能夠評估序列中視覺標記對之間的互動。
  2. 它是資料依賴的,這意味著注意力方程的操作會根據輸入資料本身而變化,特別是輸入投影。qq,kk,vv.

Alt text

注意力機制由三個投影定義:查詢qq、鍵kk、值vv,它們是透過將輸入的視覺標記乘以三個矩陣生成的WqW_q,WkW_kWvW_v在訓練過程中學習。

對於給定的視覺標記,我們可以使用這些投影計算注意力分數。注意力分數決定了對輸入影像其他部分的關注程度。
有關注意力的詳細解釋,您可以參考這篇插圖部落格文章

為了複製這些特性,Hyena 運算元包含了兩個關鍵元素:

  1. 它採用長卷積來提供全域性上下文,類似於注意力機制的第一個特性。
  2. 對於資料依賴性,Hyena 使用逐元素門控。這本質上是輸入投影的逐元素乘法,反映了傳統注意力的資料依賴特性。

在計算效率方面,Hyena 運算元實現了評估時間複雜度為O(L×log2LO(L \times \log_2 L,表明處理速度顯著提高。

Hyena 運算元

讓我們深入瞭解 Hyena 運算元的二階遞迴,為了說明目的,我們將其表示簡化。hyena_mechanism.png

在這個順序中,我們計算 3 個投影,類似於qq,kkvv注意力機制中的注意力向量。

然而,與通常使用單個密集層將輸入序列投影到表示中的注意力機制不同,Hyena 包含一個密集層和在每個通道上執行的標準卷積(在圖表中稱為TqT_q,TkT_kTvT_v,但實際上是一種顯式卷積)。Softmax 函式也被捨棄。

核心思想是反覆將快速評估的線性運算元應用於輸入序列uRLu \in \mathbb{R}^{L},其中LL是序列的長度。由於全域性卷積具有大量引數,因此訓練成本很高。一個值得注意的設計選擇是使用隱式卷積。與標準卷積層不同,卷積濾波器hh是透過小型神經網路隱含學習的γθ\gamma_{\theta}(也稱為 Hyena 濾波器)。該網路將位置索引和可能的位置編碼作為輸入。從γθ\gamma_{\theta}的輸出,可以構建一個 Toeplitz 矩陣ThT_h.

這意味著我們不是直接學習卷積濾波器的值,而是學習從時間位置編碼到值的對映,這在計算上更有效,尤其是對於長序列。

值得注意的是,正如H3 論文中討論的,對映函式可以在各種抽象模型中概念化,例如神經網路場或狀態空間模型 (S4)。

隱式卷積

線性卷積可以表示為矩陣乘法,其中一個輸入被重塑為Toeplitz 矩陣

這種轉換提高了引數效率。它不是直接學習固定的核權重值,而是採用引數化函式。該函式在網路的前向傳播過程中智慧地推匯出核權重的值及其維度,從而最佳化資源利用。

理解隱式引數化的一種直觀方式是將其視為一個仿射函式y=f(x)=a×x+by=f(x)= a \times x + b我們想學習。與其學習每一個單獨的點位置,不如更有效地學習 a 和 b,並在需要時計算點。

在實踐中,卷積透過 Cooley-Tukey 快速傅立葉變換 (FFT) 演算法加速到次二次方時間複雜度。一些工作已經進行,以加快這種計算,例如基於 Monarch 分解的 FastFFTConv。

總結一切

nd_hyena.png 本質上,Hyena 可以分兩步執行

  1. 計算一組 N+1 個線性投影,類似於注意力(可以多於 3 個投影)。
  2. 混合投影:矩陣H(u)H(u)由矩陣乘法的組合定義。

Hyena 為何重要

H3 機制的提議接近多頭注意力機制的困惑度,但在困惑度方面仍然存在微小的差距,需要彌補。

過去幾年中提出了各種注意力替代方案,在探索階段評估新架構的質量仍然具有挑戰性。建立一種多功能層,能夠有效地處理深度神經網路中的 N 維資料,同時保持良好的表達能力,是當前正在進行的重要研究領域。

根據經驗,Hyena 運算元能夠在大規模上顯著縮小與注意力的質量差距,以更小的計算預算實現相似的困惑度和下游效能,而無需混合注意力。它已在DNA 序列建模領域達到了最先進的水平,並在大型語言模型領域展現出巨大潛力,例如 Stripped-Hyena-7B。

與注意力類似,Hyena 可用於計算機視覺任務。在影像分類中,Hyena 在從頭開始訓練 ImageNet-1k 時能夠與注意力在準確度方面相匹配。

hyena_vision_benchmarks.png Hyena 已透過 Hyena N-D 層應用於 N 維資料,並可在 ViT、Swin、DeiT 主幹中直接替代。

vit_vs_hyenavit.png 影像塊數量增加時,GPU 記憶體效率顯著提升。

Hyena 層次結構促進了用於長序列的更大、更高效卷積模型的開發。Hyena 型別模型在計算機視覺領域的潛力將是更高效的影像塊 GPU 記憶體消耗,這將允許

  • 處理更大、更高解析度的影像
  • 使用更小的影像塊,實現細粒度的特徵表示

這些特性在醫學影像和遙感等領域將特別有益。

邁向 Transformer 替代方案

從簡單的設計原則構建新層是一個新興的研究領域,其進展非常迅速。

H3 機制是許多基於狀態空間模型 (SSM) 架構的基礎,其典型結構是在受線性注意力啟發的模組和多層感知器 (MLP) 模組之間交替。作為這種方法的增強,Hyena 為更高效的架構(如 Mamba 及其視覺衍生品(Vision Mamba、VMamba 等))鋪平了道路。

延伸閱讀

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.