Chame backward() para Obter Gradientes
Preencha .grad com uma linha
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
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. 🔁
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
- requires_grad e o Grafo Computacional
- Chame backward() para Obter Gradientes
- Lendo e Zerando .grad
- torch.no_grad() para Inferência