本文へ移動

G検定(ジェネラリスト検定)

あとらすこんぼりゅーしょん

アトラス畳み込み

Atrous Convolution

フィルタ値の間に0を挟み、間隔を空けて入力を読む畳み込み。パラメータ数と演算量を変えずに、特徴マップの解像度を保ったまま受容野を広げられる。

詳しい説明

なぜ必要になったか

深層畳み込みニューラルネットワーク(DCNN)では、最大値プーリングとストライドを連続する層で繰り返すため、出力される特徴マップの空間解像度が大きく下がります。典型的には縦横それぞれ32分の1になります。画素ごとにクラスを割り当てるセマンティックセグメンテーションでは、この低下が問題になります。逆畳み込み(deconvolution)層で解像度を戻す方法もありますが、追加のメモリと計算時間が必要です。その代わりに使われるのがアトラス畳み込みです。

名前の由来

この演算は、もともと間引きを行わないウェーブレット変換を効率よく計算する algorithme à trous という手法のために開発されました。à trous はフランス語で穴のあるという意味で、アトラス(atrous)の名はここから来ています。

定義

1次元の入力信号 x[i] と長さ K のフィルタ w[k] に対して、出力 y[i] は次のように定義されます。

y[i] = Σ_k x[i + r*k] * w[k]

r はレートと呼ばれるパラメータで、入力信号をどれだけの間隔(ストライド)でサンプリングするかを表します。r = 1 のときは通常の畳み込みと一致します。つまり通常の畳み込みはアトラス畳み込みの特別な場合です。

穴のあるフィルタ

2次元の例として、画像の解像度をまず2分の1にダウンサンプリングし、その後にカーネルで畳み込む場合を考えます。得られた特徴マップを元の画像の座標に置き直すと、応答が得られているのは画像の位置の4分の1だけです。これに対し、元のフィルタを2倍にアップサンプリングして値の間に0を挿入した穴のあるフィルタで、元の解像度の画像を畳み込めば、すべての位置で応答を計算できます。実質的なフィルタの大きさは広がりますが、計算に使うのは0でない値だけなので、フィルタのパラメータ数も1位置あたりの演算数も変わりません。こうして DCNN の中で特徴応答の解像度を明示的に制御できます。学習済みのネットワークに後から適用することも、学習に組み込むこともできます。

受容野を広げる効果

解像度を上げるだけでなく、フィルタの視野を広げて、より大きな文脈を取り込めることも利点です。同じ論文の ASPP(atrous spatial pyramid pooling)は、レートの異なる複数のアトラス畳み込み層を並列に並べ、さまざまな大きさの物体と文脈を捉えます。

ダイレイテッド畳み込みとの関係

根拠の論文は、アトラス畳み込みは著者らが以前の研究で最初に使った用語であり、同じ演算が後に別の研究者グループによってダイレイテッド畳み込み(dilated convolution)と呼ばれるようになった、と述べています。その名前は、この演算がアップサンプリングされた(ウェーブレットの文献の用語では dilated された)フィルタによる通常の畳み込みに相当することから付けられた、と説明されています。

試験で問われること

G検定

  • アトラス畳み込みは、DCNNでプーリングとストライドを繰り返すことで特徴マップの解像度が典型的に縦横32分の1まで下がる問題への対策として使われる。
  • 1次元の定義は y[i] = Σ x[i + r*k] * w[k] で、rは入力をサンプリングする間隔を表すレートであり、r = 1 のとき通常の畳み込みと一致する。
  • フィルタをアップサンプリングして値の間に0を挿入した穴のあるフィルタを使うため、実質的なフィルタは広がるが、パラメータ数と1位置あたりの演算数は変わらない。
  • 名前は間引きを行わないウェーブレット変換を効率よく計算する algorithme à trous に由来し、à trous はフランス語で穴のあるという意味を持つ。
  • 根拠の論文は、同じ演算が後に別の研究者グループによってダイレイテッド畳み込みと呼ばれるようになったと述べ、レートの異なる層を並列に並べるASPPにも用いている。

最終更新日: 2026/09/23