【E資格不合格から学ぶ】Dense Net(画像認識)のポイントを解説!

  • 「Dense Net」について学びたいけど理解できるか不安・・・
  • 「Dense Net」についてどこから学んでいいか分からない?
  • 「Dense Net」を体系的に教えて!

 「Dense Net」は、「Denseブロック」と呼ばれる畳み込み層を導入したモデルです。「Denseブロック」を導入したことで、層をより深くすることができそれが精度向上につながりましたが、興味があっても難しそうで何から学んだらよいか分からず、勉強のやる気を失うケースは非常に多いです。

 私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。

 そこでこの記事では、「DenseNet」を学習する際のポイントについて解説します。

 この記事を参考に「DenseNet」が理解できれば、E資格に合格できるはずです。

<<「DenseNet」のポイントを今すぐ見たい方はこちら

目次

1.概要

Dense Netとは・・・

2.Dense Netの特徴

「Dense Net」の特徴
  • ネットワーク構成
    ・初期の畳み込み
    ・Denseブロック
    ・変換レイヤー、判別レイヤー
  • 出力層に前の層の入力を全て足し合わせる
    ・層間の情報の伝達を最大にするために全ての同じ特徴量サイズの層を結合する。
  • 特徴マップの入力に対し、下記の処理で出力を計算
    Batch正規化
    Relu関数による変換
    ・3×3畳み込み層による処理
  • 前で計算した出力に入力特徴マップを足し合わせる
    ・入力特徴マップのチャンネル数が l×kだった場合、出力は (l+1)×k となる
    ・第 l 層の出力をxlとすると
    xl =Hl([x0,x1,・・・,xl-1])

 チャンネル数:2k                チャンネル数:3k

DenseNetのイメージ図
DenseNetのイメージ図
成長率(Growth Rate)とは・・・
  • DenceBlockでは成長率(Growth Rate)と呼ばれるハイパーパラメータが存在する。DenceBlock内の各ブロック毎にk個ずつ特徴マップのチャンネル数が増加していく時、kを成長率と呼ぶ。(上図参照)
  • kが大きくなるほど、ネットワークが大きくなるため、小さな整数に設定するのがよい
    入力:k0     出力:k
    入力:k0 + k  出力:k
    入力:k0 + 2k  出力:k
    入力:k0 + 3k  出力:k
    入力:k0 + 4k  出力:k

参照元:https://arxiv.org/pdf/1608.06993.pdf

Transition Layer とは・・・
  • CNNでは中間層でチャンネルサイズを変更
  • 特徴マップのサイズを変更し、ダウンサンプリングを行うため、TransitionLayerと呼ばれる層で Dence block をつなぐ
Transition Layerのイメージ図
Transition Layerのイメージ図

          ↑         ↑        
プーリング特徴マップのサイズを削減 各ブロック内で特徴マップのサイズは一致

参照元:https://arxiv.org/pdf/1608.06993.pdf

DenseNetResNet
中間層の仕組み前方の各層から出力全て
→後方の層へ入力
前1層の入力のみ
→後方の層へ入力
DenseNetとResNetの違い

3.まとめ

【Dense Net の特徴】
  • 勾配消失問題への対策
  • DenseNetの特徴・・・DenseBlockの導入
  • DenseNetとResNetの違い・・・
    DenseNet(DenceBlock):前方の各層から出力全てが後方の層への入力として用いられる。
    ResNet(RessidualBlock):前1層の入力のみ後方の層へ入力として用いられる。

最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次