∑
Projeto Axioma
llms.newortho.com.br
Capa do módulo M3
M3 · 4 semanas

Cálculo essencial

A derivada é uma bússola, não uma conta.
Assistir ao filmeAbrir no EstúdioPraticar com o tutorVer em markdown

Derivada, gradiente, regra da cadeia e descida do gradiente, apresentados como o mecanismo que permite a um modelo com bilhões de parâmetros descobrir em que direção mexer cada um deles.

Treinar um LLM é responder bilhões de vezes à mesma pergunta: se eu aumentar um pouquinho este parâmetro, a perda sobe ou desce. A derivada é a resposta dessa pergunta, e a regra da cadeia é o que torna viável respondê-la para todas as camadas de uma vez.

1. Derivada como taxa de variação

A derivada de uma função em um ponto responde: se eu mexer um tiquinho na entrada, quanto muda a saída, e para que lado. É a inclinação da reta tangente ao gráfico naquele ponto.

Três leituras do sinal resolvem a intuição. Derivada positiva significa que a função está subindo naquele ponto. Negativa, descendo. Zero, momentaneamente plana, o que acontece em picos, vales e platôs.

Repare que a derivada não é a função e não é o valor, é uma direção com intensidade. Confundir os três é o erro mais comum de quem está começando.

A derivada de f em x é o limite, quando h tende a zero, da variação da saída dividida pela variação da entrada. Em português: a inclinação medida em um intervalo cada vez menor.

2. As regras que você realmente vai usar

Para os fins desta trilha, quatro regras bastam. A derivada de x elevado a n é n vezes x elevado a n menos um. A derivada de e elevado a x é ela mesma. A derivada do logaritmo natural de x é um sobre x. E a derivada de uma soma é a soma das derivadas.

As duas do meio explicam por que exponencial e logaritmo dominam a matemática de redes neurais: elas têm derivadas simples, o que mantém o cálculo de gradientes barato mesmo em escala absurda.

As três derivadas que aparecem em toda dedução de perda de modelo de linguagem.
Derivada em um ponto

Para f de x igual a x ao quadrado, a derivada é dois x. No ponto x igual a três, a derivada vale seis: naquele ponto, aumentar x em uma unidade minúscula aumenta f em aproximadamente seis vezes essa unidade. Em x igual a zero, a derivada é zero: o fundo da parábola.

3. Gradiente: a derivada em muitas dimensões

Quando a função depende de vários parâmetros, não há uma derivada só. Há uma derivada parcial por parâmetro, cada uma medindo o efeito de mexer naquele parâmetro mantendo os outros fixos.

O gradiente, escrito com o símbolo nabla, ∇, é o vetor que junta todas essas derivadas parciais. E ele tem uma propriedade geométrica notável: aponta na direção de maior crescimento da função.

Daí a receita do treino. Para diminuir a perda, ande na direção oposta à do gradiente. Este único fato é o motor de todo aprendizado profundo, e é por isso que a fórmula da atualização de parâmetros tem um sinal de menos.

O gradiente da perda em relação a teta é o vetor de todas as derivadas parciais da perda em relação a cada parâmetro.

4. Regra da cadeia: a ideia inteira do backpropagation

Se uma quantidade depende de outra que depende de uma terceira, a taxa de variação total é o produto das taxas intermediárias. Formalmente, a derivada de uma composição é o produto das derivadas.

Uma rede neural é uma composição gigantesca de funções: a saída da camada um alimenta a dois, que alimenta a três, e assim por diante até a perda. Para saber o efeito de um peso lá na primeira camada sobre a perda no final, a regra da cadeia diz que basta multiplicar as derivadas ao longo do caminho.

Backpropagation é exatamente isso, com uma esperteza de engenharia: em vez de refazer o caminho inteiro para cada peso, o algoritmo percorre a rede uma única vez de trás para frente, reaproveitando os resultados parciais. É por isso que treinar é caro mas viável, e não impossível.

A derivada de z em relação a x é a derivada de z em relação a y vezes a derivada de y em relação a x. As sensibilidades se multiplicam ao longo da cadeia.
Cadeia de três elos

