【深層学習による画像認識の基礎】3.3~3.5

>100 Views

May 14, 26

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 2026前期輪読会 #4 2026/05/14 深層学習による画像認識の基礎 3.3-3.5 プーリング層/出力層/様々な畳込み層 京都大学工学部理工学科 B3 岡本 和優 1

2.

■ アジェンダ 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association ■ 3.3 プーリング層 max/avg pooling, GAP, 位置不変性の検討 ■ 3.4 出力層 従来設計の問題点と GAP を用いた現代的設計 ■ 3.5 様々な畳込み層 拡大 / point-wise / depth-wise / 可分 / 転置 / deformable 2

3.

— 3.3.1 最大プーリングと平均プーリング 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association プーリング層の役割 • 畳込み層で得られた特徴マップの空間解 像度をダウンサンプリングする • 学習対象のパラメータは存在しない • カーネルサイズ Hp × Wp, パディング p , ストライド s で定義 最大プーリング (max pooling) Uc,y,x = max 0≤j<Hp, 0≤i<Wp Xc,y+j,x+i 平均プーリング (average pooling) Uc,y,x = 1 Hp × Wp Hp−1 Wp−1 ∑ j=0 ∑ i=0 Xc,y+j,x+i Wp Hp 44 88 30 95 33 90 92 14 63 24 15 25 60 94 64 70 (a) 2 × 2 最大プーリング 90 95 94 70 44 88 30 95 33 90 92 14 63 24 15 25 60 94 64 70 (b) 2 × 2 平均プーリング 63.857.8 60.343.5 図 3.12 最大プーリングと平均プーリングの例. 3

4.

— 3.3.2 大域平均プーリング (Global Average Pooling; GAP) 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 定義 • 平均プーリングのカーネルサイズを入力 特徴マップのサイズ H × W に一致させ たもの 効果 • 入力 C × H × W → 出力 C × 1 × 1 • どんな空間解像度の特徴マップも C × 1 × 1 に変換可能 用途 • クラス分類用 CNN の出力層として利用 • 並進移動に対する不変性を示す GAP の動作イメージ 入力 : C×H×W の特徴マップ ↓ 各チャネルを空間平均 出力 : C×1×1 の特徴マップ (チャネルごとに全画素を平均) 4

5.

— 3.3.3 プーリング処理に期待する役割 : 位置不変性 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 位置不変性 (invariance) とは • 入力 X に位置変化 m(・) を与えても f(X) = f(m(X)) が成り立つ性質 • カメラの視点変化・物体の移動・微妙な 回転への頑健性に相当 プーリングへの期待 • 受容野内の位置変化に対し出力は不変 • → CNN 全体の位置変化不変性に寄与す ると考えられてきた 実際は? • 単純にプーリング層を含めるだけでは, 位置不変性は得られない 位置不変性が欠如している事例 • 入力画像を 1 画素並進させるだけで分類結果が変わる • ゼロパディングにより CNN が絶対位置座標を符号化 なぜ位置不変性が得られないのか 主因 : 1 以上の固定ストライドによる 畳込み処理またはプーリング処理 5

6.

— 3.3.3 単純なプーリングでは位置不変性を獲得できない 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 例 : ストライド 2 の 2×2 最大プーリング 0:0 1:1 0:0 1:1 0:0 1:1 0:0 1:1 (a) ずらす前 0 1 0 1 0:1 1:0 0:1 1:0 0:1 1:0 0:1 1:0 (b) 1 画素ずらした場合 1 1 1 1 図 3.13 最大プーリングによる位置不変性を獲得できない例. • ずらす前 → 出力 0 1 0 1 • 1 画素ずらした場合 → 出力 1 1 1 1 • わずか 1 画素のずれで出力が大きく変 化! 根本的解決策と課題 • 全層をストライド 1 の畳込み + GAP → 完全な不変性, だがメモリ・計算コス トが大 • 適切なダウンサンプリング手法 → ある程度の不変性, 実装複雑・実用上 は稀 現実のトレンド • ストライド 2 以上の畳込み層でダウンサ ンプリングするのが通例 • 厳密な位置不変性の獲得は妥協している 6

7.

