Reinforcement Learning Toolbox には、DQN や PPO、SAC、DDPG などの強化学習アルゴリズムを使用して方策を学習させるためのアプリや関数、Simulink ブロックが用意されています。これらの方策を使用して、リソース割り当てやロボティクス、自律システムなどの複雑なアプリケーション向けにコントローラーと意思決定アルゴリズムを実装できます。
このツールボックスでは、ディープ ニューラル ネットワークやルックアップテーブルを使用して、方策や価値関数を表現し、MATLAB や Simulink でモデル化された環境との相互作用を通じてそれらを学習させることができます。ツールボックスに含まれるシングルエージェントまたはマルチエージェントの強化学習アルゴリズムを評価したり、独自に開発を行ったりできます。また、ハイパーパラメーター設定の実験や、学習の進行状況の監視が可能であるほか、学習済みエージェントをアプリから対話的にまたはプログラム上でシミュレーションできます。学習の性能を向上させるには、シミュレーションを複数の CPU、GPU、コンピューター クラスター、およびクラウドで並列実行します (Parallel Computing Toolbox および MATLAB Parallel Server を使用)。
既存の方策は、ONNX™ モデル形式を使用して、TensorFlow™ Keras や PyTorch などのディープラーニング フレームワークからインポートできます (Deep Learning Toolbox を使用)。最適化された C、C++、および CUDA® コードを生成し、学習済みの方策をマイクロコントローラーや GPU に展開できます。このツールボックスには、初めての方にも使いやすい参照例が付属しています。
強化学習エージェント
DQN、PPO、SAC などの広く利用されているアルゴリズムを使用して、モデルフリーおよびモデルベースの強化学習エージェントを作成します。あるいは、用意されているテンプレートを使用して独自のカスタムのアルゴリズムを作成します。RL Agent ブロックを使用して、エージェントを Simulink に取り込みます。
強化学習デザイナーアプリ
強化学習エージェントの設計、学習、シミュレーションを対話的に行います。後で使用したり展開できるように、学習済みのエージェントを MATLAB にエクスポートします。
ドキュメンテーション | 例
報酬信号
エージェントが目標をどの程度達成しているかを測定する報酬信号を作成します。Model Predictive Control Toolbox または Simulink Design Optimization で定義された制御仕様から自動的に報酬関数を生成します。
方策表現
ツールボックスが提案するニューラル ネットワーク アーキテクチャを使用して、すぐに始めることができます。または、Deep Learning Toolbox の層やディープ ネットワーク デザイナー アプリを使用して、ルックアップテーブルを確認したり、手動でニューラル ネットワークの方策を定義したりできます。
強化学習の学習
環境との相互作用を通じて、または既存のデータを使用して、エージェントの学習を行います。シングルエージェントおよびマルチエージェントの学習を検討します。学習を行いながら、学習データを記録および表示し、進捗を監視します。
ドキュメンテーション | 例
分散コンピューティング
Parallel Computing Toolbox や MATLAB Parallel Server により、マルチコア コンピューター、クラウドリソース、または計算クラスターを使用して学習を高速化します。GPU を活用して、勾配の計算や予測などの演算を高速化します。
ドキュメンテーション | 例
コードの生成と展開
学習済みの方策から C/C++ および CUDA コードを自動生成し、組み込みデバイスに展開します。MATLAB Compiler と MATLAB Production Server を使用して、学習済みの方策をスタンドアロン アプリケーション、C/C++ 共有ライブラリなどの形式で実稼働システムに展開します。
ドキュメンテーション | 例
製品リソース:
「5G は、敵対的攻撃から保護すべき重要なインフラストラクチャです。Reinforcement Learning Toolbox により、迅速に 5G の脆弱性を評価し、緩和手法を特定できました。」
あなたは学生ですか?
ご所属の学校にはすでに Campus-Wide License が導入されていて、MATLAB、Simulink、その他のアドオン製品を利用できる可能性があります。