【アールエヌエヌ】
RNN とは?
最終更新:
💡 過去の記憶を引き継ぎながら読む「AIの読書家」
RNNは、前のステップの内部状態を引き継ぎながら、文章や時系列などを順に処理するニューラルネットワークです。状態と出力、LSTM・GRU、Transformerとの違いを図と会話で説明します。
📌 このページのポイント
- Recurrent Neural Networkの略で、順序のあるデータを扱うモデル
- 基本のRNNは前の内部状態と今回の入力から、新しい状態を計算する
- LSTMやGRUもRNNの一種で、状態の扱いを工夫している
- 順番・状態・出力を区別し、用途に合うモデルを選ぶ
RNNは何を覚えているの?
前の入力から計算した内部状態を、次のステップへ引き継ぐよ。文章なら前までの単語、時系列なら前までの値の情報を、今回の入力と一緒に扱える。文字をそのままノートへ保存するような記憶ではなく、学習した計算で情報をまとめるんだ。
出力をそのまま次へ戻すの?
基本のRNNでは、前の内部状態と今回の入力から新しい状態を計算するよ。予測などの出力を、その状態から作る構成もある。図は一方向に読む簡略例で、実際には出力を最後だけ使う場合や、前後の方向から読む双方向RNNもあるんだ。
長い文章も全部覚えられる?
必ず全部の情報を保てるわけではないよ。長い系列では、学習の途中で伝わる勾配が小さくなったり大きくなったりする問題がある。どの程度の情報が必要か、学習データやモデルの作り方も関わるんだ。
LSTMやGRUとは違う仲間?
どちらもRNNの一種だよ。LSTMは情報の保持や更新を調整するゲートなどを使い、長い間隔をまたぐ情報を学習する工夫がある。GRUにも状態の更新を調整する仕組みがある。どちらなら必ず速い・正確とは言えず、データや実装で比較する。
TransformerもRNNを中に使うの?
元のTransformerは、繰り返しの状態更新を使わずにAttentionで系列を扱う構成だよ。RNNが必須ということではない。RNNは順次の状態更新、TransformerはAttentionという違いから考えると整理しやすいね。どんなモデルでも、用途に合う精度や実行条件を確かめよう。
まとめ:ざっくりこれだけ覚えればOK!
「RNN」って出てきたら「前の情報を引き継ぎながら、順番にデータを読むAIの仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Recurrent Neural Network」 = 再帰型ニューラルネットワーク
💬 Recurrentは繰り返し現れるという意味。同じ処理を各ステップで使い、状態を次へ渡す仕組みを表しているよ。