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がどのように機能するのかがより明確になります。