Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

pygame+gymで強化学習

PyLadies Tokyo Meetup #51 オンラインLT

  • Login to see the comments

  • Be the first to like this

pygame+gymで強化学習

  1. 1. pygame+gymで強化学習 ぶとー(ぴくぽ@buto_risa)
  2. 2. ぶとーです ● 都内SI企業で働いています ● Python歴 7ヶ月 ● PyLadiesのLTは2回目です 技術ブログ:https://buto.qrunch.io
  3. 3. あらすじ ★ 2020/4〜 1ヶ月の(給料)ドロボー生活 ★ ドロボーの良心?で強化学習にチャレンジしてみる ★ 「強化学習」でヒットしたQiita記事のゲームを再現(pygame) ○ DQN(Deep Q Network)を理解したので、Gopherくんの図を使って説明 ★ 自作ゲームをOpenAIGymで強化学習してみた
  4. 4. ステップ1 ゲームを作る ● Qiita記事をパクる! ○ 【初心者向け】Pythonでゲームを作ろう ● ケーキを取ったらスコア+100 ● 左上に現在のスコア ● 20秒でスコアを表示して終了
  5. 5. ステップ2 gymと連携 ● これが一番時間掛かった。。。 ● gymからゲームをできるように関数をオーバーライドしていく ○ reset : ゲームの再スタート(スコア初期化) ○ step : 1回分のゲームで行うこと(画面描画、キー操作 検知、報酬計算) ○ render : passのみ書いてエラー回避 ○ _key_action : キー操作 ○ _get_observation: 画面の画像を配列にして返す(多分)
  6. 6. ステップ3 ハイスコアが出せるよう調整 ● (最初)終了時スコアで報酬の値を決める 101〜500なら+5 ○ 100台も500台も同じ報酬なので極力動かなくなった ○ 自作ゲームで強化学習 #2 その他トライエラーはこちら ● 動いたら報酬をプラス ○ 動くようにはなったがケーキを取る行動ではない ● ケーキの隣のマスだったら報酬をプラス ● policy(他の動きをしてみる確率)を大きくした(0.001→0.1) ○ 機敏に動くようにはなった ちょっとスコアアップ
  7. 7. まとめ! 新人もAIも ほめてのばす時代

×