Discusión sobre el artículo "Red neuronal en la práctica: Gradiente"

 

Artículo publicado Red neuronal en la práctica: Gradiente:

El artículo explica por qué y cómo se utiliza el gradiente durante el entrenamiento de un perceptrón, partiendo del error cuadrático mínimo y de la regla de la cadena para obtener las derivadas parciales. Mostramos la implementación del cálculo del gradiente en la clase C_Neuron en MQL5 y lo validamos con ejemplos de 1 y 2 entradas. Aprenderás a ajustar los pesos y el sesgo mediante descenso de gradiente y a prepararte para la propagación hacia adelante y la retropropagación.

En otro artículo abordé el tema del gradiente. Sin embargo, considero que allí quedó muy mal explicado en varios aspectos. Tal vez esa sea la razón por la que tanta gente se confunde con este tema. Aquí voy a explicarlo de una forma mucho más sencilla, porque pronto entraremos en un asunto bastante más complejo. Por ahora, no incorporaremos las funciones de activación a la clase C_Neuron. Esto se debe a que no quiero complicar las cosas innecesariamente antes de tiempo.

Bien, el gradiente es una forma mucho más sencilla y cómoda de representar una derivada. O, mejor dicho, de utilizar realmente la recta tangente cuando trabajamos con varias variables. De esta manera, podemos utilizar un método de cálculo más eficiente para lograr la convergencia en muchas situaciones.

Lo primero que hay que entender es que todo gradiente es, en realidad, un vector. ¿Y qué significa esto en la práctica? La primera consecuencia es que, al ser un vector, apunta en una determinada dirección. En este caso, apunta en la dirección de máximo incremento. Sin embargo, si lo utilizamos en sentido contrario, podremos avanzar en la dirección de menor incremento o, en nuestro caso, de menor costo. De ahí que, para diferenciarlo de otros tipos de vectores, lo llamemos gradiente descendente.

El segundo punto, y aquí es donde muchos empiezan a confundirse, es que el gradiente es un vector ortogonal. Por esta razón, es literalmente perpendicular a otra recta que pasa por el punto de origen del vector. Esa recta sí es la recta tangente. Presta atención a esto, porque será importante más adelante. Esto es diferente de lo que ocurre con el mínimo cuadrado, donde realmente se genera una recta secante. Muchos afirman erróneamente que el perceptrón utiliza la recta tangente. Sin embargo, cuando examinamos los cálculos que se realizan, vemos que en realidad se trata de la recta secante. Así que ten cuidado al indicar qué tipo de recta estás utilizando en los cálculos trigonométricos. Hay otros aspectos relacionados con los vectores, pero, para los objetivos de estos artículos, lo que acabamos de mencionar será más que suficiente para explicar todo el contenido.

Por tanto, como el gradiente es un vector, resulta considerablemente más práctico en distintos escenarios. Aquí, sin embargo, nos centraremos en el aspecto más básico, al menos por ahora. De lo contrario, empezaríamos a hablar de temas que no están relacionados con el asunto principal.


Autor: Daniel Jose