orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。

機械学習・ディープラーニングの学習を入門レベルで挫折しないために

f:id:orangeitems:20190730174707j:plain

 

入門レベルで挫折しないために

初心者が無料で勉強できる良教材いろいろまとめを読み、AIを支える技術、具体的には機械学習やディープラーニングについて興味を持ったので入門記事を読み進めてみました。具体的にはChainer Tutorialです。

 

tutorials.chainer.org

このチュートリアルは、機械学習やディープラーニングの仕組みや使い方を理解したい大学学部生以上の方に向けて書かれたオンライン学習資料です。

 

とはじめに書いてあったので大丈夫か‥と。

おそらく読み進められた方もいらっしゃると思うのですが、「うーんわからん」と離脱するポイントがいくつも見えましたのでまとめておきます。読み進める前に本記事を読めば離脱が防げるかもしれません。

 

学習を進める上で重要なポイント

Chainer Tutorialの意義(全体を通して)

AIを「使う」ために、ここまで詳しい数学やPython・ライブラリの知識が必要なわけではないと思います。例えばテレビを見るのに、液晶ディスプレイがなぜ画面が写るのか、音が出るのかを気にする人は誰もいません。

しかし、「使う」のであれば話は別です。何らかのサービスにAIを組み込むのであればその仕組みを知る必要があります。また、仮にスクラッチで作り込むのではなく、便利なライブラリを使うにしてもそれがどんな技術で成り立っているのかを知らないと何をしているのか理解不能と言うことになってしまいます。

この資料に目を通すことにより、どんな分野を自分自身が勉強しなければいけないかを知ることができます。この資料だけで全てを身に着けるのは絶対に無理です。ただキーワードをもらったうえで入門書を見つけて読んでいくという方法が望ましい使い方だと思います。

 

Google Colaboratoryの導入

Chainer Tutorialは、Google Colaboratoryの利用を推奨しています。ここでつまづく人は少ないと思いますが、まずは環境構築で離脱する方もいらっしゃいそうです。下記に導入記事を添付しておきますのでご参考にどうぞ。

 

www.codexa.net

 

Python開発環境を自前で用意しなくてよくなったのは素晴らしいと思います。

 

Python

Python自体はとてもわかりやすい言語です。Pythonの入門記事はたくさんネットにもあるので、ここでつまづく方は先にPythonを把握した方が良いかと思います。

プログラミングすら初めてという方にはこの本をご案内しておきます。 

 

いちばんやさしい Python入門教室

 

数学(微分・線形代数・確率統計)

微分や代数、確率統計って、高校生のころ・・もう30年前くらいの話です。

数字と記号が世の中の役に立つのだろうと思っていましたが、まさかここに来て学ばねばならないとは。AIを使いこなしたいならばどうしても立ちはだかる知識が数学です。

Chainer Tutorialを読んですらすらわかる人は、おそらく仕事でも使われてきた方だと思います。私は正直言ってなかなか頭に入ってきませんでした。ただ何を学ばねばいけないかはよくわかりました。下記の本が良さそうです。

※今の高校生はお得ですね。AIにつながるってわかってるから。

 

最短コースでわかる ディープラーニングの数学

 

ライブラリの説明

結局、ここで数学を理解していないと、ライブラリの説明を聞いてもちんぷんかんぷんなわけです。ああ、Pythonの文法だけを知っていてもその潜在能力の1%も使えないのかと痛感しました。前段の数学が大事であるということです。

逆に数学を理解しておくと、その計算を自動化してくれるライブラリ群であるため、これは非常に便利な道具だということがわかります。

体系的に知りたいならこちらの本が良いかと思います。

 

Python機械学習ライブラリ scikit-learn活用レシピ80+ (impress top gear)

 

ディープラーニング

Python、数学の知識、ライブラリーを経て、はじめて読める単元です。

私が全く理解が追い付いていかないのは、数学の知識不足であることにつきます。

この辺りからは、(私はSIer寄りということもあって)どのように仕事に結びつけるかをイメージしてからの方がいいのではないか・・ということで以下の本を推奨しておきます。もちろん、数学を把握することが前提です。

 

 企業ITに人工知能を生かす AIシステム構築実践ノウハウ

 

で、ここまで読んだらもう、遊びながら覚えた方がいいのじゃないかと言う結論に。

 

今すぐ試したい! 機械学習・深層学習(ディープラーニング) 画像認識プログラミングレシピ

 

まとめ

入門記事に目を通してみて、これは全部の仕組みを知る必要はないなとは思いました。ただ、何にもわからないと、何もわからないのは事実です。ではどこまで知るべきか。

AIを構成する技術は高度な数学知識によって成り立っていますが、とりあえずはそれが何をやっているのか、何のためにあるのか、またその構成する単語の意味を抑えておくと、ライブラリ群が「便利な道具」に見えてくるはずです。

そしてそれらが業務とどうつながってくるのか、実際の事例をいくつか体験することで把握できるようになっていき、よりマネタイズに近い部分の素養が身につくと感じます。

学習イメージがクリアとなったので、着実に攻略していけたらと思っています。