Translate

2020年11月24日火曜日

OpenAI Gym 環境クラスを独自実装してみる

強化学習を行う場合、Stable BaselinesやTensorFlowなどのAPIではOpenAI Gym準拠の環境クラスを使用することができる。

ので、個別案件に対応する独自環境クラスを作りたい..

ということで実際に作ってみた。

独自環境クラスを実装するには、まずOpenAI Gymが提供する gym.Env という基底クラスを継承し、以下の表にあるプロパティ(インスタンス変数、つまりself.~)やメソッドをオーバライドすればよい。



 

 

サンプルとして強化学習AIでじゃんけん対戦を実現する。
以下、作ったサンプルコードのリポジトリリンク

[GitHub] coolerking/rock-paper-scissors
https://github.com/coolerking/rock-paper-scissors


実装してみて思ったのが、報酬関数の仕様は機能要件上には登場しないので、(業務用件によっては)設計者が発明しなくてはならないこと。

そして、状態と観測の違いが理解できない人(意外と多い)は、もう「状態=観測」で割り切って設計すること。

軽く触った程度なので、もうすこしほってみないとアレだけど..とりあえず現時点での感想です。


0 件のコメント:

bolt.new をローカルPC(Windows10)で動かす

生成AIによるコード生成ツールはだいぶ進化しており、 ユーザ要件を入力するとJavaScript/TypeScriptコードにしてくれる サービスが登場し始めた。 特に、 bolt.new はOSS(MITライセンス)があり ローカルPCで動作するとのこと。 ただ生成AIモデルは...