ディープラーニングの基本#7:RNN(再帰型ニューラルネットワーク)とは
RNN(再帰型ニューラルネットワーク)とは
これまで紹介してきた畳み込み層や全結合層は、主に「入力が独立している」データを扱うことを前提としていました。しかし、現実のデータには順序や時間の流れが重要なものが多く存在します。そうしたデータを扱うために考えられた要素技術が RNN(再帰型ニューラルネットワーク) です。
時系列データを扱うための仕組み
RNNの最大の特徴は、過去の情報を内部に保持しながら処理を進める点にあります。
通常のニューラルネットワークでは、各入力は独立して処理されますが、RNNでは、
ある時点の入力
その直前までの状態(内部状態)
を組み合わせて、次の出力や状態を計算します。
この仕組みにより、
文章の前後関係
音声の時間的な流れ
センサーデータの変化
といった「順序に意味があるデータ」を扱えるようになります。

過去の情報を保持するという考え方
RNNは、内部に「過去の情報を要約した状態」を持ちます。ただし、すべての過去情報をそのまま保持しているわけではなく、限られた容量で圧縮された形で保持されます。
この状態は、時刻が進むごとに更新され、次の処理へ引き継がれます。
たとえば文章処理では、
前の単語を踏まえて次の単語を理解する
文脈を考慮して意味を判断する
といった処理が可能になります。
これは、RNNが「今までに見た情報」を要約した状態を内部に保持しているためです。
RNNの課題と発展(LSTM・GRU)
一方で、RNNには大きな課題もあります。
それが、長い時系列になると過去の情報をうまく保持できなくなるという問題です。これは勾配消失の影響を強く受けるためです。
この課題を解決するために登場したのが、
LSTM(Long Short-Term Memory)
GRU(Gated Recurrent Unit)
といった改良型RNNです。
これらは、「どの情報を覚え、どの情報を忘れるか」を制御する仕組みを持っており、長期的な依存関係を扱いやすくしています。
RNNとその発展形は、
音声認識
自然言語処理
時系列予測
などで大きな役割を果たしてきました。
ただし、並列処理が難しいという性質もあり、次回の記事で紹介する Attention と Transformerの登場によって、役割が大きく変わっていきます。
ここまでお読み頂きありがとうございます。
AIって何? AIの歴史から最新情報まで、わかりやすく説明した、
これまでの記事(マガジン)の一覧をプロフィールページにまとめています。
AIの全体像をつかむヒントになると思いますので、ぜひご覧ください。
<前へ
ディープラーニングの基本#6|スキップコネクションの仕組み
次へ>
ディープラーニングの基本#8|アテンション(Attention)とトランスフォーマ(Transformer)の仕組み
免責事項
・本記事は生成AI(ChatGPT等)を活用して執筆しています。内容の正確性・最新性には十分配慮しておりますが、誤りや古い情報が含まれる場合があります。ご利用・ご判断はご自身の責任でお願いいたします。万一、著作権等に問題がある場合はご連絡ください。
