Está en la página 1de 4

Nombre: Sophia Aristizábal Flórez Programa académico: Ingeniería de sistemas

Aplicación: Descenso gradiente


1. Utilización y objetivo del descenso gradiente
El descenso gradiente es un algoritmo que se utiliza en los campos de la inteligencia
artificial (IA) y deep learning, especialmente en el ámbito de entrenamiento de redes neuronales.
Es un algoritmo de tipo optimización, significando que este busca (por medio de una
serie de iteraciones de ensayo y error) comparar diferentes soluciones o alternativas, hasta hallar
la más satisfactoria con base a un conjunto de restricciones. En este sentido, el descenso
gradiente, dada su aplicación en redes neuronales, busca cambiar iterativamente los atributos de
dichas redes, tales como las tasas de aprendizaje y pesos. Esto, con el objetivo de reducir las
pérdidas o, en otras palabras, hacer que el modelo neuronal sea mucho más preciso y que tenga
un mayor desempeño en el cumplimiento de su tarea con la menor cantidad de errores posibles
(IBM, 2020).
Por ejemplo, piénsese en una red neuronal que se entrena para identificar qué animal es el
de la foto. Para ello, primero se le da una gran cantidad de muestras (fotos de animales con su
respectiva identificación; i.e., la foto de un perro y la identificación de que es un perro). Con
base a estas muestras, la red neuronal recibirá una foto y tratará de adivinar qué animal es, según
su resultado analizará cuán cerca estuvo de haber acertado o el nivel de error que obtuvo. Si el
error es cero, no cambiará su estructura ya que garantiza que con esta puede adivinar
correctamente cualquier animal en una foto; por otro lado, si no es cero, tendrá que cambiar su
estructura para reducirlo y lo seguirá haciendo hasta que este minimice el error lo más que
pueda. Una forma de reducir este error es por medio del descenso gradiente.
2. Preconceptos de cálculo vectorial
Para entender el funcionamiento del descenso gradiente, es necesario tener en cuenta qué
es el vector gradiente y la noción básica de los mínimos locales.
Vector gradiente: El vector gradiente está denotado por ▽𝑓 y se define: Si 𝑓 es una
∂𝑓 ∂𝑓
función de dos variables, entonces ▽𝑓(𝑥, 𝑦) = 〈𝑓𝑥(𝑥, 𝑦), 𝑓𝑦(𝑥, 𝑦)〉 = ∂𝑥
𝑖+ ∂𝑦
𝑗 . En ese
sentido, si 𝑓 tuviera más variables, ▽𝑓 sería el conjunto (o el vector) de las derivadas parciales
de primer orden de cada una de estas (Phillips, s.f.) .
El gradiente se encarga de señalar la dirección de mayor aumento de una función y
claramente es cero en los máximos y mínimos, ya que por ninguna dirección existe incremento.
Por otro lado, si este denota la dirección de mayor aumento, por tanto − ▽𝑓 (el vector gradiente
negativo) significa la dirección de menor aumento de una función.
Mínimos locales: El descenso gradiente solo se enfoca en la dirección de menor aumento
de una función hasta llegar al mínimo (si no se puede absoluto, por lo menos local) de esta. Para
ello, este no necesita de las segundas derivadas parciales, ni de los criterios basados en el
determinante de la matriz hessiana, sino que se enfoca en hacer cierta cantidad de iteraciones
hasta que − ▽𝑓 sea igual a cero.
Por tanto, solo se establecerá que un mínimo local es uno de los mínimos valores que una
función tiene y que un mínimo absoluto es el menor valor posible que una función puede tener.
Así mismo, un punto de silla es un punto donde el gradiente o pendiente es 0, pero no representa
un máximo ni un mínimo (Phillips, s.f.). En la figura 1 se ilustra cada uno de los tres conceptos.
Fig 1. Función que ilustra el concepto de mínimo absoluto, relativo y punto de silla.
3. Funcionamiento detallado del descenso gradiente
3.1. Función costo: La función costo es un elemento importante en el descenso gradiente ya que
es lo que se busca minimizar al máximo. Para un mejor entendimiento primero véase la figura 2:

