En un mundo dominado por el software (recordad la famosa frase: “Software is eating the world”, más vigente que nunca), donde algoritmos deciden quién tiene derecho a una hipoteca, qué tratamiento médico hay que dar o cuántos impuestos nos toca pagar, es cada vez más importante estar seguros que estos algoritmos funcionan correctamente.

Y no me refiero a aspectos de calidad “tradicionales” que se puedan arreglar con mayor número de tests o técnicas de verificación sinó a qué los algoritmos sean imparciales y no incurran en injusticias o discriminación social. Por ejemplo, hay varios casos de algoritmos que se convierten en racistas (dos ejemplos: Amazon evitando repartir en barrios de mayoría afroamericana o el chat bot de Microsoft que tuvieron que retirar immediatamente por comentarios racistas). Aunque, en la mayoría de casos, la parcialidad no era una decisión de diseño, sinó un producto de los datos (parciales, incorrectos,…) y el aprendizaje del propio algoritmo, el problema es grave. Automatizar decisiones que afectan personas individuales requiere unos algoritmos transparentes que se puedan evaluar de forma objetiva.

Además, el problema es técnicamente complejo. En muchos casos, no basta con liberar el código fuente de esos algoritmos sinó también de dotar al algoritmo de capacidades autoexplicativas que le permitan justificar sus decisiones ya que muchos de los algoritmos más usados hoy en día se basan en el uso de técnicas de big data y machine learning donde justamente es muy difícil saber el porqué y el cómo el algoritmo ha llegado a esa conclusión.

Para concienciar de la gravedad de la situación, la ACM (Association for Computing Machinery) ha propuesto siete principios para la transparencia y responsabilidad de los algoritmos. Creo que vale mucho la pena leerlos y reflexionar sobre cómo cada uno de nosotros puede intentar aplicarlos en su trabajo diario.

 

 

Conciencia

Los propietarios, diseñadores, programadores y usuarios de algoritmos tienen que ser concientes de las posibles consecuencias de su uso y los posibles sesgos en qué pueden incurrir

Acceso y correccción

Las agencias reguladoras tienen que tener los mecanismos para corregir los perjuicios individuales debido a los sesgos detectados en los algoritmos

Responsabilidad

Las instituciones son responsables de las decisiones tomadas por sus algoritmos, aunque no sean capaces de explicar el cómo se ha llegado a esas decisiones

Explicación

Especialmente cuando afectan a políticas públicas, las institutiones que utilizan algoritmos para la toma de decisiones deben explicar los procedimientos seguidos por los algoritmos y las decisiones que toma.

Procedencia de los datos

Los programadores del algoritmo tienen que explicar las características de los datos de entrenamiento (de dónde los sacaron, cómo los obtuvieron,…) así como una exploración de los posibles sesgos del algoritmo debido al uso de esos datos. Para evitar problemas de privacidad o secretos comerciales, se puede restringir el acceso a estos datos de entrenamiento a personas no autorizadas explícitamente.

Auditoría

Hay que guardar los modelos, los algoritmos, los datos y las decisiones por si hiciera falta hacer una auditoría en el futuro.

Validación y testeo

Las instituciones deben instaurar métodos rigurosos para la validación de los modelos (y documentarlos). También deben correr tests específicos para detectar posibles sesgos del algoritmo. Los resultados de estos tests deberían ser también públicos.

Por suerte cada vez hay más empresas conscientes del impacto de la IA (y, en consecuencia, de sus propios avances en este campo) en el mundo. Como muestra, DeepMind acaba de lanzar un nuevo grupo de investigación interno llamado “DeepMind Ethics & Society” para ayudar a evaluar y reducir los posibles problemas éticos de la IA. El colectivo la “Liga de la Justicia algorítmica” es otra iniciativa para combatir los sesgos en los algoritmos (sólo por elnombre se merecen esta mención 🙂 ).

Y ya como reflexión final (adaptado de un tweet de mhoye) me gustaría acabar con esta frase:

Si entrenas tus algoritmos con datos del mundo actual, tendrás más aún del mundo que tenemos, no del mundo que queremos