¿Cómo funciona el algoritmo Backpropagation en una Red Neuronal? Parte II.Enrique Blanco 24 octubre, 2019 En el anterior post de esta serie comenzamos nuestra andadura para intentar resumir el algoritmo de backpropagation. En este nuevo post proseguiremos con una breve explicación de las cuatro ecuaciones fundamentales detrás de backpropagation que nos permitirán una total comprensión del algoritmo. Las cuatro ecuaciones fundamentales de backpropagation Backpropagation se trata de comprender cómo el cambio de los pesos y sesgos en una red impacta en la función de coste. En definitiva, esto significa calcular las derivadas parciales y . Pero para calcularlos, primero introducimos una cantidad intermedia, , que podemos llamar el error en la j-ésima neurona de la capa l-ésima. Backpropagation nos dará un procedimiento para calcular el error , y luego relacionarlo con y . Para comprender cómo se define el error, imagine que hay un demonio en nuestra red neuronal: Figura 1: Red neuronal con demonio. El demonio se sienta en la j-ésima neurona en la capa l. A medida que entra la entrada a la neurona, el demonio juega con la operación de la neurona. Agrega un pequeño cambio a la ponderación del input de la neurona, de modo que en lugar de generar la neurona produce . El cambio se propaga a través de las capas posteriores de la red, lo que finalmente causa que la función de coste cambie en una cantidad .Pero este demonio es un buen demonio y está tratando de ayudarnos a mejorar el coste, es decir, están tratando de encontrar un que lo reduzca. Suponga que tiene un valor grande (ya sea positivo o negativo). Entonces el demonio puede reducir el costo bastante eligiendo para tener el signo opuesto a . Por el contrario, si está cerca de cero, entonces el demonio no puede mejorar mucho la función de coste tocando , por lo que tendrá a la neurona muy cerca del punto de equilibrio. Podemos entonces decir que es una medida del error en la neurona.Motivados por esta historia, definimos el error de la neurona en la capa por: Quizás se pregunte por qué el demonio está cambiando la entrada ponderada . Seguramente sería más natural imaginar al demonio cambiando la activación de salida , con el resultado de que estaríamos usando como nuestra medida de error. De hecho, si haces esto, las cosas funcionarán de manera bastante similar a la discusión a continuación. Pero resulta que la presentación backpropagation es un poco algebraicamente más complicada. Entonces nos quedaremos con como nuestra medida de error . Plan de ataque Backpropagation se basa en cuatro ecuaciones fundamentales. Juntas, esas ecuaciones nos dan una manera de calcular tanto el error como el gradiente de la función de coste. A continuación, se declaran las cuatro ecuaciones. Sin embargo, tengamos cuidado: no debemos esperar asimilar instantáneamente las ecuaciones. Tal expectativa conducirá a la decepción. De hecho, las ecuaciones de retropropagación son algo complejas, por lo que comprenderlas bien requiere tiempo y paciencia. La buena noticia es que esa paciencia se paga muchas veces. Por lo tanto, la discusión en esta parte es simplemente un comienzo, ayudándole en el camino hacia una comprensión profunda de las ecuaciones. a. BP1: Una ecuación del error en la capa de salida, . Esta es una expresión muy natural. El primer término a la derecha, , solo mide cómo de rápido está cambiando el coste en función de la activación de salida j-ésima. Si, por ejemplo, no depende mucho de una neurona de salida particular, , entonces será pequeño, que es lo que podemos esperar. El segundo término a la derecha, , mide cómo de rápido la función de activación está cambiando en . Tenga en cuenta que todo en la ecuación BP1 se calcula fácilmente. En particular, calculamos mientras calculamos el comportamiento de la red, y sólo es una pequeña sobrecarga adicional para calcular . La forma exacta de , por supuesto, dependerá de la forma de la función de coste. Sin embargo, siempre que se conozca la función de coste, debería haber pocos problemas de cálculo y entonces , que obviamente es fácilmente computable. La ecuación BP1 es una expresión componente para . Es una expresión perfectamente buena, pero no la forma basada en matriz que queremos para la propagación hacia atrás. Sin embargo, es fácil reescribir la ecuación en forma matricial, como: Puede pensar que expresa la tasa de cambio de con respecto a las activaciones de salida. Es fácil ver que la ecuación anterior y BP1 son equivalentes, y por esa razón a partir de ahora usaremos BP1 indistintamente para referirnos a ambas ecuaciones. Como ejemplo, en el caso del costo cuadrático tenemos , por lo que la forma completamente basada en matriz de BP1 se convierte en: b. BP2: Una ecuación del error en términos del error de la siguiente capa, . donde es la transposición de la matriz de peso para la capa . Esta ecuación parece complicada, pero cada elemento tiene una buena interpretación. Supongamos que conocemos el error en la capa . Cuando aplicamos la matriz de peso de transposición, , podemos pensar intuitivamente en esto como mover el error hacia atrás a través de la red, dándonos algún tipo de medida del error en la salida de la capa l-ésima. Luego tomamos el producto Hadamard . Esto mueve el error hacia atrás a través de la función de activación en la capa , dándonos el error en la entrada ponderada a la capa . Combinando BP1 y BP2 tenemos el error de cualquier capa de la red. Empezamos usando BP1 para calcular el error y aplicando BP2 las veces que deseemos llegaremos a calcular el error . c. BP3: Una ecuación para calcula la tasa de cambio del coste con respecto a cualquier bias de la red, Es decir, el error es exactamente a la tasa de cambio . Esta es una gran noticia, ya que BP1 y BP2 ya nos han dicho cómo calcular . Podemos reescribir BP3 en forma abreviada como: Donde se entiende que se evalúa en la misma neurona que el bias . d. BP4: una ecuación para la tasa de cambio de la función de coste con respecto a cualquier peso en la red, Esto nos dice cómo calcular las derivadas parciales en términos de las cantidades y , que ya sabemos cómo calcular. La ecuación se puede reescribir en una notación menos pesada como índice: donde se entiende que es la activación de la entrada de neuronas al peso , y es el error de la salida de neuronas del peso . Al acercarnos para ver sólo el peso , y las dos neuronas conectadas por ese peso, podemos representar esto como: Figura 2: Dos neuronas conectadas por ese peso Una buena consecuencia de la ecuación anterior es que cuando la activación es pequeña, , el término de gradiente también tenderá a ser pequeño. En este caso, diremos que el peso aprende lentamente, lo que significa que no cambiará mucho durante el descenso del gradiente. En otras palabras, una consecuencia de BP4 es que los pesos que salen de las neuronas de baja activación aprenden lentamente. Hay otras ideas a lo largo de estas líneas que se pueden obtener de BP1 – BP4. Comencemos mirando la capa de salida. Considere el término en BP1. Recuerde de la gráfica de la función sigmoide en el último capítulo que la función se vuelve muy plana cuando es aproximadamente 0 o 1. Cuando esto ocurra tendremos . Y así la lección es que un peso en la capa final aprenderá lentamente si la neurona de salida es de baja activación o alta activación . En este caso, es común decir que la neurona de salida se ha saturado y, como resultado, el peso ha dejado de aprender (o está aprendiendo lentamente). Observaciones similares también son válidas para los sesgos de la neurona de salida.Podemos obtener información similar para las capas anteriores. En particular, tenga en cuenta el término en BP2. Esto significa que es probable que se vuelva pequeño si la neurona está cerca de la saturación. Y esto, a su vez, significa que cualquier entrada de peso a una neurona saturada aprenderá lentamente. Resumiendo En resumen, hemos aprendido que un peso aprenderá lentamente si la neurona de entrada tiene baja activación o si la neurona de salida se ha saturado, es decir, tiene alta o baja activación. Ninguna de estas observaciones es demasiado sorprendente. Aun así, ayudan a mejorar nuestro modelo mental de lo que está sucediendo a medida que una red neuronal aprende. Figura 3: Resumen de las ecuaciones de backpropagation En el siguiente post veremos cómo estas ecuaciones nos permiten dar con el buscado algoritmo, con el que podremos calcula el gradiente de la función de coste. Para mantenerte al día con LUCA, visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn o YouTube. Los mejores momentos del LUCA Innovation Day 2019 ¿te lo perdiste?Canciones «a medida» gracias a la Inteligencia Artificial
Alberto García García-Castro Incentivos en redes blockchain empresariales: un nuevo enfoque La importancia del uso de incentivos que premien la colaboración y las buenas prácticas de los participantes en una red blockchain siempre ha sido parte fundamental de la tecnología....
Pablo Salinero Ruiz AI of Things (VIII): segmentación y analítica para mejorar la experiencia de compra El auge del comercio electrónico, con las numerosas ventajas y comodidades que ofrece a los clientes, ha hecho que las tiendas físicas hayan visto reducida de forma significativa su...
Marta Mallavibarrena Inteligencia artificial: haciendo más reales las fake news Cómo usar la inteligencia artificial para crear una noticia totalmente falsa desde cero con el mínimo esfuerzo humano posible
Telefónica Tech ¿Es hora de empezar a plantar semillas digitales para el futuro? Preparar las operaciones empresariales para el futuro del trabajo es uno de los problemas que definen nuestra época. Las organizaciones de todo el mundo se encuentran ahora en una...
Álvaro Alegria Meunier Principales retos para la adopción del metaverso En un post anterior dedicado al metaverso explicaba en qué consiste el metaverso y veíamos qué oportunidades iba a ofrecer a las empresas. Hoy quiero compartir otros retos que, en...
Paloma Recuero de los Santos ¿Cómo hablar a los niños sobre la Inteligencia Artificial? Desde la conocida como “generación de los constructores”, los nacidos entre 1925 y 1944, a los pequeños “alfa”, los hijos de los “millenials”, la tecnología ha ido ganando terreno...