ニューラルネットワーク入門

2,016 views

Published on

ニューラルネットワークの基礎であるパーセプトロンから、勾配計算までの概念をまとめました。

Published in: Technology

ニューラルネットワーク入門

  1. 1. ニューラルネットワーク入門 〜パーセプトロンから勾配降下法まで〜 森山直人
  2. 2. パーセプトロン x z 人間の思考(脳)を構築する最小計算ユニッ トであるパーセプトロンを考える
  3. 3. パーセプトロン 何かを入力 ゴニョゴニョ して 何かを出力 x z
  4. 4. 一般的な動作原理 入力が一定に 達すると そこで出力する x z
  5. 5. バイアス 入力が一定に 達すると 出力する これをバイアスという bx z
  6. 6. 複数入力 入力は複数になる ※でも出力は1つ x2 z x1 x3
  7. 7. 複数入力 ここにもバイアスはある bx2 x1 x3
  8. 8. 重み b 入力の重みを変えてみる (太さが重みの度合い) x2 x1 x3
  9. 9. 重み b 入力の重みを変えてみる (太さが重みの度合い) x2 x1 x3 w1 w2 w3
  10. 10. 総入力 bx2・w2 入力の合計とバイアスを比較 ⇒出力 x3・w3 x1・w1
  11. 11. 活性化関数 x・w z b 出力の値をコントロールしたい Why? ただ一定の閾値を超えると発火するのでは、線 形分離しかできない 非線形性を持たすことで、表現の自由度を獲得 したい 多層になった場合にいろいろ都合が良い(後 述)
  12. 12. 活性化関数 x・w z b ここを関数化する
  13. 13. 活性化関数 x・w z b ここを関数化する ⇒ z = f(x・w + b)
  14. 14. 活性化関数 ⇒ z = f(x・w + b) この f() の中身の計算によって、出力されるzの値が変わってくる • シグモイド ⇒ 0 ~ 1 • 双曲線正接関数 ⇒ -1 ~ 1 • 正規化線形関数 ⇒ 0 ~ ∞
  15. 15. ニューラルネットワーク 前述したパーセプトロンが多数積み重なったもの 出力は複数あるが、すべて同じ出力のコピー 入力層 隠れ層 出力層
  16. 16. ニューラルネットワーク 入力層 隠れ層 出力層 活性化関数と誤差関数は基本的に単一 パーセプトロンと同じ考え ・活性化関数: ∟各層の各ニューロンごとに活性化関数を持つ ∟異なる層で異なる誤差関数を持つことができる ・誤差関数 ∟出力層と正解データ間にて誤差関数を計算 ∟後述の誤差逆伝搬を用いて、各ニューロンの微分
  17. 17. f() ニューラルネットワークのフロー x x*w w x*w+b b 入力 重み付加 バイアス計算 活性化関数
  18. 18. 誤差 ここまでは、パーセプトロンの動作について考えてきたが、その パーセプトロンが正しく機能しているかを判断する必要がある そもそも、パーセプトロンを使う理由はその計算によって、意図す る値を出力させること 誤った値が出た場合は、正しい値を出力させるべく、本来出力させ たい値と比較させ、ずれた度合いに応じて、パーセプトロン内の値 を修正する必要がある
  19. 19. 誤差 修正箇所は重みとバイアス x・w z b
  20. 20. 誤差関数 bx・w z y パーセプトロンの計算結果 正しい値 ここの差分を 計算すれば良い
  21. 21. 誤差関数 bx・w z y パーセプトロンの計算結果 正しい値 E(w) = ‖ y - f(w・x + b) ‖ 誤差関数 正解 活性化関数 入力値 2 (絶対値を取る)
  22. 22. 誤差関数 E(w) = ‖ y – f(w・x + b) ‖ 誤差関数 正解 活性化関数 入力値 この誤差関数が小さいほど、正解データと近い値が 出力されたことになる ⇒良い重みとバイアスが設定でいていることになる 2
  23. 23. 勾配降下 誤差を小さくしたい 誤差関数の最小化を図る
  24. 24. 勾配降下 E(w) w 誤差が最小の値 このwの値を知りたい
  25. 25. 勾配降下 E(w) w 誤差が最小の値 このwの値を知りたい 今こことする
  26. 26. 勾配降下 E(w) w 誤差が最小の値 このwの値を知りたい 少しずつ誤差が小さくなるよう、 wを修正していく
  27. 27. 勾配降下 E(w) w 誤差が最小の値 このwの値を知りたい 修正し過ぎると、意図しない 位置まで行ってしまう
  28. 28. 勾配降下 E(w) w 誤差が最小の値 このwの値を知りたい この修正度合いを決めるのが とても重要
  29. 29. 勾配降下法 E(w) w 誤差が最小の値 このwの値を知りたい この修正度合いを決めるのが とても重要 この「修正度合い」は一般的に 学習率と呼ばれる。 この学習率は様々なアルゴリズム によって計算される。 例) ・AdaGrad ・RMSProp ・AdaDelta ・Adam
  30. 30. 次回はバッチ学習から解説します・・・

×