とてもわかりやすいという巷の評判に流されてこの本を読みました。
![]() | ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 斎藤 康毅 オライリージャパン 2016-09-24 売り上げランキング : 58 Amazonで詳しく見る by G-Tools |
一貫して読み手の理解を考慮して書かれたすばらしい本だと思います(その分トピックは絞られていますが)。
1章だけではなく最後まで・隅々までそれをやり切っている本というのが実はあまりないと思います。
モデルや手法の義務的な紹介にはなっておらず、伝えるべき心にたくさんページを割いていると思います。
これから深層学習を学ぶ人、ライブラリをつかうのでゼロから作るつもりはないという場合も、よほど中身はどうでもいい主義者でない限りよい本と思います。数式が苦手でない人には易しすぎると感じられる面もあるでしょうが、他のオムニバス本を読み解くより時短で要点を抑えられると思います。
説明が丁寧な分、CNN の話はありますが、RNN / 自己符号化器 / 制限ボルツマンマシンはありません(最終章に言葉のみ)。
1章だけではなく最後まで・隅々までそれをやり切っている本というのが実はあまりないと思います。
モデルや手法の義務的な紹介にはなっておらず、伝えるべき心にたくさんページを割いていると思います。
これから深層学習を学ぶ人、ライブラリをつかうのでゼロから作るつもりはないという場合も、よほど中身はどうでもいい主義者でない限りよい本と思います。数式が苦手でない人には易しすぎると感じられる面もあるでしょうが、他のオムニバス本を読み解くより時短で要点を抑えられると思います。
説明が丁寧な分、CNN の話はありますが、RNN / 自己符号化器 / 制限ボルツマンマシンはありません(最終章に言葉のみ)。
以下、読んでいていいなあと思った箇所や自分なりの補足のメモです。
- 各章末にまとめ(「本章で学んだこと」)があり、各章の位置付けがわかりやすい。
- 要所要所で、そのアルゴリズムは全体図としてどんなステップからなるか確認している。
- 本のサブタイトルに「理論と『実装』」とあるように、実装する上での数値誤差等の注意・対策も抜かりない。実装が切り離されずすぐ傍にあるので、理論が一層理解しやすい。
- まず、いきなり多層パーセプトロンの数学的モデルを説明するのではなく、なぜ多層化しないといけないのか、なぜ活性化しないといけないのかから入っている(2章)。
- つまり、入力データ空間が1枚の分離超平面で仕切れるなら多層化も活性化もしなくてよい。
- (以下は教科書の雑なアレンジ)例えば、2次元の入力データが4点あり、各点に "OK" / "NG" のラベルがついているとする。この4点を教師データに、未知の点の "OK" / "NG" を判定するニューラルネットを学習したいとする。
下図の一番左のように、右上の3点が "OK" なら、1つの仕切りを入れられる。
左から2番目のように、左下の3点が "OK" でも1つの仕切りを入れられる。
ただし、左から3番目のように、左上と右下が "OK" だった場合、1つのまっすぐな仕切りではどうにもならない。仕切りを複数入れるか、仕切りをねじ曲げるかしないといけない。そうなると、1層パーセプトロン(入力データの線形変換しかできない)では対応できない。これが2層になると対応できる(下図一番右)。

- 「2層のパーセプトロン(中略)を用いれば、任意の関数を表現可能であることが証明されています(36ページ)。」
- 原論文は以下の方の記事に詳しい。
mathetake.hatenablog.com
- 原論文は以下の方の記事に詳しい。
- 2層ニューラルネット(隠れ層のノード数:50、隠れ層の活性化関数:シグモイド)の MNIST 認識精度(16エポック後)が、目算 95% 弱くらいか (121ページ)。
- 隠れ層なしの単層でも 92% くらい出るが(以下: TensorFlow チュートリアル)この差は大きい。
https://www.tensorflow.org/tutorials/mnist/beginners/#softmax_regressions
- 隠れ層なしの単層でも 92% くらい出るが(以下: TensorFlow チュートリアル)この差は大きい。
- 誤差逆伝播法(5章)は、20ページ以上かけて絵本のように説明しているのでこの手法の意図がわかりやすい。
- Momentum(171ページ)はハミルトニアンモンテカルロ法っぽい。Momentum は損失関数が小さい方へパラメータを転がす。HMC法では事後確率が大きい方へパラメータを転がす。
- Weight decay(193ページ)や Dropout(195ページ)で過学習を抑えられているけど汎化能力も上がっていないようには見える。
- 7章は CNN で、以下はもう教科書関係ないけど、最近見て面白かったアニメーションと、読んでおきたいサーベイ。
- GitHub - vdumoulin/conv_arithmetic: A technical report on convolution arithmetic in the context of deep learning
- Recent Advances in Convolutional Neural Networks
https://arxiv.org/pdf/1512.07108v5.pdf