RNN

ディープラーニング




RNN

まずはじめに、RNNはRecurrent Neural Networkの略です。

時系列データのように、順序に対して何らかのパターンを持っているデータに対して有効です。

現在のRNNは、主にLSTMのことを指すことが多いようです。
単純なRNNはElmanと呼ばれたりしますが、ここではRNNと呼ぶことにします。

なぜRNNは、単純なRNNはLSTMに置き換わったのかは以下にまとめます。

  1. 勾配爆発の問題
  2. 勾配消失の問題

RNNの構造

RNNは、再帰的なループ構造を持ち、系列の状態を保持することができるモデルです。

上のRNNユニットを時間軸に展開したら下のような図になります。
時間軸に展開しただけなので、同じものです。

時系列版誤差逆伝播方(BPTT)

BPTT(Back-propagation through time)

Truncated BPTT

時系列のシーケンス(\(x_0, x_1, \dots, x_n\))が長い場合、BPTTの実行が大変になる。
BPTTの工夫として、適当なブロックに分けて学習する方法をTruncated BPTTという。

参考

Amazon.co.jp: PyTorchニューラルネットワーク 実装ハンドブック eBook : 宮本圭一郎, 大川洋平, 毛利拓也: Kindleストア
...
https://amzn.to/318ghdo
  1. RNNとLSTMを理解する|sagantaf
  2. リカレントニューラルネットワークの概要と動作原理
  3. Recurrent Neural Network

動画で学習

タイトルとURLをコピーしました