Ultralytics YOLO27:
Ultralytics用語集に戻る

Recurrent Neural Network (RNN)

再帰型ニューラルネットワーク(RNN)がメモリを使用してシーケンシャルデータを処理する方法を説明します。RNNのアーキテクチャ、NLPへの応用、PyTorchでの実装について紹介します。

**リカレントニューラルネットワーク(RNN)**は、テキスト、ゲノム、手書き文字、音声などのデータ系列内のパターンを認識するために特別に設計された人工ニューラルネットワークの一種です。すべての入力(および出力)が互いに独立していると仮定する従来のフィードフォワードネットワークとは異なり、RNNは一種の記憶を保持します。この内部メモリにより、過去の情報を理解しながら入力を処理できるため、コンテキストと時間的順序が重要なタスクに特に適しています。このアーキテクチャは、人間が情報を処理する方法を模倣しています。たとえば、文を読むには、現在の単語を理解するために以前の単語を記憶する必要があります。

RNNの仕組み#

RNNの中核となる革新は、そのループ構造です。標準的なフィードフォワードネットワークでは、情報は入力から出力への一方向にのみ流れます。一方、RNNには情報を保持できるフィードバックループがあります。ネットワークは系列を処理する際に、「隠れ状態」と呼ばれるベクトルを維持します。これはネットワークの短期記憶として機能します。各タイムステップで、RNNは現在の入力と直前の隠れ状態を受け取り、出力を生成するとともに、次のステップに向けて隠れ状態を更新します。

この逐次処理能力は、自然言語処理(NLP)時系列分析に不可欠です。ただし、標準的なRNNは、系列が長くなるにつれてネットワークが以前の入力を忘れてしまう勾配消失問題により、長い系列の処理に苦労することがあります。この制約を受けて、より長い期間にわたる情報の流れを適切に制御する仕組みを導入した、長短期記憶(LSTM)ネットワークやゲート付き回帰ユニット(GRU)など、より高度な派生モデルが開発されました。

実世界での利用例#

リカレントニューラルネットワークは、機械が系列データを理解できるようにすることで、多くの業界に変革をもたらしました。代表的な例を2つ紹介します。

  1. 機械翻訳: Google Translateなどのサービスは、当初、テキストをある言語から別の言語へ変換するために、RNNベースのアーキテクチャ(特に系列変換モデル)に大きく依存していました。ネットワークは入力文全体(たとえば英語)を読み取り、コンテキストベクトルを構築します。その後、このベクトルを使用して、文法的一貫性を保ちながら、翻訳結果(たとえばフランス語)を単語単位で生成します。

  2. 予測入力と自動修正: スマートフォンで入力すると、キーボードは次に来る可能性が高い単語を提案します。これは、RNNで学習した言語モデルによって実現されていることがよくあります。モデルは、入力済みの単語系列を分析して、次に来る可能性が最も高い単語を予測し、入力の速度と精度を向上させます。同様の仕組みは、音声をテキストに書き起こす音声認識システムにも適用されます。

RNNとCNNおよびTransformerの比較#

RNNを他の主要なアーキテクチャと区別して理解すると役立ちます。畳み込みニューラルネットワーク(CNN)は、主に画像などの空間データ向けに設計されており、ピクセルのグリッドを処理して形状や物体を特定します。たとえば、Ultralytics YOLO26は、リアルタイム物体検出のために強力なCNNバックボーンを使用します。CNNが「この画像には何があるか?」の判定を得意とするのに対し、RNNは「この動画で次に何が起こるか?」の予測を得意とします。

近年では、多くの複雑なNLPタスクにおいて、TransformerアーキテクチャがRNNにほぼ取って代わっています。Transformerはアテンション機構を使用し、系列全体を逐次的ではなく並列に処理します。ただし、RNNは、低レイテンシでリソースに制約のある特定のストリーミングアプリケーションにおいて、引き続き高い効率を発揮します。また、単純な時系列予測であれば、エッジデバイスにもより簡単にデプロイできます。

PyTorchによる実装例#

現代のコンピュータビジョンタスクではCNNがよく利用されますが、ハイブリッドモデルでは、動画フレームから抽出した時間的特徴を分析するためにRNNを使用する場合があります。以下は、PyTorchを使用して、データ系列を処理する基本的なRNNレイヤーを作成する、シンプルで実行可能な例です。

import torch
import torch.nn as nn

# Define a basic RNN layer
# input_size: number of features in the input (e.g., 10 features per time step)
# hidden_size: number of features in the hidden state (memory)
# batch_first: input shape will be (batch, seq, feature)
rnn = nn.RNN(input_size=10, hidden_size=20, num_layers=1, batch_first=True)

# Create a dummy input: Batch size 1, Sequence length 5, Features 10
input_seq = torch.randn(1, 5, 10)

# Forward pass through the RNN
# output contains the hidden state for every time step
# hn contains the final hidden state
output, hn = rnn(input_seq)

print(f"Output shape: {output.shape}")  # Expected: torch.Size([1, 5, 20])
print(f"Final hidden state shape: {hn.shape}")  # Expected: torch.Size([1, 1, 20])

課題と今後の展望#

RNNは有用である一方、計算上の課題にも直面します。逐次処理によって並列化が妨げられるため、GPU上での学習はTransformerと比べて遅くなります。さらに、勾配爆発問題への対処には、慎重なハイパーパラメータチューニングや、勾配クリッピングなどの手法が必要です。

それでも、RNNは深層学習(DL)における基本的な概念であり続けています。RNNは人工知能(AI)の発展を理解するうえで不可欠であり、IoTセンサー向けのシンプルな異常検知システムでも現在広く使用されています。ビジョンモデルと系列予測器の組み合わせなど、複雑なパイプラインを構築する開発者にとって、データセットと学習ワークフローの管理は重要です。Ultralytics Platformは、さまざまな環境でデータを管理し、モデルを効率的にデプロイするためのツールを提供することで、このプロセスを簡素化します。

Explore solutions

航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る

AIの未来を一緒に築きましょう!

機械学習の未来への歩みを始めましょう