手を動かしながら学べるディープラーニングの優良なチュートリアル

f:id:karaage:20181016230453j:plain:w640

ディープラーニングは習うより慣れろかも

 ファッションでディープラーニングをしているディープラーニング芸人からあげです。私は、特に専門家でも何でもないのですが、機械学習に興味もって、ディープラーニングに関することブログでアウトプットしているうちに「AIに関する本に名前がクレジットされたり」「AI解析のオンラインコンテスト#Aidemynoteで特別賞受賞したり」「ラズパイマガジンという商業誌にAI関係で記事を書いたり」「ディープラーニングおじさんの記事がバズったあげくITmediaで取り上げられたり」と多少なりとも価値を提供できるようになってきました。

 何の知識もバックグラウンドも、大した能力も無い自分が、どうやって知識を身につけることができたかというと、色々本も読んだのですが、実際に手を動かしてプログラムを組んで、実問題に対して試行錯誤した結果をブログにアウトプットし続けたことが大きいのかなと思います。

 家に積まれた本の1部が以下。あんまり良く無かった本や電子書籍がこの数倍あるので、合計は50冊くらいになるかも f:id:karaage:20181016230453j:plain:w640

 正直、未だに数式とかに関しては、さっぱり分からんちんなのですが、個人的にはディープラーニングは習うより慣れろが重要かなと感じています。まずは手を動かして、色々試して疑問に思ったところを本やネットの情報、論文などを読んで補完をするという進め方が一番自分にとっては効率がよかったかなと思っています。

ディープラーニングの学習に対する沢山のワナ

 手を動かすのが重要とは言いましたが、やっぱり実際に何かを作るのは大変です。ディープラーニングの学習には色々な罠があります。

  • セットアップが地獄で、環境設定ができたことろには力尽きる罠
  • TensorFlow、Keras、Chainer、PyTorchとたくさんフレームワークがあってどれが良いのかさっぱりわからない罠
  • 環境設定ができたところで、バージョンの違いでサンプルが動かない罠
  • 大量に本があって、どれが良いのかよく分からない罠。載っているプログラム動かし方が分からない罠
  • サンプルがクソつまらない&結果の意味が不明な罠(自分は、最初MNISTが文字認識のタスクということすら分かってなかった)
  • サンプルから先に一切進めない、何をしたら良いかわからない罠

 どれか一つでも心当たりのある人は多いのでは無いでしょうか?私は、全部のワナに引っかかって、ベルセルクの蝕でのガッツの如く、色々犠牲にしながら駆け抜けてきました(主に睡眠時間とお金)

ディープラーニングの学習を助ける優良なチュートリアルまとめ

 そんな罠をくぐり抜けるために、最近一番よいなと思うのが実践形式のチュートリアルです。説明を読みながら、手を動かすことで理解が深まります。特に最近の優良なチュートリアルは、環境構築不要で、すぐ学習できるような工夫もしてあるので、最短で結果が出せます。

 私はもの凄く遠回りをしてしまいましたが、これから最短で学習進めたい人や、学習に行き詰まった人、本に飽きてきた人はチュートリアルを試してみることをお勧めします。「人工知能は人類を滅ぼす」という本を読んで怯えていた人も、実際に自分で手を動かして最先端のAIモデルを育てて見ると「お、AI結構可愛いじゃん」とか「AIって超アホだな」等、今までと人工知能に対する見方が大きく変わるかもしれませんよ。

 そんな人工知能に対する見方が変わるかもしれない、優良チュートリアルを紹介していきます。有料なものも含まれています。タイトルの最後に、無料・有料と記載をつけているので参考にして下さい。

東京大学の松尾研究室が無料公開している「Deep Learning基礎講座演習コンテンツ」(無料)

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

 「人工知能は人間を超えるか」で有名な東大の松尾先生が無料で公開している学習コンテンツです。

人工知能は人間を超えるか (角川EPUB選書)

