El chatbot racista de Microsoft


La Prueba Voight-Kampff se utiliza para juntar evidencias para poder cribar entre seres humanos y replicantes en la película Blade Runner. Un conjunto de pruebas en una entrevista cara a cara permite observar las reacciones del individuo en estudio pensado en desenmascarar las reacciones naturales emocionales y físicas de las fingidas. Los replicantes son seres creados artificialmente a imagen y semejanza de los seres humanos. Estos humanos sintetizados tienen una vida acotada y una prohibición de ingresar a la Tierra. Cazar recompensas se abocan a su captura puesto que algunos de ellos se rebelan a su realidad.

Blade Runner es una película de Ridley Scott basado en el libro de Ciencia Ficción de Philip K. Dick "¿Sueñan los androides con ovejas eléctricas?". Uno de los temas principales de esta ficción es el límite entre lo humano y lo artificial. La novela desdibuja las fronteras y las cuestiona. Nos lleva a terrenos en los que investigadores de la inteligencia artificial llevan trabajando décadas. La mímica de las programas de computadoras para parecer humanas. El libro y película navegan en la pregunta si el parecer una persona y poder pasar por ella, es suficiente para considerarla como tal.

Existen, en la  historia de la informática, celebres ejemplos y trabajos sobre programas que intentan simular ser humanos. El último ejemplo fue el conocido Tay.ai que dió a conocer Microsoft. La idea detrás de este desarrollo era crear un programa que sea capaz de "chatear". El objetivo era construir un autómata que se comporte como un joven entre 18 y 24 años de edad capaz de mantener una conversación casual y jovial. "Tay" fue lanzado el 23 de Marzo de 2016 como un usuario de la red social Twitter. La capacidad de interacción prometía la capacidad de dar respuestas inteligentes e ir aprendiendo mientras interactuaba. Un día después abruptamente su cuenta de twitter tuvo que ser dado de baja. La joven twittera artificial se había "transformado" en una "persona" misógina y racista. ¿Cómo pasó eso?

La Prueba Voight-Kampff es un ejercicio ficticio que se basa en la propuesta de Alan Turing conocida hoy día como "Test de Turing". Publicado en el articulo “Computing Machinery and Intelligence” de 1950 intenta dar con un experimento capaz de determinar si una maquina era capaz de pensar. Como el concepto "pensar" no lo podía mensurar en un ejemplo, intenta transformarlo en otro que por carácter transitivo conteste su primera pregunta. Turing razona que el humano es un ser pensante y por lo tanto si un programa de computadora resulta indistinguible a una persona para un entrevistador, debe considerarse al mismo como pensante. El test de turing involucra 3 partes. Un juez que sin ver a los otros participantes debe decidir cual de ellos es una persona y cual una inteligencia artificial. Para hacer eso se vale de realizar una serie de preguntas y analizar las respuestas. Pasado un tiempo debe decidir cual es la computadora y cual es la persona real.

Uno de los primeros programas que se crearon teniendo en mente la posibilidad de charlar fue ELIZA escrito por Joseph Weizenbaum en 1964  (para interactuar con ella se puede entrar aquí). Fue generada para simular ser una terapista. Tenía un set de respuestas limitado e intentaba derivar las conversaciones para que el otro charle. Se negaba a hablar sobre "ella". Funcionalmente  buscaba palabras clave dentro de lo escrito y de encontrarlas las utilizaba para seleccionar una frase prearmada con la posibilidad de personalizarla (Por ejemplo al decir "Estoy contento/triste" posiblemente reponderá "Qué le hace decir que esta contento/triste?"). Eliza de ninguna manera puede pasar el test de turing. Luego de varias series de preguntas y respuestas se hace evidente la falta coherencia y la repetición de elementos.

Dos chatbots interactuando entre si
Años después surgió PARRY de la mano de Kenneth Colby en 1971. En este caso este programa simulaba ser un paciente paranoico esquizofrenico. Siendo agresivo ante algunas preguntas, evadiendo algunas respuestas o construyendo un discurso de persecución. Nuevamente estaba programado a reglas preestabecidas. Para probar el modelo se realizó una prueba de turing utillizando como compañeros de pruebas un conjunto de pacientes con la misma patología de PARRY. El 48% de los expertos que leyeron la transcripción de las conversaciones registradas entre médicos - pacientes no pudieron determinar cual era el humano y cual era la inteligencia artificial. En este caso la patología jugaba en favor del programa puesto que lograba evadirse o justificar sus carencias discursivas.

Un caso similar a PARRY se logro en 2014 con un programa llamado "Eugene Goostman" que simulaba ser un niño de 13 años cuyo segundo idioma era el ingles (y por lo tanto podía no entender las preguntas realizadas). El 33% de los jueces no logró darse cuenta que era artificial. Estos programas crean personalidades ficticias con excusas para tener respuestas o evasivas fuera de lugar. Se programan incluso para dar respuestas con humor o enojo para simular respuestas "humanas".  ¿Esto los hace inteligentes?

