輪読会「深層学習による画像認識の基礎」第4回

はじめに

こんにちは。てくますプロジェクトのYukkinです! 本記事は、てくますプロジェクトが実施している輪読会『深層学習による画像認識の基礎』の第4回活動記録です。

てくますプロジェクトは、「考える楽しさを探そう!」が合言葉の、数学と情報科学の学習コミュニティです。

輪読会に参加したい方は、Connpass よりお申し込みください。

ゼミの様子

現在は「深層学習による画像認識の基礎」という本を読み進めています。

第4回の今回は、<3章 深層学習の基礎>のp.82〜90まで読み進めました!

本記事では、今回の勉強会で学んだことをざっくりと紹介していきます。

学習内容

畳込みニューラルネットワーク(前回の続き)

前々回、前回に引き続き、畳込みニューラルネットワークについて学習しました。

様々な畳込み層(前回の続き)

  • 変形可能な畳込み
    • 入力画像の内容に応じて、カーネルの形状を適応的に変化させる方法
    • 対象の畳み込みカーネルWとは別に、もう一つの畳込みカーネルDを用いてオフセット \(\Delta p_k\) を求めることで、カーネルWのサンプリング点を決定する
    • オフセット \(\Delta p_k\) は実数値であるため、画素値 \(X(p+p_k+\Delta p_k)\) はバイリニア補間によって求める
    • 変形可能な畳込みは、DCN-v1→DCN-v2→DCN-v3と改良されている

代表的なCNN

  • ResNet
    • 2015年に提案され、ILSVRC2015で最高精度を達成したモデル
    • 2024年現在でもCNNのデファクトスタンダード
    • ResNetは残差ブロックを積み重ねた構造をしている
    • 残差ブロックの基本形
      • [3×3conv→BN→ReLU→3×3conv→BN]→スキップ側との加算→ReLU
      • 比較的層数の少ないResNet-34などで用いられる
    • ボトルネック構造を採用した残差ブロック
      • [1×1conv→BN→ReLU→3×3conv→BN→ReLU→1×1conv→BN]→スキップ側との加算→ReLU
      • 1×1convでチャネル数を1/4に下げてから、3×3convを実行し、1×1convでチャネル数を元に戻す(4倍に増やす)
      • 計算量を抑えつつ、深いネットワーク構造を実現できる
      • 層数の多いResNet-50、ResNet-100、ResNet-152などで用いられる
    • 上記の残差ブロックはスキップ側との加算後にReLUだが、次のように配置変更してもよい
      • [BN→ReLU→3×3conv→BN→ReLU→3×3conv]→スキップ側との加算
      • ReLUを先に適用することで、任意の2層間に残差学習が働くように改良した
      • オリジナルのモデルより優れた認識性能を示し、1000層以上でも過学習しない

最後に

画像認識の4回目のゼミでした。

内容が難しくなってきたり、議論が紛糾したりで、なかなか先に進まない・・・!

それもまた輪読会の醍醐味なのかもしれません。

では、またね!

本シリーズの記事はこちら

各ゼミの第1回記事はこちら