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

勾配降下法/machine-learning-lecture-gradient-descent

 勾配降下法/machine-learning-lecture-gradient-descent

GMOペパボ新卒研修2020 機械学習入門 補足資料#02

monochromegane

July 14, 2020
Tweet

More Decks by monochromegane

Other Decks in Technology

Transcript

  1. 1
    勾配降下法

    ペパボ研究所 三宅悠介

    新卒研修 機械学習入門 補足資料#02

    (2020/07/02 Update)


    View full-size slide

  2. 2
    2
    はじめに

    やりたいことと、やりたくないこと


    View full-size slide

  3. 3
    入力から出力を推測したい

    やりたいこと
    3

    View full-size slide

  4. 4
    入力から出力を推測したい

    やりたいこと
    4
    入力から出力を予測
    する関数を考える


    View full-size slide

  5. 5
    入力から出力を推測したい

    やりたいこと
    5
    切片w0と傾きw1を持
    つ一次関数で表す


    View full-size slide

  6. 6
    入力から出力を予測したい

    やりたくないこと
    6
    ② w0とw1を発見させるプロ
    グラムを書く

    ① w0とw1を自分で決める


    View full-size slide

  7. 7
    入力から出力を予測したい

    やりたくないこと
    7
    ② w0とw1を発見させるプロ
    グラムを書く

    ① w0とw1を自分で決める

    ❌


    View full-size slide

  8. 8
    8
    誤差関数

    機械が学習するとは?


    View full-size slide

  9. 9
    やりたいことの更新
    9
    適切なw0とw1を発見したい

    パラメータを探す


    View full-size slide

  10. 10
    データ空間とパラメータ空間
    10
    データ空間
 パラメータ空間


    View full-size slide

  11. 11
    データ空間とパラメータ空間の関係
    11

    View full-size slide

  12. 12
    データ空間とパラメータ空間の関係
    12
    パラメータは固定
 データは固定


    View full-size slide

  13. 13
    パラメータ探索における目標地点を定義する
    13
    あるパラメータを用いた時の正
    解と推定した値の差の合計が
    最も小さくなる点

    誤差関数


    View full-size slide

  14. 14
    (*) w0とw1について0~3の範囲をそれ
    ぞれ100分割した組み合わせ

    全ての組み合わせ*を試して探
    してみる

    パラメータ探索における目標地点を発見する
    14

    View full-size slide

  15. 15
    パラメータ探索における目標地点を発見する
    15

    View full-size slide

  16. 16
    より精度良く効率の良い方法はないか?

    - 交点数 * データ数 * パラメータ数

    - 範囲は未知

    - 分割数は未知

    パラメータ探索における目標地点を発見する
    16
    全ての組み合わせ*を試して探
    してみる


    View full-size slide

  17. 17
    17
    勾配

    ナブラ!


    View full-size slide

  18. 18
    点では方向はわからないが、連続する
    ならば周辺との変化率から判断できる

    勾配降下法の着目点
    18
    誤差が小さくなる方向へ
    パラメータを調整する

    誤差関数の微分係数


    View full-size slide

  19. 19
    微分係数

    - 関数fの点aにおける平均変化率

    - 導関数から求める


    導関数

    - 関数fの変数xにおける微分係数を
    求めるための関数

    - 関数fを微分して求める

    微分のおさらい(微分係数と導関数)
    19
    微分係数の値は、関数fの結果を大きくす
    る方向と大きさを示す


    View full-size slide

  20. 20
    勾配の可視化
    20
    誤差関数の微分係数をい
    くつかの点で求めてみる


    View full-size slide

  21. 21
    勾配の可視化
    21
    誤差関数の微分係数をい
    くつかの点で求めてみる

    パラメータが複数ある場合は、一つの
    パラメータ以外は固定して微分係数を
    求める。w0の軸での方向、w1の軸での
    方向をそれぞれ見つける。

    偏微分


    View full-size slide

  22. 22
    勾配の可視化
    22
    誤差関数の微分係数をい
    くつかの点で求めてみる

    パラメータごとに偏微分した結果。

    勾配


    View full-size slide

  23. 23
    勾配の可視化
    23
    誤差関数の微分係数をい
    くつかの点で求めてみる

    パラメータごとに偏微分した結果。

    勾配


    View full-size slide

  24. 24
    24
    勾配降下法

    勾配の逆


    View full-size slide

  25. 25
    f(g(x))のような合成関数の微分はそれ
    ぞれの関数の微分の積と等しい。

    簡単な微分に分解することで、難しい微
    分も解くことができる。

    今回の誤差関数の勾配を求める
    25
    合成関数の微分

    パラメータごとの偏微分


    View full-size slide

  26. 26
    今回の誤差関数の勾配を求める
    26
    合成関数の微分

    パラメータごとの偏微分

    L(w)はfwからなり、fw(x)はwxからなる合成関数


    View full-size slide

  27. 27
    今回の誤差関数の勾配を求める
    27
    パラメータごとの偏微分


    View full-size slide

  28. 28
    勾配降下法
    28
    パラメータの更新

    誤差関数の勾配


    View full-size slide

  29. 29
    29
    まとめ


    View full-size slide

  30. 30
    ● 入力から出力を推測する関数のパラメータを求める手法を学んだ
    ○ 目標を誤差関数として定義した
    ○ 最小の誤差関数の値を効率的に求めるため勾配を理解した
    ○ 勾配を利用した勾配降下法によるパラメータの更新を学んだ
    ● 誤差や勾配は学習データを全て用いて求めるため効率が悪い
    ○ 最急降下法と呼ばれる
    ○ ランダムな100~1000程度のデータを利用するミニバッチ勾配降下
    法が良く利用される
    ○ 特に1つだけのデータを利用する場合、確率的勾配降下法と呼ば
    れる
    まとめ
    30

    View full-size slide

  31. 31
    31
    参考


    View full-size slide

  32. 32
    参考文献
    32
    本資料における勾配降下法の導出は以下の文献を参考にしました。

    より詳細、発展的な説明が必要であれば、精読し、理解を深めてみてください。


    - LINE Fukuoka株式会社 立石 賢吾, やさしく学ぶ 機械学習を理解するための数
    学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~, マイ
    ナビ出版, 2017年09月20日. ISBN:978-4-8399-6352-1

    - 三宅 悠介, Goによる勾配降下法 - 理論と実践 -
    , プログラマのための数学勉強
    会@福岡 #5, 2016年8月


    View full-size slide