【ゼロから作るDeep Learning】8章 ディープラーニング

認識精度を高めるには

  • MNISTに対しては、層をそこまで深くせずに最高精度の結果が得られている。
    • 手書き数字という比較的単純な問題に対しては、ネットワークの表現力を高める必要がない
  • 一般物体認識では、問題が複雑になるため、層を深くすることが認識精度の工場に貢献する。

  • Data Augumentation(データ拡張)
    • 入力画像をアルゴリズムによって人工的に拡張する
    • 画像に微笑変形を施し、画像枚数を増やす

  • 層を深くすることのモチベーション
    • ネットワークのパラメータを少なくできる
      • 正確に言うと、少ないパラメータで同レベルの表現力を達成できる。
    • 受容野(receptive field)を広くカバーできる
    • ReLUなどの活性化関数を畳み込み層の間に挟めるので、非線形化できるため、複雑な表現が可能となる

有名なネットワーク

  • VGG
    • 畳み込み層とプーリング層から構成される基本的なCNN

  • GoogLeNet
    • ネットワークが縦方向の深さだけでなく、横方向にも深さを持っている(インセプション構造)

  • ResNet
    • 層を深くできるような仕掛けとして「スキップ構造」をもつ
    • スキップ構造
      • 入力データの畳み込み層をまたいで出力に合算する構造
      • 逆伝播の際に、スキップ構造によって信号が減衰せずに伝わり、学習が効率的に進む

ディープラーニングの高速化

ディープラーニングの実用例

  • 物体検出
    • 物体認識よりも難しい
    • 物体検出では、画像中からクラスの位置まで特定する必要があり、さらに物体は複数存在する可能性もある。
  • セグメンテーション
  • 画像キャプション生成

本章で学んだこと

yusuke-ujitoko.hatenablog.com