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 é
e em várias variáveis ela se torna
onde é 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.
- Comece com uma estimativa inicial ou .
- Calcule a derivada ou o gradiente no ponto atual.
- Atualize subtraindo vezes essa derivada ou gradiente.
- 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 é o tamanho do passo.
Se for muito pequena, a descida do gradiente normalmente anda na direção certa, mas pode ser dolorosamente lenta. Se 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
Essa função tem mínimo em . Sua derivada é
Use descida do gradiente com taxa de aprendizado e ponto inicial .
Então a regra de atualização é
Começando de :
Depois,
e
Cada passo se aproxima mais de , 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 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 e ponto inicial . Faça um caso com e outro com . 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 →