gonypage diary

トップ > 2021/02

2021/02/23

18:22 ニューラルネットワークによるシューティングゲーム自動プレイ化実験

以前Pygameで作ったシューティングゲームにニューラルネットワークによる自動プレイを組み込んだものをGitHubに上げた

きっかけとしてはニューラルネットワークによるヘビゲームの自動プレイ動画をYouTubeにサジェストされて見たことだった。

機械学習によるゲームの自動プレイってすごく難しいことだと思っていたが、この例だと入力は餌、尻尾、壁への距離くらいでパラメータの更新も遺伝的アルゴリズムとのことで、これくらいだったら自分にも試してみることができるのではないかと思ったのだった。そして自分の持ち駒にはSHIPPU GSSというPygameで作ったシューティングゲームがあり、これで実験してみようと思い着手した。

基本的な手口としてはヘビゲームとほぼ同じで、入力は避けるもの(敵弾と敵)、狙うもの(敵)、画面端、あとから極太レーザーの予兆エフェクトを追加(後述)、出力は上下左右の方向キー押下状態。遺伝的アルゴリズムを使ってニューラルネットワークのパラメータ更新を試みた。

で、なんとなくニューラルくんに自機を動かしてもらうくらいならわりとすぐできて、あれ実は簡単なのでは? と思ったが、ボスを撃破してゲームクリア(もともと1ステージしかないので)できるまでを目標にしたらこれが結構大変だった。なかなかうまくならない時もパラメータの更新で局所解に入ってしまっているのか、ニューラルネットワークの性能的に限界なのかの切り分けもいまいちわからず、試行錯誤してやっとボスにたどり着いたら今度は極太レーザーに焼かれて全滅(ニューラルくんにすれば予兆エフェクトなんか見えてないんだから当然である)、入力に予兆エフェクトを追加したら入力が増えたせいかまた上達が止まり、いろいろがんばってやっとボスを撃破するに至った。

やったーついにボス撃破! とはいえ極太レーザーはまだ下には避けられず、道中ノーミスでボスに来れるようになったおかげでミスしても倒せるようになったという状態。なにはともあれめでたい pic.twitter.com/R3IHtPCtk5

— gony(LHO) (@gony) February 22, 2021

とりあえずこれで一段落...

2021/02/28

21:38 Monthly Update

今月はもう日記書いたけどMonthly Updateしておく。まあ日記というにはおこがましい更新頻度であるということは変わらない。

今月も特筆すべき活動は特にない。少し暖かくなってきたのが幸い。花粉症の人は症状が出始めているようだが、自分はよくわからない。

仕事のほうも普通。今期は商売としてはもうほんとうにめちゃくちゃだったので、3月になったら決算の準備をとっとと終わらせてしまい来期に気持ちを切り替えて行きたいところ。

COVID-19について。東京都の1日の感染者数が300人前後、実効再生産数が0.8前後。まだ少なくはないと思うがまもなく首都圏も緊急事態宣言解除されるだろう。まあ、うがい手洗いマスクといった地道な対策は当面必要だろうが、ワクチン接種で徐々に収束していくのだろうとは思う。

では例によってラーメンで情報量水増しのコーナーです。

nakamoted pic.twitter.com/KjDhLgAwvq

— gony(LHO) (@gony) February 8, 2021

拉麺大公でおひる pic.twitter.com/XVdcPUXv8I

— gony(LHO) (@gony) February 16, 2021

壱八家でおひる pic.twitter.com/F4m6vZJlVS

— gony(LHO) (@gony) February 22, 2021

上大岡タンタンでばんごはん pic.twitter.com/UESY5zDxZ5

— gony(LHO) (@gony) February 25, 2021

Generated by Rui 0.4.1