Rede neural feedforward / MLP

Perceptron multicamadas - A base do aprendizado profundo

Do Perceptron de Rosenblatt (1958) aos Transformers modernos - o aproximador universal de funções

Visualização da estrutura da rede

Visualize os dados fluindo pelas camadas de entrada, ocultas e saída

Passagem direta: x -> [Hidden] -> ... -> y

Configuração da rede

Animação

Conceito-chave

FFNN: A informação flui apenas para frente (Input -> Hidden -> Output), sem laços ou ciclos

Demo de transformação de camadas

Veja como cada camada transforma os dados: Transformação linear + ativação não linear

z = Wa + b: Transformação linear
a = sigma(z): Ativação não linear

Pesos e bias

Função de ativação

Por que não linearidade?

Sem ativação: y = W2(W1x) = (W2W1)x continua linear! Não consegue aprender padrões complexos.

Galeria de funções de ativação

Compare diferentes funções de ativação e seus gradientes

Detalhes da função

Fórmula: f(x) = 1/(1+e^(-x))
Intervalo: (0, 1)
Gradiente: f'(x) = f(x)(1-f(x))
Vantagens: Smooth, differentiable
Problemas: Vanishing gradient

Tabela de evolução

Função Vantagens Problemas
Sigmoid Suave Desvanecimento
Tanh Centrada em zero Desvanecimento
ReLU Simples, rápida Neurônios mortos
Leaky ReLU Sem mortos Ajustar alpha
GELU Suave, teoria Complexa

Teorema da aproximação universal

MLP pode aproximar qualquer função contínua em subconjuntos compactos

Função-alvo

Teorema (Cybenko, 1989)

Uma rede feedforward com uma única camada oculta e número finito de neurônios pode aproximar qualquer função contínua em subconjuntos compactos de R^n

Intuição geométrica

Camada 1: Corta o espaço em regiões. Camadas mais profundas: Formam fronteiras de decisão complexas por composição.

Visualização da retropropagação

Observe os gradientes fluindo para trás pela rede

Regra da cadeia: dL/dW = dL/da * da/dz * dz/dW

Simulação

Status do fluxo de gradiente

Clique nos botões para iniciar

Atualização de parâmetros

W <- W - lr * dL/dW

Cada gradiente é calculado multiplicando o gradiente local pelo gradiente a montante (regra da cadeia)

Bloco MLP do Transformer

Entenda por que todo bloco Transformer contém um MLP/FFN

Modo de visualização

Por que MLP no Transformer?

1 Attention: Interação entre tokens (mistura global)
2 MLP: Refinamento de características por token (profundidade local)
3 Complementares: Juntos permitem representações ricas

Evidência experimental

  • Remover MLP -> Queda severa de desempenho
  • Remover 30-50% de Attention -> Impacto pequeno
  • MLP fornece capacidade não linear crítica
FFN(x): GELU(xW1 + b1)W2 + b2
Típico: d_model -> 4d_model -> d_model

Projeto da rede

Dados pequenos: 2-4 layers
Dados grandes: 5-20 layers
Regra de largura: 2-10x input dim

Métodos de inicialização

ReLU Family -> He/Kaiming Init
Sigmoid/Tanh -> Xavier/Glorot Init

Regularização

  • L2 Weight Decay (evita pesos grandes)
  • Dropout (desativação aleatória)
  • BatchNorm / LayerNorm (treinamento estável)
  • Early Stopping (evita overfitting)

Aplicações reais

1
Previsão de preço de casas Regressão com atributos tabulares
2
Detecção de fraude Classificação binária em dados de transações
3
Diagnóstico médico Classificação multiclasse em dados de pacientes

Linha do tempo histórica

1958 Rosenblatt: Perceptron
1986 Rumelhart/Hinton: Retropropagação
2011 Revolução ReLU
2017 Transformer + GELU
2018 Turing Award: Hinton, LeCun, Bengio

Limitações do MLP

  • Alto número de parâmetros para entradas de alta dimensionalidade
  • Sem exploração estrutural embutida (ao contrário de CNN/RNN)
  • Propenso a overfitting em conjuntos de dados pequenos
  • Exige tamanho de entrada fixo

Resumo em uma linha

MLP = Múltiplas composições de "Transformação linear + Ativação não linear" = aproximador universal de funções