同じ条件で2.5時間ずつ学ばせたAIでも、強さは毎回ぶれました。
前のAIと直接戦わせた得点は、0.410の回もあれば、0.515の回もありました。
そこで、いちばん強いAIの続きから5時間学ばせると、手で作った最強のCPUとの400試合で、負けは6試合だけになりました。
私が制作した『背界の旅団』には、CPUの強さとして「学習済みAI」があります。対戦を繰り返して自分で指し方を覚えたAIです(作り方は「最強のCPUに94%勝つAIを、2ドル36セントで学ばせた」に書きました)。これまでは学び直すたびに、何も知らない状態から始めていました。それをやめて、前のAIの続きから学ばせると何が変わったのかを書きます。
この記事で分かること
- ゼロからの学習は、くじ引きに近い:同じ条件・同じ時間でも、前のAIより強い回と弱い回がありました。
- 続きから学ばせる:今アプリで指しているAIの重み(指し方を決める数の集まり)を出発点に、5時間学ばせました。
- 最強のCPUに、ほとんど負けない:400試合で391勝3分6敗。前のAIとの直接対決でも上回りました。
ゼロから学ばせると、強さがくじ引きになる
このゲームのAIは、強化学習(よい結果につながった手を、次から選びやすくしていく学び方)で育てています。カードを足したり、ルールを変えたりするたびに、何も知らない状態から2.5時間ずつ学ばせていました。
新しいAIをアプリへ入れる前には、前のAIと何千試合も直接戦わせます。勝ちを1、引き分けを0.5と数えて試合数で割った値を「得点」と呼び、0.5を超えれば新しいAIのほうが強いと判断します。
ところが、同じ条件で学ばせたのに、この得点が0.410の回と0.515の回がありました。0.410のAIは前のAIより弱いので、アプリには入れていません。学ばせる時間は同じでも、たまたま覚えた指し方の癖で強さが大きく変わります。毎回ゼロから始めると、せっかく強く育ったAIも、次の学び直しで捨てることになります。
いちばん強いAIの続きから、5時間学ばせる
そこで今回は、当時いちばん強かったAI、つまり今アプリの「強い」と物語の強敵の戦で指しているAIの重みから学習を始めました。すでに覚えている指し方を土台にして、その先を伸ばします。
学ぶ時間は、これまでの2倍の5時間にしました。GPU(たくさんの計算を同時に行う装置)を時間で借りられるサービスで、RTX 4090を1台使いました。5時間で指した手は約1.3億手。2026年10月19日の午後に学習を終え、GPUの代金は約4ドル57セントでした。
学び方は、自分どうしの対戦が中心
対戦相手は、ほとんどが自分自身です。学んでいる途中のAIどうしの対戦が95%、手で作った最強のCPUとの対戦が4%、でたらめに手を選ぶ相手との対戦が1%です。
AIに教えるのは、勝ったか負けたかだけです。相手のモンスターを倒した、土地を取った、といった途中の点数は与えません。どうすれば勝てるかは、AIが対戦を重ねて自分で見つけます。
結果:最強のCPUとの400試合で、負けは6試合
できあがったAIを、手で作った最強のCPUと400試合戦わせました。測る場所は2つあります。1つは学習に使った速いエンジン(アプリのルールをRustという言語へ写したもの)、もう1つはアプリと同じ部品(アプリのルールと、iPhoneの上で動くAIのモデル)です。
| 測った場所 | 前のAI | 新しいAI |
|---|---|---|
| 学習に使ったエンジン | 0.930 | 0.981 |
| アプリと同じ部品 | 0.941 | 0.968 |
学習に使ったエンジンでは、400試合で391勝3分6敗(勝ち97.75%・引き分け0.75%・負け1.5%)でした。アプリと同じ部品でも、前のAIの0.941から0.968へ上がっています。
AIをアプリで動かすには、iPhone用のモデルへ書き出します。書き出しで指し方が変わっていないかを、1,000の局面で確かめました。選ぶ手は1,000局面すべてで、書き出す前と同じでした。
前のAIとの直接対決でも、上回った
最強のCPUに強くなっても、前のAIに負けるなら入れ替える意味がありません。そこで、新しいAIと前のAIを11,520試合戦わせました。
新しいAIの得点は0.597(勝ち59.4%・引き分け0.6%)でした。先に指したときは0.602、後に指したときは0.592で、手番によらず上回っています。ゼロから学ばせた回の0.410や0.515と比べると、続きから学ばせた差がはっきり出ました。アプリへ入れる基準の0.5も超えています。
まとめ
| 項目 | ゼロから | 続きから |
|---|---|---|
| 出発点 | 何も知らない | 今アプリで指しているAI |
| 学ぶ時間 | 2.5時間 | 5時間 |
| 前のAIとの直接対決 | 0.410〜0.515 (回でぶれる) | 0.597 |
| 最強のCPUへの得点(アプリ) | 0.941 | 0.968 |
| GPUの代金 | 約2ドル30セント | 約4ドル57セント |
この記事を共有する