Como um vencedor minúsculo se esconde dentro de um gigante desde o início.

SRC·47 Source
Uma rede treinada é quase toda enchimento. O vencedor já estava lá ao nascer.

Uma rede treinada é quase toda enchimento. O vencedor já estava lá ao nascer.

Treine uma rede gigante e você pode jogar fora a maior parte dela. Enterrada em seus números iniciais aleatórios havia uma sub-rede minúscula que, sozinha, poderia ter aprendido a tarefa inteira. Como um globo de loteria: milhares de bolas giram, e a rara bola dourada já era dourada desde o início — treinar não constrói o vencedor, ele encontra o bilhete que já tinha sorte.
Apague os 90% menores dos pesos. Ela mal estremece.

Apague os 90% menores dos pesos. Ela mal estremece.

m{0,1}θ,s=1m0θm \in \{0,1\}^{|\theta|}, \qquad s = 1 - \frac{\lVert m\rVert_0}{|\theta|}
Pegue uma rede já treinada e corte as conexões cujos pesos estão mais perto de zero — muitas vezes 90% deles — e a precisão se mantém. Uma máscara marca cada peso como manter ou cortar, um 1 ou um 0; a esparsidade é só a fração que você cortou. Como um caminhão de mudança lotado: a maior parte do que há dentro é enchimento — tire isso e os poucos móveis de verdade são tudo o que estava sendo carregado.
Por que chamar de loteria? Conte as sub-redes possíveis.

Por que chamar de loteria? Conte as sub-redes possíveis.

#{subnetworks}=2N,N=θ\#\{\text{subnetworks}\} = 2^{N}, \qquad N = |\theta|
Cada peso está dentro ou fora — então uma rede de N pesos esconde 2^N sub-redes possíveis, mais do que há átomos no céu. Quase todas são inúteis; pouquíssimas são vencedoras. Como uma bandeja de moedas lançadas: com moedas suficientes, os padrões de cara e coroa são astronômicos — quase nenhum é nada, uns raros formam um vencedor, e o lançamento foi decidido no instante em que caíram.
A receita: treine, corte os fracos e rebobine o resto.

A receita: treine, corte os fracos e rebobine o resto.

mi=1 ⁣[θiτ],θticket=mθ0m_i = \mathbb{1}\!\left[\,|\theta_i| \ge \tau\,\right], \qquad \theta_{\text{ticket}} = m \odot \theta_0
Veja como achar um vencedor. Treine um tempo, depois corte todo peso que ficou pequeno (abaixo de um limiar τ) e mantenha os que ficaram fortes. Agora a reviravolta: não ajuste os sobreviventes — devolva-os exatamente aos valores com que nasceram, θ₀. Como o cordame de um navio: solte as linhas frouxas, mantenha as poucas sob tensão real e retensione cada uma exatamente no ajuste em que foi armada no início — não num novo chute.
A prova: mantenha a fiação, embaralhe o início — ela falha.

A prova: mantenha a fiação, embaralhe o início — ela falha.

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}
Por que rebobinar, em vez de recomeçar esses sobreviventes do zero? Porque a sorte está nos valores de nascimento. Mantenha exatamente a mesma fiação, mas sorteie de novo seus números iniciais ao acaso, e a mágica some — ela treina mais devagar e chega mais baixo. Como uma caixa de música: mantenha o mesmo pente e o mesmo cilindro, mas mude seus pinos para posições aleatórias e só sai ruído. A melodia vivia na posição original, não no mecanismo sozinho.
Descasque um pouco, rebobine, repita — até um décimo que ainda vence.

Descasque um pouco, rebobine, repita — até um décimo que ainda vence.

m0θ=(1p)r\frac{\lVert m\rVert_0}{|\theta|} = (1-p)^{r}
Uma passada poda com suavidade, então repita: corte uma fatia, rebobine, retreine, corte outra. Retire uma fração p a cada rodada e, após r rodadas, restam apenas (1−p)^r dos pesos — descasque cinco vezes e mal sobra um terço. Ainda assim, com 10–20% de seus pesos, a rede continua igualando a completa. Como talhar uma flauta: tire uma lasca, teste a nota, tire outra — o bloco grosso vira um instrumento esguio que toca todas as melodias que o bloco inteiro tocava.
A ressalva honesta: redes grandes rebobinam para um passo inicial, não para o passo zero.

A ressalva honesta: redes grandes rebobinam para um passo inicial, não para o passo zero.

θticket=mθk,0<kT\theta_{\text{ticket}} = m \odot \theta_k, \qquad 0 < k \ll T
A primeira versão dizia passo zero — o primeiríssimo instante. Em escala real, isso é frágil demais. A correção é mais suave: deixe a rede treinar um breve tempo primeiro e então rebobine os sobreviventes para aquele checkpoint inicial θ_k, não para o nascimento. Como a cura do concreto: você não pode confiar na junta no instante em que é despejada — dê algumas horas para pegar e então ela aguenta. Um bilhete vencedor precisa de um momento para firmar antes de ficar estável.
🌱 Treinamos uma mansão para ficar com um só cômodo. Por que construir a mansão?

🌱 Treinamos uma mansão para ficar com um só cômodo. Por que construir a mansão?

Se uma lasca poderia ter feito tudo, por que treinar o gigante inteiro? Talvez os pesos a mais não fossem desperdício — talvez fossem os muitos caminhos que deixaram o treino tropeçar no de sorte. Tire-os primeiro e a busca não dá em nada. Então, o que é: toda essa capacidade é o custo de encontrar a resposta — ou a resposta precisava de espaço para ser encontrada?
toque →deslize ↑ para maisdeslize ↓ para sair