「がんばれない」けど「がんばりたい」

ITエンジニアの仕事のこと。AI、機械学習、ディープラーニング。地頭力。車のこと。

書評|『自分で動かす 人工知能』は、AI界隈の理解はした人でイキナリTensorとかやる前に、ちょっと体験したい人にオススメ。

f:id:studio23c:20170918021926j:plain

AIについて「がんばりたい」。まず知識集めだ!と、本を読んだりして理論的なところは、わかった。次は、実装じゃ!という人多いと思います。知識本の中には、実装についても書かれているものも少なくはないと思いますが、Web界隈のプログラマ経験者ほど、日頃Googleで検索したコードをコピペしている人が多いので、そういう人は、実装まで、なかなか進まない。でも、とりあえずコード書いて動かして感覚を得て見たい。そんな人には、ちょうど良いかもしれない本です。

 機械学習の実装を進めるには、Pythonの実行環境を構築することが必要。技術本は、ほぼ掲載されているコードは、ダウンロード出来るURLが掲載されているが、この本も同様。ちょっと違うのは、学習用の素材を含めDockerコンテナで提供されているところ。
Dockerと聞くとインフラ側の技術なので、フロントオンリーなプログラマは、嫌がる人が少なくないかもしれないが、環境の作り方も丁寧に書かれているので、この機会にDockerコンテナの使い方も一緒に学んでみると良いと思う。勿論、コンソール上でPythonインストールの方法から1つ1つ丁寧に書かれているので、その通りに手打ちしていっても良い。だが1つ欠点かもしれないのは、環境OSとしてLinuxUbuntuがベースになっているところかもしれない。

この本を手に取るエンジニアにとっては、AWSなどのクラウドアカウントを持っている人も多いので問題になることは無いだろうが、自分のPCで進める場合。特にWindowsよりもMacOSX環境だと、すでにHomebrewやMAMPなどのライブラリ群がインストールされ各Path設定がグチャグチャになっている人も多いだろう。そういう、カユイところを調整出来ない人にとっては、Dockerイメージで素直に進めた方がオススメ。この本は、環境を整えたり実コードを勉強するものではなく、コードを打ち込んで自分で機械学習を実感することが目的なので、環境構築に時間コストをかける必要はない。

この本を読んだキッカケは、上に書いた通りで自分もコードで動かす事をとりあえずやってみたかった。コードを書いて体験できる事は次のとおり。

  • dlibによる顔認識
  • dlibによる図形判別モデルの作成。そのモデルを使った図形判別
  • word2vecによる自然言語処理(関連語検索、任意2単語の関係性から、別単語の予測)
  • mecabを使用した日本語文章の形態素分析
  • TextGeneraterを使用しマルコフ連鎖を用いた文章の自動作成
  • chainerとchainer-goghを使用し(モデルはNIN)、任意画像をゴッホ風に変換
  • TensorFlowを使用しclassify_imageを使った画像識別
  • TensorFlowとMNISTを使用し学習モデル作成と、作成モデルを使用した文字判定
  • Magentaを使用したメロディーの作曲

 

パソコンで楽しむ 自分で動かす人工知能

パソコンで楽しむ 自分で動かす人工知能