ニューラルネットワーク · モデルの容量 · 蒸留 · 生徒

ファイターの脳はどれだけ埋まっているのか:ネットワークサイズの実験

著者 ヤム トニー(Tony Yum) ·

学習コスト 約$8学習ラン4回、約14マシン時間 · 内訳

要約。 AIファイターのレパートリー全体、つまり18の技と歩き、ブロック、ダッシュは、512個のニューロンの隠れ層を2つ持つひとつのニューラルネットワークに収まっています。重みにして約50万個です。最近は新しいスキルを覚えるたびに古いスキルがひとつ犠牲になっていました。これはネットワークが一杯になったときの典型的な姿ですが、教師同士が互いに逆方向へ引っ張り合っているときの姿でもあります。この2つを見分けるため、私はネットワークを3通りに大きくしました。幅を広げる(1024 × 2)、深くする(512 × 3)、その両方(1024 × 3)です。しかも動作がそれまでとまったく同じになるやり方で拡張し、それぞれを変更なしの512 × 2の対照と並べて、同じ2億ステップずつ学習させました。教師との近さ: 対照は7 %改善して頭打ちになりました。拡張したネットワークは20 %、24 %、41 %改善し、それは16の教師すべてで同じでした。最も大きいものは最後の時点でもまだ改善を続けていました。この尺度で見れば、小さいネットワークは容量の限界に達しています。戦いのテスト: 21のテストのどれでも、3つの大きなネットワークは対照よりはっきり良くも悪くもありませんでした。教師に近づいても、まだファイターが強くなったわけではありません。それでも私は、この先の作業のために最も大きなネットワークを採用しました。

スキルを交換してしまうネットワーク

ファイターは方策(ポリシー)です。1秒に50回、体やバランス、どの技のボタンが押されているかについての465個の数値を読み、48個の数値を出力します。すべての関節モーターの目標角度です。試すページにあるすべての動きは、生徒と呼ぶひとつのネットワークが担っています。生徒は方策蒸留で学びます。技ごとに教師、つまりその技だけを学習した別のネットワークがあり、生徒はその技が出ているときは対応する教師のように、それ以外のときはベースの教師(guard18。構え、パンチ、歩き、ブロック)のように動くよう学習します。10月の時点で、ひとつの生徒に16の教師を注ぎ込んでいました。

ここ数回の蒸留には、あるパターンがありました。この実験の直前の生徒であるdistill12は、その前の生徒よりブロックと蹴りが良くなった一方で、膝蹴りが悪くなり(ゲートのスコアが11から8に)、左の肘打ちも悪くなりました(52から49に)。それ以前の生徒にも、同じような交換が見られました。何かを忘れることでしか新しいことを覚えられないネットワークは、一杯になったネットワークの教科書どおりの症状です(その極端な形が破滅的忘却です)。ただ、ほかにも少なくとも2つの説明が考えられます。ひとつは学習の予算です(各ランは数時間なので、生徒はもっと長く学習すればよかっただけかもしれません)。もうひとつは教師そのものです。教師は別々に学習されているので、似た状況で両立しないことを求めることがあります。

ニューラルネットワークには計器がついていません。「83 %埋まっています」と表示してくれる目盛りはないのです。ですから、この問いには実験で答えるしかありません。同じ生徒により多くの余地を与え、それ以外は何も変えず、良くなるかどうかを見るのです。

実験の設計

