Buenas! como andan?! Por acá todo en orden! Y estamos de nuevo para un nuevo episodio, semana número 51 de este año 2019 y episodio aniversario del podcast!
Que los cumplas feliz! Que los cumplas feliz!
Me parece increíble que haya pasada 1 año ya desde que publiqué esos primeros dos episodios del podcast en diciembre del 2018, y bueno acá sigue en pie el podcast así que gracias a todos por el aguante, en especial a mi familia que me banca en esta aventura, que no es poca cosa!
Hoy quiero rescatar una charla de Rachel Thomas, co fundadora de fast.ai que es una grosa total, y dió una charla a mediados de 2018 en la QCon, una conferencia de inteligencia artificial y machine learning en San Francisco sobre como analizar y prevenir los sesgos en el aprendizaje automático.
Como siempre les digo, saben que me pueden encontrar en twitter o en instagram como @pochocosta para lo que necesiten y que se pueden suscribir al podcast para no perderse ninguno de los próximos episodios en Spotify, Apple Podcast, ivoox o la aplicación de podcast que mas les guste.
Caso de estudio: software justicia penal
Ahora sí, volvamos a la charla de Rachel Thomas.
Ella en esta charla contó algunos casos donde se usó machine learning sobre datos con sesgos “importantes” digamos, y cuenta cómo esto puede afectar la vida de las personas.
La idea es que tomemos conciencia de nuestra responsabilidad al recolectar datos, evaluarlos y aplicar algoritmos, y da algunos consejos de cosas que podemos hacer para minimizar el sesgo.
Algo importante a tener en cuenta es que el sesgo siempre está, es muy difícil que no haya sesgo, pero tenemos que tratar de que sea el menor sesgo posible.
Entonces ella en su charla empieza contando un primer caso sobre una investigación que se hizo en el 2016 sobre el software que se usa en el sistema judicial de Estados Unidos para tomar decisiones previas a un juicio penal y definir si una persona tiene que pagar una fianza o no, o si puede estar en libertad condicional o no.
Y ahora escuchen lo que encontraron porque es tremendo!
La investigación descubrió que la tasa de falsos positivos era casi el doble para las personas negras que para las personas blancas. 44,9% para los negros y 23,5% para los blancos.
Esto es totalmente discriminatorio, racista. Y seguramente lo primero que nos viene a la mente es preguntarnos:
“¿porque se usaría el color de piel para tomar estas decisiones? simplemente hay que dejar de usarlo y listo, problema solucionado, ¿no?”
Pero bueno, la cosa es que ni la raza ni el género eran variables de entrada explícitas para este algoritmo.
Sin embargo, evidentemente estas características están codificadas en muchas otras variables como el lugar donde vivían, la escuela donde estudiaron, y muchas otras variables que en conjunto terminan encodeando estos valores.
Pero esto no termina acá.
Este algoritmo está patentado y pertenece a una empresa privada por lo que los investigadores lo tomaron como una caja negra a la cual le das una entrada y recibís una salida sin saber qué pasa adentro.
En una investigación posterior descubrieron que este modelo que recibía 137 variables como entrada daba resultados similares a un clasificador lineal de tan sólo dos variables de entrada. Chan!
Este es el primero de los casos de sesgo que cuenta Rachel en su charla.
Una vez más se confirma lo de “lo simple y bueno dos veces Bueno”.
Otro de los casos que cuenta Rachel es una investigación que hicieron dos estudiantes para una tesis de doctorado en el MIT donde evaluaron varios software comerciales de reconocimiento de caras.
Específicamente los que evaluaron fueron los servicios de Microsoft, IBM y Face++.
Acá lo que encontraron es que todos funcionaban mejor con hombres que con mujeres y que en ambos casos a su vez funcionaba mejor con personas de piel clara que con personas de piel oscura.
Entonces lo que hicieron fue hacer pruebas más profundas con caras de mujeres agrupadas por el tono del color de piel y fueron midiendo la tasa de error. Con esta prueba lo que encontraron es que la tasa de error iba aumentando progresivamente cuanto más oscura era la piel.
Lo ridículo de esto es que con las mujeres de piel más oscura la tasa de error era casi del 50%. Tremendo.
Caso de estudio: Incrustaciones de palabras
Después otro de los casos interesantes que comenta Rachel en su charla es sobre incrustaciones de palabras, que es una técnica muy usada en procesamiento de lenguaje natural y este caso por ejemplo lo podemos probar nosotros mismos en Google Translate.
El caso que cuenta ella y que pueden probarlo ustedes mismos es que haciendo una traducción de inglés a turco y luego haciendo el camino inverso de turco a inglés lo que pasa es que se cambia el género para ajustarse a los estereotipos.
Las frases que cuenta ella son “She is a doctor” y “He is a nurse” que traduciendolas a turco y luego volviendolas a traducir de turco a inglés terminan quedando como “He is a doctor” y “She is a nurse”.
Acá lo que cabe aclarar es que Google no está haciendo esto a propósito, sino que las técnicas que se usan hoy tanto por Google como por el resto del mundo están basadas sobre un volumen enorme de textos y evidentemente en esos textos están reflejados estos estereotipos, lo que hace que inevitablemente las máquinas los adopten también.
Y para probar esto lo que Rachel muestra es que usando Word2Vec que es una librería de incrustaciones de palabras publicada por Google. Se puede ir consultando la distancia entre palabras para ver cuán relacionadas están dos palabras.
Entonces por ejemplo si consultas la distancia entre perro y cachorro te da que son cercanas, en cambio al consultar la distancia entre gato y avión están muy alejadas.
Y bueno si vas probando con muchos pares de palabras vas encontrando como van capturando las relaciones, por ejemplo España y Madrid van a ser cercanas al igual que Italia y Roma.
Y probando y probando te vas a encontrar con el sesgo. Por ejemplo ella muestra que la Hombre y genious (genio en ingles) es mas cercana que mujer y genious.
Y con esto es como se llega a que Google Translate termine cambiando el género en ese ida y vuelta de idiomas.
Con esto de las asociaciones de palabras hay investigaciones al respecto y salta a la luz como los textos escritos por la humanidad están repletos de prejuicios raciales y de género.
Ahora fíjense cómo esto puede también impactar en otro tipo de situaciones, ella cuenta de un sistema que clasifica restaurantes basándose en las reseñas y que clasificó más bajo a los restaurantes mexicanos porque en las incrustaciones de palabras había connotaciones negativas con los mexicanos.
Esto la verdad que me deja re pensando en qué otros lugares puede estar pasando esto también. Posicionamiento web tal vez? Vaya uno a saber!
El tema es que ella en su charla antes de pasar a posibles soluciones a estos problemas explica que muchas veces cuando habla de estos sesgos recibe comentarios como porque habría que hacer algo si estos sesgos lo único que hacen es reflejar la realidad del mundo o porque como ingenieros o científicos de datos tenemos responsabilidad en esto.
El aprendizaje automático puede amplificar el sesgo
El primer tema que resalta es que como ya habíamos hablado alguna vez en el podcast, el aprendizaje automático puede amplificar el sesgo. Si no lo recuerdan pueden buscar el episodio que se llama “Efectos colaterales en sistemas de recomendación”.
El segundo tema que resalta es la ética. Por ejemplo en el caso del sistema usado para determinar la fianza o la libertad condicional, algunas de las entradas del modelo eran datos como si tus padres se habían separado, ¿que edad tenias cuando eso paso?, si tu padre había sido arrestados alguna vez…
Estos son datos de cosas que pasaron cuando eran niños y son cosas sobre las que no tenían control. ¿Entonces no es poco ético que esos datos sean usados para determinar tu fianza o tu libertad condicional?
Entonces tenemos que tener en cuenta esas responsabilidades y pensar como lo que estamos haciendo puede afectar al mundo.
Y bien ahora si, yendo a las posibles soluciones, en cuanto a los problemas de visión por computadora y específicamente en el caso del reconocimiento de caras, una posible solución sería usar un conjunto de datos de entrenamiento que sea más representativo.
Para esto los mismos estudiantes que analizaron el problema crearon un conjunto de datos más representativo de hombres y mujeres con diferentes tonos de piel, el sitio es gendershades.org y creo que se puede hacer un pedido para usar ese conjunto de datos.
Otro recurso interesante es un documento que se llama hojas de datos para conjuntos de datos (Datasheets for datasets), donde se dan algunas pautas para crear conjuntos de datos y también algunas sugerencias de datos que deberían adjuntarse a los conjuntos de datos para que quien vaya a usarlos sepa cómo fueron recolectados, de que está compuesto, como se podría mantener y actualizar ese conjunto de datos, que consideraciones legales y éticas habría que tener.
Así que es un muy bien recurso para quien le interese este tema.
Otra de las posibles soluciones propuestas por Rachel es “No maximizar algunas métricas” y esto lo cuenta con el ejemplo de la red social Meetup.
Ellos habían detectado de que los hombres estaban más interesados en Meetups técnicos que las mujeres.
Sin embargo decidieron no hacer nada con eso porque sentían que podía llevarlos a un círculo de retroalimentación descontrolado porque si empezaban a recomendar menos Meetups técnicos a las mujeres, tal vez menos mujeres vayan a Meetups técnicos, entonces después les vas a recomendar aún menos meetups técnicos, y al final esto puede terminar haciendo que directamente ninguna mujer se entere de los meetups técnicos.
Entonces decidieron no maximizar esta métrica. Y me parece genial. Es un lindo ejemplo para comentar lo que puede pasar.
Después otro de los temas que menciona en cuanto a la concientización y responsabilidad ética es que recomienda hablar con expertos en el dominio de lo que hayas desarrollado y también con afectados.
Esto relacionado a que en el mundo real que es complicado y desordenado, a veces las cosas no salen como uno espera que salga.
Y acá cuenta de un científico de una organización de derechos humanos que organizó una sesión e invitó a un abogado público de esos que el estado asigna a las personas que no tienen un abogado y no pueden pagarlo y tambien a una persona inocente que habia sido arrestada y no podia pagar la fianza.
En esa sesion hablaron del impacto que tenia el algoritmo del sistema legal y como es de importante que como programadores podamos hablar con personas que entiendan bien el problema en el que estamos trabajando pero desde otro punto de vista.
Otro de los temas interesantes que menciona es en pensar de antemano en como podría ser utilizado nuestro algoritmo o nuestros datos para un uso malicioso, por ejemplo trolls, acosadores, gobiernos autoritarios, hackers.
Acá por ejemplo a Facebook le pasó y seguramente le sigue pasando con temas de propaganda política y desinformación, y la extracción de una enorme cantidad de datos en el caso de Cambirdge Analitica.
Así que la cosa es que está bueno pensar en todas esas cosas que pueden salir mal y tenerlas en cuenta antes de que nos pasen.
Y con esto terminamos este episodio. El último de esta temporada 2019.
Espero que lo hayan disfrutado, y que hayan disfrutado tanto como yo después de estos 12 meses de podcast la verdad que me encantó hacerlo, me encantó estar en contacto con los que me escribieron personalmente.
Quiero aprovechar para agradecer a todos los que fueron dejando sus reseñas de 5 estrellas en Apple Podcast o sus comentarios y me gusta en ivoox ya que ese tipo de acciones son las que ayudan a que este podcast llegue y pueda ser descubierto por más personas.