Web教科書

拡張畳み込み(Dilation Convolution)

拡張畳み込み(Dilation Convolution)

解説:スカスカにして視野を広げる

Dilation Convolution(Dilated Convolution)は、畳み込みフィルター(カーネル)の要素の間に意図的に隙間(穴)を空けて適用する手法です。別名「Atrous Convolution(アトラス・コンボリューション)」とも呼ばれます。

通常の畳み込み(3×3)が「指を閉じた手」で画像に触れるとしたら、Dilation Convolutionは「指を大きく広げた手」で触れるイメージです。指の本数(パラメータ数)は変わらないのに、指を広げるだけで、より広い範囲(受容野)の情報を一度に捉えることができます。

なぜこれが必要なのか?

画像認識において「広い範囲の文脈(これが猫の一部なのか、背景なのか)」を理解するためには、受容野を広げる必要があります。しかし、従来の方法には欠点がありました。

手法 特徴と欠点
カーネルを大きくする 3×3を5×5、7×7にすると視野は広がるが、パラメータ数(計算コスト)が激増する
プーリングする 画像を縮小(ダウンサンプリング)すれば視野は広がるが、画像の解像度(細かい情報)が失われる
Dilation Convolution 「パラメータを増やさず」かつ「解像度を落とさず」に、広い範囲(受容野)を獲得できる。
※隙間には値の代わりに0が入るため、実質的な計算量は増えません。

G検定対策

出題ポイント

  • 最大の特徴:パラメータ数を維持したまま、受容野(Receptive Field)を拡大できること。
  • 主な用途:画像の細かい位置情報と全体像の両方が必要なセマンティックセグメンテーション(DeepLabなどのモデル)や、長い時系列データを扱う音声合成(WaveNet)などで使われる。
  • 別名:TensorFlowなどのフレームワークや論文によっては「Atrous Convolution」と呼ばれる。

ひっかけ対策

  • × パラメータ数を増やして精度を上げる
    (解説)パラメータ数は「変えずに」範囲を広げるのがこの手法のキモです。
  • × 画像の解像度を下げるために使う
    (解説)むしろ、プーリング等で解像度を下げたくない(細かい情報を維持したい)場面で、プーリングの代わりとして使われます。
タイトルとURLをコピーしました