¿Qué es el descenso de gradiente en el aprendizaje profundo?

Una parte crucial del aprendizaje automático es refinar y mejorar el algoritmo de optimización en su núcleo. Uno de los algoritmos de optimización más fáciles de entender e implementar es el algoritmo de descenso de gradiente.

El algoritmo de descenso de gradiente es un algoritmo de optimización iterativa de primer orden que encuentra el mínimo local de una función. En otras palabras, ayuda a encontrar el punto más bajo cuando el conjunto de datos no se puede calcular analíticamente, como con el álgebra lineal.

ESCUELAS PATROCINADAS

Universidad de Rutgers

Rutgers Data Science Bootcamp

Adquiera las habilidades necesarias para analizar datos y ofrecer valor a las organizaciones. Complete proyectos utilizando conjuntos de datos reales del mundo de las finanzas, la salud, el gobierno, el bienestar social y más.



Universidad Metodista del Sur

Campamento de entrenamiento de ciencia de datos de SMU

Desarrolle habilidades de datos concretas y en demanda y aprenda cómo ayudar a impulsar las decisiones comerciales y resolver los desafíos que enfrentan las empresas. No se requiere experiencia en programación.



Universidad Northwestern

Campamento de entrenamiento de visualización y ciencia de datos de Northwestern

Northwestern Data Science and Visualization Bootcamp enseña habilidades prácticas y técnicas en 24 semanas intensivas. Los estudiantes aplican sus conocimientos a proyectos prácticos que se traducen directamente en trabajo en el campo.



Universidad del Sur de California

USC Viterbi Data Analytics Boot Camp

Amplíe su conjunto de habilidades y crezca como analista de datos. Este programa cubre las habilidades especializadas para tener éxito en el campo de los datos en 24 semanas.



Para obtener más información sobre cómo se usa el descenso de gradiente en el aprendizaje profundo, continúe leyendo.

Descenso de degradado para el aprendizaje automático

Científicos de datos Implemente un algoritmo de descenso de gradiente en el aprendizaje automático para minimizar una función de costo. El algoritmo normalmente se ejecuta primero con datos de entrenamiento, y los errores en las predicciones se utilizan para actualizar los parámetros de un modelo. Esto ayuda a reducir los errores en futuras pruebas o cuando está en vivo.

Para la regresión lineal, el parámetro es el coeficiente, mientras que en una red neuronal, el parámetro es el peso. El objetivo es encontrar los parámetros del modelo que minimicen la pérdida de datos y garanticen su precisión.

El término descenso de gradiente se refiere a los cambios en el modelo que lo mueven a lo largo de una pendiente o gradiente en un gráfico hacia el valor de error más bajo posible. Cada vez que se ejecuta el algoritmo, se mueve paso a paso en la dirección del descenso más pronunciado, definido por el negativo del gradiente.

El tamaño de los pasos se conoce como la tasa de aprendizaje. Los pasos más grandes permiten una mayor tasa de aprendizaje, pero pueden ser menos precisos. Una tasa de aprendizaje baja será más precisa pero requerirá mucho tiempo para ejecutarse en grandes conjuntos de datos.

El descenso de gradiente se usa más apropiadamente cuando los parámetros no pueden llegar a una conclusión precisa a través del cálculo lineal y el objetivo debe ser buscado por un algoritmo de optimización. El descenso de gradiente también puede ser mucho más barato y rápido para encontrar una solución.

Descenso de gradiente Intuición

La intuición es esencial durante el descenso de gradiente. Para comenzar el proceso, la máquina debe Estimar o intuir un punto de partida en el degradado. Se seleccionan diferentes valores de coeficientes para iniciar la prueba. Luego se evalúa el costo de los coeficientes, y se seleccionan otros nuevos con menores costos para comenzar nuevamente el proceso.

La máquina aprende comenzando en el punto de partida y dando pasos hacia el punto más bajo. La máquina debe usar la intuición para encontrar los mejores parámetros para los datos para minimizar la pérdida y maximizar la precisión.

Procedimiento de descenso de gradiente

El procedimiento de descenso comienza con los valores iniciales para el coeficiente o coeficientes de la función. El científico de datos evalúa el costo del coeficiente utilizando la función de gradiente de descenso.

El proceso comienza eligiendo una derivada o pendiente de la función en un punto dado. La pendiente indica la dirección para mover los valores del coeficiente para revelar un costo menor en la siguiente iteración. Un parámetro de tasa de aprendizaje especificado (alfa) controla cuánto pueden cambiar los coeficientes en cada actualización, también conocido como paso o tasa de aprendizaje. El procedimiento se repite hasta que el costo de los coeficientes es lo más cercano posible a 0.0.

El descenso del gradiente varía en términos del número de patrones de entrenamiento utilizados para calcular los errores. Al calcular el descenso de gradiente, los científicos de datos eligen entre diferentes configuraciones de descenso para actualizar su modelo, pero cada una tiene sus compensaciones en precisión y eficiencia.

