Idealmente, debe actualizar los pesos revisando todas las muestras en el conjunto de datos. Esto se llama Descenso de gradiente de lote . Pero, como el no. de ejemplos de entrenamiento aumenta, el cómputo se vuelve enorme y el entrenamiento será muy lento. Con el advenimiento del aprendizaje profundo, el tamaño del entrenamiento es de millones y la computación con todos los ejemplos de entrenamiento es muy poco práctica y muy lenta.
Aquí es donde, dos técnicas de optimización se hicieron prominentes.
- Descenso de gradiente de mini lote
- Descenso de gradiente estocástico (SGD)
En el descenso de gradiente de mini lotes, utiliza un tamaño de lote que es considerablemente menor que el no total. de ejemplos de entrenamiento y actualice sus pesos después de pasar por estos ejemplos.
En el descenso de gradiente estocástico, actualiza los pesos después de pasar por cada ejemplo de entrenamiento.
Llegando a las ventajas y desventajas de los tres métodos que discutimos.
El descenso de gradiente por lotes converge gradualmente al mínimo global, pero es lento y requiere una gran potencia informática.
El descenso de gradiente estocástico converge rápidamente pero no al mínimo global, converge en algún lugar cercano al mínimo global y se desplaza alrededor de ese punto, pero nunca converge al mínimo global. Pero, el punto convergente en el descenso de gradiente estocástico es lo suficientemente bueno para todos los fines prácticos.
El gradiente Mini-Batch es una compensación entre los dos métodos anteriores. Pero, si tiene una implementación vectorizada de la actualización de pesos y
está entrenando con una configuración de múltiples núcleos o enviando la capacitación a
varias máquinas, este es el mejor método tanto en términos de tiempo para la capacitación como de convergencia al mínimo global.
Puede trazar la función de costo, wrt el no. de iteraciones para comprender la diferencia entre la convergencia en los 3 tipos de descenso de gradiente.
El diagrama de descenso de gradiente por lotes cae suave y lentamente y se estabiliza y llega al mínimo global.
La trama de descenso de gradiente estocástico tendrá oscilaciones, caerá rápidamente pero se desplazará alrededor del mínimo global.
Estos son algunos blogs donde hay una explicación detallada de las ventajas, desventajas de cada método y también gráficos de cómo cambia la función de costo para los tres métodos con iteraciones.
https://adventuresinmachinelearning.com/stochastic-gradient-descent/
https://machinelearningmastery.com/gentle-introduction-mini-batch-gradient-descent-configure-batch-size/