Save 37% off PRO during our Black Friday Sale! »

Keio Univ intro to ml 2021 03

Keio Univ intro to ml 2021 03

Transcript

  1. 情報工学科 准教授 杉浦孔明 Email: komei.sugiura@keio.jp Slack: 1_sugiura.komei 慶應義塾大学理工学部 機械学習基礎 第3回

  2. 最適化 - - 5

  3.  最適化(optimization) 与えられた制約条件のもとで関 数の値を最大または最小にする 変数の値を求める問題 最適化とは - - 6 最適解

    E(w)を最小化する wを探すという意味
  4.  最適化(optimization) 与えられた制約条件のもとで関 数の値を最大または最小にする 変数の値を求める問題  例:大気汚染物質の濃度予測 (前回資料)の損失関数  解析的な解は得られるか?

    →実用問題ではほぼ不可能 最適化とは - - 7 最適解 E(w)を最小化する wを探すという意味
  5.  例:パラメータ数をKとする。パ ラメータ毎に8点ずつプロットす るとき、プロット点は全部でい くつか?  K=2 →64  K=3

    →512  K=1000万 →8の1000万乗 卒論でさえ、1000万パラメータ は普通 Q. 損失関数の概形を見れば最適解が見つかるのでは? A. No!パラメータ数が多いので、概形を見ることすら大変 - - 8 プロット点が不足している 可能性もある
  6.  勾配降下法(gradient descent method) or 最急降下法 (steepest descent method) 1.

    初期値 を用意 2. 更新則  勾配(gradient) 数値的に近似解を求めるための代表的な方法: 勾配降下法 - - 9 学習率(learning rate; lr) 更新回数 勾配降下法を理解すれば、 本日紹介する手法を全て 理解できる
  7.  勾配降下法(gradient descent method) or 最急降下法 (steepest descent method) 1.

    初期値 を用意 2. 更新則  勾配(gradient)  とする。 以下の条件のとき を求めよ 数値的に近似解を求めるための代表的な方法: 勾配降下法 - - 10 学習率(learning rate; lr) 更新回数
  8.  勾配降下法(gradient descent method) or 最急降下法 (steepest descent method) 1.

    初期値 を用意 2. 更新則  勾配(gradient)  とする。 以下の条件のとき を求めよ 数値的に近似解を求めるための代表的な方法: 勾配降下法 - - 11 学習率(learning rate; lr) 更新回数
  9.  DNNには多くの局所的極小値が 存在する  以降では局所解から抜け出す工 夫を紹介する 局所的極小値(local minimum)の問題 - -

    12 大域的極小値 (global minimum) 局所的極小値 (local minimum) or 局所解(local solution)
  10.  バッチ学習(batch learning)  1回の更新に訓練集合全部を 使用  更新ごとに損失関数の形状は 変わらない 

    訓練集合  ミニバッチ学習(mini-batch learning)  1回の更新に訓練集合の一部 (ミニバッチ )を使用  更新ごとに損失関数の形状が 変わる バッチ学習とミニバッチ学習 - - 13 1サンプル毎 の損失 ミニバッチに含まれる インデックスの集合
  11. ミニバッチの作成方法の例 - - 14 濃度 (今) 風速 (今) 濃度 (未来)

    5 2.0 4 7 1.2 5 10 1.6 11 … … … 10 1.8 10 9 2.6 10 8 1.8 6 シャッフル ※これ以外の作成方法でも良い
  12. ミニバッチの作成方法の例 - - 15 濃度 (今) 風速 (今) 濃度 (未来)

    5 2.0 4 7 1.2 5 10 1.6 11 … … … 10 1.8 10 9 2.6 10 8 1.8 6 濃度 (今) 風速 (今) 濃度 (未来) 8 1.8 6 10 1.8 10 7 1.2 5 … … … 5 2.0 4 10 1.6 11 9 2.6 10 → 1回目の更新 → 2回目の更新 → K回目の更新 シャッフル ※これ以外の作成方法でも良い …
  13. ミニバッチの作成方法の例 - - 16 濃度 (今) 風速 (今) 濃度 (未来)

    5 2.0 4 7 1.2 5 10 1.6 11 … … … 10 1.8 10 9 2.6 10 8 1.8 6 濃度 (今) 風速 (今) 濃度 (未来) 8 1.8 6 10 1.8 10 7 1.2 5 … … … 5 2.0 4 10 1.6 11 9 2.6 10 エポック (epoch) → 1回目の更新 → 2回目の更新 → K回目の更新 シャッフル ※これ以外の作成方法でも良い …
  14.  ミニバッチSGDの更新則  ランダムにサンプルが選ばれる ので局所解から脱出しやすい  を独立に計算できるので、 GPU計算に向く  ミニバッチ学習(mini-batch

    learning)  1回の更新に訓練集合の一部 (ミニバッチ )を使用  更新ごとに損失関数の形状が 変わる ミニバッチSGD(再) - - 17 1サンプル毎 の損失 ミニバッチに含まれる インデックスの集合 勾配降下法との違いはこれがミニ バッチを表すようになっただけ
  15. 勾配降下法の課題: 更新時に振動したり停止したりするケース - - 18 https://en.wikipedia.org/wiki/Saddle_point 正負交互の急な勾配 (振動を起こす) プラトー(勾配が0) 鞍点(saddle

    point): 勾配は0であるが局所的 極小値ではない点
  16.  背景  正負交互の急な勾配(振動) を抑制したい  ステップtの勾配だけ利用するの ではなく、t-1の勾配も利用 (振動を打ち消し合うはず) モーメンタム法

    (the momentum method) - - 19
  17.  背景  正負交互の急な勾配(振動) を抑制したい  ステップtの勾配だけ利用するの ではなく、t-1の勾配も利用 (振動を打ち消し合うはず) 

    初期値 と を用意  モーメンタム法の更新則 ↑前回のρ割を使う  とすれば勾配降下法と同じ モーメンタム法 (the momentum method) - - 20
  18. 理解度確認 - - 21

  19. 理解度確認 以下について周りと相談して1分以内に答えよ 1. 3層ニューラルネットを構成する層は何と何と何と呼ばれるか? 2. 順伝播型ニューラルネットの英語名は何か? 3. 活性化関数の例を挙げよ。 4. Kクラス分類問題に対する交差エントロピー誤差関数を

    を使って 表せ。 - - 22
  20. 理解度確認 以下について周りと相談して1分以内に答えよ 1. 訓練集合とテスト集合の違いは何か? 2. 訓練集合と訓練サンプルの違いは何か? 3. ミニバッチ確率的勾配降下法の英語名は何か? 4. 損失関数の例を挙げよ。

    - - 23
  21.  背景  w1方向: 急な勾配  w2方向: 緩やか ↓ 

    同じ学習率だとw2方向の更新 が遅くなる  各パラメータ方向に応じて、学 習率の影響を変えたい →過去に更新が大きかった方向 の更新量を抑制しよう AdaGrad [Duchi+ 2011] 背景 - - 24
  22.  背景  w1方向: 急な勾配  w2方向: 緩やか ↓ 

    同じ学習率だとw2方向の更新 が遅くなる  各パラメータ方向に応じて、学 習率の影響を変えたい →過去に更新が大きかった方向 の更新量を抑制しよう  AdaGradの更新則 初期値 と を用意 AdaGrad [Duchi+ 2011] 更新則 - - 25 第i成分 ゼロ除算を避けるため 0.000001などを入れる
  23.  学習の初期に勾配が大きいと、 急激に が小さくなる (この部分は常に増大するため)  AdaGradの更新則 初期値 と を用意

    AdaGrad [Duchi+ 2011] 欠点 - - 26 第i成分 今後この式は 書かない ゼロ除算を避けるため 0.000001などを入れる
  24.  RMSpropの更新則 状態変数を1つ導入  AdaGradの更新則 初期値 と を用意 RMSprop 更新則

    - - 27 第i成分 今後この式は 書かない ゼロ除算を避けるため 0.000001などを入れる 分母が違う
  25.  RMSpropの更新則 状態変数を1つ導入  指数移動平均(exponential moving average) ↑ρ割をキープし、(1-ρ)割を新しい値に RMSprop 指数移動平均の利用

    - - 28 ρ=0.99 黒:ρ=0 ρ=0.9
  26.  RMSpropの更新則 状態変数を1つ導入  RMSpropの特徴  AdaGradに似ている  勾配の二乗和を学習率のスケー リングに用いる

     RMSpropの問題  学習率に鋭敏 学習率を変えると結果がガラッと 変わってしまう RMSprop 特徴と問題 - - 29 2乗平均の平方根なのでroot mean square (RMS)
  27.  RMSpropの更新則 状態変数を1つ導入  AdaDeltaの更新則 状態変数を2つ導入(2種類の移 動平均) ↑学習率を陽に持たない AdaDelta [Zeiler

    2012] 更新則 - - 30 2乗平均の平方根なのでroot mean square (RMS) 同じ
  28.  分子は学習率ではなく、更新量 のRMS  分母はRMSpropと同じ  AdaDeltaの更新則 状態変数を2つ導入=2種類の移 動平均を使う ↑学習率を陽に持たない

    AdaDelta [Zeiler 2012] RMSpropとの相違点 - - 31
  29.  現時点で、深層学習において最 も広く使われている 「とりあえずAdamで試す」  これまで紹介した手法を取り入 れている  AdaDeltaの更新則 状態変数を2つ導入=2種類の移

    動平均を使う ↑学習率を陽に持たない Adam [Kingma+ 2014] 特徴 - - 32
  30.  Adam  勾配の指数移動平均を使う点が AdaDeltaと異なる  AdaDeltaの更新則 状態変数を2つ導入=2種類の移 動平均を使う ↑学習率を陽に持たない

    Adam [Kingma+ 2014] 相違点 - - 33 同じ 違う
  31.  Adam  勾配の指数移動平均を使う点が AdaDeltaと異なる  Adamの更新則 真の値より0側に偏るので以下のよう に補正 ↑ρ1のt乗

    Adam [Kingma+ 2014] 更新則 - - 34
  32.  初期値をすべて0に設定すると学 習がうまく進まないことが多い ↓ 一様分布やガウス分布からサンプ ルする=「ランダムに初期化」 ↓ 分布の分散の選び方が学習の成否 につながる パラメータの初期値

    - - 35
  33.  初期値をすべて0に設定すると学 習がうまく進まないことが多い ↓ 一様分布やガウス分布からサンプ ルする=「ランダムに初期化」 ↓ 分布の分散の選び方が学習の成否 につながる 

    一様分布の例 パラメータの初期値 - - 36 「分布からサンプルする」こと を表す記号 口語で言うと、-1以上1以下の ランダムな数字を取ってきた
  34.  Xavierの初期化(Xavier initialization)  一様分布の例 パラメータの初期値 Xavierの初期化 [Glorot+ 2010] -

    - 37 「分布からサンプルする」こと を表す記号 口語で言うと、-1以上1以下の ランダムな数字を取ってきた 番目の隠れ層のノード数 番目の隠れ層への重み
  35.  Xavierの初期化(Xavier initialization)  Heの初期化(He initialization) パラメータの初期値 Heの初期化 [He+ 2015]

    - - 38 番目の隠れ層のノード数 • Xavier(ゼイビア)はfirst nameだが、 He(ヒー)はfamily nameである。一貫 していないが慣習に従う • 発音にも混乱がある(本講義では講演音 声から聞き取った発音を使う) 番目の隠れ層への重み
  36. 本講義全体の参考図書  ★機械学習スタートアップシリーズ これならわかる深層学習入門 瀧 雅人著 講談社(本講義では、異なる表記を用いることがあるので注意)  ★Dive into

    Deep Learning (https://d2l.ai/)  画像認識 (機械学習プロフェッショナルシリーズ) 原田達也著 講談 社  深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ) 坪井祐太、海野裕也、鈴木潤 著、講談社  東京大学工学教程 情報工学 機械学習 中川 裕志著、東京大学工学教 程編纂委員会編 丸善出版  パターン認識と機械学習 上・下 C.M. ビショップ著 丸善出版 - - 39
  37. 参考文献 1. 金谷 健一, これなら分かる最適化数学―基礎原理から計算手法まで, 共立出版, 2005. 2. https://qiita.com/omiita/items/1735c1d048fe5f611f80 3.

    Duchi, J., Hazan, E., & Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. JMLR, 12(7). 4. Zeiler, M. D. (2012). Adadelta: an adaptive learning rate method. arXiv preprint arXiv:1212.5701. 5. Kingma, D. P., & Ba, J. (2014). Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980. 6. Glorot, X., & Bengio, Y. (2010). Understanding the difficulty of training deep feedforward neural networks. In Proc. AISTATS (pp. 249-256). 7. He, K., Zhang, X., Ren, S., & Sun, J. (2015). Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In Proc. IEEE ICCV (pp. 1026-1034). - - 40
  38. 実習 - - 41

  39. 実習  わからなければ手を挙げてください→TAが対応します  詳しい人は他の人に積極的に教えてください  実習課題の場所:Canvasから辿る - - 42

  40. 情報工学科 准教授 杉浦孔明 Email: komei.sugiura@keio.jp Slack: 1_sugiura.komei 慶應義塾大学理工学部 機械学習基礎 第3回