Amazon の RL 環境 SageMaker - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon の RL 環境 SageMaker

Amazon SageMaker RL は環境を使用して実際のシナリオを模倣します。環境の現在の状態と単一または複数のエージェントによって実行されるアクションが与えられると、シミュレーターがアクションの影響を処理し、次の状態と報酬を返します。シミュレーターは、現実世界でエージェントをトレーニングすることが安全でない場合 (ドローンの飛行など) や、RL アルゴリズムが時間をかけてコンバージする場合 (チェスの対戦など) に役立ちます。

次の図は、カーレースゲームのシミュレーターとのやり取りの例を示しています。

カーレースゲームのシミュレーターとのやり取りの例。

シミュレーション環境は、エージェントとシミュレーターで構成されます。ここで、畳み込みニューラルネットワーク (CNN) はシミュレーターからの画像を消費し、ゲームコントローラーを制御するアクションを生成します。この環境は、複数のシミュレーションで、state_tactionstate_t+1、および reward_t+1 の形式のトレーニングデータを生成します。報酬の定義は、瑣末なことではなく、RL モデル品質に影響を与えます。報酬機能の例をいくつか紹介しますが、ユーザーが設定できるようにします。

SageMaker RL の環境に OpenAI Gym インターフェイスを使用する

SageMaker RL で OpenAI Gym 環境を使用するには、次のAPI要素を使用します。OpenAI Gym の詳細については、「Gym Documentation」を参照してください。

  • env.action_space - エージェントが実行できるアクションを定義し、各アクションが継続的か断続的であるかを指定して、アクションが継続的な場合は最小と最大を指定します。

  • env.observation_space - 環境からエージェントが受ける監視と、継続的な監視の最小および最大を定義します。

  • env.reset() - トレーニングエピソードを初期化します。reset() 関数が環境の初期状態を返し、エージェントが初期状態を使用して、その最初のアクションを実行します。その後アクションは、エピソードが終了状態に到達するまで、step() に繰り返し送られます。step()done = True を返すと、エピソードは終了します。RL ツールキットは、reset() を呼び出して、環境を再初期化します。

  • step() - エージェントのアクションを入力として実行し、環境の次の状態、報酬、エピソードが終了したかどうか、デバッグ情報を伝える info ディクショナリを出力します。入力の検証は、環境の役割です。

  • env.render() - 可視化のある環境に使用されます。step() 関数を呼び出すたびに、RL ツールキットがこの関数を呼び出して環境の視覚化をキャプチャします。

オープンソース環境を使用する

独自のコンテナを構築することで、RL RoboSchoolで SageMaker EnergyPlus や などのオープンソース環境を使用できます。の詳細については EnergyPlus、https://energyplus.net/ を参照してください。の詳細については RoboSchool、https://github.com/openai/「roboschool」を参照してください。SageMaker サンプルリポジトリの HVACおよび RoboSchool の例は、 SageMaker RL で使用するカスタムコンテナを構築する方法を示しています。

商用環境の使用

独自のコンテナを構築することで、 SageMaker RL で MATLABや Simulink などの商用環境を使用できます。独自のライセンスを管理する必要があります。