書評picker.脳科学の研究室でニューラルネットワークを書いている大学院生です。今はそんなにがっつりAIをやっているわけでもないけれど、研究的にフルスクラッチで教師ありの学習を行えるネットワークをコーディングしなくてはいけないので、AIに関する基礎的なアルゴリズムはまあまあわかっているつもりだったりします。いろいろな文献に手を出した僕が、ニューラルネットワークの原理を理解するのに圧倒的に役立った本があります。Learningいままで、もやっと感覚でしかわからないことをコーディングを通してかっちり理解させてくれたのがこの本です。ライブラリに頼らない学習ができるニューラルネットワークの諸学者がまず手を出すネットワークライブラリといえばscikit-learnではないでしょうか。直感的にモデルを組み立てられるし、いろいろなアルゴリズムを簡単に試すことができて、めっちゃとっつきやすくていいですよね。本格的なネットワークを試したいとなれば、tensorflowやchainer。どれも無料でインストールできるし、レファレンスがたくさんあるのでわからないことがあればすぐ調べられます。逆に、いまオープンソースで開発されているネットワークってどれも今あげたライブラリに依存しているので、ニューラルネットワークをやりたいと思ったら今あげたライブラリは必須だと思います。今のAI用のライブラリってすごすぎるんですよね。余計なことはブラックボックス化して、最短で大規模なネットワークを実装することができる。これからニューラルネットワークを学ぶ人間にとって、重要なのが余計なブラックボックスの中にあったりします。数学的にどのようにアルゴリズムが処理されているかは、レファレンスを読み流すだけではつかむことができない気がするんですよね。少なくともフルスクラッチでネットワークを書くことはできません。Learning”はそのブラックボックスを、パーセプトロンを作るところから始めてすこしづつ拡張していくことで、ものづくりを通して理解することができます。サンプルコードはgit上で管理されていて、いつでもダウンロードすることができるし、すべてコードを書く必要もありません。一つ一つ形作ることで、ニューラルネットワークを理解していく作業は、エンジニア気質の人間には必要なことだと思うんですよね。Learning”の内容があまりにもよく、第2巻が翻訳される前に読みたいから日本語版を買ったといっていました。自動運転のためのCNNを開発するガチの研究者でも、読みごたえがあるのかと思いましたが、この本はあくまで初学者向けの本で、AIの知識がゼロでも読み切ることができます。ちなみにCNNは扱いません。実際、ニューラルネットワークを2年間勉強してきた今もたまに読みたくなる時があります。この本にだあった時は衝撃的で研究を放り出して読んでいました。ゼミで紹介しましたが、言われて読んだ後輩もはまっていましたね。この本が良書あることは今更僕が記事することもなく、読んだ人はみんなわかっていると思います。根っからエンジニアという人間にとって、理解することはつまり、作ることだと思います。Learning”はそういうエンジニアのための本です。理屈を知ったら、それを形にして吐き出して、動かすことで初めて理解する。本書はニューラルネットワークを作る経験を提供してくれます。ハードは作ることが簡単ですが、ソフトやアルゴリズムを作って理解するのってなかなか難しいですよね。そこでこの本の登場というわけです。ちなみに、文章も読みやすく読んでてわかりやすいと思います。興味を持った方はぜひそれでは。コメントをキャンセルメールアドレスが公開されることはありません。(6)このブログを書いている人picker.情報系(脳科学系?)の大学院生(電通大)です。ニューラルネットワークやってます。