- 「GoogLeNet」について学びたいけど理解できるか不安・・・
- 「GoogLeNet」の仕組みが分からない?
- 「GoogLeNet」の内容を分かりやすく教えて!
「GoogLeNet」は、畳み込みニューラルネットワーク(CNN)の構造を持ち、「Inception module」と「Global Average Pooling」という手法を導入し、2014年にILSVRC(物体検出コンペティション)において優勝した深層学習モデルですが、難しそうで何から学んだらよいか分からず、勉強のやる気を失うケースは非常に多いです。
私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。
そこでこの記事では、「GoogLeNet」のポイントについて解説します。
この記事を参考にして「GoogLeNet」が理解できれば、E資格に合格できるはずです。
<<「GoogLeNet」のポイントを今すぐ知りたい方はこちら
1.概要
- 畳み込みニューラルネットワーク(CNN)構造
- 3つの画期的な手法を導入
・Inceptionモジュール
フィルタサイズの異なる複数の畳み込み処理を施した機構
補足)Inception:直訳すると「始まり」
・Auxiliary Loss
・Global Average Pooling - 2014年にILSVRC(物体検出コンペティション)において優勝
・分類誤差は7%

GoogLeNet Inceptionモジュール
出典元:https://arxiv.org/pdf/1409.4842v1.pdf
2.Inceptionモジュール
2.Auxiliary classifiers
- 補助分類器
ネットワークから分岐されたサブネットワークとして同時に学習
⇒ クラス分類
⇒ 計算した勾配を分岐元のネットワークにフィードバック - 勾配消失問題の解消
ResNetと外観が異なるが、同様に勾配消失問題を解消できる。 - Auxiliary Lossの追加
・アンサンブル学習と同様の効果 ⇒ 汎化性能の向上
・Auxiliary Loss の代わりにBatch正規化を加える ⇒ 学習がうまくいく場合がある。

「Auxiliary Loss」の追加で1×1畳み込みにより次元削減が行われるから、計算量は減少できるの?

計算量の減少はできないよ!
なぜなら、「Auxiliary classifier」 が追加になったからだよ。

出典元:https://arxiv.org/pdf/1409.4842v1.pdf
3.Global Average Pooling
各チャンネルの画素平均値を求める
↓
ベクトル(各チャンネルの平均値が要素)に変換
↓
次の演算でチャンネル毎の特徴量として計算
※計算量を大幅に削減

- Pooling(プーリング)とは・・・必要なところは細かく、必要がないところは荒くデータを圧縮する方法
- Pooling:直訳)集約する
- Global: 直訳)制限のない
- Average:直訳)平均
【グローバル平均プーリング (Global Average Pooling,全体平均プーリング)】
引用元:「CVMLエキスパートガイド」
4.まとめ
最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!
コメント