■はじめに

前回の「サッカーモドキAI」では、
ひたすらゴール横で待ち続けるという “残念AI” を作ってしまいました。
ただ、あの結果も 動画で学習結果を確認していたからこそ気づけたこと。やはり強化学習は、結果確認が超重要だと痛感しました。

さて今回は、少しレベルを下げて ブロック崩し に挑戦してみました。
学習の安定性を上げるために、学習中にコートの大きさを変えるカリキュラム学習も導入します。

報酬設計に気をつけながら、ChatGPTさんと一緒に攻略していくつもりでした。



■と、思ってた時期が僕にもありました。

収束しません。ブロック崩し。

ChatGPTさん(GPT-5)どころか、Geminiさんにも手伝ってもらったのですが、
これがまぁ、安定しない。

にっちもさっちもいかない状態になったところで、ChatGPTさんから一言。

> 「DQNよりPPOの方が安定すると思いますよ」

……また新しい単語が出てきました。

■PPO(Proximal Policy Optimization)とは?

ChatGPTさんの説明を簡単にまとめると、

強化学習は “たまたまうまくいった1回” に引っ張られ、
方針(policy)が急激に変化して学習が壊れる ことがあります。

PPO は、この “暴走” を防ぐために、
「方針更新の量」をクリップして適切な範囲に収める アルゴリズムです。

安定して学習できる

ゲーム系との相性が良い

DQNとは別系統(Actor-Critic系)だけど、とにかく安定しやすい

という利点から、最近のゲーム系RLではよく使われています。


■というわけで、PPOでブロック崩しを作ってみました。

まず、ブロック崩しの 学習シナリオ を作成しました。
カリキュラム学習を入れたせいで、シナリオは少し長めです。

コートの大きさを変える

ブロック数も変える

この2つを変化させて、難易度を徐々に上げる作戦です。
DQNで動かしてみたところ、報酬がバラバラで不安定だったので、
PPOに切り替えてみたところ……

報酬が少しずつ “育っていく” ように!

何回かやるうちに、なんと 全消し を達成するエピソードも登場。

ただし、今回のエピソード終了条件は
「ボールを5回打ち返したら終了」
なので、全消しの方が “まぐれ” です(笑)

■ブロック崩し本体はコチラ

コード

リワードグラフ(全消し時)



学習結果の動画(全消し時)


■今回の学び

●報酬が荒れるときは「PPO」が超おすすめ

ビデオゲーム系は、状態が連続的で報酬も揺れやすく、DQNでは不安定になりがちです。
その点、PPOは更新幅を制御してくれるので安定性が段違い。

ChatGPTさんいわく、

> 「アタリ系ゲームはPPOの方が向いてることが多い」

ということで、今回まさに実感。

●報酬設計は手間をかけるほど良くなる

最初、報酬設計で何度も失敗しました。
初心者ほど、環境より報酬設計に時間をかけるほうが結果が出やすいです。

ブロックを1個壊したらプラス

ボールを返せなかったらマイナス

進歩を少しでも褒める
このあたりを丁寧に調整すると安定します。

■まとめ

今回は、ブロック崩しをAI(PPO)で学習させてみました。

アタリ系ゲームは「画面を取り込んで学習させる」手法がよく知られていますが、
ブロック崩しはその中でも比較的AI向きと言われています。
……が、実際にやってみると 意外と簡単ではない ですね。

カリキュラム学習・報酬設計・PPO の安定性など、
学ぶことはまだまだ多いと感じました。

でも、少しずつ形になっていくのはやっぱり楽しい!
次はもっと賢いブロック崩しAIに挑戦してみたいと思います。