TF-Agents で独自の環境を利用する方法

TF-Agents という強化学習のライブラリがありますが、自分でエージェントに学習させたい環境を定義する際に、ドキュメントや記事がほとんど見つからずに苦労したので、備忘録として残しておきます。 以下の RockScissorsPaperEnv が独自の環境のクラスになります。簡単なジャンケンの環境で、100 回勝負で相手は常にグーを出します。

最低限、action_spec メソッドでアクションの種類、observation_spec メソッドで観測できる状態の定義を返し、_step メソッドで 1 ステップ進める処理 (終了判定、報酬計算含む)、_reset メソッドで環境のリセット処理を定義すれば良さそうです。

zuqqhi2

某Web系の会社でエンジニアをやっています。 学術的なことに非常に興味があります。 趣味は楽器演奏、ジョギング、読書、料理などなど手広くやっています。