【WIP】【読書メモ】ゼロから作るDeepLearning

DeepLearning なり機械学習を使ったサービスアイデアを思いついたので、こちらを読み進めていきます。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

2章:パーセプトロン

  • パーセプトロンはニューラルネットワークの期限となるアルゴリズム。  電流を流す(1)か流さないか(0)の二値を返す。  b をバイアスと予備、発火するかどうかのしきい値を示す。  w を重みと予備、各変数の重要性を表す
y = 0 (if b + w1 * x1 + w2 * x2 <= 0)
y = 1 (if b + w1 * x1 + w2 * x2 > 0)
  • ANDやORなどを表すパーセプトロンを実装できるが、XORは一層のパーセプトロンでは表すことができない。一層のパーセプトロンは線形関数になるので、XORのような直線でしきい値を表せない場合は定義できない。そこで、多層のパーセプトロンとして定義する。(AND、NAND、ORのパーセプトロンを重ね合わせる
  • コンピュータはNANDゲートの組み合わせで作ることができる。

3章:ニューラルネットワーク

・2章で登場した h( b + w1 * x1 + w2 * x2 ) のような、入力信号の総和を出力信号に変換する関数を活性化関数と呼ぶ ・パーセプトロンでは、活性化関数として「ステップ関数」を用いているが、この活性化関数を別の関数に変更することで、ディープラーニングの世界に突入する。

・適切な重みパラメータをデータから自動で学習できるというのがニューラルネットワークの重要な性質のひとつです。

・活性化関数には非線形関数を用いる。多層にできない(する意味がない)ため。

・ReLU関数:入力が負なら0、0以上ならその値はそのまま出力する