Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DeepLearningが分かった気になる「ゼロから作るDeepLearning」ざっくりまとめ

dproject21
January 18, 2017

 DeepLearningが分かった気になる「ゼロから作るDeepLearning」ざっくりまとめ

オライリー・ジャパンから出版されている「ゼロから作るDeepLearning」の読書会をやっています。
https://deeplearning-yokohama.connpass.com/

先日、5章までが終わりました。
自分の復習を兼ねて、5章までのざっくりとした内容をスライドにまとめました。

dproject21

January 18, 2017
Tweet

More Decks by dproject21

Other Decks in Technology

Transcript

  1. この本のざっくりまとめです • 「ゼロから作るDeepLearning」斎藤 康毅 著 オライリー・ジャパンより2016年9⽉ 発⾏ https://www.oreilly.co.jp/books/9784873117584/ • 公式サポートページ

    https://github.com/oreilly-japan/deep-learning-from-scratch • 読書会やってます。 (5章まで終わりましたので、そこまでのまとめです) https://deeplearning-yokohama.connpass.com/
  2. パーセプトロンとは ⼊⼒信号 に、 重みづけ を掛 けた値の総和が ≦ のとき0 > のとき1

    を出⼒する。 + , + , 出⼒信号 ⼊⼒信号 重み ノード + + , , こういうやつ。
  3. パーセプトロンとは + , + , 出⼒信号 ⼊⼒信号 重み ノード +

    + , , + , 0 0 1 1 0 1 0 1 1 1 1 0 = . 0 (−0.5+ + −0.5, ≦ −0.7) 1 (−0.5+ + −0.5, > −0.7) NANDの真理値表 パラメータを当てはめると… パラメータの与え⽅ 次第でいろいろな論 理回路を作れる。
  4. パーセプトロンとは + , + , 出⼒信号 ⼊⼒信号 重み ノード +

    + , , = . 0 ( + + + + , , ≦ 0) 1 ( + + + + , , > 0) バイアスを使うと、 出⼒信号が1 を出⼒する度合い(ニューロン の発⽕のしやすさ)が調整でき る。 パーセプトロンは 重みとバイアス次第で、 特性を変えることができる。 バイアス
  5. パーセプトロンとは + , + , 出⼒信号 ⼊⼒信号 重み ノード +

    + , , バイアス 出⼒0 出⼒1 1 1 1 0 線形なものは実現できる。 …が、
  6. パーセプトロンとは + , + , 出⼒信号 ⼊⼒信号 重み ノード +

    + , , バイアス 出⼒0 出⼒1 1 1 0 0 ⾮線形なものは実現でき ない… では、どうするか。
  7. パーセプトロンとは + , 第2層 第0層 第1層 ノード + , +

    , 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 パーセプトロンを多層に してあげればいい。 + , XORの真理値表
  8. ニューラルネットワークとは + , + , 出⼒信号 ⼊⼒信号 重み ノード +

    + , , パーセプトロンのパラメー タを決めているのは⼈間。 機械学習の問題では、この パラメータの値を決める作 業をコンピュータに⾃動で ⾏わせる。 そこで、ニューラルネット ワークが出てくる。
  9. ニューラルネットワークとは + , + , 1 ℎ( ) ≦ のとき0

    > のとき1 これがステップ関数。 これが別の関数に置き換わる。
  10. ニューラルネットワークとは + , + , 1 ℎ( ) ℎ =

    1 1 + exp (−) というシグモイド関数や
  11. ニューラルネットワークとは + , + , 1 ℎ( ) ℎ =

    . ( > 0) 0 ( ≦ 0) というReLU関数を使います
  12. ニューラルネットワークとは + , + , 1 ℎ( ) 例えば、こういう⼿書き⽂字が ⼊⼒信号として⼊ります。

    28×28ピクセルの画像から数 字を判定するので… 784画素を⾏列として計算し、 10種の数字を判定します。
  13. ニューラルネットワークとは , + + + , ⼆乗和誤差(mean squared error) ニューラルネットワークの出⼒

    A と 正解となる教師データ A の各要素の差 の 2 乗を計算し、その総和を求める。 = 1 2 J(A − A ), A 教師データ A は正解を1、不正解を0と して扱う。(one-hot表現) ,
  14. ニューラルネットワークとは , + + + , , 交差エントロピー誤差 (cross entropy

    error) 正解となる教師データ A に対する、 ニューラルネットワークの出⼒ A の⾃ 然対数を計算する。 = − J A A log A 教師データ A は正解を1、不正解を0と して扱う。(one-hot表現)
  15. ニューラルネットワークでの学習 出⼒層 ⼊⼒層 中間層 (隠れ層) ミニバッチ学習 : 全データを使って損 失関数を求めるには時間がかかる。 そこで、全データの⼀部をサンプルと

    して抜き出して全データの近似として 扱い、損失関数を計算する。 例えば、こういう⼿書き⽂字6万個の データから100個をサンプルとする。 という具合。
  16. ニューラルネットワークとは + , + , 1 ℎ( ) 勾配 :

    すべての変数の偏微分をベクト ルでまとめたもの。 ニューラルネットワークでは、損失関 数の値ができるかぎり⼩さくなるベク トルを、勾配降下法を⽤いて求め、重 み付けを更新する。 A = A − A 学習率 の値は0.01など事前に決めて おく。この学習率の値を変更しながら、 正しく学習できているか確認していく。
  17. ニューラルネットワークとは + , + , 1 ℎ( ) ReLU関数の偏微分 =

    . 1 ( > 0) 0 ( ≦ 0) A − A = . A − A ( > 0) 0 ( ≦ 0)