4つのネットワーク、ひとつの出発点。 すぐに思いつく実験は、大きなネットワークをゼロから学習させることです。しかしそれでは、サイズと、生徒がすでに学んだすべてのこと、という2つを同時に変えてしまいます。そこで、どのネットワークも同じ関数から始めました。採用されていた生徒distill12-196.6Mを、関数を保つネットワークの拡張で大きくしたものです。

  • 幅を広げる。 各隠れ層に512個の新しいニューロンを加えます。入ってくる重みは、ほかの新しいニューロンと同じくランダムです。出ていく重みはすべてゼロにします。新しいニューロンが何を計算しても、その先ではまだ誰もそれを読まないので、ネットワークの出力は元とまったく同じです。そのあとの学習が、新しいニューロンに役割を与えます。これはNet2Net(Chen et al., 2016)の幅の拡張を、コピーの代わりにゼロで行ったものです。
  • 深くする。 出力の直前に新しい隠れ層を加えます。その重みは単位行列で、バイアスは+1です。ネットワークの活性化関数であるELUは正の入力に対しては恒等写像で、前の層の出力は常に−1より大きいので、+1を足すと新しい層への入力はすべて正になり、そのまま通り抜けます。出力層のバイアスが、余分な1を差し引きます。
h3=ELU(I h2+1)=h2+1since h2>−1,y=Wout h3+(bout−Wout1)=Wout h2+bouth_{3} = \mathrm{ELU}(I\,h_{2} + \mathbf{1}) = h_{2} + \mathbf{1} \quad\text{since } h_{2} > -1, \qquad y = W_{\text{out}}\,h_{3} + (b_{\text{out}} - W_{\text{out}}\mathbf{1}) = W_{\text{out}}\,h_{2} + b_{\text{out}}
幅を広げる:512 → 1024 ユニット層を足す:隠れ層 2 → 3第 1 層第 2 層出力層第 1 層第 2 層新しい層W = I, b = +1出力層出力バイアス − W·1学習済みの重み新規・ランダム新規・ゼロ単位行列
図1 ネットワークの拡張を重み行列で表したもの(行はその層のニューロン、列はその入力)。幅を広げるときは、新しいニューロンのためにランダムな重みの行を加え、後の層がそれを読む位置にはゼロの列を加えるので、出力は何も変わりません。深くするときは、バイアス+1の単位行列の層を挿入し、出力層のバイアスがその1を取り戻します。

学習を始める前に、実際の生徒で4096個のランダムな入力を使って確かめました。幅を広げた方策の出力は元と完全に一致し(最大の差は0.0)、深くしたものの差は4 × 10⁻⁵で、浮動小数点の丸め誤差の大きさでした。したがって、学習後に4つの間に違いが出れば、それはサイズによるもので、ほかの何によるものでもありません。

白いラボにある大きな暗いガラスのパネル。ニューロンの格子が2つのブロックに分かれて青とオレンジに光り、その周りに点灯していない暗いニューロンがあり、ブロックの間に淡い灰色の列がある
図2 学習を始める瞬間の、拡張された脳を描いたもの。左右のブロックが元の2つの層で、学習済みの512個のニューロンが生徒の実際の活動を記録しています。その周りの新しいニューロンは沈黙しています(暗いまま)。真ん中の淡い列は新しい層で、届いたものをそのまま映しているだけです。

2 × 2の設計。 幅と深さを別々に、そして同時に変えたので、それぞれの効果を切り分けられます。

ネットワーク隠れ層方策のパラメータ数相対的な大きさ
512 × 2(対照、元のネットワーク)512が2層525,8721.0
1024 × 2(幅を広げた)1024が2層1,575,9843.0
512 × 3(深くした)512が3層788,5281.5
1024 × 3(両方)1024が3層2,625,5845.0

(クリティック、つまり状況がどれだけうまく進んでいるかを見積もる同じ形の2つ目のネットワークも同じように拡張していますが、ここでは数えていません。)

対照は、元のネットワークをほかとまったく同じように学習させたものです。これで「学習を増やすと良くなる」と「余地を増やすと良くなる」を切り分けられます。もし対照が拡張したネットワークと同じだけ改善するなら、生徒は単にステップ数が足りなかっただけです。