人工知能は人間を超えるか (角川EPUB選書)

 無料ですし、内容はとても良いのですが、惜しむらくは環境設定や使い方が全く書かれていない点です。以下記事参考にしてみて下さい。

 上記記事でも難しいという方は、他の有料のチュートリアルを試して見ましょう。困ったらお金で解決するのが大人です!

Aidemy(一部無料)

 ディープラーニングを学習できるWebサービス、Aidemyさんです。学習環境まで提供されているので、本当に10秒で学習を開始できます。基本的に有料ですが、多くのセミナーなどに比較すると本当に格安ですし、一部は無料で学習できるので、無料のコースだけでも試してみる価値があると思います。

 べ、別に賞をもらったからステマしているわけじゃないですからね!

PFNのエンジニアさんが公開しているチュートリアル(無料)

 今をトキメク日本のAIベンチャー「PFN」のエンジニアさんが公開しているチュートリアルです。以前上記の記事でローカルPCでのセットアップ方法と使い方含めて紹介しました。使用しているディープラーニングのフレームワークはPFN開発のChainerとなります。Chainer使いの方はもちろん、他のフレームワークにも共通するディープラーニングの学習に関する丁寧な解説があるので、Chainer使わない人でもとても参考になると思います。

 最新の以下のチュートリアルでは、「Google Colabratory」というGoogle提供の無料クラウドサービス上でチュートリアルを動かす方法も記載されています。

 ただ、全体的にある程度分かっている人向けの解説なので、初学者には難しいところもあるかもしれません。

Kaggleのチュートリアル(有料)

 カレーちゃんさんが有料noteで公開している機械学習コンペKaggleのチュートリアルです。Kaggleはかなりガチな人が多い印象なので、私はとても足を踏み入れられないのですが、ガチ勢になりたい方は是非!

 Kaggle自体は無料なので、とりあえず無料でKaggleしたい人は以下記事参照下さい

秒速Deep Learning(有料)

 ディープラーニングの解説からはじまり、勉強方法とつまづきポイント、さらには「Google Colaboratory」を使用してチュートリアルで手を学習しながら学ぶ方法まで幅広く盛り込まれている優良な電子書籍です。先ほど紹介した、東大の松尾研のチュートリアルをGoogle Colaboratoryで動かす方法も丁寧に解説されています。作者の方は、専門家ではなく独学で学習進めたということで、初学者に近い視点で書かれており、非常に分かりやすいです。同じ独学者として、内容に共感するところも多かったです。

 理論から実践までバランス良く、多くの市販書に比べて全く遜色ないコストパフォーマンス(というか多くのものを凌駕している)と思います。絶対買いですね。

 以下のQiita記事が無料で公開されていますが、これを更に10倍以上濃密にした内容になっています。お金出してかうべき内容と思います。

まとめと宣伝

 ディープラーニングの優良なオススメチュートリアルを紹介しました。手を動かすのが一番ってディープラーニングおじさんも言っていたので、しっかり身に付けたい人は、チュートリアルが近道じゃないかなと思います。

 ちなみに、私も有料noteでチュートリアルを公開しています。「Google Colaboratory」を使用することで、環境構築することなく、画像認識や自然言語処理といった実践的な例題に取り組むオリジナルのチュートリアルになっています。教師データの取得をスクレイピングのスクリプトで簡略化したり、パラメータを変えることでどのように学習が変わるかを体験したりと、手軽に手を動かしながら学べる内容になっています。もしよろしければご検討下さい。

 「秒速Deep Learning」が、同じく「Google Colaboratory」の使い方登場を丁寧に解説していますが、紹介している「Google Colaboratory」上で動かすチュートリアルは、英語の上級者向けの内容になりますので、その辺りはちょうど私の有料noteで補完できそうな関係にあるかなと感じていますので、合わせて読んでいただくと良いかなと思いました。

 なお、マガジンでセットで買うのがお得かもです!(宣伝)

関連記事