Objetivo: escolher uma ativação e entender saturação, gradientes e saída.
| Ativação | Expressão/ideia | Uso e vigilância |
|---|---|---|
| ReLU | max(0, z) | simples, rápida; neurônios mortos possíveis |
| LeakyReLU | inclinação fraca se z<0 | reduz as unidades definitivamente nulas |
| tanh | saída [-1, 1] | centrada, mas satura nos extremos |
| sigmoid | saída [0, 1] | sobretudo saída binária; saturação |
| GELU | modulação suave | frequente nos Transformers |
A derivada de ReLU vale 1 para z>0 e 0 para z<0. Uma unidade que recebe sempre
pré-ativações negativas deixa de transmitir gradiente: ela está « morta ».
BCEWithLogitsLoss.CrossEntropyLoss.softmax(z_i) = exp(z_i) / Σ_j exp(z_j) transforma K logits em números positivos cuja
soma vale 1. Adicionar uma constante idêntica a todos os logits não muda as
probabilidades. As implementações estáveis subtraem o máximo antes da exponencial.
Use ReLU como baseline para um MLP/CNN, GELU para um Transformer, e só coloque uma ativação de saída se a perda ou a interface exigir explicitamente.
Por que as ativações devem ser não lineares? Qual ativação produz probabilidades exclusivas?
Caso contrário, toda a rede se reduz a uma transformação afim. Softmax produz uma distribuição sobre classes exclusivas.
Calcule ReLU e sigmoide para z = {-2, 0, 2}, depois o softmax estável de [1000, 1001, 999]. Em seguida, associe uma saída a quatro tarefas: binária, multiclasse, multilabel e
regressão não limitada. Sucesso: nenhuma dupla ativação antes de uma perda sobre logits.
Leitura: a função de perda frequentemente dita o formato numérico esperado. Com as perdas estáveis que recebem logits, a sigmoide ou o softmax servem à interpretação, não à entrada da perda. A principal armadilha é, portanto, a dupla ativação, que deteriora os gradientes e pode fornecer probabilidades enganosas.