用語集 · 機械学習

モデルの容量

別名:Model capacity、capacity、network size、the net is full、容量、表現力、ネットワークの大きさ、キャパシティ

ネットワークがどれだけのものを表現できるかです。いっぱいになったネットワークは、何か別のことが下手になる代わりにしか、新しいことを覚えられません。

ネットワークの容量とは、大まかに言えば、どれだけ複雑な関数を表現できるかです。ユニットや層の数が多いほど大きくなります。タスクに対して容量が足りないネットワークは学習不足(アンダーフィット)になり、どれだけ長く学習しても学習誤差が下がりません。1つのネットワークが複数のスキルを覚えなければならない場合、容量の不足は奪い合いとして現れます。同じ重みを共有しているので、1つのスキルが良くなると、別のスキルが悪くなるのです。

ネットワークが「どれだけいっぱいか」を表す単純な数はありません。実用的な兆候のひとつは、古いスキルの誤差は低いままなのに、最新のスキルの学習誤差が下がらなくなることです。ふつうの対策はネットワークを広くすることで、できればすでにできていることを変えずに広げます(関数を保つネットワークの拡張)。

このプロジェクトでは

ファイターの方策は、512ユニットの隠れ層を2つ持つ多層パーセプトロンです。そこへ新しい技を3つ蒸留する前、新しい技の蒸留誤差が高いまま止まったら広げる計画でした。そうはなりませんでした。最初のランの終わりでも新しい技の誤差は下がり続けていて(ボディストレート0.003、膝蹴り約0.005)、ベースの誤差は0.002のままでした。実際に現れたトレードオフ、たとえば空中でのクロスに対するブロックのようなものは、練習の配分と教師の重みから来たもので、ネットワークがいっぱいだったからではありません(シャドウクローン(分身)を参照)。

その後の蒸留では、スキルの奪い合いが実際に起き始めました(distill12:ブロックとキックが上がり、膝蹴りと左の肘打ちが下がった)。そこで10月31日に、ネットワークの大きさの実験でこの問いを直接確かめました。生徒を1024 × 2、512 × 3、1024 × 3に拡張し、変更しない512 × 2の対照と並べて200 Mステップ学習させました。対照の教師たちとの距離は7 %縮んだところで横ばいになり、拡張したネットワークはそれぞれ20 %、24 %、41 %縮み、しかもすべての教師でそうなりました。この尺度で見れば、512 × 2は容量の限界に達していたことになります。対戦テストでは4つのあいだにはっきりした差は出ず、生徒は今は1024 × 3です。

関連用語

この用語が出てくる記事

← すべての用語