Dilated Convolution(Atrous Convolution) (G検定)

Dilated Convolution(Atrous Convolution)

1. 定義と概要

Dilated Convolution(Atrous Convolution)とは、カーネル(フィルタ。画像の特徴を読み取るために画像上をスライドさせる小さな数値の格子)の各要素の間に一定間隔の隙間を挿入して畳み込み演算を行う手法です。日本語では拡張畳み込み・膨張畳み込みと呼ばれます。

隙間の大きさは拡張率(dilation rate。カーネルの要素同士の間隔をどれだけ空けるかを決める数値)というパラメータ(数値によってモデルの挙動を調整する設定値)で指定し、拡張率1のときは通常の畳み込みと同じ挙動になります。隙間を空けることでカーネル自体の要素数、つまりパラメータ数を増やさずに、一度にスキャンできる範囲である受容野(ネットワークの1つの出力値が、入力画像のどれだけ広い範囲の情報を反映しているかを示す範囲)を広げられる点が特徴です。

代表例として、セマンティックセグメンテーション(画素ひとつひとつに「これは道路」「これは人」のようにクラスを割り当てるタスク)向けのモデル群であるDeepLab(この手法を中核技術として採用したモデル群)シリーズが挙げられます。

従来のセマンティックセグメンテーションでは、入力に近い解像度の特徴マップ(畳み込み演算の結果として得られる、画像の特徴を数値の格子で表したもの)を保ちたいという要求があります。しかし一般的な畳み込みニューラルネットワーク(CNN)は、畳み込みとプーリング(特徴マップを一定範囲ごとに間引いて縮小する処理)を繰り返して受容野を広げる設計になっています。

そのため途中で特徴マップの解像度が下がり、後段でアップサンプリング(縮小した特徴マップを元の解像度に近づけるよう引き伸ばす処理)して解像度を戻す処理が必要になります。この過程では細かい境界情報が失われやすいという課題がありました。

拡張畳み込みはプーリングを使わずに受容野を広げられるため、解像度を落とさずに広い文脈情報を取り込める点が、セグメンテーション向けのアーキテクチャで採用される理由になっています。

2. 試験対策ポイント

まず整理したい論点は、拡張率というパラメータで隙間の大きさを制御する仕組みです。層を重ねるごとに拡張率を段階的に増やしていく設計にすると、受容野が指数的に広がっていくことが知られており、2015年に提案された手法として整理されています。

通常の畳み込みでカーネルサイズを大きくして受容野を広げる場合はパラメータ数や計算量が増えますが、拡張畳み込みは要素間に隙間を空けるだけなので、パラメータ数を据え置いたまま受容野を広げられる点が大きな特徴です。

セマンティックセグメンテーションの文脈では、プーリングによる解像度低下を避けながら広い文脈情報を捉える手段として拡張畳み込みが関わります。

DeepLabシリーズはAtrous Convolution(拡張畳み込み)を中核技術として採用しており、複数の拡張率を並列に適用するASPP(Atrous Spatial Pyramid Pooling。拡張率の異なる複数の拡張畳み込みを並列に適用し、さまざまな広さの文脈情報をまとめて捉える仕組み)という発展形もあります。DeepLabシリーズの内部構造や、ASPPの詳しい仕組みそのものは、別の記事で扱う要素技術です。

「Atrous」という呼び方は、フランス語で「穴のある」を意味する「à trous」に由来し、もとはウェーブレット変換分野のアルゴリズム名から借用された表現です。拡張率・受容野・パラメータ数の関係と、通常の畳み込みやプーリングとの違いが中心的な論点です。

3. 関連概念との比較・相違点

通常の畳み込みとの最大の違いは、受容野を広げる際の代償にあります。通常の畳み込みでカーネルを大きくして受容野を広げようとすると、パラメータ数と計算量がともに増加します。

