Slide 1

Slide 1 text

1 勾配降下法
 ペパボ研究所 三宅悠介
 新卒研修 機械学習入門 補足資料#02
 (2020/07/02 Update)


Slide 2

Slide 2 text

2 2 はじめに
 やりたいことと、やりたくないこと


Slide 3

Slide 3 text

3 入力から出力を推測したい
 やりたいこと 3

Slide 4

Slide 4 text

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


Slide 5

Slide 5 text

5 入力から出力を推測したい
 やりたいこと 5 切片w0と傾きw1を持 つ一次関数で表す


Slide 6

Slide 6 text

6 入力から出力を予測したい
 やりたくないこと 6 ② w0とw1を発見させるプロ グラムを書く
 ① w0とw1を自分で決める


Slide 7

Slide 7 text

7 入力から出力を予測したい
 やりたくないこと 7 ② w0とw1を発見させるプロ グラムを書く
 ① w0とw1を自分で決める
 ❌


Slide 8

Slide 8 text

8 8 誤差関数
 機械が学習するとは?
 


Slide 9

Slide 9 text

9 やりたいことの更新 9 適切なw0とw1を発見したい
 パラメータを探す


Slide 10

Slide 10 text

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


Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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


Slide 13

Slide 13 text

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


Slide 14

Slide 14 text

14 (*) w0とw1について0~3の範囲をそれ ぞれ100分割した組み合わせ
 全ての組み合わせ*を試して探 してみる
 パラメータ探索における目標地点を発見する 14

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

16 より精度良く効率の良い方法はないか?
 - 交点数 * データ数 * パラメータ数
 - 範囲は未知
 - 分割数は未知
 パラメータ探索における目標地点を発見する 16 全ての組み合わせ*を試して探 してみる


Slide 17

Slide 17 text

17 17 勾配
 ナブラ!
 


Slide 18

Slide 18 text

18 点では方向はわからないが、連続する ならば周辺との変化率から判断できる
 勾配降下法の着目点 18 誤差が小さくなる方向へ パラメータを調整する
 誤差関数の微分係数


Slide 19

Slide 19 text

19 微分係数
 - 関数fの点aにおける平均変化率
 - 導関数から求める
 
 導関数
 - 関数fの変数xにおける微分係数を 求めるための関数
 - 関数fを微分して求める
 微分のおさらい(微分係数と導関数) 19 微分係数の値は、関数fの結果を大きくす る方向と大きさを示す


Slide 20

Slide 20 text

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


Slide 21

Slide 21 text

21 勾配の可視化 21 誤差関数の微分係数をい くつかの点で求めてみる
 パラメータが複数ある場合は、一つの パラメータ以外は固定して微分係数を 求める。w0の軸での方向、w1の軸での 方向をそれぞれ見つける。
 偏微分


Slide 22

Slide 22 text

22 勾配の可視化 22 誤差関数の微分係数をい くつかの点で求めてみる
 パラメータごとに偏微分した結果。
 勾配


Slide 23

Slide 23 text

23 勾配の可視化 23 誤差関数の微分係数をい くつかの点で求めてみる
 パラメータごとに偏微分した結果。
 勾配


Slide 24

Slide 24 text

24 24 勾配降下法
 勾配の逆


Slide 25

Slide 25 text

25 f(g(x))のような合成関数の微分はそれ ぞれの関数の微分の積と等しい。
 簡単な微分に分解することで、難しい微 分も解くことができる。
 今回の誤差関数の勾配を求める 25 合成関数の微分
 パラメータごとの偏微分


Slide 26

Slide 26 text

26 今回の誤差関数の勾配を求める 26 合成関数の微分
 パラメータごとの偏微分
 L(w)はfwからなり、fw(x)はwxからなる合成関数


Slide 27

Slide 27 text

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


Slide 28

Slide 28 text

28 勾配降下法 28 パラメータの更新
 誤差関数の勾配


Slide 29

Slide 29 text

29 29 まとめ


Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

31 31 参考


Slide 32

Slide 32 text

32 参考文献 32 本資料における勾配降下法の導出は以下の文献を参考にしました。 
 より詳細、発展的な説明が必要であれば、精読し、理解を深めてみてください。 
 
 - LINE Fukuoka株式会社 立石 賢吾, やさしく学ぶ 機械学習を理解するための数 学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~, マイ ナビ出版, 2017年09月20日. ISBN:978-4-8399-6352-1
 - 三宅 悠介, Goによる勾配降下法 - 理論と実践 - , プログラマのための数学勉強 会@福岡 #5, 2016年8月