Survey: Simple Baselines for Image Restoration (NAFNet)

2026-08-16
| ECCV 2022

Liangyu Chen, Xiaojie Chu, Xiangyu Zhang, Jian Sun

當前挑戰

在影像修復(Image Restoration, IR)領域中,多數 SOTA 模型的結構變得愈發龐大且計算繁重(heavy computation)。為了追求更高的指標,許多研究引入了複雜的 attention 機制、多分支模組,甚至是運算代價高昂的 Vision Transformer。但這些繁複的設計是否真的都是必要的?

Intra-block 設計過於複雜且計算繁重

常見的 IR block 往往塞入了許多運算元件與交錯的非線性激勵函數(Nonlinear Activation),不僅拉長了訓練與推論時間,也很難辨識出究竟是哪個模組真正帶來了效能增益。

Intra-block 與網路整體架構示意圖
NAFNet 的整體 U-Net 架構。作者的核心目標是探討最基礎的 intra-block 能否簡化到極致,即便不使用 Transformer,也能作為一個強而有力的 Baseline。

過度依賴繁瑣的非線性激勵函數

傳統網路慣於在每個卷積層後加上 ReLU 或 GeLU,普遍認為深度模型必須仰賴大量的非線性激勵函數來維持擬合能力。然而在 low-level vision 這類注重細節保留的任務中,非線性層的必要性卻鮮少被嚴格檢驗,過多的非線性操作反而可能造成計算冗餘。

Attention 機制運算代價高昂

雖然 Channel Attention (CA) 或 Spatial Attention 能有效提升特徵表達,但標準的 Channel Attention 內部包含 Global Average Pooling、多層 MLP 降維升維,以及 ReLU/Sigmoid 等多個非線性操作,在追求輕量與高推論速度的場景下依然存在計算開銷。

小筆記:常見 Normalization 的選擇
作者在建構 Baseline 時分析了幾種常見的 Normalization:
Batch Normalization (BN):在 IR 任務中因處理高解析度圖像,Batch Size 通常受限,BN 的統計量容易不穩定。
Instance Normalization (IN):雖然比 BN 穩定,但如 HINet 等研究所述,IN 並非在所有退化任務上都適用,常需手動調整。
Layer Normalization (LN):在 IR 領域中表現最為穩定,且獲得多數 SOTA 模型採用,因此作者選擇 LN 作為基礎。


主要貢獻

這篇論文的核心思路是做減法:先以簡潔的卷積結構為基礎,納入真正關鍵的設計組出 Baseline,再進一步大膽拔除所有非線性激勵函數,提出了結構極簡的 Nonlinear Activation Free Network (NAFNet)

從複雜結構一步步簡化到 NAFNet
Block 的簡化演進歷程。(a) 傳統複雜的 intra-block;(b) 去蕪存菁後的基礎通用結構;(c) 加入 LN、GeLU 與 Channel Attention 的 Baseline;(d) 拔除所有非線性激勵函數的 NAFNet。

解決: Intra-block 設計過於複雜且計算繁重

作者最初的設計原則是讓 intra-block 回歸最乾淨的配置:僅保留 ConvLayer Normalizationshortcut

在建構 Baseline (c) 時,作者相較於基礎結構做了三處改動:
1. 採用 Layer Normalization:避免 BN 對 batch size 的敏感度與 IN 的調參成本。
2. 把 ReLU 換成 GeLU:當時 SOTA 模型普遍轉向 GeLU,作者在 Baseline 中也跟風採用。
3. 引入輕量 Channel Attention:透過 Global Average Pooling (GAP) 擷取 channel-wise 特徵,經由小型模組計算權重後乘回原特徵圖。

Channel Attention 結構示意
Baseline 中採用的標準 Channel Attention 機制,透過 GAP 聚合空間資訊後調整通道權重。

解決: 過度依賴繁瑣的非線性激勵函數

這是整篇論文最具特色的改動。作者提出以 Simple Gate (SG) 取代 GeLU:

  • Gated Linear Unit (GLU) 源自 NLP,作法是將輸入分別做線性與非線性映射後逐元素相乘:

        \[\text{GLU}(x) = (x W + b) \otimes \sigma(x V + c)\]

  • 作者觀察到,GeLU 本質上可視為廣義 GLU 的一種特殊形式:

        \[\text{GeLU}(x) = x \cdot \Phi(x) \approx x \cdot \sigma(1.702 x)\]

  • 由此推論:門控機制中的「特徵乘法互動」才是關鍵,非線性函數 \sigma 並非不可或缺。
  • 移除 \sigma 之後,門控機制簡化為兩個特徵圖的直接相乘,即 Simple Gate:將 feature map 沿 channel 維度均分為兩半 X, Y,直接進行 element-wise product X \odot Y
Gated Linear Unit 與 GeLU 的近似關係
GLU 的基本形式與 GeLU 的數學近似,說明門控機制本身的特徵調配能力。
GeLU 與 GLU 關係
GeLU 的函數形態與門控機制的對照。
Simple Gate 運算示意
Simple Gate 的計算方式——沿 channel 切分後直接相乘,不需額外的非線性激活函數。

解決: Attention 機制運算代價高昂

在以 Simple Gate 取代 GeLU 後,整個 block 內僅剩 Channel Attention 中的 ReLU 與 Sigmoid 仍為非線性操作。

作者進一步將 Channel Attention 中的非線性層一併移除,提出 Simplified Channel Attention (SCA)
– 計算流程簡化為:GAP \rightarrow 線性 1 \times 1 Conv \rightarrow 直接乘回 feature map。
– 整個 NAFNet block 內部完全不含任何非線性激活函數(Nonlinear Activation Free),但透過 Simple Gate 與 SCA 的線性縮放,依然維持優異的特徵表達能力。

Simplified Channel Attention (SCA)
簡化後的 Channel Attention (SCA),移除了 ReLU 與 Sigmoid,保留純線性運算與特徵縮放。

延伸探討

實驗表現:簡化架構的還原能力

作者在 Denoise(SIDD 資料集)與 Deblur(GoPro 資料集)兩項標準 IR 任務上進行評估:

Denoise 任務表現
Denoise 任務(SIDD)比較。Baseline 與 NAFNet 的表現皆優於先前的 SOTA;雖然在該數據上 Baseline 的指標略高於 NAFNet,但 NAFNet 具備更佳的運算效率與簡潔度。
Deblur 任務表現
Deblur 任務(GoPro)比較。Baseline 與 NAFNet 雙雙超越既有 SOTA,驗證了簡化設計的有效性。

消融實驗:各模組簡化的效果驗證

論文對 Baseline 與 NAFNet 的各項設計進行了 Ablation Study:

Baseline 各項改動的消融實驗
Baseline 的三項調整(LN、GeLU、CA)各自帶來穩定的增益。
NAFNet 改動的消融實驗
NAFNet 提出的 Simple Gate 與 Simplified CA 在移除所有非線性函數後,依然能維持頂尖的修復表現。
Simple Gate 複雜化對比
將 Simple Gate 重新加入非線性激活函數進行測試,結果顯示額外的非線性並未帶來顯著改善,部分情況下純乘法反而表現更佳。

心得

在許多研究傾向堆疊複雜 Transformer 與多重 Attention 的背景下,NAFNet 提供了一個很有價值的視角。它指出了許多性能增益不一定來自繁雜的模組,合理的 Normalization 與特徵門控機制往往才是關鍵。

透過 Simple Gate(channel 切半直接相乘)與 SCA,完全捨棄傳統非線性激活函數依然能達到頂尖水準,這種「Less is more」且兼顧計算效率的研究思維非常值得借鏡。