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

慶應義塾大学 機械学習基礎08 再帰型ニューラルネット

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

慶應義塾大学 機械学習基礎08 再帰型ニューラルネット

More Decks by Semantic Machine Intelligence Lab., Keio Univ.

Other Decks in Technology

Transcript

  1. 本講義の到達目標と今回の授業の狙い - - 9 本講義の到達目標 ▪ DNNの基礎理論と実装の関係を理解する ▪ 種々のDNNをコーディングできる 今回の授業の狙い

    ▪ 再帰型ニューラルネットの基礎を習得する ▪ 出席確認: K-LMS上の機械学習基礎のMainページへアクセス
  2. 系列データとは ▪ 順序を持った要素の集まり:「列」 ▪ 例 ▪ 時系列 ▪ 音声・音楽 ▪

    自然言語 ▪ 塩基配列 - - 11 日本語・英語など 人工言語でない言語
  3. 系列データとは ▪ 順序を持った要素の集まり:「列」 ▪ 長さ がサンプルごとに違う ▪ 説明の都合上、インデックスを時刻と呼ぶ ▪ 扱いたい問題の例

    ▪ を考慮して から を 予測する ▪ を集約し潜在表現を作る - - 12 https://imagen.research.google/ 赤いコートをまとい,本を 読みながらラウンジチェア に座り,大森林の中にいる ハリネズミの写真 例えば文は時間とは関係ないが、 便宜上、時刻と呼ぶ 潜在表現 例えば文の意味が数値化 されたと考えれば良い
  4. 順伝播型ニューラルネット(FFNN)で系列データを扱う と何が問題か? ▪ 過去の情報を保持できない ▪ を逐次入力とした場合, 出力 は入力 の関数となり 過去の入力

    は考慮されないため ▪ 可変長の系列データを扱うことができない ▪ を一括入力とした場合, 長さ をサンプル間で共通とする必要があるため FFNN - - 13 ※いくつかの仮定を置けばFFNN (系列全体入力)でも可能
  5. 順伝播計算 ▪ 隠れ層 ▪ 出力層 - - 15 LSTM(後述)ではこの部分が複雑 になっている

    入力層から隠れ層への重み 隠れ層から隠れ層 〃 隠れ層から出力層 〃
  6. CNNとRNNの違い 畳み込みニューラルネット(CNN) ▪ 画像データの特性に応じてデザインされたネットワーク ▪ 畳み込み層・プーリング層 ▪ 誤差逆伝播(backpropagation)を用いた勾配降下法による学習 再帰型ニューラルネット(recurrent neural

    network, RNN) ▪ 系列データの特性に応じてデザインされたネットワーク ▪ 再帰構造を有する隠れ層 ▪ 通時的誤差逆伝播(backpropagation through time: BPTT)を 用いた勾配降下法による学習 - - 19
  7. 自己回帰的な予測を行う場合の問題 ▪ テスト時: 予測結果 を入力 として用いる ▪ 訓練時 : 上記を行うと連鎖的に誤差増大

    ▪ 学習の不安定化 ▪ 収束の遅れ … … - - 20 自己回帰的(autoregressive) =時刻tにおける出力が時点t以前の 出力に依存
  8. RNNの問題点 - - 33 ▪ 逆伝播計算において、何度も 重みと活性化関数の微分を掛け 合わせるため、勾配消失・爆発 が起こりやすい ▪

    RNNは深いFFNNと見なせる ↑深いFFNNでは勾配消失・ 爆発が深刻 ▪ (各時刻で重みを共有してい るためFFNNより深刻)
  9. RNNの問題点 - - 34 ▪ 逆伝播計算において、何度も 重みと活性化関数の微分を掛け 合わせるため、勾配消失・爆発 が起こりやすい ▪

    RNNは深いFFNNと見なせる ↑深いFFNNでは勾配消失・ 爆発が深刻 ▪ (各時刻で重みを共有してい るためFFNNより深刻) 単純なRNNは長い系列を不得意と するため実用性が低い 代わりにLSTMやトランス フォーマ(今後紹介)が台頭 単純RNNには10時刻以上の 長期的な記憶(long-term memory)が難しい
  10. RNN / GRU / LSTM - - 35 RNN 

    これまでに説明してきたモデル Gated recurrent unit (GRU) [Cho+ 2014]  LSTMを単純化した構造 Long short-term memory (LSTM) [Hochreiter+ 1997]  GRUより知名度が高いが複雑
  11. LSTM (long short-term memory, 長・短期記憶) [Hochreiter+ 1997] - - 36

    ▪ DNN時代より前に提案され、DNN時代に再注目された ▪ 短期と長期の記憶のバランスを調整可能 RNNの弱点を克服 ▪ 構造の特徴 ▪ メモリーセル:RNNの中間層のユニットの代わり ▪ ゲート機構
  12. LSTMの構成 - - 37 ①入力ゲート(input gate) ②忘却ゲート(forget gate) ③出力ゲート(output gate)

    ④入力ノード(input node) ⑤メモリーセル(memory cell) →長期情報を保持 ⑥隠れ状態 Input node
  13. LSTM ①入力ゲート - - 38 ①入力ゲート ▪ はシグモイド関数なので、 の各次元は0から1の値 ▪

    入力ゲートの隠れ状態の次元数 を問題に合わせて決める ▪ RNNとの違い この部分が複雑化されている 入力 隠れ状態 (1時刻前) バイアス
  14. LSTM ①入力ゲート - - 39 ①入力ゲート ▪ はシグモイド関数なので、 の各次元は0から1の値 ▪

    入力ゲートの隠れ状態の次元数 を問題に合わせて決める ▪ 入力ゲートは現状情報の影響を 制御(後述) ▪ 例 ▪ 入力:1次元、隠れ状態:2 次元の場合の要素表現 入力 隠れ状態 (1時刻前) バイアス
  15. LSTM ②忘却ゲートと③出力ゲート - - 40 ①入力ゲート ②忘却ゲート ③出力ゲート ▪ 数式上は②③と①は似ている

    ▪ 例 ▪ 入力:1次元、隠れ状態:2 次元の場合の要素表現 忘却ゲートは、過去情報をどれだけ キープするかに影響
  16. LSTM ⑥隠れ状態 - - 45 ▪ ①入力ゲート②忘却ゲート③出 力ゲート④入力ノード ▪ ⑤メモリーセル

    ▪ ⑥隠れ状態 ▪ 隠れ状態は-1から1の値 ▪ 出力ゲートは0から1 ▪ tanhは-1から1
  17. エンコーダ・デコーダモデル 異なるデータへの変換を学習  End-to-end 学習  入力 (変換元)を符号化することで特徴量(潜在表現) を抽出 

    特徴量 を復号化することで出力 (変換先)を生成 - - 47 入力 出力 FFNN / CNN / RNN FFNN / CNN / RNN 目標 誤差 エンコーダ (符号化器) デコーダ (復号化器) 特徴量 (潜在表現)
  18. Sequence-to-sequence(Seq2Seq)学習 [Sutskever+ 2014] - - 49 応用例  翻訳 /

    文書要約 / 対話 / 質問応答 仕組み  RNNエンコーダで翻訳元言語の文(例:英語)を読み込む   RNNエンコーダの隠れ層の最終状態をRNNデコーダに入れる   RNNデコーダで翻訳先言語の 文(例:フランス語)を 生成する
  19. 本講義全体の参考図書 - - 50 ▪ ★機械学習スタートアップシリーズ これならわかる深層学習入門 瀧雅人著 講談 社(本講義では、異なる表記を用いることがあるので注意)

    ▪ ★Dive into Deep Learning (https://d2l.ai/) ▪ 深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ) 岡谷貴之著 講談社 ▪ ディープラーニングを支える技術 岡野原大輔著 技術評論社 ▪ 画像認識 (機械学習プロフェッショナルシリーズ) 原田達也著 講談社 ▪ 深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ) 坪井祐太、 海野裕也、鈴木潤 著、講談社 ▪ 東京大学工学教程 情報工学 機械学習 中川 裕志著、東京大学工学教程編纂委員会 編 丸善出版 ▪ パターン認識と機械学習 上・下 C.M. ビショップ著 丸善出版
  20. 参考文献 - - 51 1. Hochreiter, S., & Schmidhuber, J.

    (1997). Long short-term memory. Neural computation, 9(8), 1735-1780. 2. 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.
  21. 実習 - - 53 実習の目的 ▪ コーディングと基礎理論の関係を学ぶ 実習課題の場所 ▪ K-LMSから辿る

    実習に関する質問 ▪ ChatGPTに説明させる ▪ 教科書で調べる・検索・周囲と相談(私語禁止ではありません) ▪ 上記で解消しなければ挙手→TAが対応
  22. GRU [Cho+ 2014] - - 55 GRU(gated recurrent unit, ゲー

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

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

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

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

    0から1の値をとる ▪ Updateゲートの次元数=隠れ状 態の次元数 https://d2l.ai/chapter_recurrent-modern/gru.html
  27. GRU ④隠れ状態 - - 62 ①Resetゲート:短期的関係 ②Updateゲート:長期的関係 ③隠れ状態候補 ④隠れ状態 ▪

    Resetゲートとupdateゲートの バランスで隠れ状態を制御する ← の指数移動平均(忘却できる) 1なら は考慮されない