A descida do gradiente é um algoritmo para minimizar uma função diferenciável por meio de passos repetidos na direção que mais a reduz localmente. Se você está procurando "o que é descida do gradiente", a ideia central é simples: calcular a inclinação, descer um pouco e repetir.

Ela é muito usada em otimização baseada em cálculo e em aprendizado de máquina. O método funciona melhor quando você consegue calcular uma derivada ou gradiente e escolher uma taxa de aprendizado pequena o bastante para manter a estabilidade, mas grande o suficiente para avançar.

Em uma variável, a regra de atualização é

xk+1=xkηf(xk),x_{k+1} = x_k - \eta f'(x_k),

e em várias variáveis ela se torna

xk+1=xkηf(xk),\mathbf{x}_{k+1} = \mathbf{x}_k - \eta \nabla f(\mathbf{x}_k),

onde η>0\eta > 0 é a taxa de aprendizado. A taxa de aprendizado controla o quanto cada passo avança, então ela afeta diretamente se o algoritmo converge, empaca ou passa do ponto.

Intuição da Descida do Gradiente

O gradiente aponta para cima. Se o seu objetivo é minimizar, o movimento local natural é ir na direção oposta.

Essa regra local não garante a melhor resposta possível em todo problema. Em uma função convexa, a descida do gradiente pode levar ao mínimo global. Em uma função não convexa, ela pode parar em um mínimo local, uma região plana ou outro ponto estacionário.

Como Funciona o Algoritmo de Descida do Gradiente

Cada iteração usa a informação atual da inclinação, atualiza o ponto e verifica se deve continuar.

  1. Comece com uma estimativa inicial x0x_0 ou x0\mathbf{x}_0.
  2. Calcule a derivada ou o gradiente no ponto atual.
  3. Atualize subtraindo η\eta vezes essa derivada ou gradiente.
  4. Pare quando o gradiente for pequeno, as atualizações ficarem muito pequenas ou um limite predefinido de iterações for atingido.

A regra de atualização padrão supõe que a função objetivo seja diferenciável nos pontos em que ela é aplicada. Alguns métodos de otimização usam subgradientes para problemas não suaves, mas isso é uma configuração diferente.

Por Que a Taxa de Aprendizado Importa na Descida do Gradiente

A taxa de aprendizado η\eta é o tamanho do passo.

Se η\eta for muito pequena, a descida do gradiente normalmente anda na direção certa, mas pode ser dolorosamente lenta. Se η\eta for muito grande, as atualizações podem passar do mínimo, oscilar de um lado para o outro ou até divergir.

Você consegue ver essa troca com clareza em uma função quadrática, em que a inclinação fica mais acentuada à medida que você se afasta do mínimo. Um tamanho de passo que parece seguro em um ponto pode ser agressivo demais em outro.

Exemplo Resolvido: Descida do Gradiente em uma Quadrática

Considere

f(x)=(x3)2.f(x) = (x-3)^2.

Essa função tem mínimo em x=3x=3. Sua derivada é

f(x)=2(x3).f'(x) = 2(x-3).

Use descida do gradiente com taxa de aprendizado η=0.1\eta = 0.1 e ponto inicial x0=0x_0 = 0.

Então a regra de atualização é

xk+1=xk0.12(xk3)=xk0.2(xk3).x_{k+1} = x_k - 0.1 \cdot 2(x_k-3) = x_k - 0.2(x_k-3).

Começando de x0=0x_0 = 0:

x1=00.2(03)=0.6.x_1 = 0 - 0.2(0-3) = 0.6.

Depois,

x2=0.60.2(0.63)=1.08.x_2 = 0.6 - 0.2(0.6-3) = 1.08.

e

x3=1.080.2(1.083)=1.464.x_3 = 1.08 - 0.2(1.08-3) = 1.464.

Cada passo se aproxima mais de 33, e o valor da função diminui a cada vez. Esse é o principal padrão a observar: a descida do gradiente não salta direto para a resposta. Ela melhora a estimativa por meio de correções locais repetidas.

Variantes Comuns da Descida do Gradiente

Descida do Gradiente em Batch

A descida do gradiente em batch usa o conjunto de dados completo para calcular cada atualização. Para uma função objetivo fixa, isso produz um passo determinístico, mas pode ser caro quando o conjunto de dados é grande.

Descida do Gradiente Estocástica

A descida do gradiente estocástica atualiza usando uma amostra por vez. Cada passo é mais barato e mais ruidoso. Esse ruído pode ajudar o método a continuar se movendo, mas também torna o caminho menos suave.

Descida do Gradiente Mini-Batch

A descida do gradiente mini-batch usa um pequeno grupo de amostras por passo. Isso costuma ser um compromisso prático, porque reduz o ruído em comparação com atualizações puramente estocásticas, enquanto continua sendo muito mais barato do que atualizações com batch completo.

Essas variantes importam mais em aprendizado de máquina, onde a função objetivo costuma ser uma perda média sobre muitos exemplos de treinamento.

Erros Comuns na Descida do Gradiente

Tratar a Taxa de Aprendizado Como Algo Cosmético

Mudar η\eta muda o comportamento do próprio algoritmo. Um método que converge para uma taxa de aprendizado pode falhar para outra.

Supor Que a Descida do Gradiente Sempre Encontra o Mínimo Global

Essa conclusão exige condições. Por exemplo, a convexidade oferece garantias muito mais fortes do que uma paisagem não convexa geral.

Ignorar a Escala das Variáveis em Problemas Aplicados

Em problemas de otimização com variáveis mal escaladas, uma direção pode mudar muito mais rápido do que outra. Nesse caso, a descida do gradiente pode fazer um caminho em zigue-zague e convergir lentamente, a menos que o problema seja reformulado ou escalado com mais cuidado.

Parar Só Porque o Gradiente Não É Exatamente Zero

Algoritmos numéricos raramente esperam um zero perfeito. Regras práticas de parada normalmente verificam se a norma do gradiente, a mudança nos parâmetros ou a mudança na função objetivo é pequena o suficiente.

Quando a Descida do Gradiente É Usada

A descida do gradiente é usada em otimização numérica, estatística e aprendizado de máquina. Ela é especialmente comum quando uma solução exata em forma fechada não está disponível ou é cara demais para ser calculada diretamente.

Para problemas pequenos com fórmulas simples, o cálculo pode fornecer o mínimo exatamente. A descida do gradiente se torna mais útil quando o espaço de parâmetros é grande, a função objetivo tem muitas variáveis ou a perda vem de grandes conjuntos de dados.

Tente um Problema Parecido

Teste sua própria versão com f(x)=(x5)2f(x) = (x-5)^2 e ponto inicial x0=12x_0 = 12. Faça um caso com η=0.1\eta = 0.1 e outro com η=1.2\eta = 1.2. Ver uma execução estável e outra instável deixa o papel da taxa de aprendizado muito mais claro do que a fórmula sozinha.

Precisa de ajuda com um problema?

Envie sua pergunta e receba uma solução verificada, passo a passo, em segundos.

Abrir GPAI Solver →