Idealmente, você precisa atualizar os pesos examinando todas as amostras no conjunto de dados. Isso é chamado de descida de gradiente em lote . Mas, como o não. de exemplos de treinamento aumenta, o cálculo se torna enorme e o treinamento será muito lento. Com o advento da aprendizagem profunda, o tamanho do treinamento está em milhões e a computação usando todos os exemplos de treinamento é muito impraticável e muito lenta.
É aqui que duas técnicas de otimização se destacam.
- Descida de gradiente de mini-lote
- Descida Estocástica de Gradiente (SGD)
Na descida do gradiente de mini-lote, você usa um tamanho de lote consideravelmente menor que o total não. de exemplos de treinamento e atualize seus pesos após passar por esses exemplos.
Na descida do gradiente estocástico, você atualiza os pesos após passar por cada exemplo de treinamento.
Chegando às vantagens e desvantagens dos três métodos que discutimos.
A descida do gradiente de lote converge gradualmente para o mínimo global, mas é lenta e requer enorme poder de computação.
A descida do gradiente estocástico converge rapidamente, mas não para o mínimo global, converge em algum lugar próximo ao mínimo global e fica em torno desse ponto, mas nunca converge para o mínimo global. Mas, o ponto convergente na descida do gradiente estocástico é bom o suficiente para todos os propósitos práticos.
O gradiente de mini-lote é um trade-off dos dois métodos acima. Porém, se você possui uma implementação vetorizada da atualização de pesos e
está treinando com uma configuração de vários núcleos ou enviando o treinamento para
várias máquinas, esse é o melhor método, tanto em termos de tempo de treinamento quanto de convergência para o mínimo global.
Você pode plotar a função de custo, escrever o não. de iterações para entender a diferença entre convergência em todos os três tipos de descida de gradiente.
A plotagem de descida do gradiente de lote cai suavemente e lentamente, estabiliza-se e atinge o mínimo global.
O gráfico de descida do gradiente estocástico terá oscilações, cairá rapidamente, mas pairará em torno do mínimo global.
Estes são alguns blogs nos quais há uma explicação detalhada das vantagens, desvantagens de cada método e também gráficos de como a função de custo é alterada para todos os três métodos com iterações.
https://adventuresinmachinelearning.com/stochastic-gradient-descent/
https://machinelearningmastery.com/gentle-introduction-mini-batch-gradient-descent-configure-batch-size/