


Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
sdvdvsdvvsdvsdvsdvsosudhisdfhudfduhfushdfu cisdf sdiysidhf hicsuhdfisu sidhfsuihdfni
Tipo: Apuntes
1 / 4
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



Ingeniería Industrial
Manuela Martínez Quiroga
Algoritmo de Gradiente Descendiente
Descripción del algoritmo
El gradiente descendente es un algoritmo frecuente de optimización de primer orden que se emplea con el
fin de hallar los mínimos locales de una función dada y se hace uso de el gradiente o la derivada de dicha
función. A diferencia de otros gradientes, este en lugar de encontrar mínimos mediante la manipulación
de símbolos, el gradiente descendente aproxima la solución con números.
En otras palabras y para que sea un poco más comprensible, es un algoritmo de optimización que permite
encontrar automáticamente el mínimo de una función, este método se basa en el uso de un gradiente
negativo debido a que es en la dirección donde es posible encontrar la máxima disminución de los valores
de la función cierta función.
Requisitos:
El gradiente descendente no funciona con todas las funciones, puesto que tiene dos requisitos específicos,
y estos son que debe ser una función diferenciable o una función convexa.
Una función diferenciable tiene una derivada para cada punto de su dominio.
Y una función convexa es en la cual el segmento de línea que conecta los puntos de dos funciones se
encuentra sobre su curva, lo cual significa que no la cruza. Si la tiene, representa que tiene un mínimo
local que no es global.
Tipos de gradientes descendentes
en el conjunto de entrenamiento y actualiza el modelo solo después de que se hayan evaluado
todos los ejemplos de entrenamiento. Este proceso se llama período de entrenamiento.
de entrenamiento para cada ejemplo en el conjunto de datos y actualiza los parámetros de cada
ejemplo de entrenamiento uno por uno. Como solo necesitas un ejemplo práctico, son más fáciles
de recordar. Si bien estas actualizaciones frecuentes pueden proporcionar más detalles y
velocidad, pueden generar eficiencia computacional en comparación con la computación de
gradiente por lotes. Sus actualizaciones frecuentes pueden generar gradientes ruidosos, pero
también pueden ser útiles para evitar mínimos locales y encontrar mínimos globales.
de gradiente por lotes y el descenso de gradiente estocástico. Este además divide el conjunto de
datos de entrenamiento en conjuntos pequeños y actualiza cada conjunto. Este enfoque logra un
equilibrio entre la eficiencia computacional del cálculo del gradiente por lotes y la velocidad del
descenso del gradiente estocástico.
Procedimiento del algoritmo
El gradiente posee dos propiedades esenciales, en primer lugar, el gradiente es perpendicular a las
curvas de nivel de la función en cuestión, de manera que para cualquier dirección que sea ortogonal al
gradiente, esta, será una dirección de cambio nulo. A continuación, la gráfica que lo demuestra:
Como otra propiedad, encontramos que el gradiente muestra la dirección de crecimiento de la máxima
tasa de cambio de la función en el punto p. La tasa máxima se calcula como la norma del gradiente, la
tasa mínima se encuentra simplemente encontrando el gradiente negativo, porque la función aumenta
más rápido en la dirección del vector gradiente positivo y disminuye más rápido en la dirección de la
pendiente negativa.
Según esto mencionado previamente es posible cambiar el valor de una función cambiando x por un valor
en la ecuación siguiente:
Aplicaciones del gradiente descendente en la inteligencia artificial-ciencia de datos
El algoritmo de gradiente descendente es uno de los métodos más usados en el proceso de entrenamiento
de un Modelo de Machine Learning y se usa básicamente para implementar cualquier arquitectura, desde
las redes neuronales, incluyendo las Convolucionales, Recurrentes, LSTM. Una de sus aplicaciones
importantes puede ser en las redes neuronales.
Las redes neuronales son un método de inteligencia artificial que enseña a las computadoras a procesar
datos de una manera similar al cerebro humano. Es un tipo de aprendizaje automático, llamado
aprendizaje profundo, que utiliza nodos, o neuronas, unidos en una estructura en capas que se asemeja al
cerebro humano. Crea un sistema adaptativo que las computadoras usan para aprender de sus errores y
mejorar continuamente. De esta forma, las redes neuronales artificiales intentan resolver problemas
complejos, como el resumen de documentos o el reconocimiento facial, con mayor precisión. El
algoritmo más utilizado para entrenar redes neuronales es el descenso del gradiente y lo hace calculando
como ajustar los parámetros de las redes de tal forma que se minimice su desviación a la salida.
El algoritmo tiene varias versiones, dependiendo del número de muestras que enviemos a la red en cada
iteración:
estancamiento porque el gradiente siempre se calcula a partir de todas las muestras y llega un
momento en que las fluctuaciones son mínimas. Una regla general es que siempre queremos que
la entrada a una red neuronal tenga algún tipo de aleatoriedad.
para esta muestra en particular, lo que significa introducir la aleatoriedad deseada, lo que hace
que sea más difícil detenerla. El problema de esta versión es su lentitud porque requiere muchas
más iteraciones y además no utiliza los recursos disponibles.
cada iteración; mantiene las ventajas de la segunda versión y además agiliza el entrenamiento por
la paralelización de funciones. Por tanto, tenemos que dejar una modificación de este algoritmo,
eligiendo un valor de N que nos dé un buen equilibrio entre aleatoriedad y tiempo de
entrenamiento (que tampoco sea demasiado grande para la memoria GPU disponible).
Referencias bibliográficas: