あさのひとりごと

3日坊主にならないように、全力を尽くします。 記事は個人のひとりごとです。所属する組織の意見を代表するほど、仕事熱心じゃないです。

機械学習素人が2か月半で機械学習を入門したことまとめ

ちまたでは、機械学習がブームのようです。
が、、まったく時代についていけていません。

しかし、機械学習、特に自然言語処理に精通した人の採用にかかわる仕事をしている、、、
にもかかわらず、自然言語処理どころか機械学習が全く分からない。

これでは、いけない。ということで
機械学習をたしなむ学生の皆さんと、ふわっと雑談ができるレベル」
を目指して、2017年正月明けから勉強を始めました。

ちなみに、どんなにキリが悪くても1日3時間まで!と決めています。

  1. そもそも機械学習に興味関心があるわけではない
  2. やらなければならない他の仕事がある
  3. 家事育児が優先

なので、すこしでも無理すると続かないためです。

「AIで世界を変えられる!」
人工知能で想像もできない未来が、、、」

みたいなご時世の中、ありえないほどの低テンションで淡々と勉強しているわけで
逆に、そういう意識低い系人間はそんなに多くないでしょうから
なにをやったか、そのログをまとめました。

インプット


■オンライン講座

次の動画を見ました。動画は耳からも情報が入るので、新しく始める分野の勉強にはいいかもしれません。

「みんなのAI講座 ゼロからPythonで学ぶ人工知能機械学習

機械学習に入る前に、PyCharmのインストール
数学の基礎やPythonの基礎などもあるので
ほんとうに初めて触る人にはお勧めできます。

NNの基礎や誤差逆伝播法なども解説があります。
私は、ほぼ知っている内容だったので、途中は端折っています。
www.udemy.com

「Coursera Machine-Learning」

機械学習でとても有名なオンライン講座です。
Octaveという言語を使い、機械学習の理論と実装を学べる講座です。
他の人が、素晴らしいブログを書かれているので、内容はそちらで。

数学の基礎知識が
ほぼ無くても受けられるので、数学嫌いな人にはおすすめです。


まだ途中なのですが、地味に進めたいと思います。
www.coursera.org


「アプリケーション開発者のための機械学習実践講座」

機械学習をビジネスでどう活用するか、という一歩進んだ内容の講座です。
私は、まだビジネスで、、、というレベルまで達してないので
もう少し修業を積んでから受けたいと思います。

私の同僚の@icoxfog417 先生が講師です。
www.udemy.com


■読書

続いて、読んで手を動かした本です。

Pythonによる機械学習入門」

私は、そもそもPythonが苦手なので、まずは苦手意識を克服しようと
Pythonの実装の練習が出来るかなと思って買いました。

機械学習をベースにPythonで実装してみる、という本なので
入門にはおすすめです。半日もかからないです。
shop.ohmsha.co.jp

「ITエンジニアのための機械学習理論入門」

機械学習の理論を数学的な観点から、丁寧に解説されています。
ベストセラーなのは納得です。とても良いです!!

私は機械学習分からない&興味薄めなのですが、
数学は嫌いではないので、そういう方におすすめです。
Amazon CAPTCHAgihyo.jp

「ゼロから作るDeepLearning」

ディープラーニングの入門書です。Pythonでゼロからディープラーニングを作りながら仕組みを勉強できます。
ディープラーニングの基礎や、誤差逆伝播法やCNNなどあります。
数学のかなり易しいレベルまで解説があるので、苦手な人や忘れてしまっている人にはお勧めです。
上記のCourseraの講座もそうですが、偏微分とは?みたいなものもあります。
www.oreilly.co.jp

「TensorFlowで学ぶディープラーニング入門」

こちらのブログで!
dr-asa.hatenablog.com

■講座

「ITエンジニアのための機械学習理論入門」

講師の中井さんとお仕事をさせていただく機会があり、
講座内でDockerを使っていることもあって、サポートとして参加させていただきました。

Codezine Academy


非常に、分かりやすい!!!講座です。
機械学習の理論の丁寧な丁寧な説明があります。
受講するには、大学1年生レベルの数学の知識と、Pythonのコードが読める必要があります。

が、理系大学を卒業して、なにかしらのプログラミング言語が読み書きできる方であれば
どなたでも大丈夫だと思います。
(逆にそうでない方は、しっかりと予習が必要です)

次回は6/29(木)で、4月中旬から募集開始予定なので
効率よく機械学習の理論を勉強したい方は、ぜひー。

またDockerや環境構築などのサポートをさせていただく予定なのでよろしくお願いします。

アウトプット



というのをふまえて、この2か月半での成果です。