Suponha que dobrar x dobre y, e que dobrar y triplique z. Então dobrar x multiplica z por seis. As taxas se multiplicam, não se somam. É a mesma lógica que governa a propagação de gradientes em uma rede de oitenta camadas.

5. Descida do gradiente e o papel de alfa

O algoritmo de treino, em uma linha: calcule o gradiente da perda, dê um passo na direção contrária, repita. O tamanho do passo é a taxa de aprendizado, α.

Alfa grande demais faz o modelo saltar por cima do vale e oscilar sem convergir. Alfa pequeno demais faz o treino levar tempo inviável. Escolher e agendar alfa é uma das decisões mais consequentes do treino de um modelo, e é a razão de essa letra grega ser tão citada.

A animação do laboratório deste módulo deixa isso visível: ajuste a taxa de aprendizado e observe a bolinha descer suavemente, saltar em zigue-zague ou escapar completamente do vale.

Os parâmetros no passo seguinte são os atuais menos alfa vezes o gradiente da perda nos parâmetros atuais.

Exercícios

Tente responder antes de abrir.

1. Calcule a derivada de f(x) = 3x² + 5 e avalie em x = 2.
A derivada é seis x, porque a derivada de três x ao quadrado é seis x e a derivada da constante cinco é zero. Em x igual a dois, vale doze.
2. O gradiente em um ponto é (0; 0). O que isso indica?
Que o ponto é estacionário: pode ser um mínimo, um máximo ou um ponto de sela. O treino tende a parar de se mover ali.
3. Por que a atualização de parâmetros usa menos alfa vezes o gradiente, e não mais?
Porque o gradiente aponta para onde a perda cresce mais rápido, e o objetivo é diminuir a perda. Andar no sentido contrário é o que faz a perda cair.
4. Uma cadeia tem derivadas 0,5, 0,5 e 0,5. Qual a derivada total, e o que isso sugere sobre redes profundas?
O produto é 0,125. Em uma rede muito profunda, produtos de derivadas menores que um encolhem exponencialmente, que é o problema clássico do gradiente que desaparece. Conexões residuais e normalização existem em boa parte para atenuar isso.
5. Descreva em uma frase o que a taxa de aprendizado controla.
O tamanho do passo dado a cada atualização na direção contrária ao gradiente.

Trilhos do tutor

Dúvidas frequentes

