BPTT法は、時刻 から t までネットワークの計算を行いながら、入出
力と結合荷重を保持しておき、その後 t から
まで誤差の計算、およ
び結合荷重の更新を行う方法である。そのため、この際用いる出力の教師信号は
時刻 t におけるもののみで、時刻
から t までの間のものは用いない。この方法は離散時刻の場合には、RNNをフィードフォワードの階層型NNとみなしてBP法を適用することと等価である。
ここで時刻
における入力
と時刻 t のみにおける教
師信号
を与えたとき、時刻 t における出力ユニット
の出力
が教師信号
になるような学習法を考察する。
ここで、ネットワーク全体の2乗誤差関数を
とする。ただし、
である。
この誤差関数 E を極小化するような学習則を考えたい。
ここでは各時刻 ごとの結合荷重
は時刻
には依
存しない定数
であるとする。
誤差関数 E を結合荷重
で偏微分すると、
となる。
よって、 を計算するためには、
を求めなければならない。
そのため、出力ユニット(
)・隠れユニット(
)の2つの場合を分けて考える。
まず、
、すなわち出力ユニットへの結合荷重に対しては、
次に、 、すなわち隠れユニットへの結合荷重に対しては、
となる。
従ってこれらから、 を再帰的に求めることができる。
ここで、
とおけば、
と整理される。 よって、結合荷重の更新は
とすればよい。ここで は学習率である。
前述のようにBPTT法では学習を行う際、入出力や結合荷重を保持しなければならない。よって考慮する期間が長くなるほど、計算量と必要なメモリーの量が増えていく。このような理由から、BPTT法では無限に続く波形を学習することは不可能である。 実際に学習を行う場合には、過去の入出力や結合荷重をすべて保持せず、あらか じめ定められた h 時点前までのデータのみを保持し、それ以前のデータは保 持しないで、近似するという打ち切り型通時的逆伝播(truncated BPTT)法が提 案されている(Williams and Zipser,1989;1995)。この方法を用いることで計 算量と必要なメモリーの節約が可能である。しかし、近似に必要な h が大きくなれば同じことであり、上に書いたような問題に対しての根本的解決とはならない。