強化学習に関する主要な概念

強化学習の概要

FlexSimモデルは、強化学習アルゴリズムのトレーニングと評価の環境として使用できます。

標準的な強化学習エピソードは、エージェントが環境を観察し、観察への応答としてアクションを実行して、報酬を受け取ってから、再度観察してアクションを起こし、報酬を受け取るというサイクルを、エピソードの完了まで繰り返します。

エージェントは通常、ランダムなアクションから行います(探索)。エージェントは報酬を受け取りながら、学習した事実に基づいて最適なアクションを起こし、報酬を最大化することを学習します(活用)。特定のアクションへの報酬は、ただちに与えられるとは限りません。たとえば、迷路で間違った方向に進路を変えても、行き止まりに到着するまでは分かりません。強化学習のアルゴリズムが異なると、後から与えられる報酬も変化しますが、報酬が最新のアクションと直接関連していない場合でも、これらは常に同一のベーシックフローに従っています。

多くの異なる強化学習アルゴリズムが利用可能ですが、エージェントが学習する方法はそれぞれについて多少異なります。アルゴリズムの例として、DQN(Deep Q Network)、DDPG(Deep Deterministic Policy Gradient)、PPO(Proximal Policy Optimization)、その他多くが挙げられます。

FlexSimには、特定の強化学習アルゴリズムの実装は用意されていません。その代わりに、それらのアルゴリズムをトレーニングするためのシミュレートされた環境として、FlexSimモデルと通信する機能と、その方法を示す例が用意されています。

FlexSimを使用した強化学習のワークフロー

強化学習の目標は、現時点での観察内容に基づいてインテリジェントな判断を行うことができるエージェントを生み出すことです。この目標に到達するために、次の手順を実行します。

  • 強化学習のライブラリまたはサービスを選択します。
  • 強化学習ツールを使用するFlexSimモデルを作成します。
  • FlexSimモデルを環境としてラッピングします。
  • その環境を使用してエージェントをトレーニングします。
  • トレーニングしたエージェントを展開します。

各手順の詳しい実行方法は、選択する強化学習ライブラリによって異なります。とはいえ、選択に関係なく、基本的な手順は同じです。ここでは、OpenAI Gymを使用した場合の詳細について説明します。

OpenAI Gym

OpenAI Gymは、強化学習用のPythonライブラリです。次の利点があります。

  • 広く使用されている
  • 無償で利用できる(MITライセンス準拠)
  • ドキュメントが充実している

OpenAI Gymの使用を開始するには、次のトピックを参照してください。

その他のオプション

強化学習のライブラリやサービスは、ほかにも数多く存在します。OpenAI Gym以外でFlexSimを環境として使用する場合であっても、OpenAI Gymに関する上記のトピックを通読することをお勧めします。特に、これらのトピックに含まれるPythonファイルは、FlexSimモデルを任意の環境としてラッピングする方法を示しており、選択するどのプラットフォームにも対応しています。