要点まとめ・第5章 ディープラーニングの要素技術
回帰結合層(シラバス 技術22)
学習目標
前の時刻の情報を次の時刻へ受け渡す回帰結合層と、それを含むリカレントニューラルネットワーク(RNN)の仕組みを理解し、向いているデータの性質、学習の方法、学習で起きる問題とその対策を説明できるようにします。
要点
回帰結合層とRNN
回帰結合層は、ある時刻の中間層の状態を、次の時刻の入力と一緒に同じ層へ戻す結合を持つ層です。この層を含むネットワークがリカレントニューラルネットワーク(RNN)です。各時刻で同じ重みを使い回し、それまでの入力の要約を状態として持ち運びます。
向いているデータ
RNNは、並び順に意味がある時系列データや系列データに向いています。株価やセンサーの値、音声、文章が例です。データごとに系列の長さが違っても、同じ層を時刻の数だけ繰り返して処理できます。
初期の構造
- エルマンネットワーク:中間層の出力を、次の時刻の中間層へ戻します。
- ジョルダンネットワーク:出力層の出力を、次の時刻の中間層へ戻します。
学習の方法と課題
RNNを時間方向に展開すると、時刻の数だけ層が重なった深いネットワークとみなせます。そこで、時刻をさかのぼりながら誤差逆伝播法を適用します。これをBPTT(Backpropagation Through Time)と呼びます。
さかのぼる時刻が増えるほど、同じ重みによる掛け算が何度も重なります。その結果、勾配が0に近づいて遠い過去の影響を学べなくなる勾配消失問題や、勾配が極端に大きくなって学習が不安定になる勾配爆発問題が起きます。勾配爆発には、勾配の大きさに上限を設ける勾配クリッピングが使われます。
ゲート機構を持つRNN
勾配消失への代表的な対策が、情報をどれだけ通すかを0から1の値で調整するゲート機構です。
- LSTM:情報を保つ記憶セルを持ち、入力ゲート、出力ゲート、忘却ゲートで、書き込み、読み出し、忘却を調整します。長い系列でも過去の情報を保ちやすくなります。
- GRU:LSTMを簡略にした構造で、更新ゲートとリセットゲートの2つを使います。記憶セルを別に持たず、パラメータが少ないぶん計算も軽くなります。
双方向RNN(Bidirectional RNN)
系列を前から読むRNNと後ろから読むRNNを組み合わせ、各時刻で前後両方の文脈を使います。文中の単語の品詞を判定するなど、系列全体が手元にそろっている処理に向いています。
教師強制
文章の生成のように、ある時刻の出力を次の時刻の入力にするモデルでは、学習の初期に誤った予測が入力されると、その後の学習が崩れやすくなります。教師強制は、学習時に1つ前の時刻の正解を入力として与える方法です。学習は安定して速く進みます。ただし、推論時は自分の予測を入力に使うため、学習時との条件のずれが残ります。
つまずきやすい点
- エルマンネットワークは中間層の出力を、ジョルダンネットワークは出力層の出力を次の時刻に戻す、という違い
- 勾配消失問題にはLSTMやGRUのゲート機構、勾配爆発問題には勾配の大きさに上限を設ける勾配クリッピングが代表的な対策である点
- 双方向RNNは系列の後ろの情報も使うため、系列全体がそろってから処理する場面に向き、1時刻ずつ先を予測する用途には使いにくい点
- 教師強制は、学習中に1つ前の時刻の入力として、モデル自身の予測ではなく正解を与える方法である点
シラバスのキーワード
シラバス第1.4版に載っている語をすべて並べています。色のついた語は用語集で解説しています。「2問」などの数字は、その語を扱う練習問題の数です。
練習問題
- #0055 LSTMとGRUのゲート機構 難易度 標準・単一選択 未回答 付箋
- #0056 エルマン型とジョルダン型RNN 難易度 基礎・組合せ 未回答 付箋
- #0057 双方向RNNの適用条件 難易度 応用・単一選択 未回答 付箋
- #0187 RNN層のパラメータ数 難易度 標準・単一選択 未回答 付箋
- #0188 BPTTの逆伝播の進め方 難易度 基礎・単一選択 未回答 付箋
- #0189 教師強制と推論時のずれ 難易度 応用・単一選択 未回答 付箋
- #0190 RNNの入出力の対応形式 難易度 基礎・組合せ 未回答 付箋
- #0191 LSTMの記憶セルの更新計算 難易度 標準・単一選択 未回答 付箋
- #0192 双方向RNNの内部構造 難易度 基礎・単一選択 未回答 付箋
- #0383 GRUの2つのゲートの役割 難易度 標準・単一選択 未回答 付箋
- #0384 BPTTの打ち切りと学習範囲 難易度 応用・単一選択 未回答 付箋
- #0385 長期依存の学習とモデル選択 難易度 基礎・単一選択 未回答 付箋
- #0386 RNNの隠れ状態の順伝播計算 難易度 基礎・単一選択 未回答 付箋
復習の時期が来た問題と、まだ解いていない問題から順に出題します。
混同しやすい用語
この項目の関連用語
この項目を読み終えたら
読んだ項目にチェックをつけると、学習ガイドの目次に記録されます。
前後の項目
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目22 回帰結合層)
- Jeffrey L. Elman, Finding Structure in Time, Cognitive Science 14(2), 179–211 (1990)
- Michael I. Jordan, Serial Order: A Parallel Distributed Processing Approach, Advances in Psychology, 471–495 (1997; 1986年の技術報告を収録)
- Paul J. Werbos, Backpropagation Through Time: What It Does and How to Do It, Proceedings of the IEEE 78(10), 1550–1560 (1990)
- Ronald J. Williams, David Zipser, A Learning Algorithm for Continually Running Fully Recurrent Neural Networks, Neural Computation 1(2), 270–280 (1989)
- Razvan Pascanu, Tomas Mikolov, Yoshua Bengio, On the difficulty of training Recurrent Neural Networks (2012)
- Sepp Hochreiter, Jürgen Schmidhuber, Long Short-Term Memory, Neural Computation 9(8), 1735–1780 (1997)
- Felix A. Gers, Jürgen Schmidhuber, Fred Cummins, Learning to Forget: Continual Prediction with LSTM, Neural Computation 12(10), 2451–2471 (2000)
- Kyunghyun Cho et al., Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (2014)
- Mike Schuster, Kuldip K. Paliwal, Bidirectional Recurrent Neural Networks, IEEE Transactions on Signal Processing 45(11), 2673–2681 (1997)