同じステップ数。 どのネットワークも、distill12の設定を一切変えずに、ちょうど2億環境ステップ学習しました。同じ環境、同じ重みの同じ16の教師、同じ学習率、同じ練習の配分です。大きいネットワークは1ステップあたりが遅いので、ステップ数を揃えると時間は揃いません。その費用は均さずに、下で報告します。

2つの尺度。 ひとつ目は、生徒が教師にどれだけ近づくかで、学習中ずっと教師ごとに記録しました。2つ目はゲートです。生徒の候補がすべて受ける同じ戦いのテストを、各ネットワークの最終チェックポイントで行いました。

教師との距離

学習中、毎回の更新の前に、トレーナーは生徒が直近のロールアウトで実際に訪れた状態を取り出し、それぞれの状態を担当する教師に、自分ならどうしたかを尋ねます。距離は、生徒の行動と教師の行動の平均二乗誤差を48個の関節指令で平均したもので、教師ごとに別々に記録します。

dg=1∣Sg∣∑s∈Sg148∑j=148(μj(s)−ajteacher(s))2d_g = \frac{1}{|S_g|} \sum_{s \in S_g} \frac{1}{48} \sum_{j=1}^{48} \big(\mu_j(s) - a^{\text{teacher}}_j(s)\big)^2

ここでSgS_gは教師ggが担当する訪問済みの状態の集合、μ(s)\mu(s)は生徒の行動(その確率的方策の行動分布の平均)、ateacher(s)a^{\text{teacher}}(s)は教師の行動です。生徒自身の状態で測ることが大切です。教師が見たことのない状況に流れていった生徒は、教師の得意な場面ではなく、その状況で評価されます。以下では、距離を1000倍して示します。

結果1:大きなネットワークほど教師に近づく

512 × 21024 × 2512 × 31024 × 33.03.54.04.55.00501001502004.253.663.662.816 M ステップ: 512 × 2 4.60, 1024 × 2 4.68, 512 × 3 4.90, 1024 × 3 5.0116 M ステップ: 512 × 2 4.58, 1024 × 2 4.66, 512 × 3 4.86, 1024 × 3 4.8926 M ステップ: 512 × 2 4.56, 1024 × 2 4.61, 512 × 3 4.74, 1024 × 3 4.6736 M ステップ: 512 × 2 4.51, 1024 × 2 4.51, 512 × 3 4.71, 1024 × 3 4.4546 M ステップ: 512 × 2 4.55, 1024 × 2 4.51, 512 × 3 4.58, 1024 × 3 4.2456 M ステップ: 512 × 2 4.49, 1024 × 2 4.41, 512 × 3 4.49, 1024 × 3 4.1466 M ステップ: 512 × 2 4.47, 1024 × 2 4.40, 512 × 3 4.41, 1024 × 3 3.9176 M ステップ: 512 × 2 4.46, 1024 × 2 4.30, 512 × 3 4.30, 1024 × 3 3.7386 M ステップ: 512 × 2 4.49, 1024 × 2 4.22, 512 × 3 4.23, 1024 × 3 3.6396 M ステップ: 512 × 2 4.46, 1024 × 2 4.15, 512 × 3 4.20, 1024 × 3 3.49106 M ステップ: 512 × 2 4.40, 1024 × 2 4.09, 512 × 3 4.09, 1024 × 3 3.36116 M ステップ: 512 × 2 4.44, 1024 × 2 4.00, 512 × 3 4.03, 1024 × 3 3.30126 M ステップ: 512 × 2 4.42, 1024 × 2 3.96, 512 × 3 3.95, 1024 × 3 3.19136 M ステップ: 512 × 2 4.37, 1024 × 2 3.93, 512 × 3 3.92, 1024 × 3 3.13146 M ステップ: 512 × 2 4.37, 1024 × 2 3.87, 512 × 3 3.90, 1024 × 3 3.04156 M ステップ: 512 × 2 4.33, 1024 × 2 3.81, 512 × 3 3.87, 1024 × 3 2.98166 M ステップ: 512 × 2 4.30, 1024 × 2 3.84, 512 × 3 3.80, 1024 × 3 2.94176 M ステップ: 512 × 2 4.27, 1024 × 2 3.85, 512 × 3 3.74, 1024 × 3 2.98186 M ステップ: 512 × 2 4.30, 1024 × 2 3.76, 512 × 3 3.69, 1024 × 3 2.90196 M ステップ: 512 × 2 4.28, 1024 × 2 3.72, 512 × 3 3.68, 1024 × 3 2.81環境ステップ(百万)教師との距離(×1000)
図3 16の教師すべてとの平均距離の学習中の推移。各点は6.5 Mステップの平均です。512 × 2の対照(破線)は7 %改善して頭打ちになります。幅を広げたもの(1024 × 2)と深くしたもの(512 × 3)は20 %と24 %改善し、互いに近い結果です。両方(1024 × 3)は41 %改善し、200 Mの時点でもまだ下がり続けています。カーソルを合わせると値が表示されます。
ステップ512 × 21024 × 2512 × 31024 × 3
0–25 M4.604.664.874.91
50–75 M4.484.374.423.98
100–125 M4.434.034.033.33
175–200 M4.283.753.712.88
変化−7 %−20 %−24 %−41 %

