Explainability AI: cómo hacer nuestro modelo legible

A la hora de tomar decisiones, la inteligencia artificial se ha convertido en una herramienta muy útil en el día a día. Lo curioso es que esto es así tanto en el ámbito personal como en el laboral. Eso implica que nos cuestionemos su funcionamiento tanto para usar Google maps para llegar a un lugar en el que nos hemos citado con un cliente, como para elegir un producto en Amazon para hacer un regalo. ¿Por qué Google maps recomienda una ruta y no otra? ¿Por qué Amazon me recomienda ciertos productos?

Son preguntas que tienen que ver con la Explainability y en este artículo queremos explicarte el qué, quién y cómo de este concepto.

¿Qué es la Explainability?

Todos los días nos enfrentamos a las preguntas con las que abrimos este artículo. Según el impacto que tenga la respuesta, tomaremos acciones para entender mejor el por qué la IA funciona como lo hace o, simplemente, lo dejaremos pasar. 

Aquellas áreas en las que el impacto de una decisión tomada por la IA implica cuestiones éticas, legales o económicas son las que han motivado que exista la Explainability, como una de las disciplinas de la IA. Es decir, se han creado familias de modelos acompañados por recursos que permiten cuestionar dichos modelos y obtener respuestas.

Los interesados en acceder a estas explicaciones son:

  • Ciudadanos o usuarios que se ven afectados por las decisiones de la IA.
  • Reguladores gubernamentales.
  • Expertos en determinadas áreas de conocimiento.
  • Desarrolladores de sistemas.

Ahora bien, cada uno de estos agentes tiene diferentes requerimientos para la explicabilidad de un sistema. Veamos un ejemplo, un préstamo bancario:

  • Por un lado, los diseñadores del modelo intentan que los clientes a los que se les autoriza el préstamo sean todos aquellos que tienen las posibilidades de devolverlo.
  • Por el otro, el auditor financiero valida los resultados a partir de los datos que entregan los solicitantes. 
  • El solicitante quiere entender en qué se basa el banco para aceptar o denegar su petición.
  • Por último, el regulador gubernamental audita y valida que el proceso se complete de forma justa y sin irregularidades.
  • Al mismo tiempo, se reclama simplicidad y accesibilidad.

Para explicar el resultado de un razonamiento, es necesario entender primero cómo razona. Es decir, según la componente técnica del algoritmo usado —la arquitectura—, así es la capacidad de explicabilidad.

En el día a día, para explicar nuestro razonamiento no usamos una sola forma. Nos apoyamos en la riqueza de nuestro vocabulario. Por ejemplo, creamos reglas y prototipos de explicación, creamos contraejemplos e ilustramos características que están presentes o ausentes.

En 2019, IBM Research desarrolló un trabajo que trataba de dar uniformidad a las técnicas y problemas a resolver. IBM Research diferenció distintos modelos de Exlainability en función de su alcance de interés:

  • Saliency methods: destacan zonas de imágenes que se quieren categorizar y las comparan con otras.
  • Neural Network Visualization Methods: ven capas intermedias de redes neuronales para evaluar su correcto funcionamiento.
  • Feature Relevance Methods: estudian dependencias entre fragmentos de imagen y miden la sensibilidad de análisis al cambiar algunas variables.
  • Exemplar Methods: ejemplifican casos influyentes o similares.
  • Knowledge Distillation Methods: evalúan métodos sencillos a partir de otros más complejos.
  • High-Level Feature Learning Methods: estudian las variables relevantes del modelo.
  • Methods that Provide Rationales: intervienen racionales para medir ratios de frecuencia.
  • Restricted Neural Network Architectures: proponen ciertas restricciones en la red neuronal.

Estos modelos se diferencian según el tipo de datos que tratan —imágenes, valores numéricos, alfanuméricos, etc.— y los distintos campos de Explainability. Estos campos se dividen en categorías según sus características y las respuestas que obtenemos al preguntar el porqué de los resultados:

  • Estática o interactiva según si la respuesta es siempre la misma o depende del usuario.
  • Local o global dependiendo de si la respuesta se hace sobre un caso concreto o de forma general.
  • Directamente interpretable o post-hoc si es intrínsecamente de naturaleza transparente o si requiere de métodos auxiliares para explicar el modelo.
  • Sustitución o visualización si es un modelo directamente interpretable o si no es completamente interpretable por sí mismo.

