はじめに
こんにちは。株式会社Spakona 代表の河崎太郎(@taro_kawa6)です。「第4回 空戦AIチャレンジ」に参加し、最終一位入賞を果たすことができました。なお、今回のチームは河崎(@taro_kawa6)、鈴木、和地(@akifumi_wachi)、青木(@thun_c)の4名で構成されています。
本記事では、コンペ開始当初に我々 Spakona_Inc チームが想定していた 「初期戦略」 について解説します。
実は、最終的に採用した解法は当初の想定とは全く異なるものになりました。しかし、そこに至るまでの、
- 初期の技術サーベイ
- 当初描いていた戦略
- なぜ計画を変更するに至ったか
といった試行錯誤のプロセスは、多くの読者にとっても有益な知見になるのではないかと考え、公開することにいたしました。
我々のチーム Spakona_Inc が最終的に採用した解法の詳細については、以下の記事にて解説しておりますので合わせてご覧ください。
当時の状況と情報
まず、本記事で振り返る時期について補足します。 これは主に、コンペの情報が公開されてから、実際に環境が配布されるまでの「空白の1ヶ月間」の議論になります。
- 2025年6月中旬:「第4回 空戦AIチャレンジ」の情報公開
- 2025年7月14日:データおよびサンプルコード公開
つまり、問題設定(ルール)は公表されているものの、シミュレーターやサンプルコードは手元にない状態でした。当時判明していた主なルールは以下の通りです。
- 編成: 敵味方ともに戦闘機$N$機 + 護衛対象機1機
- のちに $N=4$ だと分かりますが、この時点ではまだ発表されていなかったと記憶しています
- 勝利条件: 相手の護衛対象機を先に撃墜した方の勝ち
- 相手の戦闘機を全滅させても、護衛対象機を落とせなければ勝ちにならない
- 制限時間が経過した場合は引き分け等の判定となる
- 部分観測性あり (自陣営が捕捉した敵のみ見える)
チーム内での初期考察
この情報が公開された6月中旬、チーム内では以下のような議論がなされていました。
- 「対戦型・マルチエージェント・部分観測という非常に難しい問題設定だ。まともに動作するエージェントを訓練できただけで上位にいけるのでは?」
- 「過去3回の大会ではルールベース(部分的に機械学習を使用)のチームが圧倒的に一位だったらしい。しかし、第4回のこの問題設定ならば、強化学習ベースのエージェントが相当有利になるはずだ」
我々はこれらの仮説に基づき、強化学習アプローチを前提とした技術サーベイを開始することにしました。
初期の技術サーベイ内容
シミュレータは未公開だがルールのみ判明しているという当時の状況を踏まえ、我々はまず既存の空戦AIに関する論文(Black (2024) や Wang+ (2020) 等)を調査し、理論的な裏付けを持って作戦を立てることにしました。
そもそもなぜ空戦で強化学習なのか?
Black (2024) や Wang+ (2020) といったサーベイ論文では、強化学習を採用する主たる理由として以下の二点が議論されています。
- 複雑なダイナミクスと予測不可能性を特徴とする空戦において、すべてのの戦術的規則をルールベースでコード化するのは難しい
- 強化学習が時々刻々変化する戦況に対応して適応する能力は、軍事的意思決定に対するより堅牢で柔軟なアプローチを提供できる可能性がある
過去の3大会ではルールベースが猛威を振るったそうですが、学術的には「人間の知識に基づいたルールベースよりも、長期的には強化学習エージェントの方が強くなる」という議論がなされています。 防衛装備庁が本コンペを開催し、強化学習の適用を推奨している背景にも、こうした技術的期待があるのではないかと推察しました。今回の「第4回」で防衛装備庁が求めているのも、まさにこの強化学習によるブレイクスルーだろうと我々は解釈しました。
マルチエージェント強化学習の基礎
強化学習に詳しくない読者も多いかと思いますので、簡単に用語を定義します。空戦は通常、複数の航空機が関与するため、マルチエージェント強化学習の問題として定式化されます。
- 状態 (State) : ある時点 $t$ における環境の完全な情報。航空機の位置、高度、速度、ミサイルパラメータ、脅威レベルなどが含まれ、非常に高次元となります。
- 観測 (Observation) : 各エージェントがアクセスできる情報。状態の一部(部分観測)のみが自身の意思決定に利用可能です。
-
行動 (Action):
- 低レベル: 飛行制御コマンド(補助翼、昇降舵、スロットルなど)。
- 高レベル: 戦術的な意思決定(移動方向、攻撃タイミング等)。
- 報酬 (Reward): 全エージェントが行動した後、各エージェント $i$ が受け取るスカラー値 $R_i$。期待累積報酬の最大化を目指します。
- 方策 (Policy): 観測を行動にマッピングする関数 $\pi_i$。
空戦AIにおいて最も特徴的なのが「混合設定」である、ということです。「味方チームとは目標を共有(協力)」しつつ、「敵チームとは目標が対立(競争)」するという、協力と競争が混在する非常に難易度の高い設定となります。
マルチエージェント強化学習の文脈における空戦の難しさ
既存研究においては、空戦の難しさにおいて以下のような4つの困難があると整理されています。
- クレジット割り当て問題: 共同で得た報酬(勝利など)に対し、どのエージェントの、どの行動が貢献したかを特定するのが困難。
- 高次元の状態・行動空間: 複雑な飛行力学と膨大な機動オプションにより、探索空間が爆発的に増加する。
- スパースな報酬: 「撃墜」などの目標達成に対するフィードバックが稀で、遅延して発生する。
- 部分観測可能性: エージェントが環境の全体像を見渡せず、不完全な情報で意思決定する必要がある。
我々が当初想定した戦略
チームではこれらの課題を検討した結果、「高次元の状態・行動空間」こそが最大のボトルネックであると結論付けました。他の3つについては、なにかしら解決策が存在する、と判断したためです。
-
クレジット割り当て
- 我々の記憶が正しければ、戦闘機の機数が「4」であることは未発表だったのですが、まぁ3~5だろうと思ってました。
- さすがに、StarCraftのような大量のエージェントを扱うわけではないと想定していましたので、「一部のエージェントがサボる」・「怠惰なエージェントが誕生する」という問題が発生する確率は低いと見積もりました。
-
部分観測可能性
- これに関しては、LSTM や Transformer を用いて過去の履歴を記憶させるという常套手段が存在するのでさほど問題にならないと考えていました。
-
スパースな報酬
- まずは単純な「勝敗」に基づく報酬で学習させ、うまくいかなければその時に報酬設計を頑張れば良い、というスタンスを取りました。
したがって、「高次元の状態・行動空間」をどのように取り扱うかが勝負の分かれ目だと想定していました。
| 課題 | 当初想定していた対処法 |
|---|---|
| 高次元の状態・行動空間 | 最優先課題! |
| クレジット割り当て | エージェントの機数はせいぜい3~5ずつだと思うので一旦無視 |
| スパースな報酬 | 「勝敗」に基づく疎な報酬で一旦学習。だめだったらその時考える |
| 部分観測可能性 | LSTM, RNN, Transformerをモデルに組み込む |
高次元の状態行動空間の対処方法
様々な論文をサーベイした結果、以下の大きな2つのアプローチがあるようでした。
- 階層型強化学習
- Kong et al. "Hierarchical multi‐agent reinforcement learning for multi‐aircraft close‐range air combat." IET Control Theory & Applications17.13 (2023): 1840-1862.
- Wang and Jintao. "Enhancing multi-UAV air combat decision making via hierarchical reinforcement learning." Scientific Reports14.1 (2024): 4458.
- Qian et al. "H3E: Learning air combat with a three-level hierarchical framework embedding expert knowledge." Expert Systems with Applications245 (2024): 123084.
- Chai et al. "A hierarchical deep reinforcement learning framework for 6-DOF UCAV air-to-air combat." IEEE Transactions on Systems, Man, and Cybernetics: Systems 53.9 (2023): 5417-5429.
- End-to-end の強化学習
- Zhu et al. "Mastering air combat game with deep reinforcement learning." Defence Technology 34 (hu2024): 295-312.
上記の論文を一通り読んだ結果、我々は階層型強化学習を採用するのがよいのではないか、という結論に至りました。
-
「大失敗」のリスク回避
- End-to-end(入力から制御まで単一のニューラルネットワークで行う)の強化学習は、成功すれば最強かもしれませんが、既存研究が少なく難易度が極めて高いと予想しました。
- コンペ期間中に学習がうまくいかず「何の成果も得られない」という最悪のケースを避けるため、より着実なアプローチを選びました。
-
ルールベースを超えるポテンシャル
- 階層型であっても、学習に成功すれば既存のルールベース手法には勝てるはずだと見込みました。
-
実装の足がかりがある
- 「階層型強化学習 + 空戦」のテーマではオープンソースソフトウェアがいくつか存在しており、ある程度の性能まではスムーズに実装できる目処が立っていました。
階層型強化学習を用いた既存研究を参考に、我々はエージェントの方策を二階層で設計することを想定していました。
- ハイレベル方策:大局的な戦況を見て「何をするか」という全体戦略を決定
- 「攻撃的接近」「防御的退避」「射撃」といったサブ戦略の中から、今の状況に最適なものを選択
- 敵味方の位置関係など、不完全な情報(部分観測)から全体像を把握するため、Transformer や LSTM を用いて状況を認識
- 報酬: 「敵を撃墜したら+1」「撃墜されたら-1」といった、勝敗に直結するシンプルな結果で評価
- ローレベル方策:ハイレベルで選ばれた戦略を実行するために「どう動くか」を決定
- エンジンの出力、昇降舵や方向舵の角度など、具体的な機体制御コマンドを出力
- ここでは人間のドメイン知識を取り入れてどう振る舞うべきかを規定
-
報酬: 以下のような非常に具体的で物理的な目標を与える。例えば、
- 攻撃時: 敵との距離を500ftに保つ、敵を正面に捉え続ける
- 防御時: 敵からの角度(Aspect Angle)を小さくして逃げやすくする
なぜ計画を変更したか?
以上のように「初期戦略」を立てていたわけですが、2025年7月14日にデータセット及びサンプルコードが公開されて驚きました。
すでに End-to-end のマルチエージェント強化学習が実装されており、サンプルコードを回すと結構強いエージェントが訓練できたのです。しかも、Transformer や LSTM がきちんと用いられているなど、我々が当初想定していた対処法も実装されていました。コード自体も長年手を加えてきたことが伺える内容で、階層型強化学習を一から実装したとしても、このレベルまで到達するだけで膨大な労力と時間が必要となることが予想されました。
方針転換の理由
そもそも、階層型強化学習を採用しようとしていた理由は「End-to-end 強化学習がうまくいかない可能性が高い」と考えていたためです。しかし、すでにサンプルコードである程度 End-to-end がうまくいっているなら、無理に階層型を選択する必要はありません。
一方で、ソースコードを読み進めていくとまだまだ改善の余地がありそうな箇所が何個か見つかりました。そこでクイックに効果の大きそうな改変を何個か試すと、エージェントの性能が有意に上がりました。その段階で、サンプルコードをベースに我々独自の工夫を組み込んでいくのが得策である、という判断に至りました。
実際の解法
徒然なるままに「まぼろしの初期戦略」について書きましたが、最終的に一位を獲得することのできた解法は当初の想定とは大きく異なるものになりました。我々の最終的な解法の詳細については、別のブログ記事を掲載しておりますので合わせてご覧いただけると幸いです。
参考文献
- Black "Mastering the Digital Art of War: Developing Intelligent Combat Simulation Agents for Wargaming Using Hierarchical Reinforcement Learning." arXiv preprint arXiv:2408.13333 (2024).
- Wang et al. "Large scale deep reinforcement learning in war-games." 2020 IEEE International Conference on Bioinformatics and Biomedicine (BIBM). IEEE, 2020.
- Kong et al. "Hierarchical multi‐agent reinforcement learning for multi‐aircraft close‐range air combat." IET Control Theory & Applications17.13 (2023): 1840-1862.
- Wang and Jintao. "Enhancing multi-UAV air combat decision making via hierarchical reinforcement learning." Scientific Reports14.1 (2024): 4458.
- Qian et al. "H3E: Learning air combat with a three-level hierarchical framework embedding expert knowledge." Expert Systems with Applications245 (2024): 123084.
- Chai et al. "A hierarchical deep reinforcement learning framework for 6-DOF UCAV air-to-air combat." IEEE Transactions on Systems, Man, and Cybernetics: Systems 53.9 (2023): 5417-5429.
最後に宣伝
Spakonaはエンタープライズ向けAIシステムの開発で培った技術力を基盤に、新たにDefense Tech領域への参入を開始します。事業拡大に伴い、エンジニア採用を強化中です。AIサービス開発・システム開発に携わっていただける方を募集しています。詳細は下記リンクをご覧ください。
もしくは河崎のX(@taro_kawa6)にDMください、返事します!
ぜひ一緒に仕事しましょう!