目立つことが3つあります。

対照は限界に近い。 同じ学習をさらに200 Mステップ続けても、元のネットワークは7 %しか改善せず、最後には曲線がほぼ平らになっています。学習を増やすだけでは、この差は埋まらなかったでしょう。

幅と深さはほぼ同じだけ効き、両方を合わせると最も効いた。 1024 × 2は512 × 3の2倍のパラメータを持ちますが、同じところに落ち着きました(3.75と3.71)。パラメータあたりで見れば、層を1つ増やすほうがお得でした。両方を合わせると、どちらか一方よりも良くなりました。1024 × 3の改善(41 %)は、ほかの2つの和(20 % + 24 %)に近い値です。

拡張したネットワークは少し遅れて始まる。 最初の25 Mステップでは、大きなネットワークは対照より少しだけ教師から離れています(4.87–4.91と4.60)。まったく同じ関数から始めたにもかかわらずです。新しい重みは最初の更新から学習されますし、各重みのステップ幅をその重み自身の勾配の履歴に合わせて調整するAdamオプティマイザでは、新しい重みも古い重みと同じ速さで動きます。そのため、効果が出る前に、受け継いだ動きをしばらく乱してしまいます。これは私の解釈で、別に測ったものではありません。その代償は約10–20 Mステップです。

