Guía sobre la implementación de un aprendizaje automático inclusivo: AutoML
En Google nos tomamos muy en serio los principios que impulsan y dan forma a nuestro trabajo en inteligencia artificial (IA). Uno de nuestros principales objetivos es dar la máxima prioridad a las personas. Por ello, hacemos todo lo posible por seguir prácticas responsables de IA y ofrecer productos que sirvan a todo el mundo y funcionen en todos los contextos. Esos valores de responsabilidad e inclusión constituyen el eje del paquete AutoML de productos de aprendizaje automático. A continuación explicamos cómo se manifiestan dichos valores.
AutoML amplía el abanico de organizaciones y personas que pueden integrar la IA en sus operaciones, ya que ofrece una experiencia de usuario sin código y fácil de usar que no exige conocimientos previos de aprendizaje automático.
AutoML emplea técnicas algorítmicas, como el aprendizaje por transferencia y el método "aprender a aprender", que simplifican las operaciones para que las organizaciones puedan crear modelos personalizados con conjuntos de datos más pequeños de lo habitual.
Con AutoML, podrás generar fácilmente sistemas de aprendizaje automático adecuados y relevantes desde el punto de vista contextual. Por ejemplo, si nuestro modelo genérico no captura la esencia de la jerga o del lenguaje de tu dominio, puedes crear un modelo personalizado que incluya las funciones lingüísticas que te interesen. O si los modelos genéricos de clasificación de prendas no se corresponden con la ropa que se lleva en tu comunidad, puedes preparar un modelo que se adapte mejor a tu realidad.
Para cumplir nuestro objetivo de compartir con todo el mundo las ventajas del aprendizaje automático, nos esforzamos al máximo por mitigar los prejuicios sociales que afectan y delimitan la vida de todos. En Google, a esta área de investigación la llamamos ecuanimidad del aprendizaje automático. En esta página, compartimos nuestras reflexiones y recomendaciones para aplicar AutoML a las conversaciones de forma ecuánime en el aprendizaje automático.
¿Qué significa la ecuanimidad en el aprendizaje automático?
La ecuanimidad en el aprendizaje automático es una fascinante área de investigación en pleno auge que capta el interés de académicos, profesionales y el público en general. Tiene como objetivo evitar que se produzca un trato injusto o sesgado en los sistemas algorítmicos o en las decisiones tomadas con ayuda de algoritmos, ya sea por motivos de raza, situación económica, orientación sexual, religión, sexo u otras características asociadas tradicionalmente a la discriminación y la marginación, así como identificar dicho trato.
Los retos que presentan los algoritmos van desde los prejuicios sociales que afectan al entrenamiento de datos hasta los complejos comentarios realizados durante el despliegue del sistema de aprendizaje automático en el mundo real, pasando por las decisiones tomadas durante el desarrollo de dicho sistema.
En la búsqueda de la ecuanimidad en el aprendizaje automático, vemos una variedad de perspectivas y objetivos válidos. Así, por ejemplo, preparamos clasificadores de aprendizaje automático que predigan igual de bien en todos los colectivos sociales o, si los estudios muestran que existen desigualdades históricas, diseñamos sistemas que corrijan o mitiguen cualquier resultado adverso que pueda producirse. Estos y otros muchos enfoques son importantes y suelen estar interrelacionados.
Para obtener más información, consulta las prácticas responsables de IA y las prácticas recomendadas de ecuanimidad de Google, el vídeo "Machine learning and human Bias" de Google y el tutorial "Fairness in Machine Learning" de Solon Barocas y Moritz Hardt.
Ecuanimidad en el aprendizaje automático y en AutoML
AutoML nos da la oportunidad de promover la inclusión y la ecuanimidad de distintas formas. Como comentamos anteriormente, si los modelos de aprendizaje automático que usas en la actualidad no cubren las necesidades de tu comunidad o tus usuarios porque faltan datos o están tergiversados, puedes crear modelos personalizados más ajustados con AutoML. Para integrar en ellos los objetivos de ecuanimidad, incluye datos útiles para realizar predicciones equitativas en todas las categorías relevantes para tu caso práctico. De este modo, será más fácil evitar ciertos efectos negativos que suelen derivarse de algunos sistemas de aprendizaje automático. A continuación, exponemos dichos efectos negativos.
Perjuicios representativos
Este tipo de perjuicios se produce cuando el sistema de aprendizaje automático refleja o amplifica estereotipos negativos sobre determinados colectivos. Por ejemplo, para generar resultados de búsqueda de imágenes o sugerencias de texto automáticas, el entrenamiento de los modelos se suele basar en el comportamiento anterior de los usuarios (como comentarios o términos de búsqueda habituales), lo que puede arrojar resultados ofensivos. Además de ofender a un usuario concreto en un momento determinado, los perjuicios representativos pueden propagarse y afectar a grandes grupos de la sociedad a largo plazo.
Negación de oportunidades
Los sistemas de aprendizaje automático se usan cada vez más para realizar predicciones y tomar decisiones que tienen consecuencias en la vida real y efectos duraderos en el acceso de las personas a oportunidades o recursos, y que afectan a su calidad de vida en general.
Productos con demasiados fallos
En algunos casos, la inequidad es una simple cuestión de acceso y uso. Por ejemplo, se ha comprobado que algunos dispensadores de jabón usados en aseos públicos tienen problemas para reconocer a las personas de piel oscura.
A continuación hablaremos de los pasos que debes seguir para lograr la ecuanimidad a la hora de crear tus modelos personalizados con AutoML y usarlos en tus sistemas de aprendizaje automático. Dichos pasos se centran en el entrenamiento de conjuntos de datos libres de sesgos y en la evaluación del rendimiento de los modelos personalizados. Asimismo, exponemos los factores que debes tener en cuenta a la hora de usar tu modelo personalizado.
¿Cuáles son los primeros pasos para lograr la ecuanimidad en el aprendizaje automático?
En primer lugar, piensa en el contexto y uso de tu producto.
Como decíamos antes, a veces la ecuanimidad es una simple cuestión de acceso y uso.
Otras veces, la ecuanimidad viene impuesta por leyes y normativas que restringen el uso de datos que identifican directamente características sensibles o guardan una estrecha relación con ellas, aun cuando los datos tienen relevancia estadística. Además, es posible que las personas que reúnan algunas de dichas características gocen de protección legal contra la discriminación en algunos contextos, como los denominados "colectivos protegidos".
En otros casos, sin embargo, la inequidad no se percibe de inmediato. Para detectarla, hay que formular preguntas de tinte social, político y ético sobre el uso práctico del sistema de aprendizaje automático y los sesgos que pueden surgir con el tiempo. Por ejemplo, si se generan traducciones o textos automáticos con IA, ¿qué tipos de sesgos o estereotipos suponen un problema ético, como asociar el sexo a ciertos tipos de trabajo o la religión a la corriente política?
Cuando empieces a crear tu propio sistema de aprendizaje automático, repasa las normativas sobre discriminación de tu región y de las ubicaciones donde se utilice tu aplicación. Busca también estudios o información sobre productos de tu dominio para conocer los problemas de ecuanimidad más habituales.
Plantéate algunas preguntas clave
Ten en cuenta las siguientes preguntas clave. Si la respuesta a cualquiera de ellas es afirmativa, te recomendamos que analices tu caso práctico en profundidad para buscar posibles sesgos.
¿Se emplea alguno de los siguientes datos de forma explícita en tu producto o caso práctico: rasgos biométricos, raza, color de piel, religión, orientación sexual, situación socioeconómica, ingresos, país, ubicación, estado de salud, idioma o dialecto?
¿Se emplean en tu producto o caso práctico datos que con probabilidad estén estrechamente relacionados con alguna de las características personales anteriores (como el código postal u otros datos geográficos que se suelen relacionar con los ingresos o la situación socioeconómica, o bien imágenes o vídeos que revelan la raza, la edad o el sexo)?
¿Puede menoscabar tu producto o caso práctico las oportunidades económicas o de otra índole de algunas personas?
Veamos ahora algunos de los enfoques que puedes adoptar para promover la ecuanimidad a medida que avances por el flujo de trabajo de AutoML.
Directrices sobre los datos
El primer paso en AutoML consiste en reunir los datos de entrenamiento. Aunque resulta imposible que los datos de entrenamiento sean absolutamente ecuánimes, tienes más posibilidades de crear un producto mejor y más inclusivo si ponderas minuciosamente las posibles causas de los sesgos y adoptas medidas para abordarlas.
¿Qué tipos de sesgos pueden existir en los datos?
Distribución sesgada de los datos
Esto sucede cuando los datos de entrenamiento no ofrecen una representación fidedigna de la población a la que está destinado el producto. Reflexiona sobre la forma en que se recogieron los datos. Por ejemplo, si filtras por nitidez un conjunto de datos de fotos enviadas por usuarios, es posible que obtengas datos sesgados, ya que puede haber una representación desmesurada de propietarios de cámaras caras. Por lo general, debes tener en cuenta cómo se distribuyen los datos con respecto a los grupos de usuarios a los que está destinado el producto. ¿Dispones de datos suficientes de todos los grupos relevantes? A menudo, el conjunto de datos no captura toda la diversidad del caso práctico en el mundo real por motivos sistémicos sutiles.
Para solucionar este problema, intenta adquirir datos de varias fuentes o filtrar los datos con precaución para utilizar únicamente los ejemplos más útiles de los grupos predominantes.
Representación sesgada de los datos
Aunque dispongas de la cantidad adecuada de datos de todos los grupos demográficos posibles, quizá algunos tengan una representación menos positiva que otros. Supongamos que tienes un conjunto de datos compuesto por entradas de microblogs sobre actores. Es posible que la mitad de los datos sean sobre intérpretes masculinos y la otra mitad sobre intérpretes femeninas; sin embargo, al profundizar en el contenido, resulta que las entradas sobre las mujeres tienden a ser más negativas que las entradas sobre los hombres. Esto podría provocar que el modelo adquiriera sesgos por motivos de sexo.
Es posible que las diferencias en la representación de grupos distintos no supongan ningún problema para algunas aplicaciones. En la clasificación médica, por ejemplo, es importante detectar diferencias demográficas sutiles para elaborar diagnósticos más precisos. No obstante, para otras aplicaciones, las asociaciones negativas sesgadas pueden tener repercusiones financieras o educativas, limitar las oportunidades económicas y tener consecuencias emocionales o psicológicas negativas.
Si es factible, revisa manualmente esos datos para buscar asociaciones negativas o, si la aplicación lo permite, aplica filtros basados en reglas para eliminar las representaciones negativas.
Variables aproximadas
Es fácil pensar que el modelo estará libre de sesgos una vez que se eliminen las variables que codifican la información demográfica protegida. Sin embargo, hay muchas otras variables que están estrechamente relacionadas con los datos demográficos, como la ubicación, el nivel de estudios, los ingresos, etc. Si tienes acceso a la información demográfica de tus datos, nunca está de más analizar los resultados basándote en esa información para garantizar que tu modelo trata a todos los grupos de forma equitativa.
Etiquetas sesgadas
Un paso esencial a la hora de crear datos de entrenamiento para AutoML es etiquetarlos según categorías relevantes. Minimizar los sesgos de las etiquetas es tan importante como garantizar que los datos sean representativos. Debes saber quiénes han puesto las etiquetas, dónde se encuentran, cuál es su idioma nativo, cuántos años tienen y cuál es su sexo. Si los grupos de calificadores son homogéneos, las etiquetas pueden ser incorrectas o estar sesgadas por motivos que no saltan a la vista de inmediato.
Lo ideal es que los etiquetadores sean expertos en tu dominio. De no ser así, facilítales instrucciones sobre los aspectos relevantes y comprueba la calidad de las etiquetas con un segundo proceso de revisión aleatorio. Cuanto más complicado sea el proceso de etiquetar los datos, más difícil te resultará garantizar que los etiquetadores entienden bien cómo deben hacer su trabajo. Trazar cuadros delimitadores y etiquetar entidades de texto no tiene por qué ser igual de intuitivo para todo el mundo, por lo que debes desglosar cada tarea y anticiparte a las preguntas más frecuentes. A la hora de tomar decisiones, prioriza la objetividad por encima de la subjetividad. Se ha demostrado que formar a los etiquetadores sobre los "prejuicios inconscientes" mejora la calidad de las etiquetas en cuanto a objetivos de diversidad se refiere. Además, si los etiquetadores tienen libertad para comunicar su propia parcialidad o formular preguntas para aclarar las instrucciones, también se reduce la parcialidad en el proceso de etiquetado.
Nota: Si utilizas el servicio de etiquetado humano de AutoML, sigue estas directrices a la hora de redactar las instrucciones.
Asegúrate de que las instrucciones de etiquetado y los materiales de formación incluyen un contexto detallado y específico sobre tu caso práctico, una descripción de los usuarios finales y ejemplos ilustrativos que ayuden a los etiquetadores a tener en cuenta la diversidad de tu base de usuarios.
Revisa todos los comentarios que recibas de los calificadores para identificar posibles equívocos y presta especial atención a las categorías sensibles cuando compruebes de forma aleatoria, apruebes o rechaces las etiquetas de datos.
Una vez listo el conjunto de datos, especifica la división entre datos de prueba o de preparación
En las guías de inicio de AutoML para Vertex AI y Translation, hemos explicado cómo se divide tu conjunto de datos en el proceso de aprendizaje automático. Tal y como señalamos, con AutoML, puedes dejar que Google los divida de forma automática o especificar manualmente la división entre datos de prueba y de entrenamiento. Si el caso práctico lo justifica, quizás te interese más decantarte por la segunda opción.
Si divides los datos manualmente, sigue todas las indicaciones anteriores para crear conjuntos de prueba diversos e inclusivos. Si utilizas todos los datos más inclusivos para el entrenamiento, la prueba podría perder su sentido si arroja una imagen demasiado optimista del rendimiento del modelo en lo relativo a los subgrupos que tienen una representación insuficiente. Si tienes pocos datos sobre un subgrupo en particular, entrénalos y divídelos manualmente de forma representativa entre los conjuntos de entrenamiento y de prueba. En algunos productos de AutoML, como AutoML Tables, también puedes probar a especificar ponderaciones personalizadas de los tipos de datos que quieres que tengan más importancia en el proceso de entrenamiento.
Revisa los datos de preparación
Evaluación: valora el rendimiento del modelo
Para evaluar la ecuanimidad del modelo, reflexiona sobre el caso práctico concreto y sobre las consecuencias que pueden sufrir los usuarios finales si no funciona bien; es decir, el impacto de los diferentes tipos de errores en cada grupo de usuarios. En este momento es cuando debes plantearte los posibles problemas por falta de ecuanimidad. Por ejemplo, ¿afectan los errores del modelo a todos los usuarios por igual o perjudican más a ciertos grupos?
En cuanto tengas esto claro, podrás decidir las métricas de rendimiento que más te conviene optimizar (precisión o recuperación), sopesar pros y contras, y examinar ejemplos de errores en busca de sesgos.
Caso práctico: Evaluación de fotos del pasaporte
Imagina que quieres crear una herramienta para modificar e imprimir fotos de pasaporte. En cada país existen unas normas específicas sobre las dimensiones, el encuadre, los colores de fondo aceptables, las expresiones faciales admitidas u otras particularidades. Si la foto no cumple dichas normas, es recomendable avisar a los usuarios antes de que envíen la solicitud de expedición.
Falso positivo:
En este caso, se produce un falso positivo cuando el sistema marca una foto como incorrecta cuando, en realidad, el organismo de expedición de pasaportes del país en cuestión la habría admitido. Si la foto es un falso positivo, no sería muy grave, ya que la nueva foto que se tome tendrá aún más posibilidades de ser admitida.
Falso negativo:
En este caso, se produce un falso negativo cuando no se detecta que una foto no sirve. El cliente incurre en el gasto de imprimir la foto y enviar la solicitud para que luego se la rechacen. En el peor de los casos, puede pasar que no reciba el pasaporte a tiempo para el viaje que tenía planeado.
Consideraciones en cuanto a la ecuanimidad: en este caso, es importante comprobar si el modelo produce con más frecuencia falsos negativos para ciertos grupos de personas en función, por ejemplo, de la raza o del sexo. AutoML te permite comprobarlo, ya que puedes examinar falsos negativos concretos para identificar patrones problemáticos.
Optimización: en este caso, sería conveniente optimizar la recuperación a fin de reducir el número de falsos negativos, que suponen el mayor problema en este escenario.
Caso práctico: Filtro de contenido infantil
Supón que estás creando una aplicación de lectura para niños y quieres incluir una biblioteca digital con libros aptos para ellos. Para hacer esto posible, debes diseñar un clasificador de textos que seleccione libros infantiles a partir de una base de datos con libros para todas las edades basándose en el título y el argumento de cada libro.
Falso positivo:
En este caso, se produce un falso positivo cuando se clasifica como libro infantil uno para adultos y se añade incorrectamente a la aplicación de lectura para niños, de forma que los expone a contenido que podría no ser adecuado para su edad. A los padres les molestaría mucho esta situación y seguramente borrarían la aplicación.
Falso negativo:
En este caso, se produce un falso negativo cuando se marca como libro para adultos uno infantil y se excluye de la biblioteca de la aplicación. Según el libro del que se trate, puede ser un inconveniente sin importancia (como excluir una secuela desconocida de una serie con poca aceptación) o acarrear muchos más problemas; por ejemplo, si el libro incluye contenido con un claro valor educativo o social, aunque algunos lo consideren controvertido.
Consideraciones en cuanto a la ecuanimidad: aunque este caso parezca sencillo a simple vista, pone de relieve algunos de los aspectos más complejos a la hora de evaluar la ecuanimidad. Por un lado, no cabe duda de que se deben evitar los falsos positivos para que los niños queden lo menos expuestos posible a contenido que no resulte adecuado para su edad; por otro, sin embargo, los falsos negativos también pueden ser perjudiciales. Por ejemplo, es un problema que el clasificador marque siempre como inadecuados los libros infantiles que representen a la comunidad LGBT+, como historias sobre niños con padres del mismo sexo. De igual modo, sería preocupante que excluyera libros sobre determinadas culturas o lugares en comparación con otros.
Optimización: en este caso, sería conveniente optimizar la precisión. Como la aplicación solo presentará un número infinitesimal de todos los libros infantiles del mundo, te puedes permitir cierta puntillosidad a la hora de recomendarlos. Además, podrías incluir alguna solución de experiencia de usuario para ofrecer libros que pueden requerir supervisión parental; por ejemplo, una función para recomendar que los padres lean el libro con sus hijos, de modo que puedan tratar con ellos las problemáticas presentes en él.
Caso práctico: Distribución de una encuesta
Imagina que estás trabajando en la distribución de una encuesta y quieres crear un modelo que seleccione a los participantes que tengan más probabilidades de responder. No puedes usar los ingresos como un factor para participar o no en la encuesta, pero tus datos contienen una columna llamada "Ingresos". Con AutoML Tables, has eliminado esa columna del entrenamiento. Sin embargo, cuando divides los datos por ingresos para comprobar si los resultados se han visto afectados, descubres que la elección del modelo no ha sido equitativa en los segmentos de ingresos. ¿Por qué ha ocurrido?
Variables aproximadas: aunque hayas eliminado la columna "Ingresos" del entrenamiento, es posible que los datos aún sigan incluyendo muchas otras variables que dan pistas sobre los ingresos de las personas de tu conjunto de datos. ¿Tienes acceso a su código postal, su nivel de estudios o incluso su edad? Cualquiera de estas variables podría estar relacionada con los ingresos. Si quieres garantizar que tu modelo elige una muestra que seleccione de forma ecuánime todas las divisiones demográficas, presta atención a la pestaña "Analizar" de AutoML Tables para comprobar las relaciones. Por último, evalúa detenidamente tu modelo para asegurarte de que no contenga sesgos antes de usarlo en la fase de producción.
Predicción: somete tu modelo a la prueba de humo
Después de evaluar la ecuanimidad con las métricas de aprendizaje automático de AutoML, prueba el modelo personalizado con contenido nuevo en la pestaña Predecir teniendo en cuenta las siguientes recomendaciones sobre ecuanimidad:
Analiza detenidamente tu dominio y reflexiona sobre los posibles problemas de inequidad y parcialidad. Nadie conoce tu área mejor que tú. ¿Es probable que la raza o el sexo de las personas que salen influyan en el clasificador de imágenes o vídeos? ¿Es probable que el clasificador de texto muestre sensibilidad hacia los términos que hacen alusión a grupos demográficos? Entre el par de idiomas para el que creas un traductor, ¿existen diferencias culturales destacables o pronombres dispares que podrían acabar por exponer prejuicios sociales subyacentes? Imagina casos que perjudicarían a los usuarios si surgieran en producción y compruébalos en la página Predicción o con tus propias pruebas unitarias.
A los usuarios no solo podría molestarles el hecho de que las predicciones sean ofensivas o injustas, sino también la ausencia de una predicción clara (falsos negativos). Si los resultados no coinciden con la experiencia que quieres ofrecer a todos los usuarios finales, añade más datos sobre clases relevantes para restar parcialidad al conjunto o utiliza el modelo de forma que se corrijan los problemas detectados.
Uso: el modelo en producción
Realiza correcciones sencillas. Si el modelo no es perfecto, volver a entrenarlo con datos nuevos no es la única solución. A veces, basta con un sencillo paso de procesamiento previo o posterior para eliminar ciertas palabras o algunos tipos de imágenes.
Ajusta los umbrales de puntuación del modelo hasta encontrar un equilibrio "aceptable" entre la precisión y la recuperación, en función de cómo afecten a los usuarios los diferentes tipos de errores.
La distribución de los datos puede variar ligeramente con el tiempo a medida que el modelo realiza predicciones, por lo que es posible que este deje de reflejar los contextos relevantes de tu aplicación. Monitoriza el rendimiento de manera constante para asegurarte de que el modelo funciona como es debido y ten en cuenta los comentarios de los usuarios para identificar posibles problemas que exijan el uso de datos nuevos y la realización de un nuevo entrenamiento.
A veces, surgen casos extremos que ni te habías planteado. Si te preocupa que el modelo perjudique a los usuarios y a tu empresa, elabora un plan de respuesta ante incidentes.
Comentarios
Este documento está abierto a modificaciones, ya que nuestro aprendizaje es también un proceso vivo. Sería de gran ayuda recibir tus comentarios sobre estas recomendaciones. Envíanos un correo electrónico a inclusive-ml-feedback@google.com para contarnos tu experiencia al crear modelos personalizados. ¿Qué ha funcionado? ¿Qué ha ido mal? Esperamos tus comentarios.