Dentro de la optimización en el manejo de las redes de neuronas profundas, podrás contar con el método de Stochastic Gradient Descent en Deep Learning. En efecto, este proceso te ayudará en la facilitación de los cálculos y el ahorro del tiempo respecto a lo que tardarías en comprobar una red de neuronas profundas.
Por este motivo, en el desarrollo de este post te expondremos qué es Stochastic Gradient Descent en Deep Learning para que reconozcas sus ventajas y desventajas en el procesamiento de los macrodatos.
¿Qué es Stochastic Gradient Descent en Deep Learning?
El Stochastic Gradient Descent en Deep Learning forma parte de la teoría de optimización, puesto que es uno de los métodos para facilitar el procesamiento del Big Data. Precisamente, este permite que se reduzca el tiempo para ver el comportamiento de una red neuronal profunda.
Para comprender en profundidad cómo funciona Stochastic Gradient Descent en Deep Learning, a continuación te compartimos ejemplos que lo clarifican.
Por ejemplo
ImageNet, por ejemplo, consta de 1.2 millones de imágenes, lo que nos costaría 2h por época o, lo que es lo mismo, 8.3 días; es decir, más de una semana para ver el comportamiento de una red. ¿Se te ocurre alguna forma de disminuir este tiempo?
La respuesta es el método de Stochastic Gradient Descent en Deep Learning, es decir, la forma de reducir drásticamente el tiempo. Para ello, lo necesario sería utilizar una sola muestra escogida de manera aleatoria cada vez que quisiéramos actualizar los pesos. De esta forma, para actualizar los pesos simplemente tendríamos que calcular las predicciones, errores y backpropagation de una muestra. Esto reduciría nuestro tiempo total a:
Tiempo total de entrenamiento =(2ms+1ms+3ms)·1 muestra ·100 épocas =600ms= 0,6s
Sin embargo, este método posee una gran desventaja, que te compartimos a continuación.
Gradient Descent y Stochastic Gradient Descent
Para ejemplificar cómo se comporta la desventaja de Stochastic Gradient Descent en Deep Learning, ¿cuál crees que es el camino seguido por el Gradient Descent y cuál el seguido por el Stochastic Gradient Descent?
El camino rojo es el que sigue el gradient descent, que al calcular el gradiente usando todas las muestras del dataset consigue unas actualizaciones coherentes siempre en la dirección que permite minimizar el error.
Por otro lado, el camino magenta es el seguido por el SGD.
¿Qué es lo que está pasando? Cada actualización de los pesos se hace para minimizar el error teniendo en cuenta solo una muestra, así que lo que minimizamos es el error para esa muestra en particular. Por eso, tiene un comportamiento más caótico y le cuesta más converger, aunque, a cambio, se ejecuta mucho más rápido, por lo que en el tiempo que el GD necesita para ejecutar una época, el SGD puede ejecutar miles.
En definitiva, Stochastic Gradient Descent en Deep Learning es un método que calcula las predicciones y errores de 1 elemento escogido aleatoriamente de nuestro training set.
Conoce mucho más sobre el Big Data
En este post, te hemos expuesto qué es el método de Stochastic Gradient Descent en Deep Learning, de manera que ahora puedas considerarlo como uno de los facilitadores para el manejo de redes profundas en el procesamiento de los macrodatos.
Si no sabes cómo seguir aprendiendo, en KeepCoding te ofrecemos el Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning, con el que aprenderás todo lo relacionado con el mundo Big Data y podrás convertirte en un experto gracias a los 11 módulos que te instruyen en las herramientas, sistemas y lenguajes más importantes dentro del manejo de los macrodatos. Todo ello de la mano de profesores expertos en la materia que estarán a tu disposición para cualquier inquietud o asesoría. ¡Inscríbete y empieza ahora!