Deep Learning(ディープラーニング専門講座)を受けた(Coursera)

研修も兼ねて、Deep Learningの基本的な講座を受講しました。思ったよりボリューミーでコーディング課題も結構ありよかったですね。

f:id:aoki-shiraki21:20210424075951p:plain

リンク

www.coursera.org

概要

moocs界隈でも最も有名な講師の一人?のAndrew Ng先生のDeep Learning講座です。Andrew先生の軽快な語り口調が心地よいです。

基本的な理論からPython実装(Numpyでの簡単なスクラッチ実装からKerasまで)を学べます。

シラバス

専門講座にあたるため、複数の講座をまとめて1つの講座になっております。今回は5つの講座がありました。

1: Neural Networks and Deep Learning

  • Introduction to Deep Learning
  • Neural Networks Basics
  • Shallow Neural Networks
  • Deep Neural Networks

2: Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization

  • Practical Aspects of Deep Learning
  • Optimization Algorithms
  • Hyperparameter Tuning, Batch Normalization and Programming Frameworks

3: Structuring Machine Learning Projects

  • ML Strategy (1)
  • ML Strategy (2)

4: Convolutional Neural Networks

  • Foundations of Convolutional Neural Networks
  • Deep Convolutional Models: Case Studies
  • Object Detection
  • Special Applications: Face recognition & Neural Style Transfer

5: Sequence Models

  • Recurrent Neural Networks
  • Natural Language Processing & Word Embeddings
  • Sequence Models & Attention Mechanism
  • Transformer Network

受講目的

DLによる画像解析系の企業で働くことになりました。機械学習については勉強を始めていたものの、DLについては素人のような状態だったため基本的なことが一通り学べそうなこちらを受講しました。

結果、目的にかなう非常に良い講座だったなと感じています。

受講期間

2021年3月~4月

1ヶ月想定の講座が5つで合計5ヶ月が想定ペースなので、かなり詰め込みました。(Courseraは自分のペースで進められることができ、月ごとに課金が発生するような講座が多いです。この講座もそれにあたります)

副読本

ゼロから作るDeep Learningは何周も読み込みました。とにかく説明がわかりやすくておすすめの1冊です。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  • 作者:斎藤 康毅
  • 発売日: 2016/09/24
  • メディア: 単行本(ソフトカバー)

後半Kerasでの実装も入ってくるのでこちらをザーッと読みました。Kerasは実装するだけならシンプルなので、読まなくても受講上は問題なかったかな。

本ではないですが、途中でTensorFlow2の使い方を覚えるためにこちらに寄り道しました。本だとver1.X系が多いんですよね。。

aoki-shiraki21.hatenablog.com

感想

  • 冒頭にも書きましたが英語、話し方が心地よいです。そんなに英語得意じゃないけど理解しやすい部類だと思います。
  • ゼロから作る〜と同じく、誤差逆伝播は計算グラフでの説明。導入としては微分の式よりも直感的でわかりやすいです。
  • 実装がPythonなのもありがたい(machine learning講座の方もPythonでいいのに)です。さすがにPythonの基本公文は書けることが前提ですが、Numpyは講座内で簡単なチュートリアルがあります。
  • ノードを増やして、サンプル数を増やしてと視覚的に広がるのがわかるので、行列の復習にもなります。空間的な広がりは動画の方が伝えやすいなと他のmoocsを見ていても思います。
  • 正則化や初期値についても、順番にコードで確認できるので実感値を持って覚えることができるのはすごく良いです。実際にさわってみて、結果が違うことを体感できるのが結局一番覚えられます。
  • 2講座目の最後にあるTensorFlowのチュートリアルは1.x系で書かれているけど、まあまだ世の中のソースは1.x系で書かれていることも多いので読めるようにしておくって意味でこれくらいは勉強しておいてもいいかと。
  • CNNもedgeの特徴を掴むとはどういうことか?から教えてくれて理解がしやすいです。
  • CNN,RNNについても典型的な応用例まではカバーできる。ここまでは最低限抑えて、これ以上のことだと論文などを探すってことになってくるのかな。

今後

今年は最新の論文を追うところまでというより、まずは理論と基本的な実装を完璧にすることを優先する予定です。

具体的にはゼロから作る〜の残りの2,3を読んだり周辺の理論本を読んで基礎を定着されることからやっていこうかなと。

ゼロから作るDeep Learning ❸ ―フレームワーク編

ゼロから作るDeep Learning ❷ ―自然言語処理編

そのあとは、GoogleのTensorFlow CertificationやAWS上での機械学習の実装について勉強していきたいですね。

www.tensorflow.org