Gradiente descendente é o algoritmo que faz redes neurais aprenderem. A ideia é simples: imagine que você está numa montanha vendada e quer chegar ao vale. A cada passo, você sente o solo, descobre qual direção desce mais íngreme, e dá um passo nessa direção. Repete até chegar ao fundo.
Em IA, "a montanha" é a função de perda (loss): uma medida do quão errado o modelo está. "O vale" é o ponto onde o erro é mínimo — onde o modelo aprendeu bem. "A direção mais íngreme para baixo" é o gradiente, calculado via cálculo diferencial.
A cada iteração de treinamento:
- O modelo faz uma previsão.
- Calcula-se o erro (loss) versus a resposta certa.
- Calcula-se o gradiente: como cada peso afeta esse erro.
- Atualiza-se cada peso na direção oposta ao gradiente, multiplicada por um learning rate (taxa de aprendizado).
Repete-se isso milhões de vezes, com milhões de exemplos, até o modelo convergir.
Existem variantes importantes:
- SGD (Stochastic Gradient Descent): usa um exemplo por vez. Rápido mas barulhento.
- Mini-batch SGD: usa pequenos lotes. O padrão.
- Adam: ajusta o learning rate automaticamente para cada peso. O mais usado hoje.
- AdamW: variação que melhora regularização.
O gradiente é calculado por backpropagation, que é o algoritmo que distribui o erro de trás para frente pela rede.
Por que isso importa para você? Porque entender que treinar é "descer a montanha" explica vários comportamentos:
- Por que treinar pode ficar preso em "mínimos locais" (vales rasos que não são o ideal).
- Por que learning rate alto demais faz o modelo divergir.
- Por que treinos longos podem causar overfitting (decorar os exemplos).
Em 2026, essa matemática está empacotada em frameworks como PyTorch e JAX. Você raramente escreve gradiente descendente do zero, mas saber que é o motor ajuda a depurar problemas de treinamento.