El procedimiento de clasificación sigue una estructura:

  • Primero se pregunta si el modelo tiene una respuesta estática o interactiva.
  • Si es interactiva, las respuestas varían según la situación y se requiere un método de Explainability propio para el modelo. 
  • Si es estática, se debe plantear qué queremos entender, los datos o el modelo. 
  • En el primer caso, se deberá diferenciar el tipo de datos según sean muestras o valores variables. 
  • En el segundo, se plantea si se quiere entender cómo se comporta el modelo a nivel local o global. Es decir, por qué se obtiene un resultado en un caso particular o cómo se comporta el modelo a nivel local. 
  • En el primer caso, se pregunta qué influencia tiene el modelo y en el segundo caso cómo explicar el modelo, directamente o post-hoc.

Puede haber proyectos que requieran diseñar métodos específicos de Explainability por la naturaleza de los datos o del modelo. En esos casos, debemos intentar seguir el esquema planteado. Veamos ejemplos de funcionamiento de los diferentes procedimientos en función del tipo de datos disponibles.

Explainability en modelos de clasificación de textos

Supongamos que queremos clasificar los mensajes publicados en foros según sean ofensivos o no. Una vez entrenado nuestro modelo con un conjunto de comentarios clasificados según su obscenidad, podremos usar el modelo para validar otros comentarios. 

Imaginemos que queremos validar si el modelo atribuye pesos de manera adecuada a cada palabra de los comentarios. Podemos ver qué peso aporta cada palabra al modelo mostrando una tabla de cada palabra y de cuántas veces aparece en los comentarios. 

Sin embargo este método es pesado y poco útil, pues tendremos una lista larguísima de clasificación de palabras. 

Podemos usar Exemplar Methods para explicar el funcionamiento del modelo.

Tomamos como muestra un comentario:

«Celsa, such an intelligent lady thank you very much for your help».

Podemos ver qué palabras le aportan más información al modelo sobre si es un mensaje obsceno o no. En este caso nuestro modelo nos marca con mayor intensidad las palabras que tiene clasificadas como obscenas y (en verde) las que no. 

probability: 0.805, score: +1.418

Contribución

Feature

+2.069

Suma de pesos

-0.652

BIAS

 

Celsa, such an intelligent lady thank you very much for your help.

De este modo se puede entender de manera sencilla cómo está funcionando nuestro modelo a nivel interno en este caso en particular. Este método se suele repetir varias veces para casos extremos y casos neutros para ver cómo se comporta en cada situación.

¿Quieres saber cómo implementar RPA en tu empresa? Descarga la guía aquí

Explainability en modelos basados en datos numéricos

Supongamos que queremos evaluar qué variables son más determinantes a la hora de predecir alguna enfermedad del corazón a partir de datos que contemplan distintas variables relacionadas con esta enfermedad.

Podemos fijarnos en cuál es la importancia de cada variable usando un método de High-Level Feature Learning. En particular, el método permutation importance. Este método tiene en cuenta los efectos de mezclar aleatoriamente los valores de una de las variables y ver cómo afecta el resultado global.  Si las predicciones cambian en gran medida, la variable es relevante; en caso contrario, no lo es tanto. Es un método muy útil para entender la importancia de cada variable en el modelo de predicción.

Weight

Feature

0.0197 ± 0.0382

thalassemia_fixed defect

0.0197 ± 0.0131

max_heart_rate_achieved

0.0164 ± 0.0415

exercise_induced_angina_yes

0.0164 ± 0.0000

chest_pain_type_non-anginal pain

0.0131 ± 0.0245

thalassemia_reversable defect

0.0098 ± 0.0161

cholesterol

0.0098 ± 0.0161

st_depression

0.0066 ± 0.0445

num_major_vessels

0.0066 ± 0.0161

chest_pain_type_atypical angina

0.0033 ± 0.0245

st_slope_upsloping

0.0033 ± 0.0131

sex_male

0.0033 ± 0.0131

chest_pain_type_typical angina

0.0000 ± 0.0293