■TensorFlow/Magentaの同人誌を書く

TensorFlow/Magentaは、ディープラーニングでアートを生成するプロジェクトです。

このMagentaを使って音楽を生成するしくみやノウハウなどをまとめた
Signalというタイトルの同人誌を出します。
NN/RNN/LSTMなどの理論や、実際にMagentaを使って音楽を生成する手順などを約40ページでまとめています。
理論は、共著の@icoxfog417 先生がしっかり書いて、それを私が読んで理解して動かすという感じです。
(想定読者が私になっているので、かなり易しく書かれています)

ご安心ください!私が書いた部分も、彼がきちんと監修してくれているので
ぜんぜん大丈夫なクオリティです!

f:id:dr_asa:20170313022558j:plain


4/9(日)に秋葉原で開催される「技術書典2」で頒布しますので、ぜひブース「き-03」に!
techbookfest.org

こんなことができます!
www.youtube.com



マイナビ書籍「機械学習で遊ぼう」の記事連載

これは、機械学習とは何ぞや、、というがっちりした連載ではなく
機械学習をつかったアプリを作ってみよう!というカジュアルな連載なのですが、
初回の記事を寄稿させていただきました。
来月はAndroidアプリ、その次はTensorFlowを使ったなにかを予定しています。

book.mynavi.jp

私以外の他の執筆者が、データサイエンス界隈の錚々たるメンバーなので、
記事の内容うんぬんではなく
「たった2か月たらずの勉強で連載を始めてしまうという、メンタルの強さ
が鍛えられたという、とても大きな成果があったと考えています。



機械学習で遊んでみた

勉強だけだと飽きるので、サンプルを動かしてみたり
改造して機能追加してみた程度のものをいくつか作ってみました。

TensorFlow/Magentaでアート生成

同人誌では、TensorFlow/Magentaを使って音楽を生成していますが
Magentaはアートも生成できます。
というわけで、私のアイコンを生成してみました。
f:id:dr_asa:20170313191934j:plain
TensorFlow/Magenta Sample

RaspberryPi3+TensorFlowを使った物体認識

Raspberry Pi3でTensorFlow/Kerasを使った物体認識を試してみました。
学習済みモデルInceptionV3をRaspberryPiで動かしています。
カメラモジュールの精度が悪く、写真そのものが綺麗に取れないんですが、なんとか認識です。

f:id:dr_asa:20170313022159j:plain:w350

AndroidとTensorFlowでMNIST

こちらは、Android上でMNISTの手書き文字認識を行った例です。
f:id:dr_asa:20170313022218j:plain:w200

AndroidGoogle Vision APIOCR

Google Cloud Platformの画像認識APIであるVision APIをつかったOCRの例です。
f:id:dr_asa:20170127150944p:plain:w200

Azure Cognitive ServicesのFaceAPIでWPFアプリ

こちらは、AzureのCognitive Servicesの画像認識APIであるFaceAPIをつかった顔認識の例です。
ドキュメントも豊富でとても使いやすい感じです。
f:id:dr_asa:20170313191840j:plain

これから



買ったもののまだ読みきれてない本、終わってない講座があるので、
まずはそれをサボらず進めたいと思います。

で、仕事でやっているので
インプットしたものを、少しでもアウトプットしなければいけないわけですが
う~~~~~~~~~~~~ん、難しい。
すでに、データサイエンティストの方がすごい情報を発信しているわけなので。


私は、たまたま数学がそんなに嫌いではなかったのと、良い先生たちが身近にいたので

機械学習に入門しよう!という心理的&技術的ハードルはそれほど高くなかったわけですが
数学が嫌いな人や、なにから手を付けようという人は、とてもしんどいんじゃないかな~と。


なので、彼らから教えてもらったことをきちんと咀嚼して、
機械学習を始めるうえで、ぜったいにはずせない重要かつ基礎的なところである

機械学習はじめたい人のための大学1年生の数学超入門」みたいな連載を
ゆっくりペースで始めたいな~とおもっています。


応援メッセージが届くなど



情報発信は、だるいわけです。

が、ここ最近AWSの本を読んでくださったエンタープライズな方からファンレターをいただくことが増え、とてもありがたいなと思っています。


あと、Twitterでまほうのことば「ナビエストークス」と呟くと、その筋の人から
「Dockerの本読みました!」
とDMが届いたりして、めちゃくちゃ嬉しい。
これは、本当にテンションが上がります。


そして、紙でメッセージをいただくこともあります。
そうじもやってるよ!!!
f:id:dr_asa:20170314092549j:plain:w350


というわけで、無理のない範囲で
インプットしたものを、整理しながら情報発信していければなと思っています。

© 2017 ASA.