Por Damir Mandakovic, jefe de proyectos en Notus.
¿Confiarías en una IA que decide si puedes acceder a un crédito, pero no puede explicarte por qué te rechazó? Esa es la realidad de muchos modelos actuales. Aunque muy potentes, son lo que llamamos una «caja negra»: nadie (ni siquiera sus creadores) sabe exactamente cómo toman decisiones. Aquí es donde entra la Inteligencia Artificial Explicable (XAI), y una de sus herramientas más interesantes: los contrafactuales.
La Caja Negra y los contrafactuales
¿Has escuchado hablar de la “Caja Negra” de la inteligencia artificial? La «Caja Negra» es una metáfora para describir cómo funcionan muchos modelos de inteligencia artificial: introducimos datos y recibimos una respuesta, pero sin saber cuál fue la lógica interna que llevó a esa decisión.
No es solo que el código, los datos con que fue entrenado, o los valores de la red neuronal estén ocultos (el caso de la mayoría de modelos comerciales), sino que las interacciones entre millones de parámetros hacen que la lógica interna sea prácticamente inaccesible para un humano.
A partir de esta problemática, surge una corriente de estudio en el tema, llamada eXplainable Artificial Intelligence (XAI), donde se busca que estos modelos de aprendizaje de máquina puedan ser interpretados por humanos. Dentro de las técnicas de XAI se encuentran los contrafactuales.
¿Qué son los Contrafactuales?
Un contrafactual es una versión alternativa de los datos de entrada, mínimamente modificada, que cambiaría el resultado de la predicción del modelo hacia un valor deseado. Es una forma de preguntarle al modelo: “¿Qué tendría que ser distinto para que me dieras otro resultado?”
Un ejemplo simple: consumo eléctrico
Imaginemos que tenemos un modelo simple de predicción de consumo eléctrico residencial. Para esto, tenemos una serie de tiempo con el consumo histórico de un hogar.
Para un problema así, podemos usar modelos de deep learning para series de tiempo, como N-BEATS o N-HiTS. En este hipotético experimento, ambos modelos funcionan medianamente bien para este problema, y logran predecir con cierto éxito el consumo de los próximos 5 años.
La pregunta que nos hacemos es: ¿qué patrones y tendencias identificó el modelo para hacer su predicción? Existen distintas estrategias para intentar responder a esta pregunta. Se puede hurgar en el modelo mismo y hacer un ejercicio de “minería” para entender cómo llegó a ese resultado. En este caso, intentaremos responder a la pregunta usando métodos contrafactuales.
En el ejemplo del consumo eléctrico, partiríamos por definir el rango de consumo que queremos lograr en la predicción. Supongamos que queremos que las predicciones estén por debajo del mínimo histórico. La pregunta que nos hacemos con el contrafactual es: ¿Cuál es el mínimo cambio que debemos hacer en los valores de la ventana de observación (los valores ingresados) para lograr que los valores del horizonte de predicción (los valores proyectados) estén en el rango deseado (que sean menor a los valores observados)?
El algoritmo ForecastCF
ForecastCF es un algoritmo que resuelve los contrafactuales para una serie de tiempo univariable. Para desarrollarlo, los investigadores aprovecharon el uso interno de gradientes de los modelos de redes neuronales. Sin profundizar tanto en cómo funcionan las redes neuronales, pensemos en los gradientes como flechas que, en cada paso del entrenamiento, mejoran el aprendizaje indicando hacia donde modificar lo aprendido para reducir el error del proceso.
Al hacer un cambio leve en las variables de entrada, el algoritmo va iterativamente revisando el impacto que tiene en los gradientes de la red neuronal, para así saber qué cambios hacer en las variables de entrada de la siguiente iteración, y así lograr que el resultado alcance los valores deseados.
A continuación, un ejemplo de cómo se modificaron los datos de la ventana de observación (el contrafactual, en azul) para que la nueva predicción (en morado) quedara dentro de los márgenes máximos y mínimos deseados (amarillo).
Limitaciones del enfoque univariable
En el ejercicio anterior podemos observar dos problemas. El primero es que el modelo predictivo es muy básico: solo usa una variable para predecir el comportamiento futuro de la misma variable (solo predice el consumo eléctrico a partir del consumo eléctrico previo, sin considerar factores externos). El segundo problema está asociado al primero. El contrafactual nos dice que si queremos modificar el comportamiento de consumo, tenemos que modificar el consumo pasado. Es como pensar en subir el precio de una acción viajando al pasado y haciendo cambios. Sería mejor que el contrafactual nos sugiriera modificar algo que esté a nuestro alcance, ya sea una variable futura o una diferente
Es por esto, que se buscó extender el algoritmo ForecastCF para generar contrafactuales a partir de variables externas, específicamente las del horizonte de predicción. Esto permitiría aplicar estas metodologías en situaciones reales donde tenemos una variable que podríamos incluso manipular para obtener los resultados esperados.
Extensión con variables externas
En este ejemplo podemos inventar lo que queramos, así que probaremos una variable externa sencilla: la inversión acumulada en aislación térmica del hogar.
Dado que estábamos usando series de tiempo univariables sin otras variables externas, para incorporarlas hay que usar modelos adaptados que nos permitan usarlas en el entrenamiento y predicción. N-BEATS tiene una versión que permite variables externas llamada N-BEATSx, y N-HiTS ya tiene implementada la misma funcionalidad. Ahora, ejecutamos nuestro modelo, que logra una mejor predicción, al tener mayor información relevante.
El resultado es muy bueno, ahora la predicción se acerca más a los valores reales. Ahora propongamos una nueva pregunta. Queremos saber cómo influye nuestra nueva variable externa en el comportamiento de los hogares, y cómo podemos usarla para modificar ese comportamiento. Estableceremos un rango de valores objetivo al que queremos apuntar. Luego, con una versión de ForecastCF modificada variables externas (lo que hice en mi tesis), y nos preguntaremos: ¿Cuál es la variación mínima y en qué dirección de nuestra nueva variable para que el consumo eléctrico alcance el rango objetivo?
Los resultados muestran que, si aumentamos la inversión, podríamos reducir el consumo eléctrico, según la predicción del modelo.
Esto ayuda a entender mejor cómo el modelo utiliza la variable nueva para predecir. Potencialmente, se podrían agregar muchas variables externas, y que estos modelos nos enseñen a entender cuáles tienen mayor incidencia en los cambios que buscamos lograr. Todo esto, sin entrar a hurgar en el modelo, si no que jugando con las variables de entrada y salida del modelo. Eso es lo que define que una herramienta de XAI sea agnóstica al modelo, porque funciona para cualquier modelo de DL.
Beneficios y posibles aplicaciones de contrafactuales en XAI
Los contrafactuales nos permiten entender qué variables influyen en las decisiones de un modelo sin necesidad de inspeccionar su interior. Esta característica los vuelve agnósticos al modelo, es decir, aplicables a cualquier red neuronal.
El beneficio no es solo explicativo. Estas técnicas pueden tener gran impacto en la ciencia aplicada, por ejemplo en modelos medioambientales o políticas públicas. Lejos de alejarnos del conocimiento, las IA explicables abren nuevas oportunidades para generar conocimiento accionable a partir de la complejidad de los modelos.
Referencias y lectura interesante
- Oreshkin, B. N., Carpov, D., Chapados, N., & Bengio, Y. (2019, May 24). N-BEATS: Neural basis expansion analysis for interpretable time series forecasting. arXiv.org. https://arxiv.org/abs/1905.10437
- Challu, C., Olivares, K. G., Oreshkin, B. N., Garza, F., Mergenthaler-Canseco, M., & Dubrawski, A. (2022). N-HITS: Neural Hierarchical interpolation for Time series forecasting. arXiv (Cornell University). https://doi.org/10.48550/arxiv.2201.12886
- Wang, Z., Miliou, I., Samsten, I., & Papapetrou, P. (2023, October 12). Counterfactual explanations for time series forecasting. arXiv.org. https://arxiv.org/abs/2310.08137