Fast AIでお勉強した話
In short
Fast AIというサイト(下記)で勉強してみた内容の報告。 Jetsonでの環境構築はやめた方がいいよと言いたかっただけかも。
Practical Deep Learning for Coders
Deep Learningにどこからとっつけばいいかわからない、という人にうってつけかと思います。 (惜しむらくは英語であること...)
日記
なんで今更Deep Learning
- Deep Learningを始めたかった (仕事で話が出たときに知っていたいなぁ)
- Note: 機械学習 → Deep Learningは機械学習のarchitecture部分がNeural Networkであるもの
- なぜブログ記事にするか → Fast AI のテキストにそうしろと書いてあったから
- ブログにしてまとめること、他人に情報を教えることを通して頭を整理できるから
- 誰も読んでないと思うけど。。。
どう学ぶのか
- fast.ai という無料で見れる動画(Youtube)とテキスト(Github)のサイトがあるのでそこで学習
- オライリーの教科書を買うのが推奨(労力かけて書いてるしね)だが、買わないでもOK
- 教科書の内容は Jupyter Notebook形式でGithubにあげられている
- 教科書をベースに動画で講義をする形式、大学時代を思い出す
- 教科書を先に読んで動画を見ると理解が非常に早い、大学時代を思い出す
- 動画には日本語の字幕も出せるので、内容理解には困らない(はず)
- 英語字幕で勉強すると英語の勉強にもなる(はず)
どんな感じだったのか
- fastai という独自のフレームワークを使う、軽く使った感じ使いやすそう
- GPUを利用した環境がうまいことPaaSで用意されているので、それを使う。基本無料。速度を出そうとすると別途いいインスタンスを使うための金はかかる。
- Paperspace GradientというPaaSだと、Jupyter NotebookのUIをそのまま扱えるのでお勧め。ただ、初見だとJupyter Notebookに辿りつけなかった。
- 自力で環境構築しても構わないが、結構めんどくさいしつまづきやすい。Jetson Nano 2GBで頑張ろうとしたがARMアーキであることなどからインストールが難航したので教科書でお勧めされている通り大人しくPaaSを利用することにした。(FYI: 最終的に
spaCy
という自然言語処理フレームワークの依存ライブラリのthinc
が入れられず諦めた)- どうしても自前で環境構築したいなら Intel CPU + NVIDIA GPU という王道構成で実施した方がいい。
- ちなみに Jetson nanoで環境構築した人のPost がある。やはり性能は期待できなさそう。ちょっと古いけど。
- Jupyter上で簡単に学習内容などを確認できるのでとっつきやすい。
- ここからPyTorchなどの所謂一般で広く使われているフレームワークへ簡単に移住できるのかは気になった。教科書によると数日学べば他のFrameworkに移行するのは容易いとのこと。
- Jupyter Notebook上でコマンドを叩いて体験しながら覚えていくスタイルなので、とっつきやすい
- 最初の2章で、とりあえず
fastai
を使ってアプリケーションを作成する方法(学習したモデルをexportしてアプリケーションサーバに持っていく方法)まで学べる。 - 各章の最後に問題がくっついているので、そこをみてから勉強すると重要なポイントがわかりやすいらしい。
- 何か「やりたいこと」を持った上で望むとChapter 2のアプリ作成部分で気持ちが違ってくるかもしれない。
- 英語の教科書のご他聞に漏れず、書いてある文字の量が非常に多いので読むのはなかなか大変。でも言葉足らずより10億倍マシ
- 動画講義はChapterと対応はしていない。
- 動画講義は教科書の内容に沿っているのが大部分だが、文字には起こされていない話がいくらかある。
- 教科書の切りはりのパワポが多いのでその辺は眠くなる。
- ところでこの動画講義はなんなんだろう、サンフランシスコ大学の授業?
まとめ
勉強した内容というより、メタな話ばっかりになってしまった。
本当は学んだ内容を書くつもりでござんした。まぁ2章までだとまだ体系だった学習はしてないので多めにみてください。