El algoritmo descrito es el que hemos denominado Gradient Descent o Batch Gradient Descent, algoritmo en el que todos los datos de nuestro dataset de entrenamiento deberán pasar por la red antes de que se modifiquen los parámetros en función del gradiente de la función de error obtenido.
Con este enfoque, el gradiente calculado es el que mejor refleja las modificaciones a aplicar a los parámetros para mejorar el error global (para "descender" por la superficie de la función de error por el mejor camino posible). Pero tiene la desventaja de que el número de epochs necesarios es elevado y el tiempo necesario para completar cada uno de ellos también lo es, pues requiere considerar todas las muestras de nuestro dataset. Esto, en general, supone altos tiempos de entrenamiento, por lo que se han desarrollado otros optimizadores, algunos también basados en Gradient Descent.