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

Keio Univ intro to ml 2021 07

Keio Univ intro to ml 2021 07

Transcript

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

  2. 再帰型ニューラルネット(発展) - - 5

  3. 第6回の復習 単純なRNN  FFNNの隠れ層(中間層)に再帰構造をもたせる  出力 は入力 の関数  過去の情報の保持が可能

     可変長の系列データを扱うことが可能 FFNN RNN - - 6
  4. RNNの問題点  勾配消失・爆発  時間方向に展開したRNN: 層の多い(深い)FFNN  入力系列長分の深さを有する  FFNNと同様に何度も重みと活性化関数の微分を掛け合わせる

    (RNNの場合は各時刻で重みを共有しているためFFNNより深刻)  短期的な記憶(short-term memory)は可能  長期的な記憶(long-term memory)は難しい  2021年時点では、単純なRNNは実用ではほぼ使用されない  →LSTM(今回紹介)やtransformer(今後紹介)が利用されている - - 7
  5. GRU [Cho+ 2014] - - 8 GRU(gated recurrent unit, ゲー

    ト付き回帰型ユニット)  短期と長期の記憶のバランスを 調整可能  GRUの構成 ① Resetゲート ② Updateゲート ③ Candidate hidden state(隠れ 状態候補) ④ 隠れ状態(hidden state)  RNNとの違い この部分が複雑化されている
  6. GRU ①resetゲート - - 9 ①Resetゲート:短期的関係  はシグモイド関数なので、 の各次元は0から1の値 

    resetゲートの次元数=隠れ状態 の次元数  開発者は隠れ状態の次元数を 決める 入力 隠れ状態 (1時刻前) バイアス  RNNとの違い この部分が複雑化されている
  7. GRU ①resetゲートの要素表現の例 - - 10 ①Resetゲート:短期的関係  はシグモイド関数なので、 の各次元は0から1の値 

    resetゲートの次元数=隠れ状態 の次元数  開発者は隠れ状態の次元数を 決める 入力 隠れ状態 (1時刻前) バイアス  例  入力:1次元、隠れ状態:2 次元の場合の要素表現
  8. GRU ②Updateゲート - - 11 ①Resetゲート:短期的関係 ②Updateゲート:長期的関係  数式上はresetゲートと似ている 

    0から1の値をとる  Updateゲートの次元数=隠れ状 態の次元数  例  入力:1次元、隠れ状態:2 次元の場合の要素表現
  9. GRU ResetゲートとUpdateゲートの概略図 - - 12 ①Resetゲート:短期的関係 ②Updateゲート:長期的関係  数式上はresetゲートと似ている 

    0から1の値をとる  Updateゲートの次元数=隠れ状 態の次元数 https://d2l.ai/chapter_recurrent-modern/gru.html
  10. GRU ③Candidate hidden state - - 13 ①Resetゲート:短期的関係 ②Updateゲート:長期的関係 ③隠れ状態候補(-1から1の値)

    アダマール積(Hadamard product):要素ごとの積 0なら は考慮されない
  11. GRU ③Candidate hidden stateの概略図 - - 14 ①Resetゲート:短期的関係 ②Updateゲート:長期的関係 ③隠れ状態候補(-1から1の値)

    アダマール積(Hadamard product):要素ごとの積
  12. GRU ④隠れ状態 - - 15 ①Resetゲート:短期的関係 ②Updateゲート:長期的関係 ③隠れ状態候補 ④隠れ状態 ←

    の指数移動平均(忘却できる)  Resetゲートとupdateゲートの バランスで隠れ状態を制御する 1なら は考慮されない
  13.  RMSpropの更新則 状態変数を1つ導入  指数移動平均(exponential moving average) ↑ρ割をキープし、(1-ρ)割を新しい値に 【復習】RMSprop 指数移動平均の利用

    - - 16 ρ=0.99 ρ=0 ρ=0.9
  14. GRU 全体の概略図 - - 17 ①Resetゲート:短期的関係 ②Updateゲート:長期的関係 ③隠れ状態候補 ④隠れ状態 ←

    の指数移動平均(忘却できる)
  15. LSTM [Hochreiter+ 1997] - - 18  LSTM (long short-term

    memory, 長・短期記憶)  GRUより複雑  GRUとほぼ同じ性能(タスクにより異なるという報告あり)  GRUより17年前に提案され、DNN時代に再注目された
  16. LSTMの構成 - - 19 ①入力ゲート(input gate) ②忘却ゲート(forget gate) ③出力ゲート(output gate)

    ④candidate memory cell(メモリーセル候補) ⑤メモリーセル(memory cell) →長期情報を保持 ⑥隠れ状態
  17. LSTM 入力ゲート・忘却ゲート・出力ゲート・メモリーセル候補 - - 20  ①②③入力・忘却・出力ゲート と④メモリーセル候補

  18. LSTM 入力ゲート・忘却ゲート・出力ゲート・メモリーセル候補 - - 21  ①②③入力・忘却・出力ゲート と④メモリーセル候補  入力・忘却・出力ゲートは、

    GRUのreset/updateゲートと似 ている  同じ活性化関数  隠れ状態と同じ次元数 GRUの隠れ状態候補にはresetゲー トがあったが、メモリーセル候補 にはない
  19. LSTM 入力/忘却/出力ゲート・メモリーセル候補の概略図 - - 22  ①②③入力/忘却/出力ゲートと ④メモリーセル候補

  20. LSTM メモリーセル - - 23  ①②③入力/忘却/出力ゲートと ④candidate memory cell

     ⑤メモリーセル  忘却ゲートは、過去情報をどれ だけキープするかに影響  入力ゲートは、現状情報の影響 を制御 GRUでは指数移動平均だった
  21. LSTM メモリーセルの概略図 - - 24  ①②③入力/忘却/出力ゲートと ④candidate memory cell

     ⑤メモリーセル GRUでは指数移動平均だった
  22. LSTM 隠れ状態 - - 25  ①②③入力/忘却/出力ゲートと ④candidate memory cell

     ⑤メモリーセル  ⑥隠れ状態  隠れ状態は-1から1の値  出力ゲートは0から1  tanhは-1から1  GRUと異なり、メモリーセルを 経由してから隠れ状態を求める  GRUは出力ゲートを持たない
  23. LSTM 全体の概略図 - - 26  ①②③入力/忘却/出力ゲートと ④candidate memory cell

     ⑤メモリーセル  ⑥隠れ状態
  24. 理解度確認 - - 27

  25. 理解度確認 以下について周りと相談して1分以内に答えよ 1. 系列データと時系列の違いは何か? 2. 通時的誤差逆伝播の英語名 3. デルタを使って、 を表せ -

    - 28
  26. 理解度確認 以下について周りと相談して1分以内に答えよ 1. 畳み込みの英語名を答えよ 2. (ニューラルネットにおける)畳み込みと行列積の違いは何か 3. MNISTの画像サイズを答えよ 4. ゼロパディングとは何か?

    - - 29
  27. 理解度確認 以下について周りと相談して1分以内に答えよ 1. 汎化誤差とは何か? 2. 検証用集合の英語名は何か? 3. 正則化とは何か? 1. (注意:緑本の定義でなく、PRMLの定義に従う)

    4. ドロップアウト操作を、出力hjと確率pを用いて表せ - - 30
  28. 本編に戻る - - 31

  29. 自己符号化器 - - 32

  30. 自己符号化器(Autoencoder, AE) - - 33  背景  実応用データはしばしば次元 数が大きいが、全ての次元が

    重要な訳ではない  例:MNISTでは784次元、 4000x3000白黒画像では 1200万次元  データの特性に応じて偏って 分布しているので、コンパク トな表現に変換したい 応用例:  次元削減(dimensionality reduction)  異常検出(anomaly detection)  可視化(visualization) https://douglasduhaime.com/posts/visualizing-latent-spaces.html
  31. 自己符号化器 - - 34  を入力として、 自身を 再現するモデル  教師なし学習の一種

     を の良い近 似としたい  教師あり学習との違い  を の良い近 似としたい
  32. 自己符号化器の例: 2層ニューラルネット - - 35  重みW、バイアスb、潜在表現h を用いた2層ニューラルネット  符号化(encode):

     復号化(decode): の次元数より小さい 符号化器 (encoder) 復号化器 (decoder)
  33. 自己符号化器の例: 実数値入力に対する活性化関数と誤差関数 - - 36  重みW、バイアスb、潜在表現h を用いた2層ニューラルネット ①入力が実数値の場合 

    活性化関数:恒等写像  誤差関数:二乗誤差 より小さい次元 符号化器 (encoder) 復号化器 (decoder)
  34. 自己符号化器の例: 2値入力に対する活性化関数と誤差関数 - - 37  重みW、バイアスb、潜在表現h を用いた2層ニューラルネット ①入力が実数値の場合 

    活性化関数:恒等写像  誤差関数:二乗誤差 ②入力が2値(0または1)の場合  活性化関数:シグモイド関数  誤差関数:  交差エントロピー誤差 自己符号化器の誤差は出力をどれだけ 再現できたかを表すため、再構成損失 (reconstruction error)とも呼ばれる
  35. 自己符号化器の例: 重み共有 - - 38  重みW、バイアスb、潜在表現h を用いた2層ニューラルネット  と

    の構造が対 称であれば、 をすべて 学習可能とする必要はない →以下の重み共有を行う より小さい次元 符号化器 (encoder) 復号化器 (decoder) 仮に学習可能としたとしてもこの形が最適なので、学習可能 とする必要がない(=過剰なモデルとならないようにする)
  36. 本講義全体の参考図書  ★機械学習スタートアップシリーズ これならわかる深層学習入門 瀧 雅人著 講談社(本講義では、異なる表記を用いることがあるので注意)  ★Dive into

    Deep Learning (https://d2l.ai/)  画像認識 (機械学習プロフェッショナルシリーズ) 原田達也著 講談 社  深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ) 坪井祐太、海野裕也、鈴木潤 著、講談社  東京大学工学教程 情報工学 機械学習 中川 裕志著、東京大学工学教 程編纂委員会編 丸善出版  パターン認識と機械学習 上・下 C.M. ビショップ著 丸善出版 - - 39
  37. 参考文献  Hochreiter, S., & Schmidhuber, J. (1997). Long short-term

    memory. Neural computation, 9(8), 1735-1780.  Cho, K., Van Merriënboer, B., Bahdanau, D., & Bengio, Y. (2014). On the properties of neural machine translation: Encoder-decoder approaches. arXiv preprint arXiv:1409.1259. - - 40