— 3.3.3 プーリング層の実際の役割 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association プーリングの有用性 (位置不変性以外) • ローパスフィルタとしての役割 ○ 高周波ノイズに対する頑健性向上に寄与 ○ 目的関数の形状を滑らかにする効果 コラム : 畳込み層でも同等の頑健性を達成 可能 • プーリング層を含む CNN と, それを 2 × 2・ストライド 2 の畳込み層で置換 した CNN を比較 ○ 初期化段階ではプーリング層の方が頑健 ○ 学習後は両者の頑健性は同等になる 現在の CNN のトレンド 近年の多くの CNN は プーリング層を用いず, ストライドが 2 以上の畳込み層で 代替している 3.3 節のまとめ • 最大プーリング・平均プーリング : 受容 野内の集約演算 • GAP : 任意解像度を C × 1 × 1 に変 換, 出力層で活躍 • 位置不変性 : プーリングだけでは不十分 7

8.

— 3.4 出力層 : 従来設計の問題点と現代的設計 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 従来の CNN 出力層の設計 1. 特徴マップ X ∈ RC×H×W を 1 ベク トル x' ∈ RCHW に変換 (flatten) 2. 全結合層 (FC 層) でロジット p̂ ∈ RK を計算 3. ソフトマックスで各クラスの確率スコ アを出力 問題点 • FC 層のパラメータ数が非常に多い (メモ リコスト大) • 固定長ベクトルしか受け取れない → 任意 サイズ画像に非対応 現代的な設計 : GAP の活用 全結合層の直前に GAP を挿入することで問題を解消 • いかなる空間解像度でも C × 1 × 1 に変 換 • FC 層のパラメータ数を大幅削減 • 任意サイズの画像に対応 • 並進移動に対する不変性を示す さらに進んだアプローチ GAP C×1×1 → softmax K クラス → p̂ 任意解像度対応 全結合層を省いて GAP 出力を直接ソフト マックスに入力する方法も提案 8

9.

— 3.5.1 拡大畳込み (Dilated / Atrous Convolution) 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 概念 • 畳込みカーネルの係数間に間隔 (拡大率 r) を設けた畳込み処理 • r = 1 のとき通常の畳込みと一致 • atrous convolution とも呼ばれる 計算式 Hk−1 Wk−1 Uy,x = ∑ q=0 ∑ p=0 Xy+rq, x+rp Kq,p 出力サイズ H' = ⌊ H + 2p − r(Hk − 1) − 1 ⌋ + 1 s (a) 通常の畳込み (r = 1) (b) 拡大畳込み (r = 2) (c) 拡大畳込み (r = 3) 図 3.14 拡大畳込み処理は, 畳込みカーネルの係数間に間隔 r (拡大率) を設けた畳込み処理です. (a) 拡大率 r = 1 のときの拡大畳込み 処理は, 標準的な畳込み処理に一致します. 図 3.14 通常畳込み (r=1) と拡大畳込み (r=2, r=3) 9

10.

— 3.5.1 拡大畳込みの応用 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 特徴 • 空間解像度を保ちつつ広い受容野を実現 • r を変えるだけで任意サイズの受容野に 対応 画像分類 CNN との違い • 分類タスク : 段階的に解像度を下げて広 域特徴を抽出 • 意味的領域分割 (semantic segmentation) : 小領域・物体境界も正 確に認識する必要あり 拡大畳込みは 「空間解像度を保ったまま広い受容野で特徴抽出」という 矛盾する要求を両立 受容野サイズの比較 条件 受容野 3 × 3 通常畳込み (r = 1) 3 × 3 3 × 3 拡大畳込み (r = 2) 5 × 5 3 × 3 拡大畳込み (r = 3) 7 × 7 主な用途 • 意味的領域分割 (DeepLab シリーズ等) • 空間解像度を維持したい画素単位推論タ スク全般 10

11.

