Quant500 Academy

3. Retropropagación: gradiente y regla de la cadena

Nivel 11: Redes Neuronales para Trading

El modelo tiene pesos desconocidos y queremos valores que hagan que ajuste bien los datos de entrenamiento. El enfoque genérico para minimizar la función de error es el descenso de gradiente, que en este contexto recibe el nombre de retropropagación. Conviene fijar esto desde el principio, porque es la confusión más común: la retropropagación no es un optimizador alternativo al descenso de gradiente. Es la forma eficiente de calcular el gradiente aprovechando que el modelo tiene forma composicional, aplicando la regla de la cadena de la derivación. El paso de actualización sigue siendo descenso de gradiente de toda la vida.

Gracias a esa forma composicional, el gradiente se puede calcular con un barrido hacia delante y otro hacia atrás sobre la red, guardando únicamente cantidades locales a cada unidad.

Las derivadas, en palabras. Llamemos z al vector de salidas de la capa oculta para una observación. La derivada del error de esa observación respecto a un peso de la capa de salida es: menos dos veces el residuo (real menos predicho), por la derivada de la función de salida evaluada en su entrada, por el valor de la unidad oculta que alimenta ese peso. La derivada respecto a un peso de la capa de entrada es análoga pero encadena un factor más: suma sobre todas las salidas del residuo por la derivada de la función de salida por el peso que conecta esa unidad oculta con esa salida, todo ello multiplicado por la derivada de la sigmoide evaluada en la entrada de la unidad oculta, y por el valor de la entrada correspondiente.

Con esas derivadas, la actualización en la iteración r más 1 es la de siempre: el peso nuevo es el peso viejo menos la tasa de aprendizaje por la suma de las derivadas sobre todas las observaciones.

Las ecuaciones de retropropagación. Aquí está la parte bonita. Las dos derivadas anteriores se pueden escribir de forma compacta como un "error" local multiplicado por la señal que entra en el peso. Llamemos delta al error en una unidad de salida y s al error en una unidad oculta. Entonces la derivada respecto a un peso de salida es delta por el valor de la unidad oculta, y la derivada respecto a un peso de entrada es s por el valor de la entrada. Y esos dos errores están ligados por la relación que da nombre al algoritmo: el error de una unidad oculta es la derivada de la sigmoide en esa unidad, multiplicada por la suma de los errores de las unidades de salida ponderados por los pesos que las conectan. Es decir, el error se reparte hacia atrás por las mismas conexiones por las que la señal fue hacia delante, ponderado por los mismos pesos.

El algoritmo queda en dos pasadas:

1. Pasada hacia delante: con los pesos fijos, se calculan las Z de la capa oculta, luego las T de la capa de salida y finalmente las predicciones.

2. Pasada hacia atrás: se calculan los errores delta en la salida y se retropropagan con la relación anterior para obtener los errores s de la capa oculta.

Ambos conjuntos de errores se usan después para calcular los gradientes de la actualización.

Ventajas de la retropropagación. Su virtud es su naturaleza simple y local. Cada unidad oculta pasa y recibe información únicamente de y hacia las unidades con las que comparte una conexión. No necesita conocer la red entera, solo su vecindario. Por eso se puede implementar de forma muy eficiente en arquitecturas paralelas, y por eso escala a redes enormes.

Dos advertencias honestas para el trading. Primero: la función de error de una red no es convexa, así que el descenso de gradiente encuentra un mínimo local, no el global; reinicializar con semillas distintas da modelos distintos. Segundo: sumar los gradientes sobre todas las observaciones antes de actualizar es descenso por lotes; en la práctica se usan minilotes, y con series temporales financieras hay que respetar el orden temporal en la partición aunque el minilote se baraje dentro del entrenamiento.

El resto de Quant500

Lo que estás aprendiendo, aplicado al índice todos los días:

La cartera del modelo, cada semana en tu correo

Cada sábado, su semana en un minuto: cómo fue, lo mejor y lo peor, y qué directivos compraron con su dinero. Y el día que el modelo se rehace, qué entra y qué sale. Es una simulación, no un consejo. Como mucho un correo a la semana, sin publicidad y sin cuenta; te das de baja con un clic. Lo hace una persona: Pol Gracia.

Cartera modelo con resultados simulados, no una recomendación personalizada. Tu correo se usa solo para esto: privacidad.

Detrás de la Academia y del resto de Quant500 hay una sola persona: Pol Gracia Serrahima.