Amazon SageMaker での強化学習の使用 - Amazon SageMaker

Amazon SageMaker での強化学習の使用

強化学習 (RL) とは、ある環境で機能するエージェントの目的を最適化するポリシーと呼ばれる、戦略の学習を試みる機械学習の手法です。たとえば、エージェントはロボットであり、環境は迷宮であり、目標は最小限の時間で正常に迷宮を進むことであると仮定できます。RL では、エージェントがアクションを実行し、環境の状態を監視して、環境の現状の値に基づいて報酬を得ます。長期報酬を最大化することを目的とし、エージェントのアクションの結果として受け取ります。RL は、エージェントが自律的な意思決定を行うことができる問題の解決に適しています。

強化学習が重要なのはなぜですか?

RL は、複雑で大きい問題の解決に適しています。たとえば、サプライチェーン管理、HVAC システム、工業ロボット、ゲーム人工知能、ダイアログシステム、自動運転車などです。RL モデルは、エージェントが実行する各アクションについて報酬や罰則を受ける継続的なプロセスによって学習するため、システムが、動的な環境で、不確実な状況のもと意思決定を行うようトレーニングすることができます。

マルコフ決定プロセス (MDP)

RL は、マルコフ決定プロセス (MDP) というモデルに基づいています。MDP は、連続的な時間ステップで構成されます。各時間ステップには次が含まれます。

環境

RL モデルが動作する領域を定義します。この領域は、実際の環境またはシミュレーターのいずれにも定義されます。たとえば、物理的な道路で物理的な自動運転車をトレーニングする場合は、実際の環境になります。道路を走る自動運転車をモデル化するコンピュータプログラムをトレーニングする場合、シミュレーターになります。

状態

将来に関連する、環境と過去のステップに関するすべての情報を指定します。たとえば、ロボットが任意の時間ステップで、任意の方向に移動でき、現在の時間ステップのロボットの位置が状態となる RL モデルでは、ロボットがどこにあるか分かっているため、そこに到着するまでのステップを知る必要はありません。

アクション

エージェントが行うことです。たとえば、ロボットは前進というアクションを実行します。

報酬

エージェントが取った最後のアクションに起因する状態の値を表す数値。たとえば、目標が、ロボットが宝物を見つけることである場合、宝物を見つけた場合の報酬は 5 となり、宝物を見つけられない場合の報酬は 0 となります。RL モデルは、長期にわたる累積的な報酬を最適化する戦略を見つけようと試みます。この戦略はポリシーと呼ばれます。

観測

各ステップでエージェントが使用できる環境の状態に関する情報。これは全体的な状態、または状態の一部のみの場合があります。たとえば、チェスを指すモデルのエージェントは、任意のステップでボードの全体的な状態を監視できる可能性がありますが、迷宮内のロボットは、現在占有する迷宮のごく一部の監視しかできない可能性があります。

通常、RL のトレーニングは数多くのエピソードで構成されています。1 つのエピソードは、初期状態から環境が終了状態に到達するまでの、MDP のすべての時間ステップで構成されます。

Amazon SageMaker RL の主な特徴

Amazon SageMaker RL の RL モデルをトレーニングするには、次のコンポーネントを使用します。

  • ディープラーニング (DL) フレームワーク。現在、Amazon SageMaker では、TensorFlow と Apache MXNet の RL がサポートされています。

  • RL ツールキット。RL ツールキットは、エージェントと環境間の相互関係を管理し、幅広い最先端の RL アルゴリズムを提供します。Amazon SageMaker では、Intel Coach ツールキットと Ray RLlib ツールキットがサポートされています。Intel Coach の詳細については、https://nervanasystems.github.io/coach/ を参照してください。Ray RLlib の詳細については、https://ray.readthedocs.io/en/latest/rllib.html を参照してください。

  • RL 環境。カスタム環境、オープンソース環境、商用環境を使用できます。詳細については、Amazon SageMaker の RL 環境 を参照してください。

次の図は、Amazon SageMaker RL でサポートされている RL コンポーネントを示しています。