本記事の概要
前回のFNNの内部計算の記事
の続きで、本記事ではRNNの内部計算について備忘録的にメモしておきます。
RNNの計算グラフ
※各パラメタ・要素の説明
: 時刻tにおける入力
: 入力層と中間層の結合重み
: 前時刻t-1の中間層と現時刻tの中間層の結合重み
: 中間層におけるバイアス
: 時刻tにおける中間層への入力。内部状態。
: 活性化関数
: 時刻tにおける中間層の出力。コンテキスト。
: 中間層と出力層の結合重み
: 出力層におけるバイアス
: 時刻tにおける出力値
RNNの内部計算
基本的な計算はFNNの時と同じですが、異なる部分としては中間層の計算を行う際に前時刻の中間層の出力を利用するという部分があります。過去の中間層の出力を現在での中間層における計算に利用することで、過去の履歴を考慮した出力を行うことができます。このような構造を持っているためRNNは時系列データなどの予測等に利用されることが多いです。
誤差関数
※は時刻tにおける教師データ
順方向計算
誤差逆伝播計算
いわゆるBPTT(Backpropagation Through Time)と呼ばれる計算です。