— 3.5.2 点単位の畳込み (Point-wise / 1×1 Convolution) 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 概念 • カーネルサイズが 1 × 1 の畳込み処理 • 空間方向の畳込みは行わず, 各位置でチ ャネル方向の情報を集約 フィルタ形状 K ∈ RCout × Cin × 1 × 1 主な用途 • 特徴マップのチャネル数調整 (増減どち らも可) • チャネル間の情報混合 (線形変換) 入力 X ∈ RCin × H × W 畳込みフィルタ K ∈ RCout × Cin × 1 × 1 (x) i = 1 (x) i = 2 (x) i = Cout チャネル次元 で結合 特徴マップ U ∈ RCout × H × W 図 3.15 1×1 畳込みは, 文字どおり, カーネルサイズが 1×1 の畳込み 処理を表しており, 特徴マップの各位置におけるチャネル情報 を集約する働きがあります. 特徴マップのチャネル次元数を調 整するために頻繁に用いられます. 図 3.15 1×1 畳込み : 各位置のチャネル情 報を集約 11

12.

— 3.5.3 チャネル別畳込み (Depth-wise Convolution) 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 概念 • 空間方向にのみ畳込み演算を行う畳込み 処理 • 通常畳込みとの違い : ○ 通常 : Cin と同数のカーネルで畳込み → チャネル方向に加算 ○ チャネル別 : 1 つのカーネルで 1 チャ ネル分の特徴マップを計算 フィルタ形状 K ∈ RCin × 1 × Hk × Wk 特徴 • チャネル方向への情報集約は行わない 入力 X ∈ RCin × H × W 畳込みフィルタ K ∈ RCin × 1 × Hk × Wk (x) 特徴マップ U ∈ RCin × H × W 1 図 3.16 チャネル別畳込み処理. チャネル別畳込みでは, 空間方向に関 してのみ畳込み演算を行います. 図 3.16 チャネル別畳込み : 空間方向のみ 演算 12

13.

— 3.5.4 可分畳込み (Separable Convolution) 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 概念 • 通常の畳込みをチャネル別畳込み + 点単 位置込みのペアで代替 • 通常畳込み : 空間方向とチャネル方向を 同時に処理 • 可分畳込み : 空間方向とチャネル方向を 個別に処理 depth-wise conv point-wise conv 1 2 3 (x) (x) X ∈ RCin × H × W Ud ∈ RCin × H × W Cout Cin Up ∈ RCout × H × W 図 3.17 可分畳込み. 通常の畳込み処理をチャネル別畳込みと 1×1 畳込 み処理で代替することで, 計算コストを大幅に削減できます. 図 3.17 可分畳込みの構成 13

14.

— 3.5.4 可分畳込みの計算量削減 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 計算量の比較 (カーネルサイズ k × k) • 通常畳込み : k2CinHWCout • 可分畳込み : CinHWCout + k2HWCin パラメータ数の比較 • 通常畳込み : k2CinCout • 可分畳込み : CinCout + k2Cin 計算量・パラメータ数の削減率 1 k2 + 1 Cout k=3, C_out ≥ 32 の典型的な CNN では 計算量を約 1/8~1/9 に削減 実際の効果 (15 層 CNN) • ImageNet top-1 acc: 通常比 -1% 程度 • 積和演算数: 4.86 × 109 → 5.69 × 108 パラメータ数も同様の削減率で減少 14

15.

— 3.5.5 転置畳込み (Transposed Convolution) 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 概念 • 畳込み処理とは逆方向に計算し画像を拡 大する処理 • 通常の畳込みの逆向き計算と一致 用途 • エンコーダ・デコーダ型のデコーダ部分 • 領域分割・画像生成・画像修復 動作 • ストライド 1 : 入力を 0 パディングで拡 大して畳込み • ストライド 2 : 画素間にゼロ値を挿入し てから畳込み 畳込み 転置畳込み (a) k = 3, p = 0, s = 1 畳込み 転置畳込み (b) k = 3, p = 1, s = 2 図 3.18 転置畳込みの例. k × k はカーネルサイズ, s はストライド, p はパディングを表します. 図 3.18 転置畳込みの例 (下 : 入力, 上 : 出力) 15

16.