Existen muchos investigadores de inteligencia artificial que impugnan el Test de Turing. Simplemente, afirman, que se crean programas adrede que buscan engañar a los jueces y no  inteligentes. Por eso se comenzaron a proponer otros tipos de retos para los programas. Un ejemplo del mismo es el "Winograd Schema Challenge" propuesto por Hector Levesque. Este test se enfoca en realizar preguntas concretas y sin dar la posibilidad de evasivas. Las preguntas tienen la particularidad de tener cierta ambiguedad. Para una persona real con experiencia previa son fáciles de responder. Un ejemplo:
- El trofeo no va a entrar en el bolso marron por que es muy grande. Qué era muy grande? 

    0. El trofeo
   1. El bolso
Las interrogaciones intentan explotar ambigüedades del lenguaje. Presentan 2 respuestas validas sintácticamente pero solamente una de ellas tiene sentido para una persona con comprensión del lenguaje. Se han armado gran cantidad de estas preguntas que se van ampliando en cada competencia (una lista aquí). 
Personas que no pasan el test de turing
¿Significa que un programa que pase el test de  turing y el Winograd y cualquier otro propuesto es inteligente?

John Searle ideó un experimento teórico que llamó "La Habitación china". En esta prueba se imagina una habitación cerrada y aislada del exterior excepto por un conducto pequeño por el que pueden entrar y salir textos escritos en chino. Dentro de la habitación hay una persona que no habla ese idioma, pero que cuenta con un manual de instrucciones extenso y completo que le indica reglas para cada posible entrada determinando que salida se debe emitir. El proceso comienza cuando un hablante del exterior comienza a enviar mensajes escritos y la persona dentro del cuarto comienza a procesarlos. Mirando cada mensaje recibido y siguiendo las reglas obtenidas genera un mensaje de salida. La premisa supone que las reglas son extensivas y permitan superar una prueba de Turing o cualquier otra prueba que implique comprensión de texto y entrega de respuestas coherentes. Para la persona del exterior entonces existe una persona adentro que sabe hablar chino sin problemas. ¿Pero esto es así? La persona del interior no puede precisar absolutamente nada de la conversación en la que participó. Simplemente copió ideogramas de acuerdo a un manual de instrucciones.

De la misma forma, ¿se puede considerar que una máquina que sigue instrucciones puede comprender qué es cocinar si habla de una receta gastronómica? O ¿qué es la poesía si arma un soneto? Simplemente está emitiendo mensajes que no puede realmente comprender.

Regresemos al 23 de Marzo de 2016, con Tay.ai siendo desconectada por comenzar a emitir mensajes discriminatorios. ¿Realmente presenciamos una inteligencia artificial que comprende las afirmaciones qué está realizando? Tomando la habitación china como premisa, la respuesta es negativa. ¿Son sus constructores los que sostienen estos pensamientos? Esta segunda pregunta requiere conocer un poco más como funcionan hoy día estos programas.

Los primeros programas funcionaban con una programación prearmada. Incapaces de modificar su comportamiento de acuerdo a nuevos estímulos (interacción con otras personas). Esto los hacían limitados e incapaces de matices de una conversación. Para solucionar esto se comenzaron a utilizar otros métodos donde el aprendizaje basado en ejemplos genera un modelo desde el cual se selecciona respuestas a preguntas concretas. Existen varias aproximaciones. Desde aquellos que arman un modelo estadístico probabilístico. En ese caso se procesa la frase introducida por el autor y se buscan estadísticamente que respuesta suelen estar asociadas a las palabras ingresadas. Otras aproximaciones comienzan también a generar una red neuronal para entrenar un modelo y decidir la respuesta en base a la salida de la red neuronal. Este último caso es el del chatbot de Microsoft (En el paper "A Diversity-Promoting Objective Function for Neural Conversation Models" se explica técnicamente).

Para generar un modelo se requiere un lote de entrenamiento en forma de frases y las respuestas que estas generan. Para entrenar a Tay.ai se usaron grandes lotes de ejemplos previamente filtrados y ordenados sacados de una base de datos de conversaciones via twitter. Con eso armaron el modelo, lo testearon y lo pusieron en linea. Como parte del modelo y para permitir evolucionar la "personalidad" del mismo, siguió aprendiendo en base a sus interacciones. Inicialmente Tay daba respuestas políticamente correctas (mas allá de ser razonables en el contexto o no). Microsoft acusó que un grupos de usuarios se aprovechó de la capacidad de aprender de su inteligencia artificial y comenzó a mantener conversaciones brindándole las frases racistas, xenofobas y misóginas. Tay simplemente comenzó a agregar en su modelo esas respuestas. Que a medida que se acumularon comenzaron a tener más peso en sus set de respuestas (en un artículo de "The Verge" se cuentan algunos de estos casos).

Existe un dicho en el ámbito informático que dice "Garbage in, garbage out". Es decir que si se alimenta a un algoritmo computacional con datos incorrectos, la salida del programa será incorrecto. En este caso, la falta de previsión del equipo de Microsoft propició el desenlace. Tay comenzó a emitir respuestas "basura" a raíz de su alimentación de frases "basura". Este gran problema incluso ocultó otras falencias de Tay. En el aprendizaje que fue realizando, además de aprender a emitir mensajes reprobables, empezó a emitir conceptos contradictorios. Pudiendo apoyar cierta postura y la contraria pocas conversaciones después. Evidentemente Tay.ai no es conciente de esto. Los autores son culpables, simplemente, de no preveer la malicia y la diversidad de opinión humana.

Tay.ai aun está fuera de linea. Volverá?

Leer parte 4 >>

Comentarios