宝くじ仮説とスパースネットワーク
巨大モデルを9割削っても精度を保てる理由がわかる。密な網に潜む当選券(疎な部分網)を、反復枝刈りと巻き戻しで掘り当てる原理と実用を整理。
- 1.密なネットワークの内部には、単独で初期化から訓練しても元と同等精度に届く疎な部分網(当選券)が存在するという仮説です。
- 2.反復的大きさ枝刈り(IMP)で少しずつ枝刈りし、残った重みを初期値(または初期付近)へ巻き戻すと当選券を取り出せます。
- 3.非構造化プルーニングは精度を保ちやすいが速くなりにくく、構造化プルーニングは実機で速いがマスク発見が難しい、というトレードオフがあります。
宝くじ仮説(Lottery Ticket Hypothesis, Frankle & Carbin 2019)は、過剰にパラメータを持つニューラルネットワークについて「ランダム初期化された密な網の中には、その初期値のまま単独で訓練しても、元の密な網と同等以上の精度へ同じ程度の反復で到達できる疎な部分網が存在する」と主張します。この部分網を**当選券(winning ticket)**と呼びます。鍵は「訓練後に小さくする」ではなく「最初から訓練可能な疎構造が埋まっていた」という主張にあります。
仮説の正確な内容
ネットワークを「重みのマスク」で疎化する状況を考えます。密な網のパラメータを θ0(初期値)とし、二値マスク m(要素は {0,1})を掛けて m ⊙ θ0 で一部の重みを殺します。仮説は次を主張します。
- ある
mが存在し、生き残った重みをθ0のままで訓練すると、元の密な網に匹敵する精度・収束速度・汎化を示す。 - 重要なのはマスクと初期値の組であって、どちらか片方ではない。当選券の重みを再初期化し直す(別の乱数に振り直す)と性能は崩れる。これが「ランダムな疎網が偶然強いだけ」という対立仮説を否定します。
つまり当選券は、構造(どこを残すか)と初期値(その重みの出発点)の特定の組み合わせとして成立します。良い初期値が良い構造の学習を支える、という重み初期化の議論とも地続きです。
過剰パラメータ化された網は、たくさんの宝くじ券(部分網)を同時に買っている状態に喩えられます。訓練がうまくいくのは、その中に当たり券が含まれている確率が高いからだ、という見方です。だから大きく作るほど当たりを引きやすく、後から当選券だけ取り出せば小さくできる、というのが核心の直観です。
当選券の見つけ方:IMP と巻き戻し
当選券を取り出す標準手順が**反復的大きさ枝刈り(Iterative Magnitude Pruning, IMP)**です。一度に大量に枝刈りするワンショットより、少しずつ削る反復版のほうが、はるかに高い疎度まで精度を保てます。
反復的大きさ枝刈り(IMP)
1. 重みを θ0 で初期化し、保存しておく
2. ネットワークを j ステップ訓練して θj を得る
3. |θj| の小さい重みを p%(例 20%)枝刈りし、マスク m を更新
4. 生き残った重みを θ0 へ巻き戻す → m ⊙ θ0 から再訓練
5. 目標の疎度に達するまで 2〜4 を繰り返す
ポイントは2つあります。第一に、削る基準は**訓練後の大きさ |θj|です(小さい重み=寄与が小さいと見なす)。第二に、削った後に重みを初期値 θ0 へ戻す(巻き戻し, rewinding)**点です。訓練後の値をそのまま使うのではなく、出発点に戻して「この構造なら最初から学べる」ことを確かめるのが宝くじ仮説の検証そのものです。
ResNet など大きく深い網では、厳密な初期値 θ0 への巻き戻しは当選券を見つけにくくなります。改良版(Frankle 2020, Lottery Ticket Rewinding)は、訓練のごく初期の k ステップ目の重み θk へ巻き戻します。最初の数百〜数千ステップで決まる「学習の安定した方向」を引き継ぐと、高い疎度でも安定して当選券が取り出せます。θ0 への厳密な巻き戻しが効くのは比較的小さい網に限られる、と理解しておくと実務で迷いません。
構造化/非構造化プルーニング
実用上の最大の分岐が、何の単位で枝刈りするかです。当選券探索が見つける「個別重みのマスク」は非構造化に当たります。
| 観点 | 非構造化プルーニング | 構造化プルーニング |
|---|---|---|
| 削る単位 | 個々の重み(任意の位置をゼロに) | チャネル/フィルタ/ヘッド/行列ブロックごと |
| 精度の保ちやすさ | 高い(高疎度でも崩れにくい) | 低い(同じ疎度なら精度が落ちやすい) |
| 実機での高速化 | 得にくい(疎行列は密GPUで活きにくい) | 得やすい(テンソルが小さくなり密演算のまま速い) |
| メモリ削減 | 保存サイズは減るが実行時形状は同じ | 層の幅自体が縮む |
| 典型用途 | 宝くじ仮説の検証・研究 | 推論レイテンシ削減・実デプロイ |
非構造化プルーニングは、重みを「飛び飛び」にゼロにします。理論上のFLOPsやパラメータ数は大きく減りますが、汎用GPUは密な行列積に最適化されているため、ランダムな疎パターンでは実測の高速化を得にくいのが現実です。速度を出すには専用のスパースカーネルや、後述の半構造化(2:4疎性のように「4要素中2要素を残す」固定パターン)が必要になります。
構造化プルーニングは、チャネルやアテンションヘッドといったまとまった単位ごと削ります。残った部分はそのまま密なテンソルとして実行できるため、形状が小さくなった分そのまま速くなります。代償として、当選券のように都合の良いマスクを見つけにくく、同じ疎度なら精度が落ちやすくなります。
研究で「訓練可能な疎構造が本当にあるか」を確かめたいなら非構造化+IMPです。本番の推論を速くしたいなら構造化(または2:4半構造化)を選び、枝刈り後に必ず再訓練(fine-tuning)して落ちた精度を取り戻します。圧縮の他手段である量子化や蒸留と組み合わせると、相補的に効きます。
なぜ過剰パラメータ化が効くのか
当選券が存在する背景には、過剰パラメータ化の役割があります。網を大きくするほど、損失地形の中に「初期値から素直に下れる経路」を持つ部分網が含まれる確率が上がります。訓練の役目の一部は、その良い部分網を暗黙に選び増幅することだと解釈できます。これは大きいモデルが学習しやすいという経験則や、二重降下で見られる「過剰パラメータ化が汎化を助ける」現象とも整合します。
ただし宝くじ仮説には限界もあります。当選券の発見コストは高く、IMP は密な網を何度も訓練し直すため、最初から小さい網を訓練するより総計算量はむしろ増えます。得られた疎マスクの移植性(別タスク・別データへの転用)や、超大規模 LLM での再現性も、領域や設定に依存し一般には保証されません。仮説は「圧縮可能な構造が学習前から潜む」ことを示す強力な観察ですが、万能の高速化レシピではない点に注意してください。
まとめ
- 宝くじ仮説は、密な網の中に初期値のまま単独訓練可能な疎部分網(当選券)が存在すると主張します。
- 当選券はマスクと初期値の組として成立し、再初期化すると性能が崩れます。
- IMPは反復的に小さい重みを削り、残りを初期値(大規模網では初期付近
θk)へ巻き戻すことで当選券を取り出します。 - 非構造化は精度を保ちやすいが実機で速くなりにくく、構造化は速いがマスク発見が難しい、というトレードオフがあります。
- 発見コストや移植性に限界があり、圧縮可能性の理解として価値が高い一方、無条件の高速化手段ではありません。
AI/機械学習 Article
宝くじ仮説とスパースネットワークを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
プルーニング
比較で見る軸
難易度: advanced / カテゴリ: AI/機械学習 / タグ数: 5
導入後に効く点
反復的大きさ枝刈り(IMP)で少しずつ枝刈りし、残った重みを初期値(または初期付近)へ巻き戻すと当選券を取り出せます。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- AI/機械学習
- タグ数
- 5
判断チェックリスト
- 自社の用途が「プルーニング / スパース化」に近いか確認する。
- 強みである「密なネットワークの内部には、単独で初期化から訓練しても元と同等精度に届く疎な部分網(当選券)が存在するという仮説です。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。