Zubnet AIAprenderWiki › Backpropagation
Fundamentos

Backpropagation

Também conhecido como: Backprop, Retropropagação, Passo Backward
O algoritmo que calcula quanto cada parâmetro em uma rede neural contribuiu para o erro, permitindo que gradient descent atualize parâmetros eficientemente. Backpropagation aplica a regra da cadeia do cálculo em reverso pela rede: começando da loss na saída, propaga gradientes para trás através de cada camada para determinar a parcela de culpa de cada peso.

Por que isso importa

Backpropagation é o algoritmo que torna o treinamento de redes neurais possível. Sem uma forma eficiente de computar gradientes para bilhões de parâmetros, gradient descent seria computacionalmente inviável. Todo modelo que você usa — de um pequeno classificador a um LLM de 400B — foi treinado usando backpropagation. É o algoritmo mais importante do deep learning.

Em profundidade

O forward pass: a entrada flui pela rede, cada camada aplica sua transformação, e a camada final produz uma predição. A função de loss computa quão errada está a predição. O backward pass: começando da loss, backpropagation computa ∂loss/∂peso para cada peso na rede usando a regra da cadeia: ∂loss/∂w = ∂loss/∂output · ∂output/∂hidden · ∂hidden/∂w. Cada camada recebe o gradiente da camada acima e passa seu próprio gradiente para a camada abaixo.

Eficiência Computacional

Computar ingenuamente o gradiente para cada peso independentemente exigiria um forward pass separado por peso — impossivelmente caro para bilhões de parâmetros. Backpropagation reutiliza resultados intermediários: o gradiente em cada camada é computado uma vez e compartilhado com todos os pesos naquela camada. O backward pass custa aproximadamente 2x o forward pass em computação, significando que o custo total de um passo de treinamento (forward + backward + atualização) é cerca de 3x um único forward pass.

Diferenciação Automática

Frameworks modernos de deep learning (PyTorch, JAX) implementam backpropagation através de diferenciação automática (autograd). Você define a computação forward, e o framework automaticamente constrói o grafo de computação backward e calcula gradientes. Isso significa que você nunca deriva gradientes manualmente — você define a arquitetura do modelo e a loss, chama loss.backward(), e o framework cuida do resto. Essa automação é o que torna a experimentação rápida de arquiteturas prática.

Conceitos relacionados

← Todos os termos
← Avaliação Humana Bajulação →