読んだ本メモ⑳ 「ゼロから作るDeep Learning」 斎藤康毅著 オライリージャパン
科学読み物、小説ばかりでなくてこういうものも読んでいる。読んでいるというか、プログラミングのスキルアップのときの教科書や辞書的な使い方として、オライリージャパンの書籍はよく利用しているのだが、今回読んだものは、昨今注目の的であるディープラーニングの理論をおおざっぱに理解する上で非常にためになったので、ここで取り上げた。 本書は、Pythonを使いながら、Deep Learningを実装し、その理論を学ぶことを目的としている。Deep Learningを学ぼうという人であればもちろん、Pythonという言語のことはご存じだろう。本書はPython初学者のみならず、プログラミングに馴れていない方でも十分にキャッチアップできる内容だと思う(個人的な感想です。Python入門に1章分紙面が割かれている)。 また、実装をすることでDeep Learningの理論の理解がより一層進むのは確実だが、Deep Learningの基本的な理論を知りたいだけであれば、各章のおおむね前半部分にて記載された、アルゴリズムや数学的背景を追うだけでも十分だと感じた。 実装、理論の理解いずれの目的にしても、初学者でも手に取りやすい入門書である一歩言うで、物足りなさも多少は覚えるが、入口としては適した一冊だろう。今後のためにと、Deep Learningの基本理論について本書の流れに沿って用語解説の形で以下にまとめた。 パーセプトロン: アルゴリズムの一つ。複数の信号を入力として受け取り、一つの信号を出力する。ノード(ニューロンとも呼ばれる)とそれらを結ぶエッジによって構成される。各エッジには 「重み」 が、ノードには 「バイアス」 (出力をするかどうかのしきい値)がパラメータとして設定でき、パラメータによってANDやORゲートといた論理回路を構成できる。さらに、それらの組み合わせ(例えば、二層にすることでXORゲートが可能)によってより複雑な判別も可能となる。 ニューラルネットワーク: 入力層、中間層、出力層で構成される多層のパーセプトロンであるが、出力の決定にパーセプトロンのように定数のバイアスを用いるのではなく、 活性化関数 を用いる。正確には、パーセプトロン(もしくは単純パーセプトロン)では活性化関数に「ステップ関数」を採用していると言え、ニューラルネットワークでは、...