top of page

Gradient Descent:a matemática que faz redes neurais aprenderem (Parte 1/3)

michel3540
12 de jul.
5 min de leitura

Introdução Geral da Série

Toda vez que você treina um modelo de machine learning — uma regressão logística, uma floresta aleatória, ou uma rede neural com bilhões de parâmetros — há um algoritmo trabalhando nos bastidores, repetindo a mesma pergunta milhares de vezes: estou indo na direção certa?

Esse algoritmo é o gradient descent.

Ele é simples na ideia, poderoso na prática, e compreendê-lo matematicamente muda a forma como você pensa em otimização. Esta série de três artigos explica o gradient descent do zero: a intuição geométrica, a matemática das derivadas parciais, as variantes estocásticas, e o código Python completo.

Neste primeiro artigo, vamos construir a base: o problema da otimização, a diferença entre soluções analíticas e numéricas, a intuição por trás do algoritmo, e a matemática fundamental que o sustenta — desde a derivada até o gradiente como vetor de derivadas parciais. Ao final, você entenderá não apenas como o gradient descent funciona, mas por que ele funciona.


Imagine que você está perdido numa montanha à noite, com neblina espessa. Você quer chegar ao vale — o ponto mais baixo. Não consegue ver o caminho completo, mas consegue sentir o chão sob os pés e medir a inclinação local.

A estratégia natural é: a cada passo, sentir em qual direção o terreno desce mais acentuadamente e andar nessa direção. Repetir até não conseguir mais descer.

Essa estratégia é exatamente o gradient descent.

Neste artigo, vamos explorar essa analogia em profundidade. Começaremos entendendo por que precisamos minimizar funções em machine learning. Em seguida, veremos a diferença entre resolver um problema de forma exata (solução analítica) e aproximá-lo passo a passo (solução numérica) — e por que a segunda abordagem é a única viável para modelos modernos.

Depois, mergulharemos na matemática: o que é uma derivada, o que é um gradiente, e por que o negativo do gradiente aponta para a direção de maior descida. Por fim, apresentaremos a regra de atualização que está no coração de todos os algoritmos de otimização em deep learning.

Ao final deste artigo, você terá uma compreensão sólida da intuição e da matemática que movem o gradient descent.

1. Gradient Descent: A Intuição e a Matemática por Trás do Algoritmo que Move a IA

1. Por que minimizar?

Em machine learning, o modelo aprende ajustando seus parâmetros θ (pesos) para que as previsões se aproximem dos valores reais. Essa discrepância é medida por uma função de custo J(θ) — por exemplo, o Erro Quadrático Médio (MSE) na regressão.


Onde:

  •  é a previsão do modelo para o -ésimo exemplo de treino — ou seja, o valor que o modelo, com os parâmetros atuais, calcula ao receber a entrada . O "h" vem de hypothesis (hipótese), termo clássico da literatura de machine learning para "o que o modelo está apostando que a resposta é".

  • é o valor real e conhecido para esse mesmo -ésimo exemplo — o "gabarito", o que de fato aconteceu (por exemplo, o preço real de uma casa, se estivermos prevendo preços de imóveis).

  • é o número total de exemplos (ou observações) no conjunto de treinamento.

  • A diferença é o erro cometido pelo modelo naquele exemplo específico — previsão menos valor real. Elevamos ao quadrado para que erros positivos e negativos não se cancelem, e para penalizar mais os erros grandes.

  • Somamos esse erro ao quadrado para todos os exemplos, e dividimos por — a divisão por transforma a soma numa média (o erro típico por exemplo), e o fator extra de é só uma conveniência matemática que simplifica a derivada mais adiante (o do quadrado se cancela com o do denominador quando calculamos ).

 Em uma frase: mede, em média, o quão longe as previsões do modelo estão dos valores reais — quanto menor esse número, melhor o modelo está performando.

 Quanto menor J(θ), menor o erro e melhor o modelo.

Treinar um modelo é, portanto, um problema de otimização: encontrar os valores de θ que minimizam J(θ). Tudo o que o gradient descent faz é resolver esse problema.

Em álgebra, quando queremos minimizar uma função simples — como veremos em detalhe na Seção 4 — derivamos, igualamos a zero e resolvemos. Exato, instantâneo, elegante.

