回帰型ニューラルネットワーク (RNN) は、シーケンシャル入力を特定のシーケンシャル出力に変換するようにトレーニングされた、深層学習ニューラルネットワークです。 従来のニューラルネットワークでは、過去のデータを記憶できないため、RNN は有用です。
ニューラルネットワークは、人間の脳の構造に着想を得た計算システムで、人工ニューロンで構成されています。 こうしたネットワークは、人間の意思決定プロセスを再現するように設計されています。 ただし、従来のニューラルネットワークは、データの順序や文脈を考慮する能力を持たず、それぞれの入力を独立して処理するのが一般的でした。 たとえば、「赤いリンゴ」という単語を処理する場合、標準的なニューラルネットワークでは、「赤」をリンゴを表す属性として認識できず、両者の文脈的なつながりを完全に見逃しています。
これは大きな制限となり、知性に近いものを機械が開発するのを妨げることになります。 この問題に対処するために、研究者たちは回帰型ニューラルネットワーク (RNN) を開発しました。 RNN は、従来のモデルとは異なり、情報を一定期間保持するメカニズムが組み込まれており、以前の入力を記憶しておくことができます。 データ内のシーケンスとコンテキストを理解できるため、言語処理や時系列分析など、順序が重要なタスクに特に役立ちます。
回帰型ニューラルネットワークは、データの出現順序を認識して保持できる、AI の意思決定の一形態として設計されています。 これは、テキスト、数値、時系列データなどの連続した情報を処理するための重要な機能です。 各入力を個別に処理する従来のニューラルネットワークとは異なり、RNN は過去の情報を現在の入力に結びつけることができ、データシーケンスのニュアンスをより適切に理解できます。
回帰型ニューラルネットワークの概念は、当初、深層学習モデル作成の基盤に大きな変革をもたらしましたが、トランスフォーマーベースの人工知能と大規模言語モデル (LLM) に大きく取って代わられつつあります。 これらの新しい開発により、シーケンシャルデータの処理が効率化されます。
RNN が際立っているのは、個々の要素間の関係や依存関係を認識することで、一連のデータを処理する能力です。 すべての RNN は、この基本的な特性を共有していますが、次の各カテゴリは、特定タイプのデータ処理に伴う課題に対処するように設計されています。 主なタイプは次の 4 つです。
1 対 1
RNN の最も単純な形である 1 対 1 は、1 つの入力を処理して 1 つの出力を生成するネットワークを表します。 このモデルは、より複雑な RNN アーキテクチャの基盤として機能します。1 対多
この構造では、単一の入力から複数の出力を生成します。 このタイプの RNN は、単一の記述的な語から文を生成したり、1 つの音符からメロディを作成したりするなど、関連性はあるが同じではない一連の出力を単一の入力からトリガーするタスクに最適です。多対 1
多対 1 モデルは、複数の入力データポイントを処理して単一の出力を生成します。 感情分析などのアプリケーションで一般的に使用され、さまざまな単語 (入力) がフレーズやドキュメントの全体的な感情 (出力) を決定するのに貢献します。多対多
最後のバリエーションは、入力と出力の両方のシーケンスを処理します。 言語翻訳など、ある言語の入力シーケンスを別の言語の出力シーケンスに変換するタスクに適しています。 このモデルは、入力シーケンスと出力シーケンスの長さが異なる状況にも対応できます。
ループノードを持たないニューラルネットワークは、フィードフォワードニューラルネットワークと呼ばれます。 このようなネットワークは、RNN と似ており、どちらのモデルも多数のノードが相互接続された人間のような方法でデータを処理しようとします。 ただし、フィードフォワードニューラルネットワークは、情報を転送するだけで、モデルでは過去の入力情報を記憶できません。 上記の例で言えば、このモデルは「リンゴ」を処理する時点まで「赤」を覚えていません。
その代わりに、フィードフォワードニューラルネットワークは、入力層から出力層 (隠れ層を含む) に情報を移動させることで機能します。 このタイプのモデルは、入力と出力が独立している画像分類に適しています。 ただし、このネットワークは RNN ネットワークとは異なり、回帰型ネットワークのようにシーケンスを記憶することはできません。
RNN アーキテクチャには、3 つの主要なバリエーションがあり、それぞれが基本構造から特定タスクの機能とパフォーマンスを強化するために適応されています。 こうした柔軟な設計により、さまざまなデータシーケンス処理タスク固有の要求に対応できます。 以下のバリエーションは、データの処理方法と出力方法を変更することで、さまざまな分野でより専門的な用途に利用できます。
双方向回帰型ニューラルネットワーク (BRNN) は、データシーケンスを前方と後方に処理します。 前方層は RNN の第 1 層とよく似た動作をしますが、後方層は第 2 の方向に情報を移動するために異なる動作をします。 両方の層を組み合わせることで、予測精度が向上します。
長短期記憶 (LSTM) は、より長い記憶を保持するために設計されたモデルです。 基本的な RNN は、直前の入力しか記憶できません。 LSTM は、前のシーケンスからの入力を使用して予測精度を高めることができます。 たとえば、単純なデータ入力の例を考えてみましょう。「リンゴは赤い」 「アンは赤いリンゴしか好きではない」 LSTM は、この状況でどのような種類のリンゴが重要かという情報を処理するときに、リンゴが赤いことを記憶します。 RNN は、リンゴが赤いという情報は前のシーケンスで提示されているため、記憶していません。
ゲート付き回帰型ユニット (GRU)は、記憶保持に関する制限に対処するために設計された、標準的な回帰型ニューラルネットワークの高度な変形です。 GRU には、情報の流れを規制するメカニズムであるゲートが組み込まれています。 これには、(前のステップからの) 過去の情報をどれだけ保持するかを決定する更新ゲートと、過去の情報をどれだけ忘れるかを決定するリセットゲートが含まれます。 これにより、GRU は情報を選択的に保持または破棄できるため、コンテキストやイベントのシーケンスを理解することを重視するタスクに非常に効果的です。
RNN は、シーケンスを含むデータの処理に汎用性が高く、幅広い用途に適しています。 最も一般的な用途をいくつかご紹介します。
言語モデリングとテキスト生成
RNN は、前の単語に基づいて文中の次の単語を予測できます。これは、検索エンジンのオートコンプリートや、読みやすいテキストの自動生成などのタスクに不可欠です。音声認識
これらのネットワークは、音声データを時間をかけて処理できるため、仮想アシスタントやモバイル音声テキストアプリケーションに見られるように、話し言葉をリアルタイムで認識して、テキストに変換するのに適しています。機械翻訳
RNN は、ある言語の単語シーケンスを解析して別の言語に変換することで、翻訳プロセスにおける文法的、および文脈的な正確さを維持します。画像認識
CNN のような他のモデルほど一般的ではありませんが、このようなタスクに RNN を使い、手書きテキストの読み取りやビデオフレームの連続処理など、画像内のシーケンスの分析を行えます。時系列予測
RNN は、過去のデータに基づいて将来の値を予測するのに適しており、株式市場の予測、天気予報、小売業における需要予測などの分野に応用できます。
RNN の使用にはいくつかの課題があり、それが新しいニューラルネットワークやそのバリエーションに取って代わられる理由の一部となっています。 回帰型ニューラルネットワークの使用における最大の障害は、以下の 4 つです。
勾配爆発
勾配とは、モデルのパラメーターに対応する誤差率の感度を指します。 勾配が急激に増加すると、不安定になることがあります。 それが起こると、勾配爆発と見なされます。 この種の誤差は、過学習につながる可能性があります。過学習とは、モデルがトレーニングデータでは正確に予測できるが、実際のデータでは同じことができないという現象です。勾配消失
この課題は、トレーニング中に勾配値がゼロ近くまで減少すると、学習プロセスが大幅に遅くなるか、完全に停止してしまう場合に発生します。 勾配消失が生じると、RNN がトレーニングデータを効果的に取得して学習することが難しくなり、多くの場合、モデルが新しいデータにうまく一般化できない学習不足につながります。長いシーケンスの処理が困難
RNN は、長いデータシーケンスの処理に苦労することがあります。 この制限は、関連する情報が長いシーケンスの間に希薄になり、モデルがそのようなデータから効果的に学習する能力を妨げる可能性があるために発生します。トレーニングに時間がかかる
RNN は、データを順番に処理するため、大量の情報を同時に処理することはできません。 このような逐次的な処理は、トレーニングの時間が長くなり、トランスフォーマーのようにデータを並列処理できる他のモデルと比較して RNN の効率が低下します。
回帰型ニューラルネットワークを利用すると、情報を順番に処理できること以外にも、以下のようなメリットがあります。
RNN は、長短期記憶 (LSTM) ユニットのような構造を備えているため、長期間にわたって情報を記憶できます。 この機能は、将来のイベントを正確に予測するために過去のコンテキストを理解する必要があるタスクに不可欠です。
RNN を畳み込みニューラルネットワーク (CNN) と組み合わせることで、画像や動画などの空間データの処理能力を高めることができます。 この組み合わせにより、RNN は時間の経過とともにパターンを認識するだけでなく、ピクセルデータという「視野」を広げることができ、視覚入力のシーケンス分析を強化できます。
RNN は、他の多くのニューラルネットワークアーキテクチャとは異なり、入力の再形成やサイズ変更を必要とせずに、さまざまな長さの入力シーケンスを処理できます。 このため、入力データの継続時間が大きく変化する音声認識のような用途には汎用性が高くなります。
RNN は本来、イベント間のタイミングが重要なシーケンスを処理するように設計されています。 これにより、株価予測、作曲、その他の時間的制約のある分析など、過去のデータポイントの順序とタイミングが将来を予測するために重要とされる用途に非常に適しています。
前述のとおり、RNN は人間の意思決定を模倣するように設計された人工ニューロンで構成されています。 これらの人工ニューロンは、複雑なタスクを実行するために連携するデータ処理ノードです。 ニューロンは、入力層、出力層、隠れ層といういくつかの主要な層で編成されます。 入力層は処理する情報を受け取り、出力層は結果を提供します。 データ処理、分析、予測は隠れ層で行われます。
RNN は、受け取ったシーケンシャルデータを 1 つずつ隠れ層に渡すことで機能します。 ただし、隠れ層には回帰型ワークフローやセルフループ機能があります。 隠れ層は、短期記憶で過去の入力を記憶し、将来の予測に利用できます。 現在の入力は、次のシーケンスで予測するためにメモリに保存されます。
たとえば、次のようなシーケンスを考えてみましょう。「雨には湿気がある」。 ユーザーは、RNN が「雨」という入力情報を受けたときに、「湿気がある」という概念を予測することを望んでいます。 隠れ層は、「雨」の概念を処理して保存します。 そのコピーがメモリに保存されます。 以降は、「湿気がある」という入力情報を受けたときに、メモリから「雨」を呼び出し、完全なシーケンスを作成できます。 その情報は、精度の向上に使用されます。 この機能こそが、音声認識や翻訳、その他の言語モデリングタスクにおいて RNN を有用なものにしています。
機械学習エンジニアは、モデルトレーニングデータをフィードしてパフォーマンスを改善することで、RNN のようなニューラルネットワークをトレーニングすることがよくあります。 ニューラルモデルのニューロンには、トレーニング中に学習された情報が出力を予測する際にどれほど影響力があるかを示す「重み」が与えられます。 RNN の各層は、最初は同じ重みを共有します。
エンジニアは、モデルが学習するにつれて重みを調整し、予測精度を決定します。 そのために、通時的誤差逆伝搬 (BPTT) と呼ばれる手法を使用してモデルの誤差を計算し、それに応じて重みを調整します。 エンジニアはこれを行うことで、シーケンス内で重大なエラーを引き起こしている隠れた状態を特定し、重みを再調整して誤差を低減できます。
機械学習エンジニアは、Python のようなコーディング言語を使用して、回帰型ニューラルネットワークを構築します。 どのような方法を選択するかに関係なく、RNN を実装するための一般的な手順は、以下のとおりです。
入力層の作成
最初のステップは、入力データを収集できる層を作成することです。 この層は、人工ニューロンで構成されています。隠れた状態の作成
RNN モデルは、ニューラルネットワークの実際の処理を行う複数の隠れ層を持つことができます。 これらの層もまた、相互接続された人工ニューロンで構成されています。 これは人間の予測能力を模倣するのに役立つだけでなく、シーケンシングを可能にします。出力層の作成
この最後の層は、結果を予測します。 一部のモデルでは、下流に追加の層を含めることもできます。重みによるトレーニング
正確なパラメーターと誤差は、エンジニアがデータを使用してモデルをトレーニングした後に作成されます。 重みを正確に調整し、勾配爆発や勾配消失の発生を防ぐには、時間がかかります。
回帰型ニューラルネットワークは、シーケンシャルデータ処理のための強力な基盤を築きました。 ところが、回帰型ニューラルネットワークには制限があるため、多くの企業はニーズに合わせてより新しく先進的なモデルや人工知能に依存しています。 ServiceNow の Now Platform® が高度な機械学習と生成 AI を使用しているのは、そのような理由からです。 このプラットフォームには、機械学習フレームワーク (Machine Learning Frameworks)、自然言語理解 (Natural Language Understanding)、検索と自動化、アナリティクス (Analytics) とプロセスマイニング (Process Mining) が含まれ、最先端の AI テクノロジーでビジネスを成長させます。
今すぐ ServiceNow のデモをご覧いただき、新しいニューラルネットワークソリューションが、成功への次のステップとなる方法をご確認ください。