『ゼロから作るDeep Learning』を読んだ

『ゼロから作るDeep Learning』を読んだ。
ライブラリの使用はnumpymatplotlibだけに留めスクラッチでDeep Learningのプログラムを作りながらDeep Learningについて学ぶ本。
冒頭で「誰のための本か?」と「誰のための本でないか?」ということを明確にしており、この本を読めば何がわかるのか、わからないものは何か、というのがはっきりしているので読みやすい。
ちなみに本書ではCaffeTensorFlowChainerなどのディープラーニングのフレームワークの使い方の説明はしないし、自然言語処理や音声認識は扱わない。個人的には音声認識のディープラーニングに興味があるので残念。

building-machine-learning

いろいろ本を読んでようやく機械学習を俯瞰できるようになった。 ここまででわかったのが、やはり一般の人々とAI・人工知能という言葉に対しての認識が違うということ。 ターミネーターのような「強いAI」はまだまだ先の世界であって、局所的にしか考えられない「弱いAI」がほとんど。
一般の人は前者の認識でいて、そこで大きなズレがあるんだろうな。
「AIに仕事が奪われる」とよくメディアが喧伝しているけれど、それはまだ先のような気がする。まぁ、ターミネーターとかそういうのでAI=人類に仇なすみたいな図式が想像されやすいから仕方ないんだろう。

本の内容は以下のとおり。

第1章 Python入門
第2章 パーセプトロン
第3章 ニューラルネットワーク
第4章 ニューラルネットワークの学習
第5章 誤差逆伝播法
第6章 学習に関するテクニック
第7章 畳み込みニューラルネットワーク
第8章 ディープラーニング
付録A Softmax-with-Lossレイヤの計算グラフ

スクラッチで作るのでPythonを知らない人向けのために第1章のPython入門があるのだろうが、Pythonについて知っているのでこの章を入れるくらいならもっと深い内容を扱う章を入れて欲しかった。まぁ仕方ないか。

特に興味深かったのは第8章で、ディープラーニングの現状とこれからについて説明されている。
しかし、層を深くすることでよい結果が得られるという理由は理論的には解明されていないとのこと。オドロキ。 また、ディープラーニングの実用例もあり面白いし参考になる。 強化学習のところが特に面白かった。Deep Q-Network通称 DQN !!! Alpha GOではディープラーニングとDQNを使っているらしい。

業務でディープラーニングを取り入れることを考えたときに少し心配になったのが、マシンスペックである。 macにグラボつけてGPU使った演算は難しそうだし、そうなるとクラウドでハイスペックなマシンを一時的にレンタルするしかないけどそうすると料金が…並列化するにも料金がかかるし…

最近本しか読んでいないからそろそろコードが書きたくなってきた。 でも積ん読も消化しないといけないし…
コード書きつつ本も読みつつマルチプロセスでやるしかないか。