Python
機械学習
DeepLearning
TensorFlow
colaboratory

【スマホOK/実行しながら学ぶ】東大松尾研のデータサイエンティスト育成/ Deep Learning基礎講座を自習する

PR: 「秒速DEEP LEARNING -Colaboratoryで入門〜応用ひとっ飛び-」 BOOTHでのダウンロード販売を開始、おかげさまで500部を超えました。

TL;DR

image.png

東大 松尾研の提供する講座

データサイエンティスト育成(データ分析)、Deep Learningそれぞれについて下記講座が東大で開講されています。また、これらの講義内資料(の一部?)が、無料、かつ自習可能な形で公開されています。

それぞれの講座が扱うテーマは下記の通りです。

image.png

下記の言語、フレームワークを使います。(学びたい対象が別である場合はご注意ください)

image.png

扱うテーマは違いますが、モジュール単位では相互に関連性があります。
また、学習に詰まった場合や、他フレームワークへ広げたい場合は下記の外部リソースが参照できるでしょう。(記事末尾に詳細)

image.png

より詳細のカリキュラムは下記です。

1. データサイエンティスト講座概要とPythonの基礎
2. Numpy、Scipy、Pandas、Matplotlibの基礎
3. 記述統計学と単回帰分析
4. 確率と統計の基礎
5. Pythonによる科学計算の基礎(NumpyとScipy)
6. Pandasを使ったデータ加工処理
7. Matplotlibを使ったデータ可視化
8. データベースとSQLの基礎
9. データベースの応用(高度なSQL処理と高速化)
10. ドキュメント型DB(MongoDB)
11. 機械学習の基礎(教師あり学習)
12. 機械学習の基礎(教師なし学習)
13. モデルの検証方法とチューニング方法
14. データサイエンスティスト中級者への道
15. 総合演習問題

雑感: Pythonで数値計算から、統計、データ加工、機械学習それぞれの基礎まで、ふんだんな解説とともに網羅的に取り上げられている。概念の説明と、コードが対応づけられており、学習を進めやすい。

2. numpy, scipy, scikit-learn の使い方を理解する
3. k-Nearest Neighbors (k-NN) を使った手書き文字認識
4. ロジスティック回帰の実装と学習、活性化関数とその微分の実装、多層パーセプトロンの実装と学習
5. Tensorflowの基礎を学ぶ
6. Denoising Autoencoderの実装. また, MNISTを用いて次のことを確認、Stacked Denoising Autoencoder (SdA) の実装
7. 畳み込みニューラルネットワーク(Convolutional Neural Networks)の実装と学習
8. CIFAR10データセットを使ったAugmentation、前処理、Batch Normalization、CNN実装、Activation可視化
9. Recurrent Neural Network (RNN) によるIMDbのsentiment analysis
10. Recurrent Neural Network (RNN) Encoder-Decoderモデルで英日翻訳
11-1. Attentionを用いた機械翻訳モデルの実装
11-2. Attentionを用いたキャプション生成モデルの実装

雑感: Pythonで数値計算を扱う基礎から、MLP(多層パーセプトロン)、CNN、RNNの基本モデルを網羅、Attentionなどの応用までカバーしている。 演習資料部分の公開のため、細かな説明はない。 コードを実行し、結果を見ながらひとつひとつ解釈する。Colaboratoryを使うことで、自宅にGPUマシンがなくてもTry/Errorが可能。初めて取り組む場合は、ほかに補助教材を使うのがよい。

始め方

データサイエンティスト育成講座

講座の流れとChapter番号早見表:

image.png

1. 公開資料をダウンロードする

  • 下記ページにダウンロードボタンがあります
    • 利用上の注意をご確認ください(商用利用不可等)

グローバル消費インテリジェンス寄附講座演習コンテンツ 公開ページ | 東京大学松尾研究室 - Matsuo Lab

image.png

