Re Reference AI

技術

BPTTとは

Backpropagation Through Time / 通時的誤差逆伝播法

RNNを時間方向に展開した計算グラフに対して誤差逆伝播法を適用し、各時刻の重みを学習するアルゴリズム

学習系列モデリング

ひとことで言うと

時系列データを扱うAIモデルを、時間をさかのぼって学習させる計算方法。

概要

BPTT(Backpropagation Through Time、通時的誤差逆伝播法)とは、RNNのように同じ重みを時刻ごとに繰り返し適用するネットワークを、時間方向に展開した計算グラフとみなし、通常の誤差逆伝播法を適用して重みを学習するアルゴリズム。 各時刻の出力の誤差を、時間をさかのぼりながら過去の時刻へ伝播させ、全時刻分の勾配を合計して重みを更新する。 系列が長くなるほど逆伝播する時間ステップ数は増え、勾配消失・勾配爆発が起きやすくなるため、一定時間分だけ逆伝播させる「打ち切りBPTT(Truncated BPTT)」が実用上よく使われる。

背景

RNNは同じ重みを全時刻で共有しながら系列を処理するため、通常の誤差逆伝播法をそのまま適用できず、時間方向の依存関係を考慮した学習アルゴリズムが必要だった。 BPTTは、RNNを時間方向に展開したネットワークとみなし、既存の誤差逆伝播法の枠組みを時系列データの学習に転用する手法として考案された。

歴史

1990年: Werbosが、RNNの学習にBPTTという名称と手法を適用する論文を発表し、時系列データを扱うニューラルネットワークの学習手法として定着した。

利点

  • RNNのように時刻をまたいで重みを共有するモデルでも、誤差逆伝播法の枠組みで学習できる
  • 系列全体の誤差を考慮して重みを更新するため、時間的な依存関係を学習に反映できる

欠点

  • 系列が長くなるほど逆伝播するステップ数は増え、勾配消失・勾配爆発が起きやすくなる
  • 全時刻分の中間状態を保持する必要があり、系列が長いほどメモリ使用量が増加する

比較

  • RNNBPTTは、RNNの重みを学習するための誤差逆伝播法の適用方法
  • LSTMLSTMは、BPTTで学習する際に生じやすい勾配消失問題を、ゲート構造によって緩和するために考案された

関連用語

RNNLSTM

関連Zenn記事