Reinforcement Learning Toolbox

強化学習を用いてポリシーを設計および学習

 

Reinforcement Learning Toolbox™ では、DQN、A2C、および DDPG などの強化学習アルゴリズムを使用したポリシーの学習のための関数とブロックが提供されます。これらのポリシーを使用して、ロボットや自律システムなどの複雑なシステムのためのコントローラーと意思決定アルゴリズムを実装できます。ディープ ニューラル ネットワーク、多項式、またはルックアップテーブルを使用してポリシーを実装できます。

このツールボックスで、MATLAB® または Simulink® モデルで表現された環境に作用させ、ポリシーを学習させることができます。アルゴリズムの評価、ハイパーパラメーター設定での実験、および学習進捗の監視が可能です。学習のパフォーマンス改善のため、クラウド、コンピューター クラスター、および GPU 上でシミュレーションを並列実行できます (Parallel Computing Toolbox™ と MATLAB Parallel Server™ を使用)。

ONNX™ モデルフォーマットで既存のポリシーを TensorFlow™、Keras、および PyTorch などのディープラーニング フレームワークからインポートできます (Deep Learning Toolbox™ を使用)。最適化された C、C++、および CUDA コードを生成して、学習済みポリシーをマイクロコントローラーと GPU に展開できます。

このツールボックスには、強化学習を用いてロボットや自動運転アプリケーションのコントローラーを設計する、リファレンスサンプルが付属します。

詳細を見る:

強化学習エージェント

MATLAB と Simulink エージェントを実装して、ディープ ニューラル ネットワークで表現されるポリシーを学習させます。組み込みまたはカスタムの強化学習アルゴリズムを使用します。

強化学習アルゴリズム

Deep Q-Network (DQN)、Advantage Actor Critic (A2C)、Deep Deterministic Policy Gradients (DDPG)、および他の組み込みアルゴリズムを使用してエージェントを実装します。テンプレートを使用してポリシーの学習のためのカスタムエージェントを実装します。

ポリシーとアルゴリズムから構成されるエージェント。

ディープ ニューラル ネットワークを使用したポリシーと価値関数の表現

大きな状態行動空間を持つ複雑なシステムのためディープ ニューラル ネットワークを使用します。Deep Learning Toolbox のネットワークとアーキテクチャを使用してポリシーを定義します。他のディープラーニング フレームワークとの相互運用性のため ONNX モデルをインポートします。

エージェント用の Simulink ブロック

Simulink で強化学習エージェントを実装し学習させます。

強化学習エージェントの Simulink ブロック。

環境のモデル化

MATLAB と Simulink 環境モデルを作成します。システムダイナミクスを記述して学習エージェントに観測および報酬信号を供給します。

Simulink と Simscape 環境

Simulink と Simscape™ モデルを使用して環境を表現します。モデル内で観測、行動、および報酬信号を指定します。

倒立振子のための Simulink 環境モデル。

MATLAB 環境

MATLAB の関数とクラスを使用して環境を表現します。MATLAB ファイル内で観測、行動、および報酬変数を指定します。

棒立てシステムのための MATLAB 環境。

学習の高速化

GPU、クラウド、分散コンピューティング リソースにより、学習を加速します。

分散コンピューティングおよびマルチコアによる高速化

Parallel Computing Toolbox と MATLAB Parallel Server を使用してマルチコア コンピューター、クラウドリソース、またはコンピューター クラスターで並列シミュレーションを実行して学習を高速化します。 

並列処理を使用した学習の高速化。

GPU 高速化

高性能 NVIDIA® GPU によりディープ ニューラル ネットワーク学習と推論を加速します。Parallel Computing Toolbox と、3.0 以上の計算能力を持つ、最大限 CUDA® に対応した NVIDIA GPU で MATLAB を使用できます。 

GPU を使用して学習を高速化。

コードの生成と展開

学習させたポリシーを組み込みデバイスに配布するか、またはそれらを幅広い生産システムと統合します。

コード生成

 GPU Coder™ を使用して、学習させたポリシーを表現する MATLAB コードから最適化された CUDA コードを生成します。MATLAB Coder™ を使用して C/C++ コードを生成し、ポリシーを展開します。

GPU Coder を使用して CUDA コードを生成。

MATLAB Compiler のサポート

 MATLAB Compiler™ および  MATLAB Compiler SDK™ を使用して、学習済みのポリシーを C/C++ 共有ライブラリ、Microsoft® .NET アセンブリ、Java® クラス、Python® パッケージとして展開します。

ポリシーをスタンドアロンのプログラムとしてパッケージ化して共有。

リファレンスサンプル

ロボット、自動運転車、および他のシステムのための強化学習を用いてコントローラーを設計します。

入門

倒立振子のバランス制御、格子世界における操作、棒立てシステムでのバランス制御などのため、強化学習ベースのコントローラーを実装します。

格子世界における迷路の経路を解決。

自動運転アプリケーション

車間距離制御と車線逸脱防止支援システムのためのコントローラーを設計します。

車線逸脱防止支援システムの学習。

ロボット工学

強化学習を用いてロボットのコントローラーを設計します。

強化学習を用いた歩行ロボットの学習。

こちらのビデオを見て、強化学習について学習しましょう。

質問はありますか

Reinforcement Learning Toolbox 技術エキスパートの Emmanouil Tzorakoleftherakis へのお問い合わせ

新機能

PPO エージェント

学習の安定性を改善するため、proximal optimization policy 最適化アルゴリズムを使用して方策を学習

並列エージェントのシミュレーション

複数エージェントによる学習済み方策の並列的な検証

リファレンスの例

ロボットと制御設計アプリケーションのための強化学習方策を学習

これらの機能やそれに対応する機能の詳細については、リリースノートをご覧ください。 

無料評価版を入手する

30 日間の無料評価版はこちら

今すぐダウンロード

あなたは学生ですか?

MATLAB および Simulink 学生向けソフトウェアの入手

詳細を見る