— 3.5.5 転置畳込みの問題点と画像拡大への対策 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 問題 : 市松模様ノイズ (checkerboard artifact) • カーネルサイズやストライドの設定によ って, 出力値計算に寄与する畳込み演算 数が位置ごとに異なる • → 一部の場所が周期的に強調される (a) 市松模様のノイズ例 (b) 出力に寄与する入力側の画素数の差異 図 3.19 (a) は市松模様のノイズ例. (b) は出力値計算に寄与する入力側 の画素数の場所による変化例 (カーネルサイズ 3, ストライド 2 の場合) であり, 色が濃い場所ほど多くの出力値計算に参加し ていることを表しています. 対策 : アップサンプリング+補間+畳込み 最近傍法で 2 倍に拡大 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 入力特徴マップ バイリニア補間で 2 倍に拡大 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 13 13 14 14 15 15 16 16 1.0 1.3 1.8 2.3 2.8 3.3 3.8 4.0 2.0 2.3 2.8 3.3 3.8 4.3 4.8 5.0 4.0 4.3 4.8 5.3 5.8 6.3 6.8 7.0 6.0 6.3 6.8 7.3 7.8 8.3 8.8 9.0 8.0 8.3 8.8 9.3 9.8 10.3 10.8 11.0 10.0 10.3 10.8 11.3 11.8 12.3 12.8 13.0 12.0 12.3 12.8 13.3 13.8 14.3 14.8 15.0 13.0 13.3 13.8 14.3 14.8 15.3 15.8 16.0 (x) 畳込み層 (x) 畳込み層 出力特徴マップ 図 3.20 最近傍補間もしくはバイリニア補間と畳込み層によって, 入力 特徴マップを 2 倍に拡大する例. 1. 画素を r 画素間隔で再配置 2. 補間で空白を埋める 3. 通常畳込みを適用 (学習可能) 16

17.

— 3.5.6 変形可能な畳込み DCN-v1 (Deformable Convolution) 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 動機 • 通常の畳込みはカーネル形状が固定 • 様々なスケールや形状の物体が登場する 現実に対応するには, 入力画像に応じて カーネル形状を適応的に変化させたい DCN-v1 の仕組み • 別カーネル D がサンプリング点のオフ セット Δp を出力 • オフセットを用いて畳込みを実行 K Y(p) = ∑ Wk · X(p + pk + Δpk) k=1 conv D W H conv W X C + オフセット Δp 2K X 図 3.21 3×3 サイズの変形可能な畳込み処理 (DCN-v1) の例. 畳込みカ ーネル W のサンプリング点位置 (オフセット Δp) を別のカー ネル D を用いて計算します. 図 3.21 DCN-v1 : 別カーネル D でオフセ ット Δp を計算 17

18.

— 3.5.6 DCN-v2 / DCN-v3 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association DCN-v2 • DCN-v1 の課題 : 数層以上積み重ねても 性能向上が限定的, 物体と無関係な領域 にもサンプリング点が配置される • → サンプリング点ごとに重み mk ∈ [0, 1] を追加 K Y(p) = ∑ mk · Wk · X(p + pk + Δpk) k=1 カーネル D が 3K × H × W の特徴マッ プを出力, 前半 2K チャネルをオフセ ット, 残り K チャネルをシグモイドで重み に利用 DCN-v3 DCN-v2 の汎化性能をさらに向上 : • 畳込みを可分畳込みに変更 • 入力チャネルを G 分割し, グループごと に独立にオフセット・重みを算出 G K Y(p) = ∑ ∑ m(g) k · W(g) k · X(g)(p + pk + Δp(g) k ) g=1 k=1 • 各グループ内でサンプリング点全体にソフ トマックスを適用し重みを [0, 1] に制限 InternImage ViT のメタアーキテクチャ + DCN-v3 を採 用, 2023 年 7 月時点で物体検出・領域 分割タスクで SOTA を達成 18

19.

— まとめ 京都大学人工知能研究会 KaiRA Kyoto univ. AI Research Association 3.3 プーリング層 • 最大/平均プーリング : 受容野内の集約, 学習パラメータなし • GAP : 任意解像度 → C × 1 × 1, 出力 層で広く活用 • 位置不変性 : 固定ストライドが原因で不 十分 • 現在 : ストライド付き畳込みで代替が主 流 3.4 出力層 • GAP を FC 層の前に挿入するのが現代的 設計 3.5 様々な畳込み層 手法 特徴 拡大畳込み 解像度維持 + 広い受容野 1×1 畳込み チャネル数調整 チャネル別 畳込み 空間方向のみ, 軽量 可分畳込み 計算量 1/8~1/9 に削減 転置畳込み 画像拡大, decoderで活躍 変形可能な 畳込み 入力適応型受容野, 注意機 構に近い特性 19