ゼロから作るDeep Learning 2 第3回

Contents
  1. 1.4 ニューラルネットワークで問題を解く
  2. 1.4.1 スパイラル・データセット
  3. 1.4.2 ニューラルネットワークの実装
  4. 1.4.3 学習用のソースコード
  5. 1.4.4 Trainer クラス
  6. 1.5 計算の高速化
  7. 1.5.1 ビット精度
  8. 1.5.2 GPU (CuPy)
  9. CPU
  10. GPU
  11. 1.6 まとめ

nownab.log | ゼロから作るDeep Learning 2 第2回

概要

機械学習勉強会でもくもくしてるゼロから作るDeep Learning 2 自然言語処理編の学習メモです。

書いたコードのリポジトリはこちら。 https://github.com/nownabe/DeepLearningFromScratch2

資料置き場

今回のコードはこちら。 https://github.com/nownabe/DeepLearningFromScratch2/pull/2

範囲

  • 1章 ニューラルネットワークの復習
    • 1.4 ニューラルネットワークで問題を解く
    • 1.5 計算の高速化
    • 1.6 まとめ

1章 ニューラルネットワークの復習

1.4 ニューラルネットワークで問題を解く

1.4.1 スパイラル・データセット

1.4.2 ニューラルネットワークの実装

1.4.3 学習用のソースコード

グラフは次の節のコードを実行すると表示される。

非線形のデータがきれいに分類できてて感動した 😳

1.4.4 Trainer クラス

1.5 計算の高速化

1.5.1 ビット精度

1.5.2 GPU (CuPy)

実行可能なコードは4章から登場とのことだったが、せっかくなので早く試したくて1章のコードもGPU対応して実行してみた。

対応のコミットはこれ。 https://github.com/nownabe/DeepLearningFromScratch2/pull/2/commits/534aa1487251dd33ac7aa423c6478e95389e25f5

結果と実行速度はこんな感じ。この章の学習だとCPUの方が10倍ぐらい速い。

CPU

real    0m0.655s
user    0m0.770s
sys     0m0.650s

cpu.png (33.8 kB)

GPU

real    0m6.779s
user    0m6.709s
sys     0m0.792s

gpu.png (33.7 kB)

1.6 まとめ

所感

  • ビット精度のことをきちんと説明してあったりして素晴らしい
  • グラフがカラーで見やすい
  • CuPyでの実行を試せてよかった
    • そのままだと実行できないが、簡単な変更で対応できた

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

機械学習勉強会について

有志で毎週開催している。本書はもくもく形式だが、題材によって形式は柔軟に変えている。 毎週読む範囲を決めてもくもくして、終わらなかったら次の週までにやってくるという形。

また、勉強会で書いたコードや疑問点などをまとめるためにGitHubのレポジトリを活用している。 Wondershake/machine-learning-study: 機械学習勉強会