spinner

Construyendo Inteligencia Artificial más confiable

No todas las automatizaciones realizadas con Inteligencia Artificial nos generan la misma confianza. En este artículo, explicaremos la importancia de aplicar una metodología de desarrollo de IA más centrada en el humano y veremos algunos de los aspectos más importantes a tener en cuenta para construir IA más Confiable.

Inteligencia Artificial Confiable

Cada vez son más los avances en IA que hacen que podamos automatizar tareas que en un principio parecía que sólo podía hacer un humano.  Este abanico de posibilidades va desde escribir artículos originales en el periódico The Guardian con modelos como GPT-3,  hasta el desarrollo de aplicaciones ‘justicieras’ como COMPAS que determinan el nivel de reincidencia de un criminal.

Sin embargo, no todas estas aplicaciones están generando un impacto positivo en la sociedad. Esto se puede observar en muchas de las noticias que podemos leer en la actualidad, en las que se señalan casos de IA discriminatoria como sistemas de reconocimiento facial que no reconocen igual a personas de color o la implantación de sistemas que hacen uso masivo del big data y que podrían poner en riesgo la privacidad humana como el sistema de crédito social chino.

Por tanto, como ya bien dijo el Tío Ben en la película de Spiderman: ‘un gran poder también conlleva una gran responsabilidad’ y las técnicas de IA representan ya una poderosa herramienta a tener en cuenta en el desarrollo de cualquier aplicación informática. Por ello, desde el Lab de BBVA Next hemos tomado conciencia de nuestra responsabilidad y nos hemos preguntado: ¿Cómo construimos una IA más segura y confiable?

Desarrollando IA al servicio de la humanidad

Como cualquier proyecto de ingeniería antes de ponernos manos a la obra a construir IA Confiable necesitamos entender qué tipo de requisitos debe cumplir este tipo de sistema. Por ello, desde Labs decidimos embarcamos en una investigación para conocer cuales son las necesidades humanas que nos hacen confiar más en la IA.  Esta investigación tomó como referencia las directrices publicadas por la UE y otras organizaciones internacionales, como por ejemplo la OMS y nos ayudó a generar un esquema con los aspectos más importantes como se puede ver en la siguiente figura. Estos aspectos se pueden ver en 3 dimensiones relacionadas que hacen por un lado referencia a la robustez o la capacidad de la IA para cumplir con su comportamiento esperado, la transparencia entendida como la capacidad que tenemos nosotros de entender cómo la IA se comporta y finalmente la justicia mediante la cual somos capaces de evaluar el impacto que puede tener en nosotros como usuarios  y en la sociedad en general.

Framework de Inteligencia Artificial Confiable

 

¿Cómo construimos inteligencia artificial segura y confiable?

Una vez identificamos estos requisitos clave, investigamos un conjunto de buenas prácticas que se pueden aplicar sobre la actual metodología CRISP-DM que es la más utilizada en la actualidad en la construcción de modelos de Machine Learning.  El objetivo que perseguimos en este artículo es enseñaros a cómo transicionar de la metodología actual considerada más ‘Business-Centric’ , es decir, con foco en resolver problemas concretos de negocio hacia una metodología más ‘Human-Centric’ que tiene en cuenta a los destinarios de la aplicación desde principio a fin del ciclo de desarrollo. Para ello vamos respondiendo a una serie preguntas clave, que hemos esquematizado en la siguiente figura, y vamos a ir explicando paso a paso cómo resolverlas en cada una de las fases. 

Metodología Human-Centric de Inteligencia Artificial Confiable incorporando aspectos de Justicia, Transparencia y Robustez

 

01:  Entender al usuario y el problema a resolver

Como se puede observar, el primer paso de esta metodología consistiría en definir el problema  y el beneficio que estamos aportando al usuario, así como estudiar el impacto que puede llegar a tener en la sociedad en general.

Una iniciativa muy interesante en este sentido es la que plantea el grupo de investigación de Google PAIR (People + AI Research) que propone la implementación de una serie de worksheets que permiten, mediante la realización de entrevistas con el usuario, entender mejor sus necesidades, concienciarlos en lo que pueden esperar de la IA o incorporar su feedback en todo el proceso de construcción de IA.

En esta misma línea, desde Labs hemos implementado un modelo canvas para conceptualizar una interacción feminista entre bots y los usuarios. Este modelo nos ha permitido entender mejor las necesidades del usuario y entender qué tipo de interacción espera realizar con la IA.

02 – 04: Recolección, tratamiento y visualización de datos

Una vez entendidas las necesidades de los usuarios, pasamos a la recolección y exploración de datos en la que debemos poner foco en asegurar la inclusividad y representatividad de estos usuarios. En esta fase trataremos de responder a preguntas cómo ¿Tenemos suficientes datos? ¿Están estos datos sesgados de alguna manera?. Para esto es importante comparar nuestros datos con otros de referencia como los publicados por el INE (Instituto Nacional de Estadística), explorar la distribución de distintas variables de interés, detectar errores o falta de datos o evitar introducir variables sensibles como el sexo, la edad o raza que podrían llevar al modelo a hacer inferencias discriminatorias. 

Un ejemplo sencillo de este tipo de exploratorio lo podemos ver en el siguiente gráfico que muestra una recolección de datos desbalanceada por raza, es decir, un sesgo muestral  en los datos de reincidencia criminal del software COMPAS que comentamos al principio.

Estudio de la distribución por raza y clase  (1 – reincidente , 0 – No reincidente) – A.Chidambaram

 

