魂の生命の領域

AWS とか Python とか本読んだ感想とか哲学とか書きます

ゼロから作る Deep Learning を読んでる 〜その1〜

背景

ゼロから作る Deep Learning はいくつかシリーズが出てますが、おそらく最初のやつです。 表紙が魚のやつです。 と思いましたが今調べたら3作出てて全部表紙が魚ですね。 背ビレがギザギザした魚のやつです。

MNIST データセット(手書きの数字の画像がいっぱいある有名なデータセットです)を使ってゴニョゴニョしてみましょう、というあたりに入ってなぜか急にめんどくさくなって読むのを辞めてました。

エンジニア歴も3年目となり、そろそろここら辺の基礎はマスターしておかないといけないような気がした(気がしただけ)ので改めて読み始めることにしました。

感触

冒頭にソースコード一式が配置された GitHubリポジトリについて説明されていたのですが、特にこれをクローンして使うことを前提にしています、的な書かれ方もされておらず見逃してしまい微妙に最初戸惑いました。

第1章は Python の基本的な説明がされています。私は Python がちょっと書けるのでこの辺はサッと目を通しただけです。

第2章はパーセプトロンの説明と銘打って主に論理回路を実装します。

第3章では簡単なニューラルネットワークを実装します。活性化関数として階段関数やシグモイド関数が説明されています。 あと MNIST という有名なデータセット(クセのある手書き数字のデータセット)を用いてそれをトレーニングされたモデルで未知のデータに対して推論できるようにする例が紹介されています。 ここら辺でソースコードがどうみても足りないことに気づき、結果として先ほど述べたように完成品のソースが GitHub に公開されていることに気づいた次第です。

第4章は数値微分の説明から勾配法の説明に入っていきます。 勾配法は勾配がゼロになる(つまり極値)を探したらそこが一番安定だ、というやつです。 ここでは勾配法として大真面目に数値微分するアプローチをとっています。 ここら辺も結構流し読みしていまうことがありました。

次回

第4章の続きから、読んでいきます。

そろそろ適当に読み飛ばさずにちゃんと読まないといけない気がしています。