原論文
Simple Baselines for Image Restoration
https://arxiv.org/pdf/2204.04676.pdf
関連研究
チャンネルの重要度を計算するCNN【SENet】
https://qiita.com/wakayama_90b/items/96527dfbbeb1e2ee06c5
空間とチャンネルを動的なパラメータで捉えるViT【Restormer】
https://qiita.com/wakayama_90b/items/100c0a72f3a8d44b1bf1
結論
最近の画像認識モデルが複雑だから,シンプルにした.
概要
画像認識分野において,CNNやViTなど,様々なモデルが提案されている.モデルの構造や情報の共有は複雑で,ブラックボックスである.モデルの構造をシンプルにしたら,人間が少し理解できやすくなるのでは?って感じで,シンプルなモデルは,良い.非線形活性化関数,例えばSigmoid、ReLU、GELU、Softmaxなどは不要だ!
モデル構造
いろんなモデル構造を下図に示す.
(a) ViTのSelf-AttentionとGate-Conv(複雑)【Restormer】
(b)シンプルな基盤
(c)(a)に寄せるため(b)を改良.CA(chanel-Attention)チャンネル方向の重み付け.
(d)GELUをsimple Gateに,CAをSCAに置き換える.
(d)NAFNet’s Block
Simple Gate
Gated Linear Unit(GLU)に触発された構造であり,式1の計算をすることで,通常のGELUの性能を上回る.
f()とg()はLiner層で,⦿は,要素積.σは非線形の活性化関数(GELU)など.GELUを普通に通すのではなく,片方にだけGELUを通して要素積すると良くなるよ.
Gated Linear Unit(GLU)の解説
https://qiita.com/hasebirokou/items/c84c51537658edba718e
========================================================
けど,GLUって,より複雑になるしGELUも使用している.(GELUの式って結構複雑).なので,f()とg()は恒等関数(何も変化なし)と仮定して,σ(非線形関数)もいらない.σを取り除いたとしても,Gate(X) = f(X) ⊙ g(X)は非線形性を含むから.そしたら,σの選択にもとらわれないし一石二鳥.
結果,式(4)のように,超シンプルなXとYの要素積になる.XとYは上図の(c)Simple Gateのように,チャンネル方向に分割した2つを使用する.
Simplified Channel Attention(SCA)
上図の(a)のSENetで提案されたChannel Attentionの計算は,式(5)に示す.
Xは入力で,Xに,Xで作った重みσ()をかける.Wは1x1Convで,なんか複雑.結局,入力XにXで作った何かをかけたらいいんでしょ!ってことで,GAP(pool)と1x1Convのみを残した.
実験
ノイズとかに影響されなくなった.うん.
まとめ
今回は,CNNやViTからよりシンプルなモデル作り【NAFNet】について解説した.シンプルな構造は,わかりやすくていいね.色々計算を外しても大丈夫みたい.