G検定 › Web参考書 › 第5章

回帰結合層とRNN(BPTT、LSTM、GRU、双方向RNN、教師強制)

第5章 ディープラーニングの要素技術 / 節 6

シラバスのキーワード: リカレントニューラルネットワーク (RNN)時系列データBPTTLSTMゲート機構CECGRU双方向RNN (Bidirectional RNN)エルマンネットワークジョルダンネットワーク教師強制勾配消失問題勾配爆発問題

本文を読んだあと、覚えているか確認してください。

RNNの構造

回帰結合層は前の時刻の出力(隠れ状態)を現在の入力とともに受け取る層で、これを持つネットワークがRNNです。同じ重みを各時刻で繰り返し使い、系列の情報を隠れ状態として保持するため、時系列データやテキストのように順序と文脈に意味があるデータに適しています。

隠れ層の出力を次の時刻の隠れ層に戻す構造をエルマンネットワーク、出力層の出力を戻す構造をジョルダンネットワークといいます。

学習方法:BPTT

RNNを時間方向に展開して各時刻を1つの層とみなし、誤差逆伝播法を時間をさかのぼって適用します。展開した層数が多くなるため、長い系列では勾配消失・勾配爆発が起きやすくなります。勾配爆発には勾配クリッピング、勾配消失にはLSTMが対策です。

LSTM

長期の依存関係を学習できるように、記憶セル(CEC: Constant Error Carousel)とゲート機構を導入したモデルです。CECは誤差を一定のまま時間方向に伝えて勾配消失を防ぎ、入力ゲート・出力ゲート・忘却ゲートがCECに何を書き込み、読み出し、忘れるかを制御します。

GRUはLSTMを簡略化し、リセットゲートと更新ゲートの2つでパラメータを減らしたモデルです。

双方向RNN

過去から未来への順方向と、未来から過去への逆方向の2つのRNNを組み合わせ、両方向の文脈を使うモデルです。文全体が与えられる翻訳や品詞タグ付けで有効です。

教師強制

系列を生成するRNNの学習で、前の時刻のモデルの出力ではなく正解の系列を次の時刻の入力として与える方法です。学習が安定・高速化しますが、推論時は自分の出力を使うため、学習と推論の条件のずれ(露出バイアス)が課題です。

試験で問われる観点

