AI用語集・ディープラーニングの要素技術

BPTTとは

ビーピーティーティーbackpropagation through time略語 BPTT

別名:通時的誤差逆伝播法、Backpropagation Through Time

  • シラバス 技術22
  • ◯×チェック3問
  • 練習問題5問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

BPTTとは、RNNを時刻ごとに展開して1つの深いネットワークとみなし、誤差逆伝播法で時間をさかのぼりながら勾配を計算する学習方法のことです。

くわしく

BPTT(Backpropagation Through Time)は、RNNを学習させるための誤差逆伝播法です。日本語では通時的誤差逆伝播法とも呼ばれます。

しくみ

RNNは、前の時刻の隠れ層の状態を、次の時刻の計算に加えて使います。このような帰還のある構造には、通常の誤差逆伝播法をそのまま使えません。そこで、時刻1、時刻2、…と各時刻の計算を横に並べて書き出します。これを「時間方向に展開する」といいます。展開すると、RNNは系列の長さと同じ数の層を持つ、深いネットワークとして扱えます。

この展開したネットワークに誤差逆伝播法を使い、最後の時刻から最初の時刻へとさかのぼりながら勾配を計算するのがBPTTです。展開した各時刻の層は同じ重みを共有しています。そのため、時刻ごとに求めた勾配を足し合わせて、1つの重みを更新します。

長い系列で起きる問題

さかのぼる時刻が増えるほど、同じ重みに関わる微分を何度も掛け合わせることになります。そのため、勾配が急速に小さくなる勾配消失問題や、急激に大きくなる勾配爆発問題が起きやすくなります。結果として、遠い過去の情報が学習に反映されにくくなります。また、逆伝播のために全時刻の途中の値を保存しておく必要があり、系列が長いほど多くのメモリを使います。

主な対策

  • 打ち切り型BPTT(truncated BPTT):さかのぼる時刻の数を一定で打ち切り、計算量とメモリを抑えます。ただし、打ち切った範囲より前との関係は学習しにくくなります。
  • 勾配クリッピング:勾配の大きさに上限を設け、勾配爆発を防ぎます。
  • LSTM・GRU:ゲート機構で情報を長く保ち、勾配消失を起こしにくくします。

覚え方

「BPTTは、RNNを横に広げてから逆伝播」と覚えます。

G検定での出題

出題のされ方

RNNを時間方向に展開して誤差逆伝播法を使う仕組みと、長い系列で勾配消失・勾配爆発が起きる理由が問われます。LSTMやGRU、勾配クリッピングなどの対策との関係も問われます。

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. BPTTでは、展開した各時刻の層が同じ重みを共有しているため、各時刻で求めた勾配を足し合わせて重みを更新する。

    答えを見る

    答え ◯ 正しい

    時刻ごとに別の重みがあるわけではありません。1つの重みが全時刻で使われるため、各時刻の寄与を合計します。

  2. BPTTでさかのぼる時刻の数を増やすほど、計算に必要なメモリは少なくなる。

    答えを見る

    答え × 誤り

    逆伝播のために各時刻の途中の値を保存しておく必要があるため、さかのぼる時刻が多いほどメモリを多く使います。

  3. 打ち切り型BPTTは、さかのぼる時刻の数を一定で区切ることで、計算量とメモリの使用量を抑える方法である。

    答えを見る

    答え ◯ 正しい

    その代わり、区切った範囲より遠い過去との関係は学習しにくくなります。

この用語の練習問題

5問
  1. #0056エルマン型とジョルダン型RNN難易度 基礎・組合せ未回答
  2. #0188BPTTの逆伝播の進め方難易度 基礎・単一選択未回答
  3. #0189教師強制と推論時のずれ難易度 応用・単一選択未回答

ほかに2問あります。続けて解くと、すべての問題を順に出題します。

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術22

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習