RNN(Recurrent Neural Network)時系列データを扱うニューラルネットワーク=音声データ

リカレント・ニューラル・ネットワーク

ディープラーニング は、 画像認識 の 分野 だけで なく、 音声認識 の 分野 でも 画期的 な 性能 を 発揮 し まし た。
CNN が 扱う 画像 データ は 二次元 の 矩形 データ でし た が、 音声 データ は 可変長 の 時系列 データ です。
この 可変長 データ を ニューラルネットワーク で 扱う ため、 隠れ 層 の 値 を 再び 隠れ 層 に 入力 する という ネットワーク 構造 に し た のが、 RNN( Recurrent Neural Network) です。

CNN=画像データ 二次元の矩形データ

RNN=音声データ 可変長の時系列データ

隠れ 層 に 戻す という 操作 を、 時間 軸 方向 に 展開。
t = 0 での 隠れ 層 の 出力 h 0 は、 t = 1 での 隠れ 層 に 入力 し ます。

さらに h 1 は、 h 2 に 入力 し ます。
この よう に 展開 し て 考える と、 隠れ 層 には、 時系列 的 に 過去 の データ が 入力 さ れ て いる こと が 分かる と 思い ます。

この 展開 し た ネットワーク を 利用 し て、 RNN は 誤差逆伝播法 で 学習 でき ます。

ただし 誤差 の 計算 方法 は、 通常 の ニューラルネットワーク とは 少し 異なり ます。

誤差 は、 最後 の 時刻 T から 最初 の 時刻 0 へ 向かっ て 伝播 し て いき ます。

したがって、 時刻 t における 出力 Yt の 誤差 とは、 時刻 t における 教師 データ との 差 と t + 1 から 伝播 し て き た 誤差 の 和 となり ます。

つまり RNN は 最後 の 時刻 T までの データ が なけれ ば 学習 が でき ませ ん。
この ため 長い データ は、 常に 一定 間隔 で 最新 データ だけを 切り出す などの 操作 が 必要 になり ます。