

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

# Amazon SageMaker AI の RL 環境
<a name="sagemaker-rl-environments"></a>

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

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

![カーレースゲームのシミュレーターとのやり取りの例。](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/sagemaker-rl-flow.png)


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

**Topics**
+ [SageMaker AI RL で環境用 OpenAI Gym インターフェイスを使用する](#sagemaker-rl-environments-gym)
+ [オープンソース環境を使用する](#sagemaker-rl-environments-open)
+ [商用環境の使用](#sagemaker-rl-environments-commercial)

## SageMaker AI RL で環境用 OpenAI Gym インターフェイスを使用する
<a name="sagemaker-rl-environments-gym"></a>

SageMaker AI RL で OpenAI Gym 環境を使用するには、以下の API 要素を使用します。OpenAI Gym の詳細については、「[Gym Documentation](https://www.gymlibrary.dev/)」を参照してください。
+ `env.action_space` - エージェントが実行できるアクションを定義し、各アクションが継続的か断続的であるかを指定して、アクションが継続的な場合は最小と最大を指定します。
+ `env.observation_space` - 環境からエージェントが受ける監視と、継続的な監視の最小および最大を定義します。
+ `env.reset()` - トレーニングエピソードを初期化します。`reset()` 関数が環境の初期状態を返し、エージェントが初期状態を使用して、その最初のアクションを実行します。その後アクションは、エピソードが終了状態に到達するまで、`step()` に繰り返し送られます。`step()` が `done = True` を返すと、エピソードは終了します。RL ツールキットは、`reset()` を呼び出して、環境を再初期化します。
+ `step()` - エージェントのアクションを入力として実行し、環境の次の状態、報酬、エピソードが終了したかどうか、デバッグ情報を伝える `info` ディクショナリを出力します。入力の検証は、環境の役割です。
+ `env.render()` - 可視化のある環境に使用されます。`step()` 関数を呼び出すたびに、RL ツールキットがこの関数を呼び出して環境の視覚化をキャプチャします。

## オープンソース環境を使用する
<a name="sagemaker-rl-environments-open"></a>

独自のコンテナを構築すると、SageMaker AI RL で EnergyPlus や RoboSchool などのオープンソース環境を使用できます。EnergyPlus の詳細については、[https://energyplus.net/](https://energyplus.net/) を参照してください。RoboSchool の詳細については、[https://github.com/openai/roboschool](https://github.com/openai/roboschool) を参照してください。[SageMaker AI サンプルリポジトリ](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/reinforcement_learning)の HVAC と RoboSchool の例では、SageMaker AI RL で使用するカスタムコンテナを作成する方法について説明しています。

## 商用環境の使用
<a name="sagemaker-rl-environments-commercial"></a>

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