2. ファイルを解凍する

  • ダウンロードした weblab_datascience.zip を解凍する
  • chapters フォルダ下に、下記のような17ファイルが作られる
    • README.md
    • ChapterX_ver2.ipynb (Xは、1-15の連番。9のみ2ファイルあり)

3. 自分のGoogle Driveへアップロードする

  • Google Driveを開く
  • 適当なフォルダ(gci_public_notebooks等)を作り、上記17ファイルをアップロードする

4. Colaboratoryを起動する

  • Google Drive上で、 Chapter1_ver2.ipynb をダブルクリック
  • 上部の Open with プルダウンから Colaboratory を選択

するとColaboratoryが立ち上がり、下記画面となる。

image.png

5. 学習を始める

あとは、Notebookを読み進める。下記のような集約表示は、灰色部をクリックすると展開される。

  • 展開前:

image.png

  • 展開後:

image.png

下記のようなソースコードは、セルを選択し 左上の再生ボタンを押す または Shift + Return で実行できる。

image.png

1.1.4項、

(必読!)この講座の注意事項
キーワード:自分の手を動かして学ぼう

のくだりは、これから学習をするにあたり、なぜ本を読むだけでなく、コードをインタラクティブに実行することが重要かに触れられています。Enjoy!

6. スマホから使う

  • iPhone/AndroidいずれかのChromeを開く
  • Google Colaboratoryを開く
    • スマホ版のGoogle Driveアプリからは、直接Colaboratoryを開けないので注意!
  • 起動時の、 ノートブックを開く 選択画面から、 GOOGLE ドライブ タブを選択
    • または、メニューの ファイル> ノートブックを開く から同様に操作
  • 該当の.ipynbファイルを開く
    • Chapter2 などの、ファイル名に含まれるキーワードで検索すると良い

Deep Learning基礎講座

講座の流れとChapter番号早見表:

image.png

セットアップの流れはデータサイエンティスト育成講座と同じです。

1. 公開資料をダウンロードする

  • 下記ページにダウンロードボタンがあります
    • 利用上の注意をご確認ください(商用利用不可等)

Deep Learning基礎講座演習コンテンツ 公開ページ | 東京大学松尾研究室 - Matsuo Lab

image.png

2. ファイルを解凍する

  • ダウンロードした weblab_dlb.7z を解凍する
  • 同フォルダに下記のような17ファイルが作られる
    • lecture_chapXX_exercise_master.ipynb (XXは、02-11の連番。11のみ2ファイルあり)

3. 自分のGoogle Driveへアップロードする

  • Google Driveを開く
  • 適当なフォルダ(dlbasic_public_notebooks等)を作り、上記11ファイルをアップロードする

4. Colaboratoryを起動する

  • Google Drive上で、 lecture_chap02_exercise_master.ipynb をダブルクリック
  • 上部の Open with プルダウンから Colaboratory を選択

5. 学習を始める

  • 基本操作はデータサイエンティスト育成講座と同じ

    • 集約表示は、灰色部をクリックすると展開
    • ソースコードは、セルを選択し 左上の再生ボタンを押す または Shift + Return で実行
  • Deep Learning基礎講座は、Lessonにより、GPUを利用するほうが、コード実行時に早く進められる

    • メニューの ランタイム> ランタイムのタイプを変更 から、 ハードウェアアクセラレータGPU を選択

image.png

6. スマホから使う

  • iPhone/AndroidいずれかのChromeを開く
  • Google Colaboratoryを開く
    • スマホ版のGoogle Driveアプリからは、直接Colaboratoryを開けないので注意!
  • 起動時の、 ノートブックを開く 選択画面から、 GOOGLE ドライブ タブを選択
    • または、メニューの ファイル> ノートブックを開く から同様に操作
  • 該当の.ipynbファイルを開く
    • chap02 などの、ファイル名に含まれるキーワードで検索すると良い

参考: 外部リソース

前段として、2018年のデータ分析、Deep Learningでなにができるか、のnote記事を書きました。

Colaboratory自体の使い方一般は下記に解説しています。

冒頭で触れた外部リソースを紹介します。