ランド研究所の「機械学習による航空支配」を実装する（その1）：レポートのまとめ


ランド研究所から２０２０年に「機械学習による航空支配：AIアシストによるミッション・プランニングの準備的研究」と題するレポートが発刊されました。

 [Air Dominance Through Machine earning: A Preliminary Exploration of Artificial Intelligence–Assisted Mission Planning](https://www.rand.org/pubs/research_reports/RR4311.html)

機械学習、特に深層学習の軍事応用といえば、すぐに画像処理やロボット／無人機の制御を思い浮かべるのですが、このレポートは別の切り口になっています。具体的には、オペレーションよりのミッション・プランニングを対象としています。「AI」とか「人工知能」という言葉を聞いたときに思い浮かべる印象に近く、内容に興味を持ったので、これを実装してみましょう。ただ実装と言っても、ランド研究所のレポートはしばしば、（多分意図的でしょうが）、詳細は全く記載されていないので具体的にどうやったのかさっぱり分からない、記述が曖昧であちらこちらに矛盾があって読んでいて腹が立ってくるといった問題があり、本レポートも例外ではありません。ただ深層学習の応用としては面白かったので、そこは我慢して想像力で補いながら実装します。

以下、※がある個所は個人の意見です。

# 1. レポートの目的
プロジェクトとしての目的は、航空領域における新しいCONOS (Concept of Operations) を開発し、評価するのを助けるPoC (Proof of Concept) AIシステムを試作すること。ランド研究所はもう少し壮大なプロジェクトをやっていて、このレポートはその一部らしく、極めて簡単なSEAD（Suppression of Enemy Air Defense）ミッションのために、ミッション・プランニングをしてくれるエージェントを試作しています。（「えっ、米軍がまだこのレベルなの？」というぐらいシンプルな問題なのですが、私のビンテージ・マシンでやるには手頃です。たぶん、実際の実施時期は数年前なのでしょうね。この業界の進歩についていくのは大変です）。

# 2. レポートの概要

* 問題は、1D（１次元）、2D（２次元）に単純化している。地形などもない。登場人物（シミュレーション用語でエンティティ）は、Blue Team（簡単に言えばアメリカ軍）が Fighter、Jammer、Decoy、一方相手であるRed Team は、SAM (Surface to Air Missile) とTargetであり、いずれも０～２機（基）である。Fighter は SAM や Target を破壊するのがミッションであり、SAM は Blue Team の航空機を撃墜するのがミッションである。Blue Team の航空機はパッケージとして運用され、このパッケージのミッション・プランニングがレポートにおける AI 適用の対象である。
 
※（シミュレーション上、本質的な問題ではないが）、レポートでは、Fighter や Jammer についての記載が、有人機となっていたり無人機となったりして混乱している。
 
 * ミッション環境は、国防省（DoD）の標準運用シミュレーション・ツールである ```AFSIM (Advanced Framework for Simulation, Integration, and Modeling)``` を簡素に（低フィデリティ化）して、且つ OpenAI Gym 環境に対応させた ```AFGYM``` を新たに開発し、シミュレートしている。また、AFGYM でトレーニングしたエージェントを AFSIM で評価している（※この際に、転移学習はしていないと思われる）。

 * ミッション・プランニングは、意思決定空間が広く、結果が出るのに長期の遅延がある問題であり、AI にとって、チャレンジングな問題である。ここで、AIとしては、GAN 又は強化学習（DQN, A3C, PPO）を検討対象としている。比較的新しく評判も良いSAC (Soft Actor-Critic) を使っていないのは研究時期との関係でしょう。
    - [Generative Adversarial Networks, 2014](https://arxiv.org/abs/1406.2661)
    - [Playing Atari with Deep Reinforcement Learning, 2013](https://arxiv.org/abs/1312.5602)
    - [Asynchronous Methods for Deep Reinforcement Learning, 2016](https://arxiv.org/abs/1602.01783)
    - [Proximal Policy Optimization Algorithms, 2017](https://arxiv.org/abs/1707.06347)
    - [Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor, 2018](https://arxiv.org/abs/1801.01290)

　　なお、強化学習の実装は、公開されているツールで代用している。たぶん、[OpenAI Baselines](https://github.com/openai/baselines)。


 * ただし、ミッション・プランニング全体を取り扱っているわけではなく、ターゲットや脅威の特定（位置や射程等の特定）は含んでおらず、それは与えられる（※タイトルにあるように AI は人をアシストするのが目的なので、たぶんそこは人力やインテリジェンス活動で行うことを前提としている）。したがって、ここで言うミッション・プランニングは、ルート・プランニングと、各エンティティ間のタイミング制御からなる。（※ 詳しくないので判りませんが、ルート・プランニングだけなら、AIが出るまでもなく、経路探索アルゴリズムとして有名な Dijkstra Algorithm や A* search で十分なようです。ミッション・プランニングとルート・プランニングは異なると書いてありました。当然ですよね）。
 
# 3. レポートの Conclusions

1D 問題、2D 問題については、（その２）以降の記事でまとめて行くことにして、ここでは（いきなりですが）Conclusions をまとめておきます。

## 3.1 結論 
1. 1D 問題では、GAN, DQNによるアプローチを試み、両方とも機能した。
2. 2D 問題では、A3C と PPO による強化学習を適用した。A3Cはうまく機能しなかったが、PPOはうまく機能した。

## 3.2 将来の研究（Next step）

次のステップの研究として、以下を挙げています。

1. 問題の複雑さとスケールアップ（エンティティ数の増加など）

2. マルチ・エージェント問題にフォーカス（[DeepMind の AlphaStar ](https://www.nature.com/articles/s41586-019-1724-z)や[ OpenAI Five の DotaII ](https://openai.com/projects/five/)を意識している）。

3. AFGYM から AFSIM への転移学習

4. セルフ・プレイによる学習（本レポートのRed Teamは学習能力無し）

5. ハイパー・パラメータの自動チューニング

6. 状態の表現と問題の定式化（※ 意味不明な文章が書き列ねてあったが、たぶん、多数の可変エンティティ数を取り扱うために、状態表現に工夫が必要であると言いたいのではないか。本レポートの手法では、敵味方の最大エンティティ数はあらかじめ与えておく必要がある。それ以上に対応するにはネットの再定義と再学習が必要になる。つまり、汎用性に欠ける）。

## 3.3 まとめ
レポートの Conclusion からは、Ai の応用についてあまり肯定的な印象は受けなかった。今の強化学習のレベルを考えると、ブレイク・スルーが無いと現実の問題には使えないんでしょうね。前向きに考えれば、それだけ沢山の研究領域が残っているということでしょう。

1. 現実問題に適用するために必要な時間とパワーは不明

2. 学習したものが使えるようなモジュール型、組合せ型のネットワークや転移学習に係る研究が必要。また、既存の知識を利用できるような仕組みについての研究が必要

3. 実際問題として、現実のミッション成功、不成功についてのデータはほとんど無い。このため、シミュレーションに頼らざるを得ないが、シミュレーションから現実世界に移行した時に上手く行かないことは多い（※ 代表例として、自動運転を挙げている）。このため、網羅的なテスト（Exhausted test）とアルゴリズムの進展が必要

4. 画像処理のように、データがふんだんに存在し、アルゴリズムも発展している分野は別にして、トレーニング・データの生成にシミュレーションが必要な分野では、応用はまだまだである。

5. ハイレべルな戦略は、今回のように制約の中で最適化を図るものではなく、むしろゲームのルールを変えることで利を得るようなものである。（仰るとおりですね！）。AIだけですべての問題が解決するわけではない。

※ ゲームのルールを変えるようなAI研究は、さすがの DARPA が早々に手を付けていますね。最近 DARPA が Northrop Gramman と契約したプロジェクト [Game Breaker](https://www.darpa.mil/program/gamebreaker) を、とても興味深く思います。

## （その２）へ続く

（その２）では、レポートに記載してある1次元問題についてまとめようと思います。


#追記
別の題材で、マルチエージェント強化学習の応用を取り扱った記事を書き始めました。
> [マルチエージェント強化学習を使って、複数群vs複数群のための協調戦闘戦術を生成してみる](https://shin-trdi.hatenadiary.jp/entry/2021/09/27/211646)

#追記2023.03.04
Transformerを使ってマルチエージェント強化学習をしてみました。
> [Preliminary Implementation of MARL-Transformers for Generating Battlefield Strategy (1)](https://medium.com/@tym406/preliminary-implementation-of-marl-transformer-for-generating-battlefield-strategy-1-b3ae18631082)