RNN(再帰型ニューラルネットワーク)

1. RNNの隠れ層では、過去の情報と新たな情報を統合する

RNNの隠れ層では、前の時刻の隠れ状態(過去の情報)と現在の入力(新たな情報)を統合して新しい隠れ状態を計算します。この統合により、RNNは時系列データの依存関係を学習することができます。

2. ある時刻の隠れ層の出力が、次の時刻の隠れ層の入力として利用される

RNNでは、ある時刻の隠れ層の出力(隠れ状態)が次の時刻の隠れ層の入力の一部として利用されます。この仕組みにより、RNNは時間的な依存関係を捉えることができます。

3. 時間方向に同じパラメータが繰り返し用いられる?

RNNでは、時間方向に沿って同じパラメータ(重み行列やバイアス)が繰り返し用いられます。これにより、モデルは時間的なパターンを学習することができます。このパラメータ共有は、RNNの特長の一つです。

4. 利用できる活性化関数

RNNではシグモイド関数以外の活性化関数も利用できます。一般的に用いられる活性化関数には以下のものがあります:

  • シグモイド関数: 出力が0から1の間に収まる。
  • tanh関数: 出力が-1から1の間に収まる。シグモイド関数に比べて、出力の中心が0になるため、勾配消失問題を多少緩和できます。
  • ReLU(Rectified Linear Unit)関数: 出力が0または正の値になる。勾配消失問題を軽減しますが、RNNにおいては勾配爆発のリスクがあります。

まとめ

  • 隠れ層の統合: RNNの隠れ層では、過去の情報と新たな情報を統合します。
  • 隠れ層の出力と入力: ある時刻の隠れ層の出力は、次の時刻の隠れ層の入力として利用されます。
  • パラメータの共有: 時間方向に同じパラメータが繰り返し用いられます。
  • 活性化関数: シグモイド関数のみならず、tanh関数やReLU関数なども利用できます。

RNNのこれらの特性を理解することで、時系列データやシーケンスデータの処理において、RNNがどのように機能するのかがより明確になります。