Por que uma pilha de linhas retas precisa de uma dobra para pensar.

SRC·54 Source
Empilhe cem camadas. Sem uma única dobra, você ainda tem apenas uma.

Empilhe cem camadas. Sem uma única dobra, você ainda tem apenas uma.

Uma rede profunda são camadas sobre camadas — com certeza, mais camadas significam mais poder. Não significam. Sem um pequeno truque encaixado entre elas, cem camadas fazem exatamente o que uma faz: traçar uma única linha reta. Toda a razão de a profundidade funcionar — a razão de um modelo poder aprender qualquer coisa curva, emaranhada ou real — é um gesto humilde chamado função de ativação. A dobra. Vejamos por que um monte de linhas retas ainda é apenas uma linha reta.
Dois passos retos em sequência são, no fundo, um só.

Dois passos retos em sequência são, no fundo, um só.

W2(W1x+b1)+b2=(W2W1)x+(W2b1+b2)=Wx+bW_2(W_1 x + b_1) + b_2 = (W_2 W_1)\,x + (W_2 b_1 + b_2) = W' x + b'
Como vidraças bem transparentes: olhe através de dez placas planas e a vista é tão reta quanto através de uma — nenhuma pilha de vidro plano entorta a luz. Uma camada sem dobra é igual: só estica e gira o espaço, um mapa de linha reta. Encadeie duas e a matemática as funde em um único mapa de linha reta — o mesmo para cem. A profundidade, sozinha, não lhe dá nada.
Um corte reto não consegue separar isto.

Um corte reto não consegue separar isto.

flin(x)=sign(wx+b)(one straight cut);XOR: (0,0) ⁣ ⁣0, (0,1) ⁣ ⁣1, (1,0) ⁣ ⁣1, (1,1) ⁣ ⁣0f_{\text{lin}}(x)=\operatorname{sign}(w^\top x + b)\quad(\text{one straight cut});\qquad \text{XOR}:\ (0,0)\!\to\!0,\ (0,1)\!\to\!1,\ (1,0)\!\to\!1,\ (1,1)\!\to\!0
Como uma corda sobre um tabuleiro de xadrez: estenda uma corda esticada sobre as casas e tente deixar cada casa escura de um lado e cada clara do outro — você não consegue, o padrão se entrelaça. A tarefa real mais simples, XOR, é exatamente isto: duas classes que você não separa com uma única linha reta. Um modelo de linha reta é cego a ela. O mundo está cheio desses casos — e mapas planos não conseguem contorná-los.
A solução é quase nada: uma única dobra.

A solução é quase nada: uma única dobra.

ReLU(x)=max(0,x)\operatorname{ReLU}(x)=\max(0,\,x)
Como uma dobradiça numa barra de aço: uma barra reta não consegue mudar de direção — até você acrescentar uma dobradiça, e agora ela dobra. Depois de cada camada de linha reta, aplique uma dobra simples: mantenha o que é positivo, achate o resto até zero. Esse vinco é a ReLU, a não linearidade mais barata que existe. Uma dobradiça faz pouco. Mas uma dobradiça depois de cada camada transforma uma régua rígida em algo capaz de dobrar em torno de qualquer coisa.
Por que esta dobra, e não as velhas curvas que achatavam tudo?

Por que esta dobra, e não as velhas curvas que achatavam tudo?

σ(x)=σ(x)(1σ(x))14  l=1Lσ(14)L ⁣0;ReLU(x)=1  (x>0)\sigma'(x)=\sigma(x)\bigl(1-\sigma(x)\bigr)\le \tfrac{1}{4}\ \Rightarrow\ \prod_{l=1}^{L}\sigma' \le \left(\tfrac{1}{4}\right)^{L}\!\to 0;\qquad \operatorname{ReLU}'(x)=1\ \ (x>0)
As primeiras redes dobravam com uma curva em S que se achata nas duas pontas. Como uma bola jogada em espuma funda: cada camada mole e plana engole o empurrão, e ao longo de muitas camadas o sinal de aprendizado morre antes de voltar — o temido gradiente que desaparece. O lado positivo da ReLU é um chão duro com inclinação exatamente um: o sinal quica de volta, sem perder força. É por isso que as pilhas profundas finalmente treinaram — a dobra deixou o sinal respirar.
Mas a dobradiça tem um cotovelo morto. Então arredonde-o.

Mas a dobradiça tem um cotovelo morto. Então arredonde-o.

GELU(x)=xΦ(x),Φ(x)=12[1+erf ⁣(x2)]\operatorname{GELU}(x)=x\,\Phi(x),\qquad \Phi(x)=\tfrac{1}{2}\left[\,1+\operatorname{erf}\!\left(\tfrac{x}{\sqrt{2}}\right)\right]
O canto da ReLU é afiado: para toda entrada negativa a inclinação é zero plano, e um neurônio preso ali fica morto — sem inclinação a seguir, sem como aprender de volta. Como uma rampa em vez de um meio-fio: uma roda trava contra uma borda dura, mas sobe suave por uma ladeira gradual. Dobras suaves como GELU arredondam o canto — um portão suave que abre quase por inteiro para entradas grandes e se fecha de leve para as pequenas, deixando uma inclinação útil em toda parte.
Trechos retos mais dobras conseguem traçar qualquer forma.

Trechos retos mais dobras conseguem traçar qualquer forma.

ε>0  N:g(x)i=1Nciσ ⁣(wix+bi)<ε\forall\,\varepsilon>0\ \ \exists\,N:\quad \left|\,g(x)-\sum_{i=1}^{N} c_i\,\sigma\!\left(w_i^\top x + b_i\right)\right|<\varepsilon
Aqui está a recompensa. Como dobrar um arame até virar silhueta: um arame reto e rígido só traça uma linha, mas com dobras pequenas o bastante ele desenha o contorno que você quiser — um pássaro, um litoral, uma assinatura. Uma camada linear assenta os trechos retos; a ativação acrescenta as dobras. Empilhe o suficiente e a rede consegue aproximar qualquer forma contínua, com a precisão que quiser. Esse é o famoso resultado — e ele morre no instante em que a dobra é removida.
🌱 Cada curva que ele desenha são, na verdade, linhas retas.

🌱 Cada curva que ele desenha são, na verdade, linhas retas.

Olhe de perto o que a dobra constrói. Uma rede feita desses vincos simples não traça curva verdadeira alguma — ela traça incontáveis trechos retos minúsculos, ajustados tão finamente que apenas parecem suaves. Toda a graça de um modelo profundo — cada arco elegante de pensamento — é uma escada, lixada até os degraus sumirem. 🌱 Então a curva é real? Ou a suavidade é só retidão, cortada fina o bastante para nos enganar?
toque →deslize ↑ para maisdeslize ↓ para sair