機械学習・深層学習を学ぶ

機械学習や深層学習関連について初心者が学びます。画像処理系のシステムを作ってみます。

初心者で非英語話者がディープラーニングを実装できるようになるまで

深層学習について学ぶには大学に入るのが一番いいらしい。

相談したら友達に薦められました。理由としてあるのが、

1.特に深層学習は学術コミュニティでの進歩が著しく速いから専念しないとキツイ。

2.秘伝のタレ的なノウハウがまたオープンじゃない(形式知としてアクセス出来ない)

というものらしいです。ですけどそんな時間もお金もないので自習で使える情報源をまとめました。

 

機械学習全般を一通り学んでからディープラーニングに入る方が効果的だと思ったので、分けて記載しています。学習ステップとしては以下の順に進んでいくのが良いのではないでしょうか。

1. MOOCか実践的な本で機械学習を触ってみる

2.機械学習の理論を学ぶ

3.ディープラーニングの理論を理解する(MLP本)

4.ディープラーニングの各種フレームワークを使ってみる

5.典型的な課題でフレームワークを使いこなす

6.研究論文読みつつ、やりたいタスクを自力実装してこなす 

 

1.機械学習に触ってみる

www.amazon.co.jp

この本が広く浅く、各種タスクとそこで用いられているアルゴリズムについて取り扱っていたので良かったです。

 

それとUdacityの機械学習コースがおすすめです。こちらはPythonとsklearnというライブラリを用いて、兎に角自力でデータ分析を出来るようになるようトレーニングされます。実践力重視です。

www.udacity.com

 

それと下のCourseraの機械学習コースもかなり素晴らしいです。ただしこちらは更に理論よりで、OctovaというMatlab互換のオープンソース言語を使ってアルゴリズムを自力実装していきます。過程で各パラメーターの最適化手法を学べるので、深い理解が得られます。

www.coursera.org

  

2.機械学習の理論を学ぶ

正直、下二つは難しすぎるんだと思いました。

1.みどり本

www.amazon.co.jp

2.PRMLパターン認識機械学習

www.amazon.co.jp

3.Machine Learning: A Probabilistic Perspective

www.amazon.co.jp

 

3.ディープラーニングの理論を理解する

MLP本が結構わかりやすい

www.amazon.co.jp

 

発展形がこちら

www.amazon.co.jp

 

最近話題になりましたUdacityでGoogleの研究者がTensorFlowを用いたDeep learningコースを公開しています。それ以外のコースについては自分は知りません。

www.udacity.com

 

4.フレームワークを触ってみる

ここまで出来てないけど、多分TensorFlowが今後主流になるんだと思います。

Googleの↑の講座をやるとTensorFlowに触れるはず!

 

5.フレームワークを使って慣れる

Kaggleというデータ解析のコンテストサイトがあって、他の人の解法やチュートリアルが充実している模様。

www.kaggle.com

ここに上がっているサイトで、1で学んだ手法や4のディープラーニング手法を使って試してみるのがいいんじゃないかと。データセットも公開しているし。

 

6.論文読みつつ実装

多分最新の課題については本になってないので、研究論文を読んで自力実装する必要があるかと思います。Google Scholarで検索するとよさげ。

ポイントとしては類似タスクの論文にはどのデータセットを使ったか書いてるので、そのデータセットを取りにいけるはずです。大学や企業が無償公開している場合が多いので。

で、データセットをダウンロードして、自分でモデリングして実行すればいい感じみたい。

正直自分はまだ1&2のレベルなので6まで行けたら再度更新します。