巨大なネットワークの中に、小さな“当たり”が最初から潜んでいる仕組み。

SRC·47 Source
学習済みのネットはほとんどが余分。当たりは生まれた時からそこにいた。

学習済みのネットはほとんどが余分。当たりは生まれた時からそこにいた。

巨大なネットワークを学習させても、その大半は捨てられる。ランダムな初期値の中に、それ単体で課題をすべて学べたはずの小さなサブネットワークが埋もれていた。宝くじの抽選器のように:何千もの玉が回り、まれな金の玉は最初から金だった——学習は当たりを作るのではなく、すでに運のよかった券を見つけるのだ。
小さい方から90%の重みを削除する。それでもほとんど揺らがない。

小さい方から90%の重みを削除する。それでもほとんど揺らがない。

m{0,1}θ,s=1m0θm \in \{0,1\}^{|\theta|}, \qquad s = 1 - \frac{\lVert m\rVert_0}{|\theta|}
学習を終えたネットワークで、重みがゼロに最も近い接続を切る——しばしばその90%——それでも精度は保たれる。マスクが各重みを残すか切るか、1か0で印を付ける。スパース性とは切った割合にすぎない。荷物満載の引っ越しトラックのように:中身の大半は緩衝材——取り出せば、わずかな本物の家具こそが運ばれていたすべてだ。
なぜ宝くじと呼ぶのか? 可能なサブネットワークを数えてみよう。

なぜ宝くじと呼ぶのか? 可能なサブネットワークを数えてみよう。

#{subnetworks}=2N,N=θ\#\{\text{subnetworks}\} = 2^{N}, \qquad N = |\theta|
どの重みも残す切るかのどちらか——だからN個の重みのネットワークは2^N通りのサブネットワークを隠している。空の原子より多い。ほとんどは役に立たず、ごくわずかが当たりだ。投げた硬貨を並べた盆のように:硬貨が十分にあれば、表と裏の並びは天文学的——そのほぼすべては無で、まれな一握りが当たりを成し、目は落ちた瞬間に決まっていた。
手順:学習し、弱い重みを切り、残りを巻き戻す。

手順:学習し、弱い重みを切り、残りを巻き戻す。

mi=1 ⁣[θiτ],θticket=mθ0m_i = \mathbb{1}\!\left[\,|\theta_i| \ge \tau\,\right], \qquad \theta_{\text{ticket}} = m \odot \theta_0
当たりの見つけ方はこうだ。しばらく学習させ、次に小さいままだった重みをすべて切り(しきい値τ未満)、強く育ったものを残す。ここで意外な一手:生き残りを微調整するのではなく、生まれた時のまさにその値に戻す、θ₀へ。船の索具のように:たるんだ綱を外し、本当に張った数本を残し、それぞれを最初に張った設定そのものへ張り直す——新しい当て推量ではなく。
証拠:配線はそのまま、初期値だけ切り直すと——失敗する。

証拠:配線はそのまま、初期値だけ切り直すと——失敗する。

a(mθ0)adense  >  a(mθ0),θ0Da(m \odot \theta_0) \approx a_{\text{dense}} \;>\; a(m \odot \theta_0'), \qquad \theta_0' \sim \mathcal{D}
なぜ生き残りをゼロから始めず、巻き戻すのか? 運は生まれた時の値に宿るからだ。まったく同じ配線を保ったまま初期値だけをランダムに振り直すと、魔法は消える——学習は遅くなり、到達点も低くなる。オルゴールのように:同じ櫛とドラムを保っても、ピンをでたらめな位置に打ち直せば、出てくるのは雑音だけ。旋律は元の配置に宿っていたのであって、仕組みだけにではない。
少し剥がし、巻き戻し、繰り返す——勝ち続ける十分の一まで。

少し剥がし、巻き戻し、繰り返す——勝ち続ける十分の一まで。

m0θ=(1p)r\frac{\lVert m\rVert_0}{|\theta|} = (1-p)^{r}
一度の枝刈りは控えめだから、繰り返す:一片を切り、巻き戻し、再学習し、また切る。毎回ほんの一部pを削ると、r回のあとに残る重みは(1−p)^rだけ——五回剥がせば残るのはわずか三分の一。それでも重みの10〜20%で、ネットワークは丸ごとに匹敵する。フルートを削り出すように:ひと削りして音を確かめ、また削る——分厚い塊が、元の塊が奏でたすべての調べを奏でる細身の楽器になる。
正直な但し書き:大きなネットは初手ゼロではなく、早い段階へ巻き戻す。

正直な但し書き:大きなネットは初手ゼロではなく、早い段階へ巻き戻す。

θticket=mθk,0<kT\theta_{\text{ticket}} = m \odot \theta_k, \qquad 0 < k \ll T
最初の物語はゼロ手目——いちばん最初の瞬間だと言った。実規模ではそれは脆すぎる。修正はもっと穏やかだ:まずネットを少しだけ学習させ、それから生き残りをその早い時点のチェックポイントθ_kへ巻き戻す——誕生時点ではなく。コンクリートの養生のように:打った瞬間の継ぎ目は当てにできない——数時間かけて固めれば、そこで初めて持ちこたえる。当たり券も、安定する前に少し固まる時間が要る。
🌱 一部屋を残すために大邸宅を学習させた。なぜ邸宅を建てるのか?

🌱 一部屋を残すために大邸宅を学習させた。なぜ邸宅を建てるのか?

ひとかけらですべてを成せたのなら、なぜ巨人を丸ごと学習させるのか? 余分な重みは無駄ではなかったのかもしれない——学習が幸運な一つに行き当たるための無数の道だったのかもしれない。先にそれらを取り去れば、探索は空振りに終わる。では、どちらなのか:その容量のすべては答えを見つけるための代償なのか——それとも答えには、見つけられるための余地が要ったのか?
タップ →↑スワイプで詳しく↓スワイプで終了