この本の概略 DL_from_scratch_03
この本はOreillyから2016年9月に初版が出版されています。著者は斎藤康毅さんという方です。Oreillyと聞くとちょっと難解で難しいという印象を持たれている方が多いようですが、この本は少し違います。この手の本としては、かなり売れており、また、知識の紹介・解説のみならず、Pythonという言語を使って自分の手を使って、手を動かしながらディープラーニングの実体・中身を体験できるとても親切に書かれた入門書です。
それは著者が前書きで「本書を車の本にたとえるとしたら、本書は車の教習本ではありません。車の運転方法ではなく、車の原理について理解してもらうことを主眼とします。」と言っていたり、また「車のエッセンスをできるだけシンプルな形で抽出し、その車のプラモデルを組み立てるように作り上げていきます。本書が目標とすることは、車を作るという過程を通して、自分は実際に車を作れるのだという実感を持って、車に関する技術に親しくなってもらうことです。」とも言っているように、Pythonで書かれたコードを、実際に手を動かしてコンピュータに入力し動かすことによって、ディープラーニングに親しみ、自信を持って理解していくということを目標にしています。
この手の入門書では、英語の入門書を適切で無い和訳を基に出版されているものが多々見受けらます。結局何が言いたいのか理解できず、最終的に英語の原書を読んで、自分の理解力不足ではなく翻訳が拙いのが原因だったの後になってて分かりがっかりしたりしていました。
その点、本書はもともと日本語で書かれている本なので安心してお勧めできます。個人的にはぼくの別の記事で紹介している松尾豊先生の書かれた「人工知能は人間を超えるか」を読み終えられた後に手に取られることをお勧めします。この本の解説をぼくの別の記事で行なっているので、以下にリンクを貼っておきますね。
目次
1章 Python入門2章 パーセプトロン3章 ニューラルネットワーク4章 ニューラルネットワークの学習5章 誤差逆伝播6章 学習に関するテクニック7章 畳み込みニューラルネットワーク8章 ディープラーニング本書の目次は上記のようになっており、Pythonの簡単な説明から始まり、機械学習を簡単なものから説明して、最後にディープラーニングを説明しています。
Pythonの実装の方法 DL_from_scratch_02Pythonの実装に関して本書では、古典的なターミナル(Mac OSの場合)とエディターを使ってコーディングをしています。本書ではPythonのインストールのAnacondaを使っているのにJupyter Notebookをコーディングに使っていないのは、初版出版が2016年という時間的な理由があるのでしょうか。使い易さや、使い勝手を考えれば、Jupyter Notebookを使った方が良いように思います。Jupyter Notebookでの開発環境を含めたPythonのインストール方法をぼくの別の記事にて解説していますので、以下にその記事のリンクを貼っておきますね。参考にしてください。
LINK:機械学習・深層学習の第一歩【Python】を実装しよう
また、Pythonでなくとも他のプログラミング言語をご存知であれば、本書の内容であればPythonでもコーディングしていけると思うのですが、プログラミングの経験が全く無く、かつ近くにプログラミングのことを尋ねられる方がいない場合は少し荷が重いかもしれません。
そんな場合は、ProgateやDot Installなでのオンライン教材でPythonのコースを受講されることお勧めします。Pythonを学ぶには、どちらも有料コース(ともに月々千円ほど、どちらも1月あればPythonだけであれば、受講完了できるはずです。)になってしまうのですが、Pythonに限って言えば、Progateの方が内容が充実しているように思います。また、ともに仮想環境でのセットアップを説明していますが、もしそれが難しいようであれば、仮想環境のことは取り敢えず無視しても結構です。Pythonの文法と使いかたを学びましょう。以下にProgateとDot Installの公式ページのリンク貼っておきます。木になる方は覗いてみてください。
ぼくがお勧めする本書の読み進め方は、書かれているコードを必ず、自分の手で打ちながら読み進めていくです。時には些細な打ち間違いで、エラーが出て先に進めない時があるかもしれませんが、その時はエラーコードをインターネットでググって原因を調べてみたください。コードは本に書かれている方法でダウンロードできますが、繰り返しになりますが、ご自分の手で打たれることお勧めします。
まとめ DL_from_scratch_04いかがでしたでしょうか。本書を読み通すことにより、機械学習、深層学習の具体的なイメージが頭の中にできてきたのではないでしょうか。勿論、これらの技術を実際に応用するには、まだまだ勉強が必要だと思いますが、スタートラインには立てたのではないでしょうか。
アイキャッチイメージにありますように本書の続編「ゼロから作るDeep Learning2自然言語処理編」もすでに発売されています。機会があればこの続編の解説記事も書いていきたいと思います。
それでは最後までお付き合いありがとうございました。それではさようなら。