ブログ
シミュレーション上の格闘家を鍛える過程の技術解説です。
ファイターの脳はどれだけ埋まっているのか:ネットワークサイズの実験

AIファイターのネットワークは、新しいスキルを覚えるたびに古いスキルを手放すようになっていました。ネットワークが一杯なのかを確かめるため、私は動作を一切変えずにネットワークを4通りに大きくし、それぞれを変更なしの対照と並べて学習させました。大きなネットワークは教師に20–41 %近づきましたが、戦いのテストではどれもはっきりとは良くなりませんでした。
ムエタイの技のトルクとニューラルネットワークの可視化

押しを受け、倒され、14の技を出すあいだ、AIファイターの中では何が起きているのか。すべての関節のトルクと、2層目のすべてのニューロンを並べて見せます。パンチを動かしているのは腰で、技の入力は体が動く前に100以上のニューロンを目覚めさせ、ネットワークは倒れる1.9秒前に自分が倒れることを知っています。
モーターの代わりに筋肉で

もしファイターが関節のモーターではなく筋肉で動いていたら? 構えは学習できます。単純な関節の筋肉なら2~3倍、本物の脚の解剖学を含む142本の筋肉なら5~6倍の学習量で。パンチは学習できませんでした。その理由は筋肉の問題です。
膝蹴りを直す

ムエタイの技が私の体からシミュレーションのファイターに届くまで:スマートフォン2台のモーションキャプチャ、バリエーションの表、教師、生徒、そして各段階での人の目によるチェック。後半はひとつの事例を詳しく紹介します。スコアは良く、バランスも取り戻したのに、それでも間違っていた奥足の膝蹴りです。
シャドウクローン:ムエタイの4つの技を並行して学ぶ

1人のファイターに新しい技を順番に教える代わりに、最新のモデルをコピーして技1つだけの教師をレンタルGPUの上で作り、それらが学んだことを1つの生徒に蒸留して戻しました。戻ってきた技は3つ。学習を終えたのに、まだ間違っているクローンもありました。
2人のファイターと視覚:最適化したGPUとCPUの比較

ブロックの学習には2人のファイター、視覚、教師ネットワークがあるため、GPUとCPUの比較テストをRTX 5090と96 vCPUのEC2スポットマシンでやり直しました。両方を最適化した結果、GPUのほうがイテレーションあたり約3.2倍安く、しかも速く学習できます。
レンタルGPUで学習する:4.5倍安く

EC2のスポットCPUマシンは高くつくようになっていました。ファイターの物理演算をGPUに移し、コードをGPU向けに調整し、9種類のグラフィックカードを試した結果、構えの学習コストは約4.5分の1になりました。
ブロック:0.1秒遅れて見えるパンチを読む

20回の学習ランで、ファイターはムエタイの4種類のブロックを覚え、さらに対戦相手を見て正しいブロックを選ぶことを学びました。その途中で4回、パンチを読む代わりに対戦相手の「癖(手がかり)」を見つけてしまいました。
フットワーク:ムエタイの構えのまま目標地点へ歩く

22回の学習ランで、ファイターはパンチを忘れることなく、前、後ろ、横、斜めに踏み出し、ピボットで向きを変えられるようになりました。ところが、歩き方の見た目についてのルールを加えるたびに、歩きは悪くなっていきました。
速いパンチへ:練習している一般人からプロへ向けて

5種類のパンチは当たるようになったものの、速さは一般人並みでした。7回の学習ラン、自分でタイミングを決める方策、そして強くした肘によって、どのパンチも以前より早く目標に届き、ついにクロスも当たるようになりました。
5つのパンチ:クロス、フック、アッパーカット

ジャブに4つのパンチを加え、空中、ミット、重いサンドバッグへ。10回の学習ラン、コーチの修正、そして人間に近いコンビネーションを打てるようになったファイター。
ジャブ:いちばん単純なパンチと、長いレッスン

シミュレーションのファイターにジャブを教える。アニメーションから写したパンチがなぜ物理の中では通用しないのか、そしてひとつ直すたびに問題がどう別の場所へ移っていったのか。
AIファイターをコーチする
ムエタイのコーチが、シミュレーションのファイターにパンチを教える話。人に教えるのとなぜこれほど似ているのか、そしてスマートフォンからどう教えているのか。
ムエタイの構えでバランスを学ぶ

シミュレーションの人型ファイターが、コーチの指定したムエタイの構えを身につけ、さらに最大860 Nの押しを受けても倒れず、ガードを上げたまま耐えられるようになるまで。