Derivada e inclinação são a mesma coisa?
Sim, com um cuidado: a derivada em um ponto é a inclinação da reta tangente ao gráfico naquele ponto, e não a inclinação do gráfico inteiro. Como a inclinação costuma mudar de ponto para ponto, a derivada também muda, e por isso ela é uma função. O que se calcula quando se pede a derivada em x igual a três é o valor dessa função naquele lugar específico. Guarde a leitura do sinal: positiva significa subindo, negativa significa descendo, zero significa momentaneamente plana.
Se depois eu só uso as regrinhas, para que serve a definição com limite?
A definição é o que dá sentido às regras. Ela mostra que a derivada nasce de medir a variação em um intervalo e ir encolhendo esse intervalo até o número parar de mudar. Sem essa imagem, a regra da potência vira decoreba e você perde a leitura de que derivada é taxa de variação, que é justamente a leitura que interessa no treino de um modelo. Na prática você vai usar as regras o tempo todo e a definição quase nunca, mas é a definição que explica por que as regras funcionam.
Qual a diferença entre derivada e derivada parcial?
A derivada comum existe quando a função depende de uma única variável. Quando a função depende de vários parâmetros, cada um deles tem a sua derivada parcial, que mede o efeito de mexer naquele parâmetro mantendo todos os outros fixos. O símbolo muda para deixar isso explícito, e na prática o cálculo é o mesmo: você trata os outros parâmetros como constantes e deriva normalmente. O conjunto de todas as derivadas parciais forma o gradiente.
O que é aquele símbolo nabla que aparece na fórmula do gradiente?
É o triângulo invertido que anuncia gradiente. Escrever nabla L de teta significa o vetor formado por todas as derivadas parciais de L em relação a cada um dos parâmetros. Ele não é uma conta a mais, é uma abreviação: sem esse símbolo, seria preciso escrever bilhões de derivadas parciais uma a uma. Sempre que você o encontrar em um paper, leia como sensibilidade da perda a cada parâmetro, reunida em um vetor.
Por que a atualização usa menos alfa vezes o gradiente, e não mais?
Porque o gradiente aponta para onde a perda cresce mais rápido, e o objetivo do treino é fazer a perda cair. Andar no sentido contrário ao do gradiente é, por definição, andar na direção de descida mais íngreme. Se o sinal fosse de mais, o treino subiria a montanha em vez de descer o vale, e a perda aumentaria a cada passo. É um caso raro em que um único sinal na fórmula carrega a intenção inteira do algoritmo.
Como se escolhe a taxa de aprendizado na prática?
Por tentativa informada, observando o comportamento da perda. Alfa grande demais faz o modelo saltar por cima do vale, e o sintoma é a perda oscilando ou disparando. Alfa pequeno demais faz a perda cair de forma tão lenta que o treino se torna inviável, e o sintoma é uma curva quase plana. Na prática também se agenda alfa, começando maior e reduzindo ao longo do treino, e essa é uma das decisões mais consequentes de todo o processo.
O que é o problema do gradiente que desaparece?
É o efeito de multiplicar muitas derivadas menores que um ao longo de uma cadeia longa. Três elos de zero vírgula cinco já reduzem o efeito a zero vírgula cento e vinte e cinco, e dez elos o reduzem a menos de um milésimo. Em uma rede muito profunda, o sinal que deveria chegar às primeiras camadas chega praticamente apagado, e elas quase não aprendem. Conexões residuais e normalização existem em boa parte para atenuar exatamente esse encolhimento.
Backpropagation e regra da cadeia são a mesma coisa?
A regra da cadeia é o fato matemático, e o backpropagation é a maneira eficiente de aplicá-lo. O fato diz que a derivada de uma composição é o produto das derivadas dos elos. A esperteza de engenharia está em não refazer o caminho inteiro para cada peso: o algoritmo percorre a rede uma única vez, de trás para frente, e reaproveita os resultados parciais que já calculou. É essa reutilização que torna o treino caro mas viável, em vez de impossível.
Se o gradiente deu zero, o treino acabou?
Não necessariamente. Gradiente zero indica apenas um ponto estacionário, que pode ser um mínimo, um máximo ou um ponto de sela. Em qualquer um deles a atualização deixa de mover os parâmetros, porque o passo é alfa vezes zero. Ou seja, o treino para de se mexer, mas parar não é sinônimo de ter encontrado a melhor configuração possível. É por isso que se olha para o valor da perda, e não apenas para o gradiente.
Por que importa tanto que a derivada de e elevado a x seja ela mesma?
Porque essa propriedade mantém o cálculo de gradientes barato. A exponencial e o logaritmo natural aparecem em toda a matemática de redes neurais, sobretudo na função de perda, e derivadas simples significam menos operações repetidas bilhões de vezes. Se essas funções tivessem derivadas complicadas, cada passo de treino custaria muito mais. Aí está boa parte da razão de elas dominarem as fórmulas que você vai encontrar nos papers.
Por que a derivada de uma constante é zero?
Porque a derivada mede o quanto a saída muda quando a entrada varia um tiquinho, e um termo constante não muda nunca. O gráfico de uma constante é uma reta horizontal, e a inclinação de uma reta horizontal é zero. Na prática isso significa que constantes somadas desaparecem por completo na derivada, como o cinco em três x ao quadrado mais cinco. Repare que isso vale para constantes somadas, não para coeficientes que multiplicam, que permanecem na conta.
O que é um ponto de sela?
É um ponto em que o gradiente se anula sem que ele seja mínimo nem máximo. A imagem que dá nome ao objeto é a de uma sela de cavalo: em uma direção o terreno sobe, em outra ele desce, e no ponto central a inclinação é zero. Para o treino isso é inconveniente, porque a atualização quase não move os parâmetros ali, mesmo havendo direções de descida por perto. Faz parte do grupo dos pontos estacionários, ao lado de mínimos e máximos.
Preciso calcular gradientes à mão para entender um modelo de linguagem?
Calcular à mão em escala real, não. Nenhuma biblioteca vai pedir isso de você, e nenhum profissional deriva bilhões de parâmetros no papel. O que este módulo cobra é outra coisa: saber ler a notação, entender o que cada peça significa e conseguir seguir uma volta completa do laço em um exemplo pequeno. Fazer duas ou três contas curtas à mão é o que transforma a fórmula em intuição, e depois disso a máquina cuida do resto.
Por que a regra da cadeia multiplica em vez de somar?
Porque as taxas se compõem, e compor taxas é multiplicar. Se dobrar x dobra y, e dobrar y triplica z, então dobrar x multiplica z por seis, não por cinco. Cada elo funciona como um fator de amplificação ou de redução do efeito que veio do elo anterior, e fatores se multiplicam. Somar só faria sentido se os caminhos fossem paralelos e independentes, o que não é o caso de uma composição em cadeia.
O que é exatamente a perda que aparece nessas fórmulas?
É a quantidade que o treino tenta diminuir, escrita como L de teta para deixar claro que ela depende dos parâmetros do modelo. Cada configuração de parâmetros produz um valor de perda, e o conjunto de todos esses valores forma a paisagem em que a descida do gradiente caminha. Quando se diz que o modelo está aprendendo, o que se observa é esse número caindo ao longo dos passos. O gradiente é a bússola dessa paisagem, e alfa é o tamanho da passada.