Mas uma rede neural com 175 bilhões de parâmetros (como o GPT-3) tem uma função de custo que vive num espaço de 175 bilhões de dimensões. Derivar e igualar a zero esse sistema de equações é computacionalmente inviável. Não existe forma fechada. A única saída é um método iterativo — dar passos sucessivos em direção ao mínimo, medindo a inclinação a cada passo.

2. Solução Analítica vs. Numérica

Solução analítica: resolver matematicamente, obtendo a resposta exata em um passo.

Solução numérica: aproximar a resposta por iterações sucessivas, refinando a cada passo.

Partimos de um chute inicial (por exemplo, x=5) e de uma taxa de aprendizado fixa (α=0,25). A cada passo, calculamos a inclinação e nos movemos na direção oposta:


x=3,25→2,38→1,94→1,72→1,61→⋯→1,5.


Repare como os passos ficam cada vez menores conforme nos aproximamos do mínimo — isso acontece porque a inclinação (a derivada) também diminui à medida que x se aproxima de 1,5.Chega no mesmo lugar, mas por tentativas.

 

 Figura 1 - Rumo ao mínimo

 

A solução analítica encontra o mínimo exato em um único passo — quando existe. A solução numérica aproxima o mínimo por iterações sucessivas.

Em machine learning moderno, as funções de custo são não lineares e vivem em espaços de altíssima dimensão. O gradient descent é nossa ferramenta numérica universal.

3. A intuição: descendo uma montanha com neblina

Imagine que você está perdido numa montanha à noite, com neblina espessa. Você quer chegar ao vale — o ponto mais baixo. Não consegue ver o caminho completo, mas consegue sentir o chão sob os pés e medir a inclinação local.


A estratégia natural é: a cada passo, sentir em qual direção o terreno desce mais acentuadamente e andar nessa direção. Repetir até não conseguir mais descer.

Essa estratégia é exatamente o gradient descent. Na analogia:

 

Elemento da analogia

Correspondência matemática

A montanha

A função de custo J(θ) — o erro do modelo

Sua posição

Os parâmetros θ (pesos da rede neural)

A inclinação local

O gradiente ∇J(θ)

O tamanho do passo

A taxa de aprendizado α

O vale

O mínimo da função de custo — o modelo bem treinado

 

É por isso que o gradient descent é frequentemente descrito como um algoritmo de descida mais íngreme: a cada passo, ele se move na direção em que a função diminui mais rapidamente.

4. Derivadas: encontrando mínimos

Antes do gradiente, precisamos entender a ferramenta que o sustenta: a derivada.

A derivada de uma função  num ponto mede a taxa de variação instantânea — ou seja, a inclinação da curva naquele ponto. Geometricamente, é o coeficiente angular da reta tangente.

Figura 2 — Parábola f(x) = x²−3x+2 com retas tangentes nos três regimes: 

 (antes do mínimo),  (no mínimo em x = 1,5) e  (depois do mínimo).

Encontrando o mínimo analiticamente

Para encontrar o mínimo, igualamos a derivada a zero e resolvemos:

 

A concavidade para cima confirma que é um mínimo.

O gradient descent faz o mesmo caminho, mas de forma iterativa: em vez de resolver 

ele segue o sinal da derivada passo a passo até chegar perto do zero.

Para regressão linear simples, a solução analítica existe e é eficiente. Mas uma rede neural com milhões de parâmetros gera um sistema de milhões de equações simultâneas — computacionalmente inviável. Além disso, funções de custo de redes profundas são não lineares: não têm solução analítica fechada.

O gradient descent é a única alternativa prática.

5. A matemática: gradiente e derivadas parciais

O gradiente é a extensão da derivada para funções de múltiplas variáveis. Em vez de uma inclinação escalar, temos um vetor de derivadas parciais — uma para cada parâmetro. Ele aponta na direção de maior crescimento da função. Para descer, caminhamos na direção oposta.



O gradiente (3, 5) diz que, naquele ponto, a função cresce mais rápido na direção de y (componente 5) do que na direção de x (componente 3). Para minimizar, andamos na direção oposta: (−3, −5).

 


 

 

Michel Janos

Autor de Matemática para o Século XXI — uma coleção de sete volumes cobrindo otimização, redes, sistemas dinâmicos, modelos baseados em agentes e machine learning com Python.

 

 
 
 

Comentários


Matemática para o Século XXI · Michel Janos

​LinkedIn - YouTube

​© 2025 Michel Janos · Todos os direitos reservados

bottom of page