Comment un minuscule gagnant se cache dans un géant dès le départ.

SRC·47 Source
Un réseau entraîné est surtout du remplissage. Le gagnant était là dès la naissance.

Un réseau entraîné est surtout du remplissage. Le gagnant était là dès la naissance.

Entraîne un réseau géant et tu peux en jeter la majeure partie. Enfoui dans ses nombres de départ aléatoires se cachait un minuscule sous-réseau qui, à lui seul, aurait pu apprendre toute la tâche. Comme un boulier de loterie : des milliers de boules tournent, et la rare boule dorée l'était dès le départ — l'entraînement ne fabrique pas le gagnant, il trouve le billet déjà chanceux.
Supprime les 90% de poids les plus petits. Il bronche à peine.

Supprime les 90% de poids les plus petits. Il bronche à peine.

m{0,1}θ,s=1m0θm \in \{0,1\}^{|\theta|}, \qquad s = 1 - \frac{\lVert m\rVert_0}{|\theta|}
Prends un réseau déjà entraîné et coupe les connexions dont les poids sont les plus proches de zéro — souvent 90% d'entre eux — et la précision tient. Un masque marque chaque poids à garder ou à couper, un 1 ou un 0 ; la parcimonie n'est que la fraction coupée. Comme un camion de déménagement bien rempli : l'essentiel n'est que rembourrage — retire-le et les quelques vrais meubles sont tout ce qui était vraiment transporté.
Pourquoi une loterie ? Compte les sous-réseaux possibles.

Pourquoi une loterie ? Compte les sous-réseaux possibles.

#{subnetworks}=2N,N=θ\#\{\text{subnetworks}\} = 2^{N}, \qquad N = |\theta|
Chaque poids est soit dedans, soit dehors — donc un réseau de N poids cache 2^N sous-réseaux possibles, plus qu'il n'y a d'atomes dans le ciel. Presque tous sont inutiles ; une poignée infime sont gagnants. Comme un plateau de pièces lancées : avec assez de pièces, les motifs de pile ou face sont astronomiques — presque aucun ne vaut rien, une rare poignée forme un gagnant, et le lancer s'est décidé à l'instant où elles sont retombées.
La recette : entraîne, coupe les faibles, puis rembobine le reste.

La recette : entraîne, coupe les faibles, puis rembobine le reste.

mi=1 ⁣[θiτ],θticket=mθ0m_i = \mathbb{1}\!\left[\,|\theta_i| \ge \tau\,\right], \qquad \theta_{\text{ticket}} = m \odot \theta_0
Voici comment trouver un gagnant. Entraîne un moment, puis coupe tout poids resté petit (sous un seuil τ) et garde ceux devenus forts. Et le coup de théâtre : ne peaufine pas les survivants — ramène-les exactement aux valeurs avec lesquelles ils sont nés, θ₀. Comme le gréement d'un navire : lâche les cordages mous, garde les rares sous vraie tension, et retends chacun précisément au réglage du départ, pas à une nouvelle estimation.
La preuve : garde le câblage, rebats le départ — ça échoue.

La preuve : garde le câblage, rebats le départ — ça échoue.

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}
Pourquoi rembobiner, plutôt que de repartir ces survivants à zéro ? Parce que la chance est dans les valeurs de naissance. Garde exactement le même câblage mais retire au hasard ses nombres de départ, et la magie disparaît — il s'entraîne plus lentement et atterrit plus bas. Comme une boîte à musique : garde le même peigne et le même cylindre, mais déplace ses pointes au hasard et il n'en sort que du bruit. La mélodie vivait dans le placement d'origine, pas dans le mécanisme seul.
Pèle un peu, rembobine, répète — jusqu'à un dixième qui gagne encore.

Pèle un peu, rembobine, répète — jusqu'à un dixième qui gagne encore.

m0θ=(1p)r\frac{\lVert m\rVert_0}{|\theta|} = (1-p)^{r}
Une passe élague doucement, alors répète : coupe une tranche, rembobine, réentraîne, coupe-en une autre. Retire une fraction p à chaque tour et après r tours il ne reste que (1−p)^r des poids — pèle cinq fois et il reste à peine un tiers. Pourtant, avec 10–20% de ses poids, le réseau égale encore le tout. Comme tailler une flûte : enlève un copeau, teste la note, enlève-en un autre — le bloc épais devient un instrument élancé qui joue tous les airs que jouait le bloc entier.
Le bémol honnête : les grands réseaux rembobinent à une étape précoce, pas à l'étape zéro.

Le bémol honnête : les grands réseaux rembobinent à une étape précoce, pas à l'étape zéro.

θticket=mθk,0<kT\theta_{\text{ticket}} = m \odot \theta_k, \qquad 0 < k \ll T
La première version disait étape zéro — le tout premier instant. À grande échelle, c'est trop fragile. Le remède est plus doux : laisse le réseau s'entraîner un court moment d'abord, puis rembobine les survivants à ce point de contrôle précoce θ_k, pas à la naissance. Comme le durcissement du béton : impossible de se fier au joint à l'instant où il est coulé — laisse-lui quelques heures pour prendre, et alors il tient. Un billet gagnant a besoin d'un moment pour se raffermir avant d'être stable.
🌱 On a entraîné un manoir pour n'en garder qu'une pièce. Pourquoi bâtir le manoir ?

🌱 On a entraîné un manoir pour n'en garder qu'une pièce. Pourquoi bâtir le manoir ?

Si un éclat pouvait tout faire, pourquoi entraîner le géant entier ? Peut-être que les poids en trop n'étaient pas du gaspillage — peut-être étaient-ils les nombreux chemins qui ont permis à l'entraînement de tomber sur le bon. Retire-les d'abord et la recherche ne donne rien. Alors, qu'en est-il : toute cette capacité est-elle le prix à payer pour trouver la réponse — ou la réponse avait-elle besoin d'espace pour être trouvée ?
touchez →balayez ↑ pour approfondirbalayez ↓ pour quitter