O gradiente descendente é um algoritmo de otimização comumente usado para treinar modelos de aprendizado de máquina e redes neurais. Ele treina modelos de aprendizado de máquina ao minimizar os erros entre os resultados previstos e os reais.
Os dados de treinamento ajudam esses modelos a aprender ao longo do tempo, e a função de custo dentro da descida do gradiente atua especificamente como um barômetro, avaliando sua precisão a cada iteração de atualização de parâmetros. Até que a função esteja próxima ou igual a zero, o modelo continuará ajustando seus parâmetros para obter o menor erro possível. Uma vez que os modelos de aprendizado de máquina são otimizados para precisão, eles podem se tornar ferramentas poderosas para aplicações de inteligência artificial (IA) e ciência da computação.
Antes de nos aprofundarmos no gradiente descendente, pode ser útil revisar alguns conceitos de regressão linear. Você deve se lembrar da seguinte fórmula para a inclinação de uma linha, que é y = mx + b, em que m representa a inclinação e b é a interceptação no eixo y.
Você também deve se lembrar de ter traçado um gráfico de dispersão em estatística e encontrado a linha de melhor ajuste, o que exigiu o cálculo do erro entre a saída real e a saída prevista (y-hat) usando a fórmula de erro quadrático médio. O algoritmo do gradiente descendente se comporta de maneira semelhante, mas é baseado em uma função convexa.
O ponto de partida é apenas um ponto arbitrário usado para avaliar o desempenho. A partir desse ponto inicial, encontramos a derivada (ou inclinação) e, a partir dela, podemos usar uma linha tangente para observar a inclinação da curva. A inclinação informará as atualizações nos parâmetros, ou seja, os pesos e o viés. A inclinação no ponto de partida será mais acentuada, mas à medida que novos parâmetros são gerados, a inclinação deve gradualmente diminuir até atingir o ponto mais baixo da curva, conhecido como ponto de convergência.
Similar ao processo de encontrar a linha de melhor ajuste na regressão linear, o objetivo do gradiente descendente é minimizar a função de custo ou o erro entre o y previsto e o y real. Para fazer isso, são necessários dois pontos de dados: uma direção e uma taxa de aprendizado. Esses fatores determinam os cálculos das derivadas parciais das iterações futuras, o que permite alcançar gradualmente o mínimo local ou global (ou seja, o ponto de convergência).
Existem três tipos de algoritmos de aprendizagem de gradiente descendente: gradiente descendente em lote, gradiente descendente estocástico e gradiente descendente em minilote.
O gradiente descendente em lote soma o erro de cada ponto em um conjunto de treinamento, atualizando o modelo somente depois que todos os exemplos de treinamento tiverem sido avaliados. Esse processo é conhecido como época de treinamento.
Embora esse agrupamento em lote proporcione eficiência computacional, ele ainda pode ter um longo tempo de processamento para grandes conjuntos de dados de treinamento, pois ainda precisa armazenar todos os dados na memória. O gradiente descendente em lote também costuma produzir um gradiente de erro estável e uma convergência, mas às vezes esse ponto de convergência não é o mais ideal, encontrando o mínimo local em vez do global.
O gradiente descendente estocástico (SGD) executa uma época de treinamento para cada exemplo dentro do conjunto de dados e atualiza os parâmetros de cada exemplo de treinamento, um de cada vez. Como você só precisa manter um exemplo de treinamento, eles são mais fáceis de armazenar na memória. Embora essas atualizações frequentes possam oferecer mais detalhes e velocidade, elas podem resultar em perdas na eficiência computacional quando comparadas ao gradiente descendente em lote. Suas atualizações frequentes podem resultar em gradientes ruidosos, mas isso também pode ser útil para escapar do mínimo local e encontrar o global.
O gradiente descendente em minilote combina conceitos do gradiente descendente em lote e do gradiente descendente estocástico. Ele divide o conjunto de dados de treinamento em lotes pequenos e executa atualizações em cada um desses lotes. Esta abordagem busca um equilíbrio entre a eficiência computacional do gradiente descendente em lote e a velocidade do gradiente descendente estocástico.
Embora o gradiente descendente seja a abordagem mais comum para os problemas de otimização, ela tem seus próprios desafios. Alguns deles incluem:
Para problemas convexos, o gradiente descendente pode encontrar o mínimo global com facilidade, mas à medida que surgem problemas não convexos, o gradiente descendente pode ter dificuldade para encontrar o mínimo global, onde o modelo obtém os melhores resultados.
Lembre-se de que quando a inclinação da função de custo é igual ou próxima de zero, o modelo para de aprender. Alguns cenários além do mínimo global também podem produzir esta inclinação, que são os mínimos locais e os pontos de sela. Os mínimos locais imitam a forma de um mínimo global, onde a inclinação da função de custo aumenta em ambos os lados do ponto atual. Porém, com pontos de sela, o gradiente negativo existe apenas em um lado do ponto, atingindo um máximo local de um lado e um mínimo local do outro. Seu nome é inspirado na sela de um cavalo.
Os gradientes ruidosos podem ajudar o gradiente a escapar dos mínimos locais e dos pontos de sela.
Em redes neurais mais profundas, particularmente redes neurais recorrentes, podemos também encontrar dois outros problemas ao treinar o modelo com descida do gradiente e retropropagação.
O IBM® Granite é nossa família de modelos de IA abertos, de alto desempenho e confiáveis, personalizados para a empresa e otimizados para escalar suas aplicações de IA. Explore as opções de linguagem, código, séries temporais e proteções.
Entrevistamos duas mil organizações a respeito de suas iniciativas de IA para descobrir o que está funcionando, o que não está e como se preparar.
Explore abordagens de aprendizado supervisionado, como máquinas de vetores de suporte e classificadores probabilísticos.
Aprenda conceitos fundamentais e desenvolva suas habilidades com laboratórios práticos, cursos, projetos guiados, avaliações e muito mais.
Saiba como selecionar o modelo de base de IA mais adequado para seu caso de uso.
Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.
Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.