Hay dos tipos principales de configuraciones de descenso de gradiente: por lotes y estocásticas. Cada tipo tiene sus pros y sus contras, y el científico de datos debe comprender las diferencias para poder seleccionar el mejor enfoque para el problema en cuestión.

Descenso de gradiente por lotes para aprendizaje automático

En un descenso de gradiente por lotes, el algoritmo calcula el error para cada ejemplo del conjunto de datos de entrenamiento, pero el modelo solo se actualiza después de que todas las muestras de entrenamiento se hayan ejecutado a través del algoritmo. El modelo se actualiza en un grupo o lote.

Cada ciclo a través del conjunto de datos de entrenamiento completo se denomina época de entrenamiento. En el descenso de gradiente por lotes, el modelo se actualiza al final de cada época de entrenamiento.

Cada lote se usa para evaluar qué tan cerca se ajusta el modelo de aprendizaje automático a las estimaciones que la función de destino en comparación con el conjunto de datos de entrenamiento. El enfoque por lotes es computacionalmente más eficiente que el método estocástico.

La frecuencia de actualización más baja significa que el gradiente de error es más estable y puede ofrecer una convergencia más estable en algunos problemas. Es útil en la implementación de procesamiento paralelo porque el cálculo de errores de predicción y las actualizaciones del modelo se producen por separado. Sin embargo, con grandes conjuntos de datos que se ejecutan, todo el lote puede ser lento. Además, el gradiente de error estable puede conducir a una convergencia prematura en un conjunto de parámetros menos que óptimo.

Existe una variación llamada descenso de gradiente de minilotes que divide el conjunto de datos de entrenamiento en lotes más pequeños, a menudo entre 10 y 1.000 ejemplos seleccionados al azar. Es un compromiso entre la eficiencia de la versión por lotes completa y la robustez del enfoque estocástico. Es más rápido porque se ejecutan lotes más pequeños y no todos los datos de entrenamiento tienen que cargarse en la memoria para ejecutarse. Sin embargo, los resultados de error deben acumularse en todos los ejemplos de entrenamiento.

El descenso de gradiente de minilotes es la forma más común utilizada para el aprendizaje automático.

Descenso de gradiente estocástico para aprendizaje automático

En comparación con el enfoque por lotes, la versión estocástica calcula el error y actualiza el modelo para un Ejemplo aleatorio único en el conjunto de datos de entrenamiento. El descenso de gradiente estocástico también se denomina algoritmo de aprendizaje automático en línea. Cada iteración del descenso de gradiente utiliza una sola muestra y requiere una predicción para cada iteración. El descenso de gradiente estocástico se usa a menudo cuando hay muchos datos.

El descenso de gradiente estocástico es más intensivo computacionalmente porque el error se calcula y el modelo se actualiza después de cada instancia. El descenso de gradiente estocástico puede conducir a un aprendizaje más rápido para algunos problemas debido al aumento en la frecuencia de actualización. Las actualizaciones frecuentes también brindan información más rápida sobre el rendimiento y la tasa de mejora del modelo.

Debido a la granularidad de actualizar el modelo en cada paso, el modelo puede ofrecer un resultado más preciso antes de alcanzar la convergencia. Sin embargo, a pesar de todos los beneficios, el proceso puede verse afectado por un procedimiento de actualización ruidoso que dificulta que el algoritmo llegue a un error mínimo para el modelo.

Consejos y trucos para el descenso de gradiente

ESCUELA PATROCINADA

Universidad de Londres

BSc en línea Ciencia de datos y análisis de negocios

El BSc Data Science and Business Analytics en línea de la Universidad de Londres, con dirección académica de LSE, permite a los estudiantes desarrollar habilidades esenciales de pensamiento técnico y crítico y prepararse para carreras en ciencia de datos, análisis y otros campos en crecimiento, mientras trabajan, sin reubicarse.



Para usar el algoritmo de descenso de gradiente para el aprendizaje automático, aproveche algunos consejos y trucos:

  • Costo de la trama vs tiempo: Recopile y trace los valores de costo calculados por el algoritmo para cada iteración. Si el descenso de gradiente se está ejecutando bien, verá una disminución en el costo en cada iteración. Si no disminuye, experimente con una tasa de aprendizaje reducida.
  • Tasa de aprendizaje: Utilice un valor real pequeño como 0,1, 0,001 o 0,0001. Pruebe diferentes valores para el problema y vea cuál funciona mejor.
  • Costo medio de la parcela: En el enfoque estocástico, las actualizaciones para cada instancia del conjunto de datos de entrenamiento pueden dar como resultado un gráfico ruidoso de costos a lo largo del tiempo. Utilice un promedio de 10, 100 o 1.000 actualizaciones para una mejor visión de la tendencia de aprendizaje.

Aprende más

Un Máster Universitario en Ciencia de Datos puede desarrollar sus habilidades para ayudarlo a tener éxito en el lugar de trabajo y alcanzar sus objetivos profesionales. Más información sobre Programas de ciencia de datos y títulos relacionados.