512 × 21024 × 2512 × 31024 × 3024681024 × 3左ローキック: 512 × 2 7.31, 1024 × 2 6.45, 512 × 3 6.42, 1024 × 3 5.01左ローキック-31 %左ミドルキック: 512 × 2 6.96, 1024 × 2 5.97, 512 × 3 5.91, 1024 × 3 4.64左ミドルキック-33 %右ハイキック: 512 × 2 5.98, 1024 × 2 5.22, 512 × 3 5.14, 1024 × 3 3.90右ハイキック-35 %右ミドルキック: 512 × 2 5.84, 1024 × 2 5.01, 512 × 3 4.92, 1024 × 3 3.79右ミドルキック-35 %左ハイキック: 512 × 2 5.77, 1024 × 2 5.04, 512 × 3 5.08, 1024 × 3 3.86左ハイキック-33 %右肘打ち: 512 × 2 5.08, 1024 × 2 4.38, 512 × 3 4.44, 1024 × 3 3.44右肘打ち-32 %右ローキック: 512 × 2 4.94, 1024 × 2 4.31, 512 × 3 4.26, 1024 × 3 3.37右ローキック-32 %リードアッパーカット: 512 × 2 4.90, 1024 × 2 4.44, 512 × 3 4.33, 1024 × 3 3.42リードアッパーカット-30 %左肘打ち: 512 × 2 4.80, 1024 × 2 4.20, 512 × 3 4.12, 1024 × 3 3.30左肘打ち-31 %奥足の膝蹴り: 512 × 2 3.79, 1024 × 2 3.37, 512 × 3 3.39, 1024 × 3 2.52奥足の膝蹴り-33 %スイッチニー: 512 × 2 3.56, 1024 × 2 3.10, 512 × 3 3.09, 1024 × 3 2.33スイッチニー-35 %プルカウンター: 512 × 2 3.30, 1024 × 2 2.96, 512 × 3 2.85, 1024 × 3 2.25プルカウンター-32 %リアアッパーカット: 512 × 2 2.95, 1024 × 2 2.54, 512 × 3 2.54, 1024 × 3 1.93リアアッパーカット-35 %ボディストレート: 512 × 2 2.08, 1024 × 2 1.80, 512 × 3 1.75, 1024 × 3 1.36ボディストレート-35 %ダッシュ: 512 × 2 0.96, 1024 × 2 0.90, 512 × 3 0.84, 1024 × 3 0.76ダッシュ-20 %ベース(構え、パンチ、歩き、ブロック): 512 × 2 0.30, 1024 × 2 0.30, 512 × 3 0.22, 1024 × 3 0.21ベース(構え、パンチ、歩き、ブロック)-30 %教師との距離、最後の 25 M ステップ(×1000)
図4 最後の25 Mステップにおける、4つのネットワークそれぞれの教師ごとの距離。対照の距離の順に並べています。バーは対照から1024 × 3までを結び、右の列は1024 × 3の対照に対する変化です。どの教師でも同じ差が見られます。ほとんどの教師で30–35 %、ダッシュで20 %、ベースで30 %です。

差はあらゆるところにある。 もし1つか2つの教師が対立していたのなら、余地が増えればその技だけが良くなり、ほかはそのままだったはずです。ところが実際には、1024 × 3は16の教師のうち15で対照より30–35 %近づいています。真似するのが最も難しい蹴り(距離5–7)から、膝蹴りやボディストレート(2–4)までです。最初からネットワークに入っていたベース、つまり構え、パンチ、歩き、ブロックも含まれます(0.30から0.21へ)。ベースの次にもともと簡単だったダッシュは、改善が最も小さく(20 %)なりました。すべての教師で一様な差が出るのは、2つの教師のいさかいではなく、余地の不足の姿です。

結果2:戦いのテストでは、はっきりした差はない

教師との距離は学習のための尺度です。大切なのはファイターがより良く戦えるかどうかで、それを試すのがゲートです。空中の狙いの点とサンドバッグに対するすべての技を6つのランダムシードで、パンチ120回、歩きの目標40個、ブロック32回、守るべき対戦相手からのパンチ160回、決められた60の距離からのパンチ、そしてボディストレート。各行は決まった試行回数のうちの成功数を数えるもので、探索のノイズなしで実行します。

各行について、ネットワークの成功率と対照の成功率の差を、95 %の信頼区間とともに求めました(Agresti–Caffoの区間で、行が0回や全回成功のときにも妥当に振る舞います)。空中の蹴りがすべて30回中30回のように、4つのネットワークが同じスコアだった行は除いたので、残りは21行です。

