Gradiente e retropropagação

2 min

Objetivo: entender como um erro final se torna uma correção local.

O gradiente reúne as derivadas da perda em relação aos parâmetros. Sua componente ∂L/∂w_i indica como um pequeno aumento do peso w_i faria a perda variar.

A regra da cadeia

Se L depende de a, que depende de z, que depende de w:

text
∂L/∂w = ∂L/∂a × ∂a/∂z × ∂z/∂w

A retropropagação aplica eficientemente essa regra da perda até cada parâmetro do grafo. Ela não constitui o otimizador: ela calcula os gradientes; o otimizador decide em seguida a atualização.

python
optimizer.zero_grad()  # apagar os gradientes anteriores
logits = model(x)
loss = criterion(logits, y)
loss.backward()        # calcular os gradientes
optimizer.step()       # modificar os parâmetros

Pré-visualização — o resto da lição está reservado aos inscritos.

Já se inscreveu com um código?

O seu acesso está ligado à sua conta, não a esta ligação. Inicie sessão com o mesmo e-mail usado na aula: o seu curso está à espera, não precisa de introduzir o código de novo.

Iniciar sessãoAinda não tem conta? Criar uma
Esta lição faz parte do módulo «Fazer a rede aprender»

Os primeiros módulos do curso são de acesso livre. Para o resto há três possibilidades: comprar este curso de uma vez por todas, subscrever, ou introduzir o código entregue na aula.

Subscrever — 19 $ US/mêsVoltar ao plano
É estudante do curso?

O código fica ligado à sua conta: inicie sessão ou crie uma conta e ele será aplicado automaticamente ao regressar.

Ainda não tem conta? Criar uma