これに対して拡張畳み込みは、カーネルの要素間に隙間を空けるだけで済むため、カーネルサイズそのものを据え置いたまま受容野を広げられます。層を深くするほどこの代償の差は開き、大きな受容野を確保したいセグメンテーション用途では無視できない違いになります。

プーリングとの違いは、受容野を広げる手段そのものにあります。プーリングは特徴マップを間引いて解像度を下げることで受容野を広げますが、拡張畳み込みは特徴マップの解像度を保ったまま受容野を広げられます。

画素単位で結果を出したいセマンティックセグメンテーションのようなタスクでは、この解像度を保てる性質が採用の決め手になります。受容野を広げる3つの手段を、広げ方とその影響という観点で並べると、次の関係になります。

手段 受容野の広げ方 パラメータ数・解像度への影響
通常の畳み込み カーネルサイズを大きくする パラメータ数と計算量がともに増加する
プーリング 特徴マップを間引いて縮小する 計算量は抑えられるが、解像度が下がる
拡張畳み込み カーネルの要素間に隙間を空ける パラメータ数を据え置いたまま解像度も保てる

逆に解像度を落としても構わない場面では、計算量を抑えられるプーリングが選ばれる傾向にあります。

4. ビジネス・実務での活用シナリオ

自動運転の分野では、車載カメラの映像から道路・車線・歩行者・標識などを画素単位で分類するセマンティックセグメンテーションに拡張畳み込みが活用されています。境界の解像度を保ちながら周囲の広い状況、つまり文脈を同時に捉える必要がある場面では、解像度を落とさずに受容野を広げられる性質が実用上の強みになります。

医療画像診断の分野では、CTやMRIの画像から臓器や病変の領域を画素単位で切り出すセグメンテーションに応用されています。細かい境界の精度を落とさずに、周囲の組織との位置関係という広い文脈を踏まえた判定ができる点が、診断支援の精度に直結します。

衛星画像やリモートセンシング(人工衛星や航空機から地表を観測する技術)の分野でも、土地被覆分類のように広域の地表画像を扱うタスクで活用されています。解像度を保ったまま広い範囲の文脈情報を取り込める性質が、細かい地物の境界を識別する精度に寄与します。

5. 要点まとめ

  • 拡張畳み込み(Dilated Convolution)は、カーネルの要素間に隙間(拡張率で制御)を空けることで、パラメータ数を増やさずに受容野を広げる畳み込み手法です。
  • 通常の畳み込みはカーネル拡大でパラメータ数が増え、プーリングは解像度低下を伴いますが、拡張畳み込みは解像度を保ったまま受容野を広げられる点が異なります。
  • セマンティックセグメンテーションのDeepLabシリーズで中核技術として採用されており、複数の拡張率を並列適用するASPPという発展形もあります。

6. 確認問題

問1拡張畳み込み(Dilated Convolution)は、カーネルの要素間に隙間を空けることで、パラメータ数を増やさずに受容野を拡大できる。

解答・解説をみる

○ 正しい

隙間の大きさは拡張率で制御し、カーネル自体の要素数を増やさずに一度にスキャンできる範囲を広げられます。拡張率1のときは通常の畳み込みと同じ挙動になります。

問2拡張畳み込み(Atrous Convolution)は、受容野を拡大する際に必ず特徴マップの解像度を低下させる。

解答・解説をみる

× 誤り

正しくは、拡張畳み込みはプーリングを使わずに受容野を広げられるため、特徴マップの解像度を保ったまま受容野を拡大できます。解像度低下を伴うのはプーリングや、フィルタをずらす幅を広げたストライド付き畳み込みの特徴であり、混同しやすい点です。

問3DeepLabシリーズは、セマンティックセグメンテーションでAtrous Convolution(拡張畳み込み)を中核技術として採用している。

解答・解説をみる

○ 正しい

DeepLabシリーズは特徴マップの解像度を保ちながら広い受容野を確保する発想で拡張畳み込みを採用しており、複数の拡張率を並列適用するASPPという発展形も持ちます。