50年以上前の卓球ゲーム「ポン」そのものをニューラルネットワークでクローン化 – GIGAZINE


1972年に発売された卓球ゲーム「ポン」をニューラルネットワークを使ってクローンした「Neural Pong」が公開されています。この「Neural Pong」の画期的な点は、ニューラルネットワークがポンをプレイするのではなく、「ニューラルネットワーク自体がポンというゲームのルールや物理法則を学習し、ゲームそのものとして機能していること」です。

GitHub – nickbild/game_clone: I cloned Pong with a neural network. The neural network is not playing Pong, it is Pong, and you can play it.
https://github.com/nickbild/game_clone


このNeural Pongは、ニューラルネットワークがプレイヤーとしてポンをプレイするのではなく、ニューラルネットワーク自体がポンというゲームそのものであるというのが特徴。通常のゲームのように人間が物理法則をプログラミングするのではなく、実際のゲームプレイから収集したパドルの位置やボールの座標、ユーザー入力など、数十万フレームの連続データをニューラルネットワークに学習させています。

1972年に発売されたポンはこんな感じ。動くボールを両端にあるパドルで跳ね返すというシンプルなゲームです。

Arcade Game: Pong (1972 Atari) [Re-Uploaded] – YouTube


そして、以下のムービーは実際にNeural Pongが動作するところ。AIはプレイヤーとしてゲームをプレイするのではなく、ゲームのルールブックや物理エンジンそのものとして、ボールの跳ね返りやパドルの衝突といった、ポンの動作を再現しています。なお、ゲーム中に再生される効果音はありません。

I Cloned Pong With a Neural Network — It’s Not Playing Pong, It IS Pong – YouTube


開発者のニック・ビルド氏は当初、単純なフィードフォワードネットワークでNeural Pongを実現できると考えていましたが、物理法則の学習が非常に困難であったため、数ヶ月を費やしたと述べています。最終的に、パドルとボールの処理を分離し、時間的な関係性を捉えるためにアテンション機構を用いたTransformerベースのアーキテクチャを採用することで成功したとのこと。


さらにビルド氏は、自身が作成したシンプルなポン風ゲームからパドルの位置、ボールの座標、そしてユーザーの入力情報をテキストファイルに書き出し、学習用のデータを収集しました。しかし、通常のゲームプレイだけでは、パドルがボールを打ち損なうという、ゲームのルール上重要なイベントがまれにしか発生しないという課題が出てきたそうです。

そこで、このデータの偏りを解消するため、パドルがボールを打ち損なう状況を意図的にシミュレートする合成データを専用のスクリプトで生成し、実際のプレイデータに補足情報として加えています。この実際のデータと合成データを組み合わせるアプローチが、モデルの精度向上に貢献しました。

ゲーム自体は、推論モデルがプレイします。ゲームを開始する際、まず初期状態として4フレーム分の連続したデータが「シード」としてモデルに与えられます。モデルはこの4フレームの情報を基に、次の1フレームの状態を予測します。そして、予測された新しいフレームは過去のフレームのリストに追加され、最も古いフレームが削除されることで、常に最新の4フレームが次の予測に使われるというサイクルが繰り返されます。

この仕組みにより、最初のシードデータ以降は、モデルが自身の予測結果を新たな入力として使いながら、自律的にゲームを進行させることが可能になります。


なお、ビルド氏はこのプロジェクトをGPUなしでの開発という大きな制約の中で進めたと報告しています。ビルド氏は当初、ゲーム画面の画像そのものを学習データとし、次の画像フレームを予測させるという、より高度な目標を掲げていたとのこと。しかし、この方法は膨大な計算量を要するため、学習用の高価なGPUを所有していないビルド氏にとっては実現不可能でした。

Neural Pongの学習データがテキストファイルベースで行われているのはそのためで、トレーニングは10年前のXeon CPUが2基搭載されたマシンで行われたそうです。ビルド氏は以前にコモドール64で画像生成AIを動かすプロジェクトに挑戦しており、この経験がNeural Pongの学習に応用されているとのことです。

Commodore 64 AI Image Generator – YouTube

この記事のタイトルとURLをコピーする


ソース元はコチラ

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

関連記事