Neurônio MP e Perceptron

Demonstrações interativas da aula de Perceptron

Três visualizações que acompanham os slides: a geometria do neurônio de Rosenblatt e sua fronteira de decisão, as portas lógicas que um único Perceptron resolve (e o XOR, que ele não resolve), e o algoritmo de aprendizado do Perceptron (PLA) rodando ao vivo. Notação dos slides: ŷ = φ(xθ), com φ(z) = sinal(z), truque do bias (x₀ = 1) e atualização θ ← θ + y⁽ⁱ⁾x⁽ⁱ⁾.

1 · Neurônio e fronteira de decisão

O Perceptron pondera as entradas e aplica a função de ativação sinal(z): com o truque do bias, ŷ = sinal(θ₀ + θ₁x₁ + θ₂x₂), valendo +1 se z ≥ 0 e −1 caso contrário. A fronteira de decisão é a reta θ₀ + θ₁x₁ + θ₂x₂ = 0. Mova os sliders e observe: o vetor de pesos (θ₁, θ₂) é sempre perpendicular à reta e aponta para o semiplano da classe +1, enquanto θ₀ apenas desloca a reta, sem girá-la.

Espaço de entrada: fronteira θ₀ + θ₁x₁ + θ₂x₂ = 0, vetor (θ₁, θ₂) normal à reta e 30 pontos coloridos pela classe prevista

💡 Zere θ₀ e gire a reta variando θ₁ e θ₂: a reta sempre passa pela origem e o vetor segue perpendicular (o marcador de ângulo reto fica na base do vetor). Depois varie só θ₀ e veja a reta transladar na direção oposta ao vetor de pesos.

2 · Portas lógicas

O neurônio MP já implementava lógica proposicional com entradas binárias e um limiar θ: dispara como AND quando o limiar exige os dois estímulos excitatórios (θ = 2) e como OR quando basta um (θ = 1). O Perceptron generaliza isso com pesos reais. Como nos slides, codificamos falso como −1 e verdadeiro como +1. Ajuste θ₁, θ₂ e θ₀ para acertar as quatro linhas da tabela verdade, ou use as soluções vistas em aula.

As quatro entradas (±1, ±1) coloridas pela saída desejada da porta; contorno vermelho indica linha errada da tabela

Tabela verdade com a saída atual do Perceptron, ŷ = sinal(xθ⊤)

💡 No XOR a contagem trava em 3 de 4: nenhuma reta separa {(−1, 1), (1, −1)} de {(−1, −1), (1, 1)}, como Minsky e Papert apontaram. É essa limitação que motiva empilhar Perceptrons em camadas, o MLP da próxima aula.

3 · Regra de aprendizado do Perceptron (PLA)

O PLA dos slides: assuma x₀ = 1 (truque do bias), inicialize θ aleatoriamente e, enquanto existirem observações mal classificadas, selecione x⁽ⁱ⁾ com sinal(x⁽ⁱ⁾θ) ≠ y⁽ⁱ⁾ e atualize θ ← θ + η·y⁽ⁱ⁾·x⁽ⁱ⁾. Nos slides a regra aparece com η = 1; o slider deixa você variar o tamanho do passo. A cada atualização, a soma vetorial é desenhada: o vetor antigo (esmaecido), a contribuição η·y⁽ⁱ⁾·x⁽ⁱ⁾ (rosa) e o vetor novo (verde), que se inclina na direção do ponto destacado.

Pontos pela classe verdadeira, fronteira atual e a atualização de θ; o desenho mostra (θ₁, θ₂), o bias θ₀ desloca a reta

Observações mal classificadas após cada atualização

💡 Na aba separável o PLA sempre converge: a curva de erros chega a zero, mesmo que oscile no caminho. Troque para a aba não separável e treine: os erros oscilam indefinidamente, porque sempre resta um ponto do lado errado para puxar θ de volta. A garantia de convergência do PLA vale apenas para problemas linearmente separáveis.