Checkpoint

Oitenta por cento de acerto libera o módulo seguinte.

1. O que a derivada mede?
A taxa de variação da saída em relação a uma variação minúscula na entrada, ou seja a inclinação da função naquele ponto.
2. Para que lado aponta o gradiente?
Para a direção de maior crescimento da função.
3. Enuncie a regra da cadeia e diga onde ela aparece em uma rede neural.
A derivada de uma composição é o produto das derivadas dos elos. Aparece no backpropagation, que propaga sensibilidades da perda até os pesos de todas as camadas.
4. O que acontece com alfa grande demais?
O modelo salta por cima do mínimo, oscila e pode divergir em vez de convergir.
5. Escreva a regra de atualização de parâmetros de memória.
Teta no passo t mais um é igual a teta no passo t menos alfa vezes o gradiente da perda em teta no passo t.

Bibliografia

Cálculo, volume 1James Stewart, Daniel Clegg e Saleem Watson, tradução da 9ª edição norte-americana, Cengage, 2022Capítulos de limites e derivadas, com atenção especial à seção da regra da cadeiaÉ o núcleo bibliográfico deste módulo. Stewart constrói a derivada a partir da taxa de variação, que é exatamente a leitura que interessa aqui. Resolva os exercícios de regra da cadeia até fazê-los sem pensar.
Cálculo, volume 2James Stewart, Daniel Clegg e Saleem Watson, tradução da 9ª edição norte-americana, Cengage, 2022Capítulo de derivadas parciais, seções de derivadas parciais, plano tangente e vetor gradienteO gradiente aparece aqui com a interpretação geométrica de direção de maior crescimento, que é a peça que falta para entender o treino.
Mathematics for Machine LearningDeisenroth, Faisal e Ong, Cambridge University Press, 2020, livro abertoCapítulo 5, Vector CalculusTraduz o cálculo de Stewart para a notação matricial usada em papers, incluindo a regra da cadeia em forma vetorial.

Vídeos curados

Essence of Calculus, capítulos 1 a 43Blue1Brown

Foque na intuição de derivada e regra da cadeia; ignore as técnicas de integração.

Gradient descent, how neural networks learn3Blue1Brown, Neural Networks cap. 2

Conecta diretamente o cálculo ao treino de redes. Assista ao final do módulo.

What is backpropagation really doing?3Blue1Brown, Neural Networks cap. 3

Fecha o módulo e prepara o M6.