目次
はじめに
こんにちは。てくますプロジェクトの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回目のゼミでした。
内容が難しくなってきたり、議論が紛糾したりで、なかなか先に進まない・・・!
それもまた輪読会の醍醐味なのかもしれません。
では、またね!
コメントを書く