Para un data scientist es cada vez más habitual tener que buscar explicaciones de las predicciones de un modelo de inteligencia artificial. Una alternativa muy popular son las técnicas de explicabilidad como LIME o SHAP. Pero existe una alternativa: construir modelos de IA que, en sí mismos, sean interpretables. De este modo, podemos saber exactamente cómo funciona el modelo por dentro.
El equipo de data scientists de la empresa Peter&Wolf Inc tienen el encargo de predecir si los usuarios van a renovar o no las suscripciones de uno de los servicios que ofrecen. Entrenan un modelo gradient boosting que resulta ser muy preciso. Se lo presentan al CEO de la empresa, y este les pide que le expliquen el modelo de inteligencia artificial. Los data scientists recurren a la librería de python de explicabilidad SHAP, con la que obtienen este gráfico de importancias globales, que, a priori, parece que tienen sentido:
Según la gráfica de arriba, las variables que más impacto tienen son el descuento ofrecido, el dinero invertido en publicidad y el número de bugs reportados.
Ahora bien, cuando miran con más detalle cómo varían las predicciones al cambiar el valor de las variables, los data scientists se encuentran algunos problemas:
- Mirando las gráficas correspondientes al descuento y al número de bugs reportados, la conclusión a la parecen llevar las gráficas es que, cuanto más descuento se les ofrezca a los clientes, menos probable es que renueven la suscripción
- Cuantos más bugs hayan reportado, la renovación es más probable.
Después de algo más de trabajo, los data scientists comprenden que estas relaciones tienen que ver con varios factores de confusión que no habían considerado.
¿Qué hace un modelo de IA realmente con los datos?
Aunque usemos técnicas para explicar modelos de aprendizaje automático como LIME o SHAP para explicar las predicciones de un modelo de IA, lo cierto es que, si es de caja negra, no sabemos lo que hace de verdad con los datos. Estas técnicas de explicabilidad de un modelo de IA realmente son, a su vez, modelos, y por tanto cometen errores e, incluso, se les puede engañar.
Además, hay ocasiones en las que las explicaciones de un modelo de IA no son todo lo precisas que nos gustaría. Las imágenes que mostramos más abajo son el dato original y la explicación post-hoc de un modelo de IA, donde los colores azules indican que el modelo ha encontrado esos píxeles poco interesantes y los colores más rojos indican que esa zona es de mucho interés. De acuerdo con expertos, la región roja contiene información útil y también poco útil. Localizar la zona no revela qué es lo relevante para la predicción: ¿es la opacidad, la forma del corazón, la arteria pulmonar, o simplemente un píxel o textura que una persona no habría visto?
En algunos contextos, como, por ejemplo, el de Peter&Wolf, todo esto puede no ser un problema. No obstante, hay casos, como en aplicaciones médicas o en cualquier otra situación en la que haya mucho en juego, donde nos gustaría saber de verdad qué hace el modelo con los datos. Entre otros motivos está saber si las variables que tiene en cuenta son de verdad relevantes o si son relaciones espurias en el conjunto de entrenamiento que ha captado el modelo.
También pueden ser útiles para eliminar sesgos y construir modelos IA justos: al conocer su funcionamiento, podemos saber si se está discriminando alguna minoría, por ejemplo.
Además, en ciertas áreas de negocio, como en el sector financiero o el sector seguros, los modelos que se construyen para ciertos fines deben ser interpretables.
Interpretabilidad y precisión de un modelo de IA
Muchos podemos tener la idea de que, a la hora de construir modelos de IA, hay que elegir entre interpretabilidad y precisión. Esto es porque los modelos interpretables que todos tenemos en la cabeza son regresiones lineales o logísticas y árboles de decisión, y los modelos potentes más empleados para datos tabulares, como los basados en árboles y en boosting, no son interpretables. Esto, sin embargo, no es así.
Por un lado, se han hecho avances en la construcción de ciertos modelos conocidos, como por ejemplo los árboles de decisión, para que sean más expresivos. Por otro lado, también han aparecido modelos interpretables nuevos, basados en modelos aditivos generalizados (GAM), que compiten con cualquier modelo de caja negra en precisión.
GOSDT y OSRT: árboles de decisión óptimos y pequeños
Dado cualquier modelo de IA de caja negra basado en árboles, podemos construir un árbol de decisión que devuelve las mismas predicciones sobre los mismos datos. Esto significa que los árboles de decisión son modelos igual de expresivos que, por ejemplo, los gradient boosting: el problema está en que no sabemos encontrar el árbol óptimo, porque es un problema NP-difícil.
Los árboles de decisión se describieron por primera vez en los años 60, y se fueron haciendo mejoras sobre ellos hasta que en 1984 apareció CART, que es el algoritmo que se emplea en scikit-learn hoy en día. En los años sucesivos, hasta 1993, aparecieron otros algoritmos, como ID3, C4.5 y C5.0, que mejoraron CART en ciertas áreas.
A partir de ese punto, la investigación sobre los árboles de decisión tomó distintas vías. Por un lado, aparecieron los ensembles de árboles de decisión de distinto tipo (random forest, gradient boosting, etc.). Otras ramas buscaron o bien heurísticas para elegir mejor los splits o bien resolver problemas más concretos como, por ejemplo, problemas relacionados con datos de panel, y, finalmente, otros grupos intentaron resolver el problema de optimización sin más.
De este último grupo aparecen los algoritmos GOSDT y OSRT, que buscan un equilibrio entre la precisión y la sencillez (el número de hojas en el árbol) y proporcionan el árbol óptimo de acuerdo con este criterio.
Modelos de IA basados en GAM: EBM, NAM y GAMI-Net
Los modelos aditivos generalizados (GAM) aparecieron a finales de los 80 y se basan en la regresión lineal. Se trata de expresar el target como suma de funciones de una o dos variables.
Por ejemplo, un GAM para la predicción de muerte de pacientes con neumonía podría tener este aspecto:
Podemos interpretar el modelo de IA se la siguiente manera: la probabilidad de muerte se obtiene como suma de los valores proporcionados por las distintas funciones.
Imaginemos que tenemos un paciente con un valor 15 de hematocrito, 2 de nivel de potasio, y con un valor distinto para cada uno de los campos de la imagen de arriba. Para calcular su probabilidad de muerte, primero miramos el valor de la función en la primera gráfica cuando x=15 (es decir, aproximadamente 0,1), y a ese valor le sumamos el valor correspondiente a x=2 de la segunda gráfica (alrededor de 0), y así sucesivamente. El resultado total será un scoring (logit) que entendemos como el riesgo de muerte y que luego podemos transformar en probabilidad.
Estas gráficas juntas son el modelo completo; son exactamente lo que sucede dentro del modelo para devolver una probabilidad, y no es necesario recurrir a otro modelo como SHAP o LIME para saber qué podría influir en la predicción. Además, con estas gráficas se puede entender cómo varía la aportación de cada una de las variables sobre la predicción final. Por ejemplo, la primera función tiene un valor pequeño y es prácticamente horizontal hasta el 20, donde crece rápidamente, y luego el riesgo disminuye hasta el 25, donde vuelve a ser horizontal.
Los modelos EBM son GAMs que se construyen con árboles de decisión pequeños, mientras que NAM y GAMI-Net se construyen con redes neuronales. Los tres modelos compiten en precisión con los modelos de IA de caja negra más potentes, y tienen la ventaja de que sabemos exactamente qué hacen por dentro.
Conclusión
Existen modelos de IA interpretables que tienen la misma capacidad expresiva que los modelos de IA de caja negra que todos conocemos y empleamos. En los últimos años, ha habido muchos avances en la construcción de este tipo de modelos, y, en muchas ocasiones, puede ser útil recurrir a ellos para construir modelos robustos y justos en los que podamos confiar.