🧠 Simulador de Deep Learning

Um passeio interativo pelos blocos fundamentais de uma rede neural: neurônio, funções de ativação, propagação à frente e o treinamento por backpropagation com descida do gradiente. Ajuste os controles e veja a matemática ganhar vida. Não é preciso instalar nada — é apenas um .html.

🔎 O Neurônio perceptron

O menor "átomo" de uma rede neural. Um neurônio recebe várias entradas, faz a soma ponderada, adiciona um viés (bias) e passa o resultado por uma função de ativação. Ajuste os valores e observe a saída.

z = Σ (wi · xi) + b  →  y = ativação(z)
1.00
1.50
-0.50
-1.00
-0.50
função não-linear
Soma ponderada z
— antes da ativação
Saída do neurônio y = a(z)
—
  • 1Multiplica cada entrada pelo seu peso (quanto ela "conta").
  • 2Soma os produtos e adiciona o viés: é o ponto z onde estamos.
  • 3Aplica a ativação: a curva do gráfico transforma z em y.

📈 Mapa ativação → saída

O traço vertical laranja marca o z atual; a altura do ponto mostra a saída y. A curvatura é o que permite à rede modelar relações complicadas — sem ela, empilhar camadas não adiantaria.

z (entrada da ativação) ponto atual (z, y) curva de ativação

💡 Por que uma função curva? Puxe w₁ e w₂ e observe: uma soma linear sozinha só desenha retas. A ativação emenda essas retas em formas complexas, e é isso que dá poder a uma rede com muitas camadas.

🎚️ Funções de Ativação

A escolha da ativação decide como a rede aprende. Compare as principais e clique/arraste no gráfico para mover o ponto de leitura e ler os valores.

-2.00
FunçãoValor em xDerivadaCaracterísticas
sigmoid——Saída 0–1, tipo probabilidade; mora na saturação.
tanh——Saída −1…1, centrada; saturação nas pontas.
ReLU——Rápida e barata; ativa acima de 0, nula abaixo.
swish——Suave e auto-regulada; favorita em modelos grandes.

🧭 O que importa

  • NPor que não-linear: sem uma curva, empilhar camadas só produz uma soma linear — a rede fica igual a um único neurônio. A não-linearidade é o "poder de representação".
  • SSigmoid/Tanh saturam: valores extremos congelam a derivada em 0, matando o aprendizado (problema do desvanecimento do gradiente).
  • RReLU é o padrão em camadas ocultas: derivada igual a 1 ou 0, barata e sem saturação do lado positivo.
  • WSwish (x·σ(x)) suaviza a quebra do ReLU e tende a generalizar melhor.
  • DDerivada é usada no backprop: onde ela fica próxima de 0, os pesos quase não se atualizam. Isso aparece no Módulo 4.
💡 Clique ou arraste sobre o gráfico para mover o ponto de leitura.

🕸️ Rede 2 → 3 → 1 (XOR) forward pass

Uma rede com 2 entradas, 3 neurônios ocultos e 1 saída. Defina as entradas e a propagação à frente calcula, camada por camada, cada ativação. A cor de cada neurônio mostra o quão ativo ele está.

1.00
0.00
Neurônio oculto h₁—
Neurônio oculto h₂—
Neurônio oculto h₃—
Saída y—

💡 O problema XOR é não-linear: a saída só é 1 quando os dois bits são diferentes. Nenhuma combinação linear separa os 4 pontos — por isso precisamos da camada escondida, que "deforma" o espaço para uma reta então resolver.

🔍 Fluxo de cálculo

baixa alta alvo do XOR
Espessura da aresta = |peso|; a etiqueta mostra o valor do peso. A cor de cada neurônio vai do azul (baixa) ao laranja (alta).

⚙️ Backpropagation em ação descida do gradiente

Ensinamos a mesma rede 2→3→1 a resolver o XOR com backpropagation. Cada época recalcula a saída, mede o erro, propaga os gradientes de volta pela rede e ajusta os pesos na direção que diminui o erro. Com momentum (deslize) o algoritmo "ganha inércia", evitando os mínimos locais de saddle em que o XOR costuma ficar preso.

1.50
10
0.90
Época atual0
Erro total (MSE)—
Acurácia—
Estadopronto

📉 Curva de aprendizado

Fronteira de decisão no plano (x₁, x₂)

rede diz "0" rede diz "1" pontos de treino

A fronteira começa aleatória e se curva enquanto o erro cai — é a camada oculta separando o espaço em regiões. No fim, cada ponto de treino cai no lado certo.

🔬 Os 4 pontos de treino (verificação XOR)

x₁x₂AlvoPrediçãoErro
000——
110——
011——
101——

💡 Glossário rápido

Entrada / featuresOs números de entrada (imagem, texto, etc.).
Peso (weight)Importância relativa de cada caminho; aprendidos no treino.
Viés (bias)Um "empurrão" livre em cada neurônio.
AtivaçãoFunção não-linear que limita/quebra a saída (ReLU, sigmoid…).
Camada (layer)Um grupo de neurônios que compartilha um conjunto de pesos.
Forward passCálculo das saídas das entradas até a saída, camada a camada.
Perda (loss)Quão errada a saída foi (ex.: MSE, erro quadrático médio).
BackpropagationDeriva os gradientes de cada peso a partir da perda.
Descida do gradienteAjusta os pesos na direção que diminui a perda.
Taxa de aprendizadoQuão grandes são os passos a cada época.
Época (epoch)Uma passada completa sobre todo o conjunto de treino.
OverfittingAprende os exemplos mas falha em casos novos.
Deep LearningRedes com MUITAS camadas que aprendem representações sozinhas.