-80-400+40+80対照が上1024 × 3 が上パンチ: 56/120 → 61/120; 95 % [-8, 17]パンチ56 → 61 / 120歩行の目標: 38/40 → 38/40; 95 % [-11, 11]歩行の目標38 → 38 / 40ブロック: 26/32 → 24/32; 95 % [-26, 14]ブロック26 → 24 / 32対戦相手: 130/160 → 125/160; 95 % [-12, 6]対戦相手130 → 125 / 160パンチの距離: 41/60 → 40/60; 95 % [-18, 15]パンチの距離41 → 40 / 60ボディストレート, サンドバッグ: 21/24 → 22/24; 95 % [-15, 22]ボディストレート, サンドバッグ21 → 22 / 24奥足の膝蹴り, 空中: 3/6 → 1/6; 95 % [-71, 21]奥足の膝蹴り, 空中3 → 1 / 6奥足の膝蹴り, サンドバッグ: 6/6 → 6/6; 95 % [-32, 32]奥足の膝蹴り, サンドバッグ6 → 6 / 6スイッチニー, 空中: 2/6 → 0/6; 95 % [-66, 16]スイッチニー, 空中2 → 0 / 6リアアッパーカット, サンドバッグ: 3/54 → 6/54; 95 % [-6, 16]リアアッパーカット, サンドバッグ3 → 6 / 54右肘打ち, 空中: 42/54 → 38/54; 95 % [-23, 9]右肘打ち, 空中42 → 38 / 54右肘打ち, サンドバッグ: 2/54 → 0/54; 95 % [-10, 3]右肘打ち, サンドバッグ2 → 0 / 54左肘打ち, 空中: 54/54 → 54/54; 95 % [-5, 5]左肘打ち, 空中54 → 54 / 54プルカウンター, 空中: 3/6 → 6/6; 95 % [-4, 79]プルカウンター, 空中3 → 6 / 6右ハイキック, 空中: 32/36 → 34/36; 95 % [-8, 19]右ハイキック, 空中32 → 34 / 36右ハイキック, サンドバッグ: 4/36 → 1/36; 95 % [-21, 5]右ハイキック, サンドバッグ4 → 1 / 36左ハイキック, 空中: 30/36 → 23/36; 95 % [-38, 1]左ハイキック, 空中30 → 23 / 36右ローキック, サンドバッグ: 25/30 → 21/30; 95 % [-33, 9]右ローキック, サンドバッグ25 → 21 / 30左ローキック, サンドバッグ: 19/30 → 23/30; 95 % [-10, 35]左ローキック, サンドバッグ19 → 23 / 30右ミドルキック, サンドバッグ: 19/30 → 22/30; 95 % [-14, 32]右ミドルキック, サンドバッグ19 → 22 / 30左ミドルキック, サンドバッグ: 24/30 → 27/30; 95 % [-9, 28]左ミドルキック, サンドバッグ24 → 27 / 30成功率の差:1024 × 3 − 512 × 2(ポイント)
図5 200 Mステップでのゲート:各行における1024 × 3の成功率から対照の成功率を引いたものと、その95 %区間。どの区間もゼロをまたいでいます。右の数字は対照と1024 × 3の成功数です。試行が6回しかない行は、区間の幅が60ポイントを超えます。
512 × 2との比較良い悪い同じはっきり違う符号検定
1024 × 291021(サンドバッグへの右アッパーカット、54回中3 → 11)p = 1.0
512 × 38850p = 1.0
1024 × 381030p = 0.82

1024 × 3の行で、対照とはっきり違うものはひとつもありません。パンチ(120回中61と56)、空中でのプルカウンター(6回中6と3)、サンドバッグへのミドルキックと左ローキックでは上回り、ブロック(32回中24と26)、空中での膝蹴り、右の肘打ち、空中での左ハイキック(36回中23と30)では下回っています。1行ずつ見る代わりに行の数を数えると、8行で良く10行で悪いので、符号検定ではp = 0.82となり、どちらの方向にも証拠はありません。1024 × 2の「はっきり違う」1行は、偶然だけでも生じる程度のものです。21行で95 %区間を使えば、運だけで約1行は外れるはずだからです。

2つの尺度が食い違う理由

教師に41 %近づいたのに戦いは良くならないネットワークには、説明が必要です。確からしい順に4つの理由を挙げます。

