nownab.log

nownabe's daily posts

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

Posted on Aug 30, 2018

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: 機械学習勉強会