わざとモデルに足かせをはめると、なぜ汎化するのか。
SRC·23
Source
練習では満点なのに、本番の現実では落第する。
余裕のあるモデルは訓練データを理解しない——欠陥も偶然もまるごと丸暗記するだけだ。完璧なガラスの下で育てた温室の花のように、本物の天候に出会うまでは非の打ち所がなく見える。処方箋は逆に聞こえる——学習中にわざと不自由にせよ。
落とし穴——ニューロンは静かに共謀する。
放っておくと、ユニットは私的な取り引きを結ぶ——一方が他方のちょうどその出力に頼ることを覚える。人間ピラミッドのように: どの体も特定の相手に支え合い、誰も動かない間だけ立っていられる。一人抜けば構造ごと崩れる。モデルは信号を学んでいるのではない——見たデータの上でしか成り立たないもろい配置を丸暗記しているのだ。
対策——毎ステップ、ランダムに半分を黙らせる。
Dropoutは毎ステップ各ユニットでコインを投げ、負けた方をゼロにする——確率pで残し、あとは落とす(⊙はマスクを掛け合わせる)。サービスの最中にランダムに調理場が消える厨房ラインのように: どの料理も特定の料理人が常にいることを当てにできないので、各自が自力でやることを覚える。これはわざと注入されたノイズだ——消えるかもしれないユニットには頼れない。
隠れた特典——群衆まるごとを訓練していた。
ランダムなマスクはどれも別々の間引かれたネットワーク——訓練を通じて、ひとつの重みを共有したまま、こっそり2ⁿ個を鍛えていたことになる。多数のラフスケッチを重ねるように: それぞれは少しずつ間違っているが、重ねれば誤差は打ち消し合い、ひとつの安定した似姿になる。帳尻を合わせるため、生き残りをpで割る。そしてテストでは全員を点け、完全なネットが群衆まるごとを一度に平均する。
もう一つのてこ——大きな重みに料金を課す。
Weight decayは、どの重みでも大きく育てることに対して損失に値段を付ける。だから各ステップは、すべての重みを少しずつゼロへ寄せる——それが(1−ηλ)の係数だ。生け垣を刈り込むように: 暴走した枝を切り戻すと、すっきりした単純な形が現れる。小さく保たれたモデルは、少数の派手な偶然にすべてを賭けられない。小さく共有された証拠に信頼を分散させるしかない。
すべての底にある一つの賭け。
名前を剥がせば、どの正則化も同じ賭けをしている——データには合わせよ、ただし複雑さには代償を払え(それがΩ)。機内持ち込み一つだけに荷造りするように: 小さく決まった空間が、どんな旅でも居場所に値しないものをすべて手放させる——だから、よく旅するものだけが残る。つまみλが為替レートを決める——上げれば単純さを買い、下げれば丸暗記を買う。
教訓——訓練での足かせは、野に出たときの強さになる。
ノイズ、落とされたユニット、抑えられた重み——どれも訓練をわざと難しくする。重り入りのベストで走るように: いまは一歩ごとに余計に骨が折れる。だからレース当日、重りを外せば、はるかに強く安定している。半ば目隠しされ、制約されたまま力を出すことを学んだモデルこそ、まだ見ぬ本物の世界が来たときに持ちこたえる。
わざと忘れさせた。すると、より深く理解した。
🌱 大きくもせず、もっと与えもしなかった。ただ、その一部をランダムに消した——するとモデルはより深く理解した。だとすれば、忘れることは理解の敵ではなく、その代償なのかもしれない。そしてどの工夫の底にも、静かな賭けがひとつ横たわっている——うまく当てはまる最も単純な物語こそ最も真実だ、という賭けが。だが、もしそうでなかったら? いくつかの真実は、はじめから単純であるはずがなかったとしたら?
タップ →↑スワイプで詳しく↓スワイプで終了クリックまたは → で次へ↑ で詳しくesc で終了