ゲートにはこの大きさの差が見えない。 ゲートの行の試行回数は6回から160回です。成功率70 %前後で試行30回なら、差の95 %区間の幅は約±23ポイント、試行6回なら±50を超えます。1つの行で10ポイントの本当の改善を、通常の80 %の検出力で検出するには、ネットワークごとに約330回の試行が必要です。ゲートは、何かを壊してしまった生徒を見つけるために作られていて、その役目はよく果たします。しかし、どれも優秀な4つの生徒を順位づけるためのものではありません。

二乗距離は差を誇張する。 距離は二乗の平均です。その平方根、つまり1つの関節指令における典型的な差の大きさは0.065から0.054へと18 %下がるだけで、41 %ではありません。改善の大部分は、大きなネットワークが教師の大きくてまれな行動をよりうまく真似るようになったことによるもので、そうした行動は距離にとってほど、当たるかどうかには重要でないのかもしれません。

教師も完璧ではない。 戦いのテストが採点するのは生徒の結果です。膝蹴りは十分な速さで5 cm以内に当たったか。教師をより忠実に真似る生徒は、教師の失敗も受け継ぎます。教師が当てられるものを当てられるくらい近づいてしまえば、それ以上近づいてもほとんど得るものはありません。

200 Mステップではまだ早いのかもしれない。 ランを止めた時点で、1024 × 3の距離はまだ急に下がり続けていました。容量の利点が戦いのテストに現れるのは、近さの差がもっと大きくなってからなのかもしれません。

ですから、正直なまとめは両面あります。小さいネットワークは確かに容量の限界に達しています。学習の対象である尺度で見れば、学習を増やしても良くならなくなり、余地を増やすとすべてのスキルで良くなりました。しかし、その容量が今日のファイターの技を制限しているのかどうかは、この実験からは言えません。ゲートが見分けられる範囲では、制限していません。

かかった費用と使ったマシン

各ネットワークはvast.aiのレンタルRTX 5090でそれぞれ1台ずつ、4つ同時に学習しました。大きなネットワークは1ステップあたり遅くなりましたが、サイズの違いよりはるかに小さな差でした。各ステップの大部分を占めるのはネットワークではなく、体のシミュレーションだからです。

ネットワーク1秒あたりのステップ数200 Mステップにかかった時間
512 × 225,4002.19
1024 × 223,9002.33
512 × 324,1002.30
1024 × 321,900(−14 %)2.54

5倍のパラメータで、学習速度は14 %落ちただけでした。サイズの影響が出るのはゲートです。ゲートは普通のCPUで方策を動かすので、1024 × 3のゲートは12コアで49分かかりました。ほかは16–32コアで30–45分です。ほかに7台のマシンを借りましたが、起動しませんでした(4分たっても接続できない、または10分たってもまだ読み込み中)。それらは数分以内に破棄し、ページ上部の費用に含めています。すべてのマシンは下の作業ログに載せています。

決定

私は1024 × 3、cap1024x3-200.0Mを、この先のすべての親として採用しました。ゲートを見る前に決めたルールは単純で、最も大きなネットワークにはっきり不利なものがゲートになければ、それを採る、というものでした。何もありませんでした。理由はこの先にあります。これからの数週間の計画では、このひとつのネットワークが抱えるべきものが増えます。動く対戦相手を狙うこと、打撃をつないでコンビネーションにできるよう次の技を待ち行列に入れておくこと、そして対戦相手がどこにいるかを見ることです。どれも同じ重みの中に入る新しい動きです。今あるすべてのスキルについて余地が十分にあるとすでに示したネットワークのほうが、それらを入れる場所としてふさわしいのです。

白いラボで奥足の膝蹴りを突き上げるクロムのロボットファイター。壁の大きなパネルには、点灯したニューロンが3列に並んでいる
図6 採用したネットワーク、1024 × 3が奥足の膝蹴りを出しているところ。脳のパネルは幅が広く、隠れ層ごとに1列ずつ3列あり、各ニューロンがこの膝蹴りでの実際の活動を表示しています。

