>100 Views
May 21, 26
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2026年度前期輪読会 深層学習による画像認識の基礎 第3章 畳込みニューラルネットワーク (3.6~3.7) 京都大学大学院 工学研究科 M2 河田 賢斗 0
アジェンダ 3.6 代表的なCNN • 3.6.1 ResNet • 3.6.2 Squeeze-and-Excitation Network • 3.6.3 EfficientNet • 3.6.4 ConvNeXt • 3.6.5 多くのCNNに共通する設計指針 • 3.6.6 モデルの効率性評価に関する注意 3.7 本章のまとめ 1
3.6 代表的なCNN 画像分類タスクで幅広く使用される代表的な CNNモデル 各モデルを構成する代表的な演算は、他のモデルでも組み合わせて利用 される傾向にある 複数の代表的なCNNモデルの構成要素を理解することは重要 新しいCNNモデルの設計の目的は、既存モデルの性能改善 (評価項目) 目的タスクでの認識精度、モデルのパラメータ数、推論速度、学習時間 これらの指標を改善することを目標にモデル設計を行うのが通例 2
アジェンダ 3.6 代表的なCNN • 3.6.1 ResNet • 3.6.2 Squeeze-and-Excitation Network • 3.6.3 EfficientNet • 3.6.4 ConvNeXt • 3.6.5 多くのCNNに共通する設計指針 • 3.6.6 モデルの効率性評価に関する注意 3.7 本章のまとめ 3
3.6.1 ResNet ResNet : 画像分類のコンペティションであるILSVRC2015にて最高 精度を達成 1×1 3×3 BN conv 【ResNetの全体像と残差ブロック】 conv BN 𝑋 𝐹 + 𝐹 + 𝐹 (a) ResNetの全体像 (b) ResNet-34などで用いられる (比較的層数が少ない場合) (c) ResNet-50, -100, -152などで用いられる (ボトルネック構造) ReLU 3×3 conv BN + ReLU (b) 残差ブロックの基本形 BN + ReLU ReLU 3×3 conv BN ReLU 1×1 conv (c) ボトルネック構造 4
3.6.1 ResNet (c) ボトルネック構造について 1×1畳込み層を用いて、チャネル数を1/4に減少させる 3×3畳込み層を実行し、1×1畳込み層でチャネル数を元に戻す (b)への入力が64チャネルの特徴マップ、(c)への入力が256チャネ ルの特徴マップである場合、計算量はほぼ同じになる ResNetでは、計算量を抑制しつつ深いネットワークの実現が可能 合流地点ではチャネルごとに要素和を計算することで残差学習を実現 5
3.6.1 ResNet ボトルネック構造はスキップ接続と相性が非常に良い ボトルネック構造(計算量の低下)+スキップ接続(残差学習) 通常のCNNではチャネル数の増減により情報損失が生じ、性能が大 きく劣化 →スキップ接続により、情報損失を回避可能である ResNetではプーリング層がほとんど利用されない ダウンサンプリングはストライド=2の畳込み処理による (残差ブロック内の3×3畳込み処理のストライドを2に設定) 6
3.6.1 ResNet 【残差ブロックの改良】 残差ブロックにおける演算フロー: 畳込み処理 バッチ正規化 ReLU 畳込み処理 バッチ正規化 要素和 式(1) 式(2) ・ : 層目での畳込演算、 ・ :ReLU が正値であれば、 成立 回帰的に 展開でき、 となるため、 が成立 が と 7
3.6.1 ResNet 前頁の式について、 まで展開すると、 式(3) → 層分の残差出力及び入力 との和で表現される すると、損失関数 に関する の勾配は式(4)のように記述できる 式(4) → が他の因子に全く影響されずに直接 層目まで伝播する 一方で、これらの状態が満たされるのは、 とな る場合(残差ブロックの出力 が正の値であるとき) → は負の値も取り得るため、残差ブロック内の演算の配置を変更 することで対応 8
3.6.1 ResNet (d)に示されるように、演算を配置し直す バッチ正規化→ReLU→畳込み層→正規化→ReLU→畳込み層→要素和 修正後のResNetはオリジナルのモデルと比較して優れた 認識性能を示した →1000層以上にした場合も過学習しないことが示された その他にも配置法は存在する • (畳込み層→正規化→ReLU)×2 • (ReLU→畳込み層→正規化)×2 →上記2つの手法ではオリジナルのResNetに対して 優位性を示すことが出来ない BN ReLU 3×3 conv BN ReLU 3×3 conv + (d) 修正版 9
3.6.2 Squeeze-and-Excitation Network CNNでも採用されている注意機構には、チャネル注意(channel attention)がある →入力特徴マップ内の重要なチャネルを抽出する チャネル注意は、squeeze-and-excitation block(SEブロック)と して提案されている →任意のネットワークに挿入可能であり、ResNetを用いる場合は SE-ResNetと呼ばれる SEブロックは大域平均プーリング及びMLPによって構成されている 大域平均プーリング後の出力 に対して下記のMLPを適用 式(5) :シグモイド関数、 / × ・ × / :全結合層、 :次元数の削減率(16が推奨) 10
3.6.2 Squeeze-and-Excitation Network は各チャネルの重要度を[0.0,1.0]で表現 入力特徴マップの各チャネル を対応する重要度 でスケーリングする 式(6) 大きい を有するチャネル が強調され、次層へと伝播 →重要なチャネルのみ選択し、学習の効率化と精度の向上を達成する (Ex.) ResNeXt + SE → SE-ResNet 式(7) SE(・):SEブロック ボトルネック構造の出力特徴マップに対してSEブロックを適用し、ス キップ接続を構築 →チャネルのみならず、空間情報とチャネルの両者に対する注意を利用 したネットワークも提案された 11
3.6.3EfficientNet 高い認識精度+学習時間、推論速度、パラメータ数の効率性も重要 軽量かつ高精度なEfficientNet(CNN)が提案されている EfficientNet と EfficientNet-v2 の2世代モデルが存在 【反転残差ブロック】 ボトルネック構造を有した残差ブロック: 入出力のチャネル数が多い + 内部のチャネル数が小さい • 設計背景 多様体仮説: 現実世界の画像データが低次元多様体上に存在すると仮定した場合、残 差ブロックにおけるボトルネック部分でも十分な表現能力がある 12
3.6.3EfficientNet ReLU : • 出力の非負領域に対しては線形変換をしている • 入力テンソルの次元数が小さい場合、ReLUにより情報がある程度失われ、 次元数が大きい場合、情報の損失が抑えられる 以下の2点が導出される • 多様体仮説を仮定すると、少ないチャネル数でも十分な表現力を有する • ReLUによる低次元多様体空間での情報損失を防ぐため、残差ブロック内部 では適切な拡大率でチャネル数を大きくする 反転残差ブロックが提案された(ブロック内の最後の演算はReLUではなく、 線形変換) • MobileNet-v2(初代のモデルの名称) • mobile inverted bottleneck convolution(MBConv・反転残差ブロッ ク自体の名称) 13
3.6.3 EfficientNet 【EfficientNet】 反転残差ブロックにSEブロックを追加したモジュール(MBConv)を 積み重ねたCNN →基盤となるモデルは、EfficientNet-B0と呼ばれる ネットワーク構造は人手ではなく、最適な分類精度とFLOPsを達成す るように、ニューラル構造探索(neural architecture search; NAS) を用いて自動設計されている (設計対象は、畳込み層の種類や出力チャネル数、カーネルサイズな どのハイパーパラメータ) EfficientNet-B0の層数やチャネル数、入力画像の解像度の3つにつ いて各々定数倍することで、モデルサイズが異なるEfficientNet B1 ~B7 を構築 14
3.6.3 EfficientNet 【EfficientNet-v2】 分類精度を保ちつつ、学習時間を高速化 • 低層では、Fused-MBConvを使用する • 中層以降では、SEブロックを含むMBConvを使用する • 画像サイズを徐々に拡大しながら学習する Fused-MBConv: 1×1畳込み層とチャネル別畳込み層を1つの3×3畳込み層で置換 ☞入力テンソルのサイズや用いるデバイス、利用する深層学習フレー ムワークなどにより、実際の実行時間は変動する →理論上のパラメータ数や計算量のみで計算コストを推定することは 困難 15
3.6.3 EfficientNet 従って、ニューラル構造探索によりベースとなるEfficientNet-v2-Sを 自動設計している 最適化する対象: 畳込み層の種類(MBConv or Fused-MBConv) 畳込み層のハイパーパラメータ(カーネルサイズやチャネル数の拡大率) 目的:分類精度・パラメータ数・学習にかかる時間の最適化 EfficientNet-v2-S モデルの層数、チャネル数、入力画像の解像度を 定数倍することで、モデルサイズの異なる EfficientNet-v2-M・ EfficientNet-v2-Lを構築 16
3.6.3 EfficientNet EfficientNet-v2の学習方法について 学習時間を短縮するために小さい画像から始め、徐々に画像サイズを拡 大する学習方法 この際、データ拡張やドロップアウトなどの正則化も徐々に強めていくこ とが精度向上に寄与 ☞学習に必要なエポック数を 分割し、下記式(8)に従い各ステップ で画 像サイズおよび正則化項を線形に拡大 ・ 式(8) :各ステップ における画像サイズならびに正則化項の強度 :初期値、 :最終的な画像サイズおよび正則化の強度 (Ex.) EfficientNet-v2-S (分割数 ) (画像サイズ): , (ドロップアウト率): , 17
アジェンダ 3.6 代表的なCNN • 3.6.1 ResNet • 3.6.2 Squeeze-and-Excitation Network • 3.6.3 EfficientNet • 3.6.4 ConvNeXt • 3.6.5 多くのCNNに共通する設計指針 • 3.6.6 モデルの効率性評価に関する注意 3.7 本章のまとめ 18
3.6.4 ConvNeXt ConvNeXtは2022年に提案された、ResNetベースのCNN 当時は、ViT(Vision Transformer)に関する研究が非常に活発 最先端の学習方法やネットワークをResNetに導入し、性能改善 結果として、ViTよりも優れた分類精度を達成 【学習方法の洗練化】 ResNetの学習方法を修正(当時主流であった方法を導入) • • • • 学習エポック数を90から300へ増加 ミニバッチサイズを256から4096へ増加 オプティマイザをモメンタムSGDからAdamWへ変更 mixup, cutmix, stochastic depth, label smoothing などの正規化の導入 結果として、分類精度を向上 / 損失関数の変更(バイナリクロスエ ントロピーを用いる等)も有効 19
3.6.4 ConvNeXt 【アーキテクチャの改善】 ResNetのアーキテクチャを現代風(ViT風)に修正する • 各ステージの残差ブロック数の変更([3,4,6,3]→[3,3,9,3]) • 1番最初の層(stem)をストライド の 畳込み層に変更(元々 は、ストライド の 畳込み層と の最大プーリングを使 用) • 残差ブロックを反転残差ブロックに変更 • 反転残差ブロック内において、チャネル別畳込み処理を先頭に配 置し、カーネルサイズを3×3から7×7に変更 ↑これらは、当時優れた性能を示したSwin Transformer を参考 結果として78.8%(4.1 GFLOPS)の精度を80.6%(4.2 GFLOPS)まで 改善 20
3.6.4 ConvNeXt ネットワーク構造のミクロな部分の修正も実施 • 活性化関数をRELUからGELUに変更 • 反転残差ブロック内の2つ目の1×1畳込み層の後にのみ活性化関数 (GELU)を配置 • バッチ正規化を層正規化に変更し、さらに層正規化は残差ブロック 内における最初のチャネル別畳込み層後でのみ実施 • 各ステージ間で層正規化とストライド の 畳込み層によっ て特徴マップの解像度を に下げつつ、チャネル数を 倍に増やす 結果として分類精度が向上したことから、学習方法やネットワーク デザインが重要 上記のモデルをConvNeXt-Tとし、チャネル数・ブロック数を増加 させることで-S,-B,-Lが構築される 21
3.6.4 ConvNeXt 【主要モデルとの性能比較】 ConvNeXtと主要なモデルをImageNet-1Kの検証データに適用した結 果がテキスト表3.6に示されている 使用するデバイス(V100 GPU, A100 GPU etc.,)に推論速度は大きく 影響される 一方で、ConvNeXtをImageNet-21Kで事前学習後に、ImageNet-1K で追加学習した際の結果がテキスト表3.7に示されている 優れたスケーラビリティを有している 22
アジェンダ 3.6 代表的なCNN • 3.6.1 ResNet • 3.6.2 Squeeze-and-Excitation Network • 3.6.3 EfficientNet • 3.6.4 ConvNeXt • 3.6.5 多くのCNNに共通する設計指針 • 3.6.6 モデルの効率性評価に関する注意 3.7 本章のまとめ 23
3.6.5 多くのCNNに共通する設計指針 これまでに様々なCNNモデルが提案されてきた (各々が独自のアーキテクチャを有する) 多くのCNNモデルが共通して持つデザインパターンもある 以下にそれらを記述する • 入力層の直後では、畳込み層のカーネルサイズを大きくし、画像の 空間解像度を下げる • チャネル数は、層が深くなるにつれて増加させていく • 正規化処理は、畳込み処理の直後に行う • スキップ接続による残差学習は必ず行う 24
アジェンダ 3.6 代表的なCNN • 3.6.1 ResNet • 3.6.2 Squeeze-and-Excitation Network • 3.6.3 EfficientNet • 3.6.4 ConvNeXt • 3.6.5 多くのCNNに共通する設計指針 • 3.6.6 モデルの効率性評価に関する注意 3.7 本章のまとめ 25
3.6.6 モデルの効率性評価に関する注意 • モデル(演算)の推論速度について 測定するデバイスによって大きく異なる(V100 GPU, A100 GPU) 一方で、モデルのFLOPsやパラメータ数が小さくとも、推論速度が高 速とは限らない さらに、対象機器やライブラリ上でモデル内での演算がどの程度最適 化されているのか、も重要である どのデバイスで測定しているのか、実際の推論速度はどうか、など 包括的に評価することが求められる 26
アジェンダ 3.6 代表的なCNN • 3.6.1 ResNet • 3.6.2 Squeeze-and-Excitation Network • 3.6.3 EfficientNet • 3.6.4 ConvNeXt • 3.6.5 多くのCNNに共通する設計指針 • 3.6.6 モデルの効率性評価に関する注意 3.7 本章のまとめ 27
3.7 本章のまとめ 画像認識に適した、畳込みニューラルネットワーク(CNN)の基礎につ いて CNNの主要演算である畳込み処理とプーリング処理を解説 畳込み処理:画像認識に有用な画像特徴を抽出する役割 プーリング処理:抽出された特徴の集約と入力画像の解像度を落とす 拡大畳込み:計算コストを増やすことなく、受容野を拡大可能 点単位の畳込みとチャネル別畳込みを組み合わせて効率的に演算可能 また、ResNetやEfficientNet, ConvNeXtなどのCNNモデルも紹介さ れた 28