原論文
Restormer: Efficient Transformer for High-Resolution Image Restoration
https://arxiv.org/pdf/2111.09881.pdf
結論
空間方向とチャンネル方向のどちらも動的なパラメータで捉えるように設計したViTで,高画質画像でも効率的(計算量が大きすぎず)に計算できる.
概要
画像認識のスタンダードモデルとして,CNNモデルがあるが,CNNは,カーネルの範囲内(3x3画素)の情報を集約する計算をするため,受容野が狭い.また,静的なパラメータで入力画像に柔軟に適応できない問題点がある.
次に発表されたViTモデルは受容野が広く,入力画像に柔軟に適応できる動的なパラメータを持つ.しかし,ViTモデルは計算量が大きすぎて,特に,高画質タスクに不向きである問題点がある.そこで,高画質な画像を使用する画像生成タスクにおいて,効率的なモデルを提案する.
〜〜〜〜
動的なパラメータ:入力画像の持つ値を使用して重みを計算する.つまり,入力画像によって異なる重みを持つ.入力画像には,近い位置に重要な情報があるか,遠い位置に重要な情報があるかは異なる.これら情報を加味してパラメータを決定する.
〜〜〜〜
モデル構造
ViTで使用されるmulti-head Self Attention(SA)の代わりにmulti-Dconv head ‘transposed’ attention(MDTA)を提案し,以下の図のうすだいだい色(a)に示す.
また,ViTで使用されるFFNの代わりにgated-Dconv FN(GDFN)を提案し,以下の図の水色(b)に示す.
MDTA
MDTAはViTのSAの代わりに導入する.
通常のSAの場合,Q(HW$\times$C)とK(HW$\times$C)の内積計算で,$C$を打ち消し合ってA(HW$\times$HW)の特徴量を獲得する.つまり,空間の重要度を計算する.提案された,MDTAの場合,Q(HW$\times$C)とK(HW$\times$C)の内積計算で,$HW$を打ち消し合ってA(C$\times$C)の特徴量を獲得する.つまり,チャンネルの重要度を計算する.これによって,空間情報が多い場合(高画質画像)に空間の重要度計算が大きすぎる問題を解決する.
これら,QKVを使用した構造は動的なパラメータ(重み)を持つ.QKの内積計算からsoftmaxをとり,値を0~1に集約して,その重要度をVにかける.この重みは入力画像から取り出した値であるため,入力画像に柔軟に適応できる動的なパラメータを持つ.
また,QKVには,それぞれ3$\times$3の畳み込み層(Dconv)が導入されて,局所的な空間情報を埋め込む.
GDFN
GDFNはViTのFFNの代わりに導入する.
ViTのSAでは空間的な情報を獲得しているので,通常のFFNでは,チャンネル方向の情報を獲得する.しかし,以下のモデルで採用されるMDTAはチャンネル方向の計算をしている.そのため,GDFNでは,空間的な情報を計算する.
入力された特徴量を2つのルートそれぞれに入力して$1\times1conv$,$3\times3Dconv$を計算した後,片方に活性化関数を通す(どんな関数でもいいと思うけど論文では,GELU).
これにより,特徴量の重要度が決定され,もう片方にかけることで重要度を計算する.(下ルートで値が0になった場合は,上ルートの同じ位置の値は0になる.逆に,下ルートで値が2に(1を超える)なったら,上ルートの同じ位置の値は強調される.)
これも,入力特徴量の値を使用して重み(重要度)を決定しているため,動的なパラメータを持つ.$H\times H \times \gamma C$の$\gamma$は通常4を使用し,チャンネル数を$1\times1conv$で拡張させる.後の$1\times1conv$で元に戻す.
実験
画像生成の分野で,ノイズがなくクリアな画像を生成できるようになったよ
まとめ
今回は,空間とチャンネルを動的なパラメータで捉えるViT【Restormer】について解説した.高画質画像を使用する画像生成タスクにおいて,MDTAでは,チャンネル方向の重要度を計算し,GDFNでは,空間方向の重要度を計算することで,高画質画像でも効率的な計算が可能なモデルになる.