Este tipo desbalanceamiento o falta de datos en distintas variables de interés puede llevar a la conclusión errónea de que las personas afroamericanas son más reincidentes (ya que los datos empujan a concluir que hay más reincidentes de esta raza) como ya se publicó el periódico estadounidense ProPublica en Mayo de 2016.

05: Composición y visualización de variables relevantes

Posterior a la exploración y tratamiento de datos, se pasaría a la composición de variables relevantes para el problema mediante el feature engineering o ingeniería de características. Este tipo de procesamiento se puede hacerse de manera automática en modelos si se hace uso de Deep Learning o mediante una construcción ‘manual’ utilizando conocimiento del negocio para añadir información complementaria o más fácilmente interpretable.

En este sentido, una de las desventajas que presentan los modelos de Deep Learning es la falta de transparencia, es decir, estos modelos actúan como caja negra de tal forma que una vez entrenados es difícil conocer su comportamiento. Esto lo podemos observar en el siguiente gráfico donde se muestran estos modelos en contrapartida a otros más sencillos como los árboles de decisión que aunque suelen dar peores resultados son más fáciles de explicar.

Clasificación de modelos de Machine Learning según su capacidad de transparencia vs. precisión

 

En este sentido destacan técnicas como LIME y SHAP que nos ayudan a entender mejor qué está pasando internamente en modelo, la importancia de cada variable de interés y  finalmente la relación entre la entrada y la salida esperada del modelo.

06: Selección y entrenamiento del modelo de Machine Learning

Una vez que tenemos un conjunto de datos que represente correctamente el problema y los usuarios que queremos modelar, pasaremos al entrenamiento del modelo de Machine Learning (ML).

En esta fase es importante construir un conjunto de pruebas con algoritmos de aprendizaje automático de distinta índole que sean capaces de modelar correctamente la complejidad y la naturaleza de los datos. En este sentido, además de la transparencia del algoritmo, es importante tener en cuenta la capacidad de compensación entre el sesgo y la varianza.

Relación de la complejidad del modelo ML y el error total esperado según su tipo: varianza vs. sesgo

 

Como vemos en esta gráfica, la complejidad del algoritmo tiene que ser la óptima de tal forma que evitemos por un lado un modelo que pueda realizar inferencias sesgadas (high bias), es decir, inferencias que hagan suposiciones erróneas que podrían llevar por ejemplo a obviar ciertas preferencias distintivas de usuarios como la preferencia a comprar un determinado tipo de producto o que por otro lado nos ajustemos demasiado a la varianza de los datos (high variance), es decir, hagamos inferencias sobre-ajustadas lo que, por ejemplo, podría llevar a hacer discriminación por usuarios muy concretos que en el ejemplo anterior podría llevar a ofrecer constantemente un mismo producto a un único usuario o hacer malas recomendaciones a usuarios nuevos.

Otro aspecto a tener en cuenta en el ajuste de parámetros o entrenamiento del modelo, es el uso de métricas o restricciones complementarias como por ejemplo las métricas de ‘fairness’ para asegurar la equidad de resultados entre distintos grupos sociales. Estas métricas se pueden utilizar tanto en el entrenamiento de modelos, para el ajuste de parámetros, como en evaluación de los mismos.

Igualdad de oportunidades establece que cada grupo debe obtener el resultado positivo en la misma proporción, asumiendo que las personas de este grupo califican para ello

 

07-08: Puesta en producción: Evaluación y monitorización del modelo de ML

Finalmente, una vez tenemos el modelo de ML, necesitamos evaluar y monitorear su comportamiento en el tiempo a través de un sistema de CI/CD. En este sentido, destacan herramientas como MLflow para la monitorización y versionado de modelos y otras herramienta de visualización como what-if tool (WIT) de tensorflow que, cómo podemos ver en la siguiente figura, nos permite evaluar los resultados de la inferencia de modelos del tipo caja-negra una vez ya entrenados modificando su entrada y cambiando ciertos parámetros. Este tipo de herramientas nos permiten la realización de pruebas del tipo A/B y poder anticipar un posible impacto no deseado, así como ciertas métricas de fairness.

Herramienta de visualización  What-If Tool (WIT) de Tensorflow para modelos de tipo Black Box

 

Conclusiones 

Como podéis ver, cada vez más, se están investigando nuevas técnicas que nos permiten solucionar ciertas problemáticas que se dan en la confianza en IA. La metodología que os hemos contado aquí ejemplifica alguna de ellas.  Sin embargo, como cualquier proyecto software es necesario que adaptéis esta metodología a vuestro caso de uso y sigas investigando y aprendiendo técnicas nuevas.  Concretamente, en sucesivos post profundizaremos en técnicas de bayesian deep learning, que como vimos anteriormente nos permite mejorar dos de los aspectos más relevantes de la IA confiable: la robustez y la transparencia.

Enlaces a recursos de interés:

[1] Responsible ML – Microsoft Build: https://www.aka.ms/Build2020ResponsibleML

[2] Responsible AI Tensorflow: https://www.tensorflow.org/resources/responsible-ai

[3] Trusting AI IBM Research: https://www.research.ibm.com/artificial-intelligence/trusted-ai/

[4] Wexler, J., Pushkarna, M., Bolukbasi, T., Wattenberg, M., Viegas, F., & Wilson, J. (2020). The what-if tool: Interactive probing of machine learning models. IEEE Transactions on Visualization and Computer Graphics, 26(1), 56–65. https://doi.org/10.1109/TVCG.2019.2934619

[5] https://towardsdatascience.com/programming-fairness-in-algorithms-4943a13dd9f8

Las opiniones vertidas por el autor son enteramente suyas y no siempre representan la opinión de BBVA Next Technologies.

¿Quieres saber que más cosas hacemos en BBVA Next Technologies?