Slide 1

Slide 1 text

0 2024-06-07 第93回NearMe技術勉強会 Futo Ueno 機械学習を⽀える連続最適化

Slide 2

Slide 2 text

1 背景 ‧今取り組んでいるタスクでNeural Networkを使いはじめた ‧optimizerの中⾝が気になった ‧調べると⾊々な歴史があった ‧現在よく使われているAdamに⾄るまでの変遷を辿ってみた

Slide 3

Slide 3 text

2 連続最適化とは 離散最適化 連続最適化

Slide 4

Slide 4 text

3 連続最適化とは 離散最適化 連続最適化

Slide 5

Slide 5 text

4 連続最適化とは 離散最適化 連続最適化 → 微分の情報を活⽤する

Slide 6

Slide 6 text

5 使いどころ Neural Network

Slide 7

Slide 7 text

6 使いどころ Neural Network

Slide 8

Slide 8 text

7 使いどころ Neural Network

Slide 9

Slide 9 text

8 使いどころ Neural Network

Slide 10

Slide 10 text

9 使いどころ Neural Network

Slide 11

Slide 11 text

10 使いどころ Neural Network update

Slide 12

Slide 12 text

11 使いどころ Neural Network → minimize update

Slide 13

Slide 13 text

12 上昇⽅向 降下⽅向 微分の情報からわかること

Slide 14

Slide 14 text

13 降下⽅向 上昇⽅向 上昇⽅向 降下⽅向 微分の情報からわかること

Slide 15

Slide 15 text

14 降下⽅向 上昇⽅向 上昇⽅向 降下⽅向 微分の情報からわかること → 「降下⽅向」がわかる!

Slide 16

Slide 16 text

15 微分の情報からわかること 定義

Slide 17

Slide 17 text

16 微分の情報からわかること 「降下⽅向」は無数にあるが‧‧‧

Slide 18

Slide 18 text

17 基本的な⽅法 勾配降下法 (Gradient Descent) 学習率: 更新量を制御するパラメータ

Slide 19

Slide 19 text

18 基本的な⽅法 勾配降下法 (Gradient Descent) 学習率: 更新量を制御するパラメータ ⼤ ⼩

Slide 20

Slide 20 text

19 基本的な⽅法 勾配降下法 (Gradient Descent)

Slide 21

Slide 21 text

20 基本的な⽅法 勾配降下法 (Gradient Descent)

Slide 22

Slide 22 text

21 基本的な⽅法 勾配降下法 (Gradient Descent)

Slide 23

Slide 23 text

22 基本的な⽅法 勾配降下法 (Gradient Descent)

Slide 24

Slide 24 text

23 基本的な⽅法 勾配降下法 (Gradient Descent)

Slide 25

Slide 25 text

24 基本的な⽅法 勾配降下法 (Gradient Descent)

Slide 26

Slide 26 text

25 基本的な⽅法 勾配降下法 (Gradient Descent) update

Slide 27

Slide 27 text

26 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent)

Slide 28

Slide 28 text

27 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent)

Slide 29

Slide 29 text

28 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent)

Slide 30

Slide 30 text

29 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent)

Slide 31

Slide 31 text

30 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent)

Slide 32

Slide 32 text

31 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent)

Slide 33

Slide 33 text

32 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent)

Slide 34

Slide 34 text

33 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent) update

Slide 35

Slide 35 text

34 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent) -利点- ‧1サンプルについて計算を⾏えばよいので楽 (GPUを使う場合は複数サンプルからなるミニバッチを作るなどする) ‧損失の形状が毎回変わるので、局所最適解から脱出できる余地がある

Slide 36

Slide 36 text

35 勾配降下法の改良

Slide 37

Slide 37 text

36 勾配降下法の改良

Slide 38

Slide 38 text

37 勾配降下法の改良

Slide 39

Slide 39 text

38 勾配降下法の改良

Slide 40

Slide 40 text

39 勾配降下法の改良

Slide 41

Slide 41 text

40 勾配降下法の改良

Slide 42

Slide 42 text

