next up previous
Next: RTRL法 Up: RNNの基本的学習方法について Previous: RNNの基本的学習方法について

BPTT法

BPTT法は、時刻 tex2html_wrap_inline541 から t までネットワークの計算を行いながら、入出 力と結合荷重を保持しておき、その後 t から tex2html_wrap_inline541 まで誤差の計算、およ び結合荷重の更新を行う方法である。そのため、この際用いる出力の教師信号は 時刻 t におけるもののみで、時刻 tex2html_wrap_inline541 から t までの間のものは用いない。この方法は離散時刻の場合には、RNNをフィードフォワードの階層型NNとみなしてBP法を適用することと等価である。 ここで時刻 tex2html_wrap_inline541 における入力 tex2html_wrap_inline557 と時刻 t のみにおける教 師信号 tex2html_wrap_inline561 を与えたとき、時刻 t における出力ユニット tex2html_wrap_inline565 の出力 tex2html_wrap_inline507 が教師信号 tex2html_wrap_inline561 になるような学習法を考察する。

ここで、ネットワーク全体の2乗誤差関数を

displaymath531

とする。ただし、

displaymath532



である。

この誤差関数 E を極小化するような学習則を考えたい。 ここでは各時刻 tex2html_wrap_inline573 ごとの結合荷重 tex2html_wrap_inline575 は時刻 tex2html_wrap_inline573 には依 存しない定数 tex2html_wrap_inline579 であるとする。 誤差関数 E を結合荷重 tex2html_wrap_inline517 で偏微分すると、    

eqnarray73

となる。 よって、 tex2html_wrap_inline585 を計算するためには、 tex2html_wrap_inline587 を求めなければならない。 そのため、出力ユニット( tex2html_wrap_inline589 )・隠れユニット( tex2html_wrap_inline591 )の2つの場合を分けて考える。 まず、 tex2html_wrap_inline589 、すなわち出力ユニットへの結合荷重に対しては、

eqnarray103

次に、 tex2html_wrap_inline591 、すなわち隠れユニットへの結合荷重に対しては、

eqnarray121

となる。 従ってこれらから、 tex2html_wrap_inline587 を再帰的に求めることができる。 ここで、

displaymath533

とおけば、

displaymath534

と整理される。 よって、結合荷重の更新は

displaymath535

とすればよい。ここで tex2html_wrap_inline599 は学習率である。

前述のようにBPTT法では学習を行う際、入出力や結合荷重を保持しなければならない。よって考慮する期間が長くなるほど、計算量と必要なメモリーの量が増えていく。このような理由から、BPTT法では無限に続く波形を学習することは不可能である。 実際に学習を行う場合には、過去の入出力や結合荷重をすべて保持せず、あらか じめ定められた h 時点前までのデータのみを保持し、それ以前のデータは保 持しないで、近似するという打ち切り型通時的逆伝播(truncated BPTT)法が提 案されている(Williams and Zipser,1989;1995)。この方法を用いることで計 算量と必要なメモリーの節約が可能である。しかし、近似に必要な h が大きくなれば同じことであり、上に書いたような問題に対しての根本的解決とはならない。



Hitoshi Kobayashi
Wed Jul 26 04:25:55 JST 2000