サイズだけで足りなかった場合に備えて、もっと大きな変更も候補にありました。小さなネットワークが複数の専門的なネットワークを混ぜ合わせることを学ぶ混合エキスパート(Peng et al., 2019)や、上位のコントローラーが選ぶスキルの空間を学習するもの(Peng et al., 2022)です。どちらもニューロンを足すよりはるかに大きな変更です。この実験は、それらがまだ必要ないことを示しています。

白いラボに一列に立つ4体のクロムのロボットファイター。それぞれの上の壁にニューロンのパネルがあり、パネルは小さな正方形から幅の広い3列の格子へと大きくなっていく
図7 4つのネットワークを並べたもの。各パネルはそのネットワークの大きさで描かれ、立っているときのそのネットワークの実際の活動を表示しています。(4つの体はどれも1024 × 3の動きを再生しています。立っているだけでは、4つの見分けはほとんどつきません。)

この実験の限界

  • ネットワークごとにランは1本。 各サイズは1回しか学習していません。曲線は滑らかで、差はその揺れに比べて大きいので、距離の順位は信頼していますが、誤差棒をつけることはできません。
  • マシンが違う。 4本のランは4つのホスト(フランス、ノルウェー、ベトナム、カナダ)で動きました。1秒あたりのステップ数には、ネットワークのサイズとハードウェアの違いが混ざっています。
  • 計算量ではなくステップ数を揃えた。 1時間あたりで公平に比べるなら、小さいネットワークに約16 %多くステップを与えることになります。その曲線がどれだけ平らだったかを考えれば、それで33 %の差が埋まることはなかったでしょう。
  • ゼロからの学習ではなく拡張。 この結果が示すのは、すでに学習済みの生徒に余地を足すとどれだけ役立つかです。最初から1024 × 3で学習したネットワークは、違うところに落ち着くかもしれません。

コーチとして思うこと

この実験は、10月31日に並行して走らせるよう私が頼んだいくつかのうちのひとつで、その週の大仕事であるコンボの狙いの計画の前に行いました。「並行して走らせられるステップをまとめて立ち上げてください。たとえば……ネットワークのサイズを大きくする必要があるのか、層を増やす必要があるのか」。戦いのテストの結果が出る前に、私はすでに「はっきり不利なものがなければ、1024x3でいきましょう」と言っていて、そのとおりになりました。

このページの冒頭にある短い映像を作ったとき、私が大切にしている問い、「AIの脳が一杯になったことはどうすればわかるのか」で始め、その答えが何のためにあるのかで終えたいと思いました。脳がさらなる学習に備えられた今、ムエタイの技がもっと増えていきます。

参考文献

  • Agresti, A. and Caffo, B. (2000). Simple and effective confidence intervals for proportions and differences of proportions result from adding two successes and two failures. The American Statistician 54(4).
  • Chen, T., Goodfellow, I. and Shlens, J. (2016). Net2Net: accelerating learning via knowledge transfer. ICLR.
  • Peng, X. B., Chang, M., Zhang, G., Abbeel, P. and Levine, S. (2019). MCP: learning composable hierarchical control with multiplicative compositional policies. NeurIPS.
  • Peng, X. B., Guo, Y., Halper, L., Levine, S. and Fidler, S. (2022). ASE: large-scale reusable adversarial skill embeddings for physically simulated characters. ACM Transactions on Graphics 41(4).
  • Rusu, A. A. et al. (2016). Policy distillation. ICLR.

作業ログ

作業ログラン時間コスト
生徒:ネットワークサイズの実験2026年10月31日 · 動作を変えずに2 × 512から1024 × 2、512 × 3、1024 × 3へ拡張した生徒を、512 × 2の対照と並べてそれぞれ200 Mステップ学習させました。教師との距離、ゲート、そして4台のマシン。414$7.65
合計414$7.65