強化学習

Stable Baselinesとは

概要

Open AIのBaselinesの強化学習を扱い安くしたしたライブラリです。Baselinesは研究として利用する上では問題なく利用できますが、例えば画像から特徴量を学習するときなどはコメントアウトされている部分をコメント消すような修正が必要となったりと地獄を見ることがあります。こちらのStable Baselinesは地獄に落ちないためのライブラリとなります。(ベイマックスがかわいいです)

最新のPytorchを利用したStable Baselines3がこちら。

学習/推論

例えばPPOの実装はこのような簡単なコードで学習と推論まで実装することができます。

評価

以下がtutorialを参照した評価関数です。env.stepを実行して得たrewardの平均で評価できるとわかります。

このような関数を自作しなくてもstable baselinesに評価関数evaluate_policyが既に存在します。学習済みのmodelを入れることでmodelを評価可能です。

モデルの保存/読み込み

医科のように簡単に学習済みモデルの保存と読み込みができます。

独自環境の生成

Gymによって生成された環境も簡単にカスタムすることができます。

学習データと推論データ

実際に利用する時に少し戸惑うのは、学習データはenvで学習したとしてどこに推論データを入れればいいのかというところです。上述のコードでは環境に利用するデータは同じで推論前に一度resetしています。この部分を推論対象のenvにすり替えれば学習ができるはずです。

本ページのコードは学習と推論を同じファイルに記載していますが、実際は学習/モデル保存とモデル読み込み/推論で別のファイルに作ればよいかなと思います。

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です