41 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent) -課題- ‧ 損失の形状が毎回変わるので、⼀貫性に⽋けてしまう ‧ パフォーマンスが学習率の選び⽅に⼤きく依存する

Slide 43

Slide 43 text

42 勾配降下法の改良 確率的勾配降下法 (SGD; Stochastic Gradient Descent) -課題- ‧ 損失の形状が毎回変わるので、⼀貫性に⽋けてしまう → momentum SGD, NAG ‧ パフォーマンスが学習率の選び⽅に⼤きく依存する → AdaGrad, RMSProp, Adadelta

Slide 44

Slide 44 text

43 momentumの導⼊ momentum SGD

Slide 45

Slide 45 text

44 momentumの導⼊ momentum SGD

Slide 46

Slide 46 text

45 momentumの導⼊ momentum SGD

Slide 47

Slide 47 text

46 momentumの導⼊ momentum SGD

Slide 48

Slide 48 text

47 momentumの導⼊ momentum SGD

Slide 49

Slide 49 text

48 momentumの導⼊ momentum SGD

Slide 50

Slide 50 text

49 momentumの導⼊ momentum SGD

Slide 51

Slide 51 text

50 momentumの導⼊ momentum SGD

Slide 52

Slide 52 text

51 勾配降下法の改良 (再掲) 確率的勾配降下法 (SGD; Stochastic Gradient Descent) -課題- ‧ 損失の形状が毎回変わるので、⼀貫性に⽋けてしまう → momentum SGD, NAG ‧ パフォーマンスが学習率の選び⽅に⼤きく依存する → AdaGrad, RMSProp, Adadelta

Slide 53

Slide 53 text

52 更新幅の適応的調整 AdaGrad (Adaptive Gradient)

Slide 54

Slide 54 text

53 更新幅の適応的調整 RMSProp (Root Mean Squared Propagation)

Slide 55

Slide 55 text

54 更新幅の適応的調整 Adadelta (Adaptive delta)

Slide 56

Slide 56 text

55 勾配降下法の改良 (再掲) 確率的勾配降下法 (SGD; Stochastic Gradient Descent) -課題- ‧ 損失の形状が毎回変わるので、⼀貫性に⽋けてしまう → momentum SGD, NAG ‧ パフォーマンスが学習率の選び⽅に⼤きく依存する → AdaGrad, RMSProp, Adadelta

Slide 57

Slide 57 text

56 勾配降下法の改良 (再掲) 確率的勾配降下法 (SGD; Stochastic Gradient Descent) -課題- ‧ 損失の形状が毎回変わるので、⼀貫性に⽋けてしまう → momentum SGD, NAG ‧ パフォーマンスが学習率の選び⽅に⼤きく依存する → AdaGrad, RMSProp, Adadelta Adam

Slide 58

Slide 58 text

57 Adam Adam (Adaptive moment estimation)

Slide 59

Slide 59 text

58 Adam Adam (Adaptive moment estimation) by RMSProp by momentum 補正のための係数

Slide 60

Slide 60 text

59 Adam Adam (Adaptive moment estimation)

Slide 61

Slide 61 text

60 Adam Adam (Adaptive moment estimation) by RMSProp → そのまま

Slide 62

Slide 62 text

61 Adam Adam (Adaptive moment estimation) 補正のための係数 (漸近的には1に近くなる)

Slide 63

Slide 63 text

62 Adam Adam (Adaptive moment estimation) 補正のための係数 (漸近的には1に近くなる)

Slide 64

Slide 64 text

63 References ‧ 岡⾕貴之 : 「深層学習」. 講談社, 2023. ‧Adadelta : Matthew D. Zeiler: ADADELTA: AN ADAPTIVE LEARNING RATE METHOD. arXiv: 1212.5701, 2012. https://arxiv.org/pdf/1212.5701 ‧Adam : Diederik P. Kingma and Jimmy Lei Ba: ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION. arXiv: 1412.6980, 2017. https://arxiv.org/pdf/1412.6980 ‧https://qiita.com/omiita/items/1735c1d048fe5f611f80

Slide 65

Slide 65 text

64 Appendix -補正係数の由来- ※

Slide 66

Slide 66 text

65 Thank you