強化学習

深層強化学習は機械学習の分野であり、ロボットや自律システムなどの複雑なシステムのためのコントローラーと意思決定システムを実装できます。深層強化学習では、シミュレーションモデルから動的に生成されたデータを使用して学習させることで、複雑な動作を学習できるディープ ニューラル ネットワークを実装できます。ラベルがあるかないかにかかわらず、事前定義された学習データセットは必要ありません。対話および制御しようとしている環境を表すシミュレーション モデルのみ用意します。

MATLAB® および Simulink® では、強化学習ベースのコントローラーを設計して配布するために、完全なワークフローをサポートしています。以下を行うことができます。

  • 単純な制御システム、自律システム、ロボット工学の例を使用して、強化学習を開始
  • わずかなコード変更のみで、汎用の強化学習アルゴリズムを素早く切り替え、評価、比較
  • ディープ ニューラル ネットワークを使用し、画像データ、ビデオデータ、センサーデータに基づいて複雑な強化学習ポリシーを定義
  • ローカルコアまたはクラウドを使用し、複数のシミュレーションを並行して実行することで、さらに迅速にポリシーを学習
  • 強化学習コントローラーを組み込みデバイスに配布

強化学習エージェント

強化学習エージェントは、入力状態から出力のアクションへのマッピングを実行するポリシーと、該当するポリシーの更新を担当するアルゴリズムで構成されます。アルゴリズムの一般的な例は、Deep Q Network、Actor-Critic、Deep Deterministic Policy Gradient です。アルゴリズムでは、環境によって提供される長期的な報酬信号を最大化するようにポリシーを更新します。

ポリシーは、ディープ ニューラル ネットワーク、多項式、ルックアップテーブルで表すことができます。次に、組み込みエージェントとカスタムエージェントを MATLAB オブジェクトまたは Simulink ブロックとして実装できます。

関連情報

MATLAB および Simulink での環境のモデル化

強化学習アルゴリズムを使用した学習は、エージェントが取り巻く環境と対話するための動的なプロセスといえます。ロボット工学や自律システムなどのアプリケーションの場合、実際のハードウェアを使用してこのような学習を実行するには、費用がかかる上に危険を伴います。このため、強化学習では、シミュレーションを通じてデータを生成する環境の仮想モデルが推奨されています。

MATLAB および Simulink で環境のモデルを構築して、システムダイナミクス、エージェントが実行するアクションによる影響、実行されたアクションの利点を評価する報酬を記述できます。これらのモデルは本質的に連続または離散しており、さまざまなレベルの忠実度でシステムを表すことができます。さらに、シミュレーションを並列化して学習を加速できます。場合によっては、最小限の修正によって、システムの既存の MATLAB および Simulink モデルを強化学習で再利用できる場合があります。

関連情報

例題およびリファレンス アプリケーション

倒立振子のバランス制御、迷路の探索、カートポールでのバランス制御などの問題に対応するため、コントローラーを実装することにより、強化学習を開始します。自律走行車向けに、車間距離制御装置 (ACC) および車線維持支援用のシステムを設計することもできます。また、強化学習は、軌道計画などのロボット工学アプリケーションや、歩行などの動作指導にも使用できます。

関連情報

強化学習の詳細