見出し画像

【ML-Agentsノーコードトレーナー(第六弾)】並列学習環境構築機能の実装などを行いました。【2Dシューティングゲーム】

作業内容

ML-Agentsをノーコードで体験できるアセット「ML-Agentsノーコードトレーナー」の進捗報告です。

学習・分析作業を効率化するための改良と、ShooterSceneでの学習を行いました。

  1. 並列学習環境の構築
    学習効率化のため、複数の並列学習環境をワンクリックで構築できる機能を実装しました。
    現在は、2Dシューティングゲーム学習用のサンプルシーン「ShooterScene」のみに対応しており、今後はほかのサンプルシーンにも展開予定です。

  2. ログコピー機能
    Trainer Window上のログをワンクリックでコピーする機能を実装しました。

  3. Shooterシーンでの学習
    構築した10個の並列学習環境で、1,510万ステップまで学習させました。

結果・所感

  1. 並列学習環境の構築
    10個の並列学習環境で並列学習させることで、学習速度が単一環境よりも向上しました。
    ワンクリックで構築できるのも、とても便利だと思います。

  2. ログコピー機能
    コピーしたログをVS Codeなどに貼り付けることで、折り返し表示や検索、生成されたモデルのパスなどのコピーが容易にできるようになり、利便性が向上したと思います。

  3. Shooterシーンでの学習
    前回は一度も倒せなかったボスを、今回は何度か撃破できました。
    一方で、プレイヤーが画面右端にとどまり、ボスのブレッドに衝突するという、類似の失敗行動を繰り返す傾向も見られました。
    今後の対策として、探索を促す学習パラメータや、観測データ・報酬設計の見直しを検討しています。

本アセットについて

UnityのML-Agentsをノーコードで体験できるチュートリアル用のアセットです。
UnityのML-Agents関連パッケージのインストールと、`uv`または`venv`を使用したPython仮想環境(PyTorch、mlagentsなど)の構築をワンクリックで行えます。
学習用サンプルシーン「SeekerScene」「JumperScene」「CrowdExitScene」「ShooterScene」もワンクリックで作成できます。

SeekerSceneは、Seekerがランダムに生成されるTargetに接触することを学習するシーンです。
JumperSceneは、Jumperが障害物をジャンプで乗り越え、Targetに接触することを学習するシーンです。
CrowdExitSceneは、複数のPersonが出口前に柱のある部屋から最短で出口へ向かう行動を学習するシーンです。
ShooterSceneは、Shooterがハイスコアの獲得やボスの撃破を学習する、シンプルな2Dシューティングゲームのシーンです。

報酬(スコア加点ボーナス、ボスへのダメージボーナス、クリアボーナス、被弾ペナルティなど)や、その他の各種パラメータ(プレイヤーの移動速度、弾の発射頻度、ボスのHP、敵の出現頻度など)は、スライダーで簡単に調整できます。
「学習開始」ボタンを押すだけで学習が始まり、ステップごとの平均報酬を示すリアルタイムグラフを専用ウィンドウで確認できます。
学習済みモデルをワンクリックで複数の対象エージェントに一括適用し、推論させることが可能です。

今後の展望

1. ボス撃破の安定化

ShooterSceneのAIを再度学習し、ボスを安定して撃破できるようにします。
多様な行動を取らせるため、エージェントの好奇心を司る学習パラメータ `beta` を大きくすることを試します。
また、観測データ・報酬設計の見直しも行います。

2. サンプルシーンの拡充

さまざまなシチュエーションのサンプルシーンを追加していきます。

3. 個別報酬の可視化

分析を効率化するため、既存の合計報酬のリアルタイムグラフに加えて、個別の報酬を表示するリアルタイムグラフも実装します。

4. ツールの公開

UnityアセットストアやGitHubに公開します。

開発ツール

  • Claude Code(Claude Fable 5、Claude Opus 4.8)

  • Codex(GPT-5.5)

実行環境

  • Unity 6000.3.10f1

  • com.unity.ml-agents(4.0.2)

  • com.unity.ai.inference(2.5.0)

  • mlagents 1.1.0

  • mlagents-envs 1.1.0

  • Python 3.10.15

  • PyTorch 2.8

関連URL

動画タイムライン

  • 0:00 ShooterSceneで10個の並列学習環境で1,510万ステップまで学習させる様子

  • 0:19 1,510万ステップ学習済みモデルに推論させる様子

  • 0:46 並列学習環境をワンクリックで構築する様子

タグ

#ML-Agentsノーコードトレーナー
#Unity
#強化学習
#GameDev
#ShootingGame

いいなと思ったら応援しよう!