Deep Learning Academy · Aula

Chame backward() para Obter Gradientes

Preencha .grad com uma linha

Aula 2 de 413 etapas

Chame backward() para Obter Gradientes é uma aula grátis de Deep Learning Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Deep Learning Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Deep Learning Academy inclui 4 aulas no total.

Uma linha para derivar

Depois que o grafo é construído, uma única chamada realiza todo o cálculo diferencial. Execute backward() na sua saída e os gradientes fluirão de volta para cada entrada.

Comece com um escalar

Você chama backward no número final que deseja minimizar, geralmente a perda. Ele precisa ser um único escalar para que a diferenciação automática saiba por onde começar.

y = x ** 2
y.backward()

Os gradientes ficam em .grad

Depois da execução de backward, o .grad de cada tensor folha contém a derivada da saída em relação a esse tensor. A matemática já foi concluída.

print(x.grad)

Uma verificação rápida à mão

Para y igual a x ao quadrado, o cálculo diferencial diz que a derivada é 2x. Quando x é igual a 2, o resultado é 4, e o PyTorch preenche x.grad exatamente com 4.0.

A passagem para trás percorre o grafo

backward() percorre o grafo da saída até as entradas, aplicando a regra da cadeia em cada nó. Você escreveu apenas a matemática da passagem direta e recebeu todo o restante sem esforço.

Gradientes para várias entradas

Se a sua saída depender de vários tensores monitorados, uma chamada de backward preencherá o .grad de todos eles ao mesmo tempo. É assim que modelos inteiros são atualizados.

loss = (a * b + c).sum()
loss.backward()

O grafo é consumido

Por padrão, o grafo é liberado depois de backward para economizar memória, portanto chamá-lo duas vezes gera um erro. Você construirá um grafo novo na próxima passagem direta.

Mantenha-o se for necessário

Precisa chamar backward novamente no mesmo grafo? Passe retain_graph como true. Raramente isso é necessário, portanto ignore essa opção, a menos que um erro peça para usá-la.

loss.backward(retain_graph=True)

Saídas não escalares

Se a sua saída for um vetor, backward precisará de um argumento de gradiente que indique como ponderar cada elemento. Na maioria das vezes, você soma os elementos para obter um escalar.

Esta é a passagem para trás

Essa única chamada de backward é a famosa passagem para trás do treinamento. A passagem direta calcula previsões; a passagem para trás calcula como corrigir os pesos.

Dos gradientes ao aprendizado

Os números em .grad indicam a cada peso em que direção se mover. Um otimizador os lê e ajusta os pesos para reduzir um pouco a perda.

Verificação rápida

Certifique-se de que backward está claro.

Recapitulação

Chame backward() em uma perda escalar e a diferenciação automática aplicará a regra da cadeia pelo grafo, preenchendo o .grad de cada tensor com sua derivada. Essa é a passagem para trás. 🔁

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Chame backward() para Obter Gradientes” é grátis?

Sim — o texto completo de “Chame backward() para Obter Gradientes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Deep Learning Academy, atualize para CoddyKit PRO. O curso de Deep Learning Academy inclui 4 aulas no total.

O que vou aprender em “Chame backward() para Obter Gradientes”?

Preencha .grad com uma linha Você pratica Deep Learning Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Deep Learning Academy?

Nenhuma experiência prévia é necessária. Deep Learning Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Chame backward() para Obter Gradientes”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Deep Learning Academy?

Sim. Cada aula de Deep Learning Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. requires_grad e o Grafo Computacional
  2. Chame backward() para Obter Gradientes
  3. Lendo e Zerando .grad
  4. torch.no_grad() para Inferência
← Voltar para Deep Learning Academy