MIT 6.S191 Introduction to Deep Learning

MITの2020年度Deep Learningコースのビデオやスライドが、MITライセンスで公開されている。 "Introduction to Deep Learning"というタイトルの通り、Deep Learningの解説が分かりやすい。

レクチャーのスライド等のコンテンツは、MITライセンスで公開されているので、以下のリファレンスを明記すると無償で利用できる。

© Alexander Amini and Ava Soleimany MIT 6.S191: Introduction to Deep Learning IntroToDeepLearning.com

レクチャー1: Intro to Deep Learning

レクチャーは、1から10まである。レクチャー1のIntro to Deep Learningでは、次の内容を知ることができる。

レクチャーのスライドには、必要に応じてTensorFlowによる具体的なコードが記載されていてわかりやすい。

レクチャーコード

レクチャーのプログラムコードも公開されている。コードは、Google Colabで作成されており、説明文を読みながら実際にPythonのコードをウェブブラウザ上で動かすことができるようになっている。
Part1_TensorFlow.ipynbでは、実際にコードを実行して次の内容を確認することができる。コードは一部が穴埋め形式になっており、自分でコーディングして完成させる必要がある。

例えば、テンソルの計算部分では、関数内の#TODOと記載された部分に自分でPythonコードを追記して実行する。


### Defining Tensor computations ###

# Construct a simple computation function
def func(a,b):
  '''
  TODO: Define the operation for c, d, e
  (use tf.add, tf.subtract, tf.multiply).
  '''
  c = a + b # TODO
  d = b - 1 # TODO
  e = c * d # TODO
  return e

# © Alexander Amini and Ava Soleimany
# MIT 6.S191: Introduction to Deep Learning
# [IntroToDeepLearning.com](http://introtodeeplearning.com/)


# Consider example values for a,b
a, b = 1.5, 2.5
# Execute the computation
e_out = func(a,b)
print(e_out)
6.0

レクチャーのビデオやスライドを閲覧するだけでコードの穴埋め部分を完成させるのは難しい。コードで使用されているディープラニングライブラリのTensorFlowとKerasを理解せざるを得ない。また、Pythonと数値ライブラリnumpyの理解も必要になる。

参考になるTensorFlowのチュートリアル

レクチャーコードの穴埋め部分を完成させるにはTensorFlowの知識が必要になるが、TensorFlowの公式サイトに丁寧な解説がある。

初心者のための TensorFlow 2.0 入門

Kerasライブラリを使って、画像を分類するニューラルネットワークを構築するチュートリアル。 https://www.tensorflow.org/tutorials/quickstart/beginner?hl=ja

はじめてのニューラルネットワーク:分類問題の初歩

ファッションMNISTデータセット(スニーカーやシャツなどの写真)を使ったニューラルネットワークのモデル訓練。
https://www.tensorflow.org/tutorials/keras/classification?hl=ja

畳み込みニューラルネットワーク (Convolutional Neural Networks)

手書きの数の画像を分類(MNIST)をするための、シンプルな畳み込みニューラルネットワークのチュートリアル。
https://www.tensorflow.org/tutorials/images/intro_to_cnns?hl=ja

Writing custom layers and models with Keras

Kerasを利用したカスタムレイヤーとモデルの作成
https://www.tensorflow.org/guide/keras/custom_layers_and_models?hl=ja

Colabがすばらしい

レクチャーのコードを実際に穴埋めして、説明文を読みながらインタラクティブにPythonコードを実行できるColabがすごく良い。Googleアカウントがあれば無償で利用できる。しかもGPUも使える。PythonやTensorFlowを使ったディープラーニングの学習には欠かせない。