Explainable AI (XAI): Cómo detectar si los algoritmos de Inteligencia Artificial nos engañan
El otro día estaba curioseando por ArXiv cuando me encontré un paper interesante: Una revisión sistemática sobre métodos para explicar las redes neuronales, algo que se conoce como Explainable AI (XAI). Y hoy quiero dedicarle el artículo completo a este tema.
Mi experiencia con redes neuronales profundas ha sido siempre positiva, pero no es así para gran parte de la comunidad científica. Una de las grandes tareas aún por resolver del Deep Learning es la interpretabilidad de los algoritmos, que muchas veces hace que éstos tengan sesgos asociados y no se puedan detectar. Para que veáis la complejidad del tema os adjunto un gráfico interesante:
Como veis, Deep Learning ha roto el estado del arte de multitud de tareas de Inteligencia Artificial, sobretodo en Computer Vision (donde las redes convolucionales y los actuales visual Transformers están dando mucho que hablar) o NLP (donde ya vimos con el Proyecto Maquet que BERT y los Transformers nos dan muchas opciones). Pero esta mejora ha implicado un gran problema de interpretabilidad de los algoritmos: si uno observa la estructura de un Decision Tree puede entender por qué, para cada entrada, hay una salida asociada, pero no es así para los algoritmos más complejos de redes neuronales profundas.
Figura 1: Explainable AI (XAI): Cómo detectar si los algoritmos
de Inteligencia Artificial nos engañan
Mi experiencia con redes neuronales profundas ha sido siempre positiva, pero no es así para gran parte de la comunidad científica. Una de las grandes tareas aún por resolver del Deep Learning es la interpretabilidad de los algoritmos, que muchas veces hace que éstos tengan sesgos asociados y no se puedan detectar. Para que veáis la complejidad del tema os adjunto un gráfico interesante:
Figura 2: Accuracy vs Explainability en distintos modelos de aprendizaje
Como veis, Deep Learning ha roto el estado del arte de multitud de tareas de Inteligencia Artificial, sobretodo en Computer Vision (donde las redes convolucionales y los actuales visual Transformers están dando mucho que hablar) o NLP (donde ya vimos con el Proyecto Maquet que BERT y los Transformers nos dan muchas opciones). Pero esta mejora ha implicado un gran problema de interpretabilidad de los algoritmos: si uno observa la estructura de un Decision Tree puede entender por qué, para cada entrada, hay una salida asociada, pero no es así para los algoritmos más complejos de redes neuronales profundas.
Figura 3: Paper de Explainable AI
OpenAI publicó hace un par de meses Microscope, una herramienta online que te permitía investigar, para las redes neuronales más conocidas, cuál eran sus distintas activaciones. Con esto intentaban “emblanquecer” la black-box de las redes neuronales. Pongamos algún ejemplo:
Si visualizamos las capas de AlexNet, una red neuronal publicada en 2012, posterior a LeNet (primera red convolucional diseñada por Yann Lecun) y con 5 bloques de capas convolucionales, obtenemos la imagen anterior. Como observamos, los distintos filtros de la primera capa convolucional corresponden a las low level features, esas características que nos dan poca información sobre el contenido de la imagen más allá de patrones específicos. Cambios de color de azul a amarillo, patrones en blanco… Cosas sencillas que con algoritmos de Machine Learning de procesamiento de imagen podríamos conseguir, con bancos de filtros.
En el apartado Technique, podemos encontrar para cada una de las neuronas las imágenes del dataset Imagenet que provocan una mayor activación. ¿Os suena alguna foto?
Figura 4: Visualización de las capas de AlexNet
Si visualizamos las capas de AlexNet, una red neuronal publicada en 2012, posterior a LeNet (primera red convolucional diseñada por Yann Lecun) y con 5 bloques de capas convolucionales, obtenemos la imagen anterior. Como observamos, los distintos filtros de la primera capa convolucional corresponden a las low level features, esas características que nos dan poca información sobre el contenido de la imagen más allá de patrones específicos. Cambios de color de azul a amarillo, patrones en blanco… Cosas sencillas que con algoritmos de Machine Learning de procesamiento de imagen podríamos conseguir, con bancos de filtros.
En el apartado Technique, podemos encontrar para cada una de las neuronas las imágenes del dataset Imagenet que provocan una mayor activación. ¿Os suena alguna foto?
Figura 5: Unidad 4 de la primera convolución de AlexNet
y las imágenes de Imagenet que más la activan
Pero la cosa se pone interesante cuando nos vamos a las últimas capas convolucionales. Si nos vamos a la unidad 5 de la conv_6:
Figura 6: Imagen generada para la activación máxima de la neurona 5
de la convolución 6 con un patrón repetitivo
Aquí me diréis: Bruno, te has vuelto loco, no se entiende nada. La Explainable AI no explica nada. Pero veamos qué imágenes de Imagenet hacen que se active al máximo esta neurona:
Figura 7: Imágenes que producen activación máxima de esa neurona
Figura 8: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández |
Figura 9: Imágenes no reconocibles para los seres humanos, pero que
el clasificador del estado del arte los clasifica con una label en concreto.
Figura 10: De izquierda a derecha, imagen clasificada como elefante,
imagen clasificada como gato e imagen clasificada como elefante
Figura 11: (De izquierda a derecha) Imagen original, explicación
de clasificación “gato” y explicación de clasificación “perro”
GradCam es un paper muy bueno y alucinante de 2016… pero es que dos años más tarde un grupo de investigadores estudió la idea de que las explicaciones de la clasificación fueran por texto, lo que se conoce como Pointing and Justification Explanation (o como a mí me gusta llamarlo, un “Justifique su respuesta” de toda la vida). En el caso que veremos ahora, para una tarea de Visual Question and Answering (VQA-X), podemos, a partir de una imagen de entrada y una pregunta, que el algoritmo nos devuelva no sólo la respuesta, sino una justificación escrita y una señalización en la imagen.
Alucinante. Y aquí es donde el Bruno más soñador piensa e imagina un futuro (como siempre me pasa con la tecnología, vaya). A todo humano, me incluyo, nos da respeto que decisiones del día a día las tomen las máquinas, pero eso es debido a que las estamos enseñando a decidir, no a explicarnos la decisión. Un caso muy claro es el de las empresas de telemedicina, os pongo un caso hipotético (totalmente hipotético). Una app del móvil para la detección de enfermedades de la piel (como Legit Health) se vincula con Siri, Aura o Alexa, y entonces ocurre la siguiente conversación:
Figura 12: VQA-X con justificación textual y señalización visual,
y ejemplo del dataset utilizado para entrenar el modelo
- “Oye XXX, creo que el lunar de la espalda me ha crecido.”
- “A ver, enséñame una foto.”
- “Hecho ¿Cómo lo ves, debería ir al médico?”
- “Sí Bruno, debes ir al médico, por X, Y, Z. Te pido cita.”
Igual será en 5, 10 o 15 años, pero esto pasará. Ipse dixit.
¡Saludos!
¡Saludos!
Autor: Bruno Ibáñez, Investigador de Ciberseguridad e IA en Ideas Locas
No hay comentarios:
Publicar un comentario