Fig 2. Errores de las muestras con referencia a la recta definida por el descenso gradiente.
El descenso gradiente busca esencialmente adecuar una recta por las muestras, al ajustar
los valores o parámetros óptimos, para que el intercepto y la pendiente de esta aseguren obtener
un error mínimo. El ejemplo más básico sería el de regresión lineal de la figura 2.
Teniendo esto en cuenta, la función costo es el promedio de costos o errores (con base a
la curva de ajuste) de todas las muestras que se proporcionaron para el entrenamiento de la red
neuronal. Para comprender el descenso gradiente no es necesario saber cuál es la ecuación de la
función. Solo es importante aclarar que se usa el método de mínimos cuadrados para calcular el
error de cada muestra, ya que es el más fácil de diferenciar (factor importante a tener en mente
para aplicar el gradiente) (Josh Starmer [StatQuest with Josh Starmer], 2019).
3.2. Ecuación del algoritmo: El descenso gradiente se basa en la siguiente ecuación (Gordon &
(𝑘+1) (𝑘) (𝑘)
Tibshirani, 2012) para su ejecución: 𝑥 =𝑥 − 𝑡𝑘 · ▽𝑓(𝑥 ).
Esta se basa en iteraciones hasta hallar la recta que mejor se adecúe a los datos. Esto es
(𝑘) (𝑘+1)
porque 𝑥 es la curva de ajuste anterior que se está evaluando y 𝑥 será la nueva curva de
(𝑘+1) (𝑘) (𝑘)
ajuste; la ecuación seguirá iterando hasta que 𝑥 =𝑥 (significando que − 𝑡𝑘 · ▽𝑓(𝑥 )
=0); es decir, hasta que converjan. Así mismo, también es importante entender qué es lo que
(𝑘)
sucede con − 𝑡𝑘 · ▽𝑓(𝑥 ), para ello es importante definir que:
1. 𝑡𝑘 es la tasa de aprendizaje, la cual es una constante definida por el usuario;
(𝑘) (𝑘)
2. 𝑓(𝑥 ) es la función costo de 𝑥 ;
(𝑘)
3. Y ▽𝑓(𝑥 ) es el gradiente de la función costo.
(𝑘) (𝑘)
Cuando se busca que − 𝑡𝑘 · ▽𝑓(𝑥 )= 0 es porque ▽𝑓(𝑥 ) = 0 , lo que asegura que
(𝑘+1)
se llegó al error mínimo posible y que 𝑥 es la curva que mejor se adecúa. O, en otras
palabras, se encontraron los valores de los parámetros de una función que permite minimizar
tanto como sea posible el valor de la función costo.
(𝑘)
3.3. Procedimiento de uso: Para entender el por qué de − 𝑡𝑘 · ▽𝑓(𝑥 ), se explicará el
procedimiento del uso de la ecuación del descenso gradiente.
1) Se escoge un punto en dónde empezar con el proceso de iteración. Por lo general se escoge
uno donde se cree que desde ese se puede llegar al mínimo absoluto de la función costo.
Normalmente se actúa a ciegas ya que no se sabe si los primeros valores que se provean se
situarán en un punto cerca de un mínimo absoluto, uno relativo o un punto de silla. En la figura 3
se ilustra la situación.

Fig 3. Explicación de importancia del punto de inicio


(𝑘)
2) Se utilizan los parámetros iniciales de ese punto en la ecuación del algoritmo en 𝑥 . Si
(𝑘) (𝑘)
▽𝑓(𝑥 ) = 0, ya se llegó al mínimo error de la función. De lo contrario, se debe cambiar 𝑥 a
(𝑘+1)
una curva de ajuste nueva 𝑥 .
(𝑘) (𝑘+1) (𝑘)
3) El cambio de 𝑥 a 𝑥 se hace con base a − 𝑡𝑘 · ▽𝑓(𝑥 ). Para que el cambio no sea tan
grande, se usa un valor pequeño para 𝑡𝑘, así acercándose poco a poco al mínimo. Si 𝑡𝑘 no se
utilizara o fuera muy grande, el cambio sería muy evidente y se oscilaría mucho hasta llegar al
mínimo (Josh Starmer [StatQuest with Josh Starmer], 2019), tal y como se ilustra el la figura 4:

Fig 4. Ilustración del uso de la tasa de aprendizaje.


(𝑘)
Así mismo, − 𝑡𝑘 · ▽𝑓(𝑥 ) es negativo con el objetivo de acercarse al mínimo (Josh
(𝑘)
Starmer [StatQuest with Josh Starmer], 2019). Si ▽𝑓(𝑥 ) > 0, significa que se encuentra en
un gradiente creciente, así que debería ir en el sentido contrario para acercarse al mínimo del
(𝑘) (𝑘)
crecimiento, lo que se asegura con − 𝑡𝑘 · ▽𝑓(𝑥 ). También, si ▽𝑓(𝑥 )⪪0, significa que se
encuentra en un gradiente decreciente y también buscar irse en sentido contrario. En la figura 5
se ilustra el razonamiento:

Fig 5. Movimiento hacia el mínimo.


(𝑘)
3) El proceso de iteración continúa hasta que ▽𝑓(𝑥 ) = 0. Sin embargo, algunas veces el
proceso no termina convergiendo, por lo que se tiende a poner un número máximo de iteraciones
y se concluye que no se pudo llegar al mínimo de error o fue lo mínimo a lo que se pudo llegar.
4. Condiciones:
1) La función costo debe ser diferenciable: Lo que significa que existe una derivada para cada
punto de su dominio. Para ello, la función debe ser continua en todo su dominio y no presenta
picos o puntos angulosos (Phillips, s.f.).
2) La función debe ser convexa: Esta es una característica clave, ya que, como el propósito del
descenso gradiente busca encontrar el punto mínimo (por lo menos relativo) de la función costo,
la función que tenga un mínimo significa que es convexa en esa región. En términos de cálculo
vectorial, para saber si la función es convexa es porque la segunda derivada de la variable x es
2
∂𝑓
mayor a cero: 2 > 0 (Phillips, s.f.).
∂𝑥
5. Referencias
Phillips, J. M. (s. f.). An Introduction to Data Analysis through a Geometric Lens. En 6 Gradient
Descent. Recuperado 30 de septiembre de:
https://www.cs.utah.edu/~jeffp/IDABook/T6-GD.pdf
Josh Starmer [StatQuest with Josh Starmer]. (2019, 5 febrero). Gradient Descent, Step-by-Step
[Vídeo]. YouTube. Recuperado 30 de septiembre de 2022, de
https://www.youtube.com/watch?v=sDv4f4s2SB8
IBM. (2020). Gradient Descent. Recuperado 30 de septiembre de 2022, de
https://www.ibm.com/cloud/learn/gradient-descent
Gordon, G. & Tibshirani, R. (2012). Lecture 5: Gradient Desent Revisite. En Carneige Mellon
University. https://www.cs.cmu.edu/~ggordon/10725-F12/scribes/10725_Lecture5.pdf

También podría gustarte