Deep Learningの基礎

はじめに

昨日の記事で「まず過去問をやる」と書いたにも関わらず、つい誘惑に負けてDeep Learningの基本を簡単に頭に入れて全体像をざっくり理解してから進めたくなってしまいました。2時間程度で頭に入れたので今日はそれをメモろうと思います。

学習教材

14本の動画で、全部で2時間程度で全て見られます。内容が濃く大変勉強になる神教材だと感じました。2倍速再生で1時間で見ようと思いましたが、途中で理解が追いつかなくなったので結局1倍速再生で見ました。

www.youtube.com

この記事では以下、この内容をメモっただけなので、↑この動画を見た方が良いです。

(途中でメモるのさえやめました。動画を見ましょう)

 

Deep Learningとは

  • Neural Networkの層の数を深く(3~1000層)にしたもの
  • 近年インターネットによりデータが豊富になったこと、GPUにより演算性能が向上したこと、によりDLが実現可能になった
  • 2011(2012?)年ごろからDLによりブレークスルーが起き性能が大きく改善し続けている
  • 性能向上に必要な要素がプログラムではなくデータになった

 

DLでできること

「DLで何ができるか」は「ソフトウェアで何ができるか」に近い

  • 物体検出:ピクセル単位で物体を識別する(セマンティッグセグメンテーション)
  • 低解像度画像 -> DL -> 高解像度画像
  • 発話 -> DL -> 応答
  • 画像 -> DL -> 説明文
  • (画像,質問) -> DL -> 回答
  • 各種不動産情報 -> DL -> 不動産価格

 

DL設計の基礎

Convolution Neural Network (CNN)の層

  1. Convolution: input画像を近傍5x5ごとに切り出してフィルタをかけてoutputにする。1pxずつずらしてフィルタをかけて1つのoutput画像にする。重みwは5x5個をどの近傍でも使い回す
  2. MaxPooling: 隣接するピクセルの最大値を取って出力とするもの。outputは縦横半分になる。ダウンサンプリング。
  3. Tanh
  4. Convolution
  5. MaxPooling
  6. Tanh
  7. ここにこの層が大量にある ー> (Affine: ΣWiXi +b, Tanh)
  8. Softmax: 足して1になるようにするやつ

8の層は分類問題ならSoftmax

2値分類問題ならSigmoid

回帰問題(数値予測)ならなし(前の層の出力のまま)

 

やっぱりやめた

全部まとめようと思ったけど、無駄に時間がかかりそうなのでやめます。

元動画が無駄のない神説明なので、まとめる意味もなさそうです。

忘れたら2倍速再生で元動画を見ることにします。