Libera Vista

学び続けることによって、自由な視点(Libera Vista)で考えられますように。

ディープラーニング(Deep Learning、深層学習)の勉強カリキュラム

公開されているハンドアウトと演習問題の主なトピックだけですが、海外の大学院のDeep Learning のコースでやったことをまとめておきます。データサイエンスを勉強するにあたって、ディープラーニングに関してはこの程度やるものなのか、という感覚がつかんでいただけたらと思います。
 
授業の流れ。
  1. 基本的なこと(機械学習の基本的な部分の復習) ニューラルネットワーク確率的勾配降下法(SGD)、損失関数など。
    • 分類回帰の違い、ソフトマックス関数の説明、SGDの具体的な数値のある手計算
  2. Deep Forward Network(DFN) 一般的なモデルの説明、他クラス分類の損失関数
    • forward pass 具体的な数値のある手計算
  3. DFNの逆誤差伝播法back propagation
    • back propagation 具体的な数値のある手計算
  4. 正則化(Regularization)、weight decay、 データオーグメンテーション、dropout
  5. 最適化(Optimization)、momentum, nestrov momentum、adagrad、adam
    • Adagradを使ったSGDの具体的な数値のある手計算、XORスクラッチにAdagrad実装
  6. CNN、CNNの全体像(カーネル(フィルター)、ストライド、畳み込み層、プール層、back propagation)
    • CNNのfoward pass, back propagation 具体的な数値のある手計算
  7. RNN、LSTM 
    • RNNのfoward pass、LSTMのfoward pass
  8. オートエンコーダ(AE) 普通のAE,スパースAE、その他AE(デノイズAEなど)
    • AEのovercomplete 、PCAとの違いなどの説明、スパースAEの微分の手計算
  9. Generative Adversal Network(GAN)
    • Minimax、GANの勾配上昇法、Back propagation
  10. その他応用、Batch Normalization, ResiNet,DenseNetなど
 
 
基本的には下の教科書を元にしています。演習については実装にうつせるように3層程度で具体的な行列的な計算をさせるものが多かったです。
 

 
ちょっとウェブ検索する限り、courseraや下の青い本などを使って勉強している方が多いようなのですが、この青い本では通常のNN、CNN、RNN、オートエンコーダ、あとは応用というまとめ方をしているようです。