Backpropagation é o método que as redes neurais usam para calcular gradientes: o quanto a perda mudaria se você alterasse um pouco cada peso ou viés. Em linguagem simples, ele diz ao modelo quais parâmetros empurraram a previsão na direção errada e em que medida.
A versão curta é simples: execute a rede para frente, meça o erro e depois volte pela mesma computação usando a regra da cadeia. Isso torna um modelo profundo administrável, porque cada camada só precisa contribuir com uma pequena derivada local.
O que o backpropagation calcula
O backpropagation não atualiza os parâmetros por si só. Ele calcula gradientes como e , em que é a perda. Um otimizador, como o gradient descent, usa esses gradientes para fazer a atualização de fato.
Se o modelo e a perda forem diferenciáveis, ou pelo menos diferenciáveis por partes o suficiente para métodos baseados em gradiente, o backpropagation permite calcular esses gradientes de forma eficiente em uma única passagem para trás.
Por que a regra da cadeia é a ideia central
Pense em uma rede neural como uma longa cadeia de cálculos. Cada camada recebe uma entrada, a transforma e passa o resultado para a próxima camada. Quando você chega à perda, o erro final depende de todas as escolhas anteriores.
O backpropagation faz uma pergunta local em cada etapa: se este valor intermediário mudasse um pouco, como a perda final mudaria? Esses efeitos locais se multiplicam à medida que você volta. Isso é a regra da cadeia em linguagem simples.
Exemplo de backpropagation com um neurônio
Use um neurônio com uma entrada:
Aqui, é a entrada, é o peso, é o viés, é a previsão, é o alvo, e é a função sigmoide.
Considere
Etapa 1: Passagem para frente
Primeiro, calcule a soma ponderada do neurônio:
Agora aplique a sigmoide:
Agora calcule a perda:
A previsão está abaixo do alvo, então a perda é positiva.
Etapa 2: Passagem para trás
Agora calcule o gradiente em relação ao peso.
Comece pela perda e vá para dentro:
Para a sigmoide,
E para a soma ponderada,
Agora encadeie as partes:
Substitua os valores:
Os sinais negativos importam. Eles dizem que aumentar ou um pouco reduziria a perda neste caso, o que faz sentido porque a previsão atual está baixa demais.
Se você usar gradient descent com taxa de aprendizado , então
Essa é a ideia toda em miniatura: passagem para frente, perda, passagem para trás, atualização.
Por que o backpropagation funciona em redes profundas
Em uma rede mais profunda, você faz a mesma coisa camada por camada. A principal diferença é que cada camada oculta afeta a perda indiretamente por meio das camadas posteriores, então seu gradiente inclui mais fatores da regra da cadeia.
O backpropagation continua prático porque cada camada só precisa de sua derivada local e do sinal que vem da camada seguinte. Você não precisa derivar a rede inteira do zero para cada parâmetro.
Erros comuns em backpropagation
Confundir backpropagation com gradient descent
O backpropagation calcula gradientes. O gradient descent usa esses gradientes para atualizar os parâmetros. Eles estão intimamente ligados, mas não são a mesma etapa.
Esquecer que a perda está no final
A passagem para trás começa na perda, não em uma camada oculta qualquer. Se você perder de vista de que a perda depende, a cadeia de derivadas geralmente se quebra.
Ignorar o comportamento da ativação
Algumas funções de ativação produzem gradientes muito pequenos em certas regiões. Se isso acontecer repetidamente em muitas camadas, o aprendizado pode ficar lento.
Supor que uma única passagem para trás significa que o modelo aprendeu
Uma passagem para trás fornece um conjunto de gradientes para um lote. O treinamento normalmente precisa de muitas atualizações em muitos exemplos.
Quando o backpropagation é usado
O backpropagation é o método padrão de cálculo de gradientes para treinar muitas redes neurais, incluindo perceptrons multicamadas, redes convolucionais, modelos recorrentes e transformers.
O otimizador exato pode mudar, e algumas arquiteturas adicionam truques práticos, mas a ideia central geralmente é a mesma: calcular a perda, propagar os gradientes para trás e atualizar os parâmetros para reduzir o erro futuro.
Uma forma prática de lembrar
O backpropagation é uma maneira estruturada de atribuir mérito e culpa dentro de um modelo em camadas. Se a saída estiver errada, o método rastreia esse erro para trás para que cada parâmetro receba um sinal sobre como contribuiu.
É por isso que a expressão "como as redes neurais aprendem" é, em grande parte, correta. O aprendizado acontece por meio de atualizações repetidas dos parâmetros, e o backpropagation é o que torna essas atualizações informadas em vez de aleatórias.
Tente um problema parecido
Mantenha o mesmo exemplo, mas mude o alvo de para . Recalcule e , e depois veja como os sinais se invertem. Essa única mudança deixa o papel da perda muito mais claro do que apenas memorizar as fórmulas.
Precisa de ajuda com um problema?
Envie sua pergunta e receba uma solução verificada, passo a passo, em segundos.
Abrir GPAI Solver →