
ディープラーニングの本では、この本が一番とっつきやすそうだったので手に取りました。ディープラーニングには、GoogleのTensorFlowなどフレームワークもありますが、この本ではそれらを使うことなく、本当に1からディープラーニングの基本を学ぶことができます。
本編で使われるコードは、途中までは文中で示されますが、高度な内容の章ではコードが長すぎるため文中には記載されていません。利用するコードは、Githubで公開されていますので、それを事前にダウンロードしておくことは必須です。
第1章は、実習で利用するPython3の簡単な解説と、そこで利用するNumpyとMatplotlibの基本的な説明でした。Python3は以前に少し勉強したことがあったので、軽く流し読みしました。Matplotlibは少しだけ使ったことがありますが、Numpyはほぼインストールしただけ状態だったので^^;、実習で必要となる行列計算を実際に動かして試しました。
第2章から、いよいよ本格的な実習の開始です。第2章では、パーセプトロンというアルゴリズムを学びます。AND,OR,NANDなどの論理回路について、最初はその解説、次にそれをPythonで実装と続きます。本書の他のところでもそうですが、簡単なところから難しいものと説明されるので、とてもわかりやすかったです。
第3章では、ニューラルネットワーク。第4章では、ニューラルネットワークの学習。第5章では、ニューラルネットワークの学習に関わる誤差逆伝播法について学びます。このあたりから数式も示されますが、仮に数式の意味がわからなくても、それに続く解説や実装例を読めば何が行われているのか理解できるので、数式が苦手な人はそこは読み飛ばして^^;、どんどん先に進んでOKだと思います。
第6章からは、応用的な内容になります。学習パラメータの更新、適切な初期値の設定、学習時間の短縮化、過学習対策、ハイパーパラメータの最適化など、様々な手法が広く浅く紹介されています。7章、8章もそうですが、ここからの章は、それぞれについて詳細な解説まではありません。なので、より詳しくそれぞれについて知りたい人は、巻末の参考文献等にあたる必要があります。
第7章では、畳み込みニューラルネットワークが解説されています。6章までは、手を動かしつつ学んでいましたが、7章からは内容が込み入ってきたので、今回は概要をつかむ程度で終えることにしました。ダウンロードしたサンプルデータ程度の実習でも、家のマシンスペックだと機械学習が完了するのにかなり時間がかかることもありますが。(^^;
最後の第8章では、ディープラーニングの歴史や高速化の取り組み、利用例などが広く浅く紹介されていました。この章を読むと、ディープラーニングの研究はまだこれからなんだなあと感じました。
全体を読み終えての感想は、説明がわかりやすいことに感動しました。数式、図、コードとさまざまな方法で解説されているので、読んでいてイメージがつかみやすかったです。また著者が日本人ということもあり、オライリーの翻訳書と比べて、文章が自然でとても読みやすかったです。(^^)
最終更新日 : 2022-10-30