Main Content

Policy

強化学習方策

R2022b 以降

  • Policy block

ライブラリ:
Reinforcement Learning Toolbox

説明

Policy ブロックを使用して、Simulink® で強化学習方策をシミュレーションし、展開のためにコードを生成します (Simulink Coder™ を使用)。このブロックは観測値を入力として受け取り、アクションを出力します。方策を完全に特徴付けるために必要な情報が格納された MAT ファイルにこのブロックを関連付けます。また、このファイルは、generatePolicyFunction または generatePolicyBlock によって生成できます。

端子

入力

すべて展開する

この端子は環境からの観測信号を受信します。観測信号は、測定値またはその他の瞬間的なシステム データを表します。複数の観測値がある場合は、Mux ブロックを使用してそれらをベクトル信号に結合できます。非バーチャル バス信号を使用するには、bus2RLSpec を使用します。

出力

すべて展開する

観測入力に基づいて、方策によって計算されたアクション。この端子をシステムの入力に接続します。非バーチャル バス信号を使用するには、bus2RLSpec を使用します。

メモ

連続行動空間 rlStochasticActorPolicy オブジェクト、または連続行動空間 rlACAgentrlPGAgent、または rlPPOAgent オブジェクトから生成された方策ブロックは、アクション仕様によって設定された制約を適用しません。このような場合、環境内で行動空間の制約を適用しなければなりません。

パラメーター

すべて展開する

方策を完全に特徴付けるために必要な情報が格納された MAT ファイルの名前を入力します。このファイルは、generatePolicyFunction または generatePolicyBlock によって生成されます。generatePolicyBlock を使用してブロックを生成し、既定以外の dataFileName 引数を指定する場合、生成ブロックのこのパラメーターが、指定したファイル名に設定され、ブロックがその生成データ ファイルに関連付けられます。

Triggered Subsystem (Simulink)Function-Call Subsystem (Simulink) などの条件付き実行サブシステム内で Policy ブロックを使用するには、SampleTime プロパティが -1 に設定されているエージェントまたは方策オブジェクトからデータ ファイルを生成しなければなりません。これにより、ブロックが親サブシステムのサンプル時間を継承できるようになります。

プログラムでの使用

ブロック パラメーター: MATFile
型: string、文字ベクトル
既定: "blockAgentData.mat"

ヒント

  • Embedded Coder® を使用して並列コードを生成する場合、[並列 for ループの生成] 最適化パラメーターを有効にすると、処理するデータのサイズが大きい場合のパフォーマンスが向上します。ただし、ネットワークやデータが小さい場合は、並列化のためのスレッド初期化のオーバーヘッドによってパフォーマンスが大幅に低下します。この場合、[並列 for ループの生成] を無効にしてください。詳細については、Generate parallel for-loops (Embedded Coder)および coder.MexCodeConfig (MATLAB Coder) を参照してください。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2022b で導入