age

0 ± 0.0000

thalassemia_normal

0 ± 0.0000

fasting_blood_sugar_lower than 120 mg/ml

0 ± 0.0000

rest_ecg_left ventricular hypertrophy

0 ± 0.0000

rest_ecg_normal

0 ± 0.0000

resting_blood_pressure

-0.0033 ± 0.0245

st_slope_flat

Así, en color verde aparecen las variables que tienen relevancia en predecir si tiene la enfermedad, en gris si no afecta en la predicción y en rojo si tiene relevancia en predecir que no tienen propensión a la enfermedad.

Otro test que se puede hacer es el tree explainer. Este test estudia el efecto de considerar muchas posibles causalidades sobre la dependencia de las variables.

image (30)

Cada uno de estos tests nos ayudan a entender un poco mejor qué ocurre con nuestros datos y que efectos tiene sobre nuestro modelo y resultados. Nos permite saber qué variables están siendo relevantes en nuestro modelo y cuáles no.

Explainability en modelos de clasificación de imágenes

Ahora imaginemos que queremos etiquetar imágenes. Muchos de los algoritmos de procesamiento se basan en dar pesos a los píxeles o super píxeles que forman la imagen para detectar nuestro objeto. Para entender que nuestro modelo es funcional podemos ver a qué píxeles se les da importancia para identificar cada elemento de la imagen; es decir, buscamos explainability en cómo funciona nuestro modelo.

image (31)

En estas dos imágenes podemos ver grupos de píxeles que tienen un peso más importante a la hora de identificar el tucán y el autobús escolar. En ambos casos, vemos que el algoritmo se centra en elementos especialmente característicos de cada uno de ellos. En el caso del tucán se centra en las estrías del pico, la zona naranja alrededor del ojo y el cuello blanco. En caso del autobús, en el color amarillo las ruedas y el retrovisor. 

Como hemos visto, un buen proyecto debe tener una buena Explainability que nos permita validar y entender cómo afectan nuestros datos en el modelo y cómo funciona este último a diferentes niveles. De este modo, podemos valorar si estamos cumpliendo las necesidades de un proyecto para todos los implicados en él.

Además, la forma en que se explique el funcionamiento del modelo depende de la naturaleza del mismo, por lo que debemos adaptar los métodos de Explainability de IA según el caso al que nos enfrentemos.

Podemos aplicar este procedimiento a casi todos los campos de AI, ya que existen métodos aplicables a casi todos los modelos y tipos de datos. Además, podemos diseñar métodos más específicos para solventar los problemas que podamos encontrar.

Si quieres saber más sobre el concepto de Explainability o te interesa tener un modelo de IA Explainable para tu negocio, ponte en contacto con nosotros. Nuestro equipo de IA está preparado para asesorarte.

Más noticias

¿Cómo se ejecuta un proyecto de automatización de procesos con RPA?

La automatización de procesos con RPA es una de las tendencias en la transformación digital. La posibilidad de automatizar tareas, para que las personas puedan dedicar su tiempo y esfuerzo a tareas...

Leer másArrow 41

Explainability AI: cómo hacer nuestro modelo legible

A la hora de tomar decisiones, la inteligencia artificial se ha convertido en una herramienta muy útil en el día a día. Lo curioso es que esto es así tanto en el ámbito personal como en el laboral....

Leer másArrow 41

Inversión en tecnología: clave para hacer frente a la crisis económica

La crisis económica es una realidad palpable en la actualidad. La inflación de los precios, la poca disponibilidad de los combustibles, así como la lenta recuperación de la Covid-19, han hecho que...

Leer másArrow 41

Supply chain: retos tecnológicos del sector en 2023

La evolución de la tecnología y la innovación ha abierto un mundo de posibilidades en el sector de la logística y suministros. La IA ha cambiado la visión de las empresas que ya buscan esquemas...

Leer másArrow 41

Cómo diseñar una estrategia de IA para incrementar el éxito de los proyectos de Machine Learning

En el Webinar “AI Strategy: Cómo diseñar una estrategia de IA para incrementar el éxito de los proyectos”, hemos compartido una visión acerca de aquellos problemas generales que hacen que proyectos...

Leer másArrow 41