この節の練習問題(9問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    リカレントニューラルネットワーク(RNN)の構造と学習方法の説明として最も適切なものを選びなさい。
    1. 1隠れ層の出力を次の時刻の隠れ層に入力として戻す回帰結合を持ち、時間方向に展開したネットワークに誤差逆伝播を適用するBPTT(Backpropagation Through Time)で学習する
    2. 2入力画像の局所領域にカーネルをずらしながら適用して特徴を抽出する畳み込み結合を持ち、時間方向には展開せず、各層を通常の誤差逆伝播(Backpropagation)で学習する
    3. 3入力を低次元の潜在ベクトルに圧縮するエンコーダと、そこから入力を復元するデコーダを持ち、復元誤差を最小化するように時間方向には展開せず通常の誤差逆伝播で学習する
    4. 4隠れ層の出力を次の時刻の隠れ層に入力として戻す回帰結合を持つが、誤差逆伝播は適用できないため、時刻ごとに独立した勾配を計算して平均するBPTT(Backpropagation Through Time)で学習する
    答えと解説

    正解: 1

    RNNは、各時刻の入力に加えて前の時刻の隠れ状態を受け取ることで、過去の情報を保持しながら系列データを処理します。学習では、時間方向に展開して1つの深いネットワークとみなし、誤差逆伝播を時間をさかのぼって適用するBPTTを用います。系列が長いと展開後のネットワークが深くなり、勾配消失・勾配爆発が起きやすくなります。カーネルによる抽出はCNN、圧縮と復元はオートエンコーダ、生成器と識別器はGANの説明です。

  2. 問2
    LSTM(Long Short-Term Memory)が単純なRNNの問題を解決した仕組みとして最も適切なものを選びなさい。
    1. 1隠れ層の間にスキップ結合を導入して入力をそのまま出力に足し合わせ、各層が入力との差分だけを学習するようにすることで、隠れ層を深く積み重ねても勾配消失が起きないようにした
    2. 2情報を保持するメモリセルと、入力ゲート・出力ゲート・忘却ゲートからなるゲート機構を導入し、必要な情報を長期間保持し不要な情報を忘れることで、長い系列での勾配消失を緩和した
    3. 3更新ゲートとリセットゲートの2つのゲートだけでメモリセルを持たない簡略化した構造を導入し、パラメータ数を減らして計算を軽くすることで、長い系列での勾配爆発を防いだ
    4. 4系列を順方向と逆方向の2つの隠れ層で同時に読み込み、両方の出力を結合して各時刻の表現を得ることで、過去だけでなく未来の文脈も参照できるようにし、勾配消失を解消した
    答えと解説

    正解: 2

    単純なRNNは系列が長くなると初期の情報が薄れ、勾配消失によって長期の依存関係を学習できませんでした。LSTMは、誤差をそのまま伝えられるメモリセル(CEC: 定誤差カルーセル)と、書き込み・読み出し・消去を制御する3つのゲートを持つことで、長期の情報を保持しながら学習できるようにしました。GRUはゲートを更新ゲートとリセットゲートの2つに簡略化した軽量版です。

  3. 問3
    RNNの派生モデルに関する記述として、最も適切なものを選びなさい。
    1. 1エルマンネットワークは隠れ層の出力を次の時刻の隠れ層に戻す構造に畳み込み層を組み合わせたRNNで、ジョルダンネットワークは出力層の値をAttentionで重みづけして次の時刻に戻すRNNである
    2. 2双方向RNNは順方向の処理しか行わないため未来の入力を利用できず機械翻訳には使えないモデルで、GRUはLSTMの出力ゲートだけを残して更新ゲートとリセットゲートを廃止したモデルである
    3. 3GRUはLSTMのゲートを更新ゲートとリセットゲートの2つに簡略化したモデルで、双方向RNNは系列を順方向と逆方向の両方から処理して、前後両方の文脈を利用できるようにしたモデルである
    4. 4GRUはLSTMのゲートに入力ゲートと忘却ゲートを追加して4つに増やした高精度なモデルで、双方向RNNは同じ系列を順方向に2回読み込むことで、長期の依存関係を記憶できるようにしたモデルである
    答えと解説

    正解: 3

    GRU(Gated Recurrent Unit)はLSTMのメモリセルを廃し、更新ゲートとリセットゲートの2つで情報の流れを制御する軽量なモデルで、LSTMと同程度の性能を少ないパラメータで実現します。双方向RNNは順方向と逆方向の2つのRNNを組み合わせ、ある時刻の出力に前後両方の文脈を反映できるため、翻訳や固有表現抽出などで有効です。エルマンネットワークは隠れ層の出力を、ジョルダンネットワークは出力層の出力を次の時刻に戻す初期のRNNです。

  4. 問4
    系列を生成するRNNの学習において、前の時刻のモデルの出力ではなく正解の系列を次の時刻の入力として与える学習方法を( )という。括弧に入る語として最も適切なものを選びなさい。
    1. 1早期終了(early stopping)
    2. 2ドロップアウト(dropout)
    3. 3データ拡張(augmentation)
    4. 4教師強制(teacher forcing)
    答えと解説

    正解: 4

    教師強制は、学習時に各時刻の入力として自分の予測ではなく正解データを与える方法で、誤った予測が連鎖して学習が不安定になるのを防ぎ、収束を速めます。ただし推論時には自分の出力を入力に使うため、学習時と条件が異なる(露出バイアス)という課題があります。早期終了、ドロップアウト、データ拡張は過学習対策の手法です。

  5. 問5
    RNNの学習方法であるBPTT(Backpropagation Through Time)の説明として、最も適切なものを選びなさい。
    1. 1RNNの時間方向の重みは固定したまま、入力側と出力側の重みだけを各時刻で独立に誤差逆伝播法で更新する
    2. 2未来の時刻の入力を先に読み込んで隠れ状態を計算し、その状態を使って過去の時刻の出力を順に決めていく
    3. 3RNNを時間方向に展開して各時刻を1つの層とみなし、通常の誤差逆伝播法を時間をさかのぼって適用する
    4. 4各時刻の出力を独立した教師あり学習の問題として扱い、時刻間の隠れ状態の依存関係は勾配計算では無視する
    答えと解説

    正解: 3

    RNNは同じ重みを各時刻で繰り返し使うため、時間方向に展開すると深いネットワークとみなせます。BPTTはこの展開したネットワークに誤差逆伝播法を適用し、時間をさかのぼって勾配を計算します。展開した層数が多くなるため勾配消失・爆発が起きやすく、その対策としてLSTMや勾配クリッピングが使われます。未来の入力も使うのは双方向RNNの考え方です。

  6. 問6
    次のデータのうち、RNNやLSTMのような回帰結合層を持つモデルが最も適しているものを選びなさい。
    1. 11枚の静止画像に写っている物体の種類を判定する画像データ
    2. 2独立した商品ごとの重量と価格の対応データ
    3. 3顧客の年齢と年収から購入確率を予測する表形式データ
    4. 4店舗の過去数年分の日ごとの売上から翌週の売上を予測する時系列データ
    答えと解説

    正解: 4

    回帰結合層は、前の時刻の情報を内部状態として保持しながら系列を順に処理するため、時系列データやテキストのように順序と文脈に意味があるデータに適しています。表形式データや独立した対応データには順序の構造がなく、静止画像は畳み込み層の方が適しています。

  7. 問7
    LSTMの内部で、過去の情報を減衰させずに保持するための「記憶セル」に相当し、勾配消失を防ぐ役割を果たす仕組みを( )という。括弧に入る語として最も適切なものを選びなさい。
    1. 1CEC(Constant Error Carousel)
    2. 2位置エンコーディング(Positional Encoding)
    3. 3教師強制(Teacher Forcing)
    4. 4GRU(Gated Recurrent Unit)
    答えと解説

    正解: 1

    CECはLSTMの中核となる記憶セルで、誤差を一定のまま時間方向に伝えることで勾配消失を防ぎます。入力ゲート・出力ゲート・忘却ゲートのゲート機構が、CECに何を書き込み、読み出し、何を忘れるかを制御します。位置エンコーディングはTransformerで語順を表す仕組み、教師強制は系列生成の学習方法、GRUはLSTMを簡略化した別のゲート付きモデルの名称で、LSTM内部の記憶セルを指す語ではありません。

  8. 問8
    RNNのうち、出力層の出力を次の時刻に戻す構造を持つネットワークとして、最も適切なものを選びなさい。
    1. 1エルマンネットワーク
    2. 2ジョルダンネットワーク
    3. 3双方向RNN
    4. 4GRU
    答えと解説

    正解: 2

    出力層の出力を次の時刻に戻す構造をジョルダンネットワーク、隠れ層の出力を次の時刻の隠れ層に戻す構造をエルマンネットワークといいます。双方向RNNは順方向と逆方向のRNNを組み合わせて前後の文脈を使うモデル、GRUはLSTMをリセットゲートと更新ゲートの2つに簡略化したモデルです。

  9. 問9
    回帰結合層とその学習に関する記述として、不適切なものを選びなさい。
    1. 1RNNは、同じ重みを各時刻で繰り返し使う
    2. 2BPTTでは、長い系列ほど勾配消失や勾配爆発が起きやすい
    3. 3教師強制では、推論時も正解の系列を入力として与える
    4. 4双方向RNNは、文全体が与えられる品詞タグ付けで有効である
    答えと解説

    正解: 3

    教師強制は学習時に正解の系列を次の時刻の入力として与える方法で、推論時はモデル自身の出力を使います。この学習と推論の条件のずれは露出バイアスと呼ばれる課題です。RNNが各時刻で同じ重みを使うこと、BPTTで長い系列ほど勾配消失・勾配爆発が起きやすいこと、双方向RNNが品詞タグ付けで有効なことは正しい記述です。