Ética para programadores en el diseño de algoritmos
Aumentan los debates éticos sobre la programación y los algoritmos con sesgos ocultos.
Las posibilidades de la ingeniería genética y la manipulación de genes humanos, han llevado a la bioética a establecer principios de justicia, respeto y autonomía en ese campo, pero ¿cómo determinamos principios éticos para las ciencias de la computación? ¿Hay una ética para programadores en el diseño de algoritmos?
Durante nuestra formación universitaria como profesionistas en tecnología, ciencias computacionales y otras áreas relacionadas, los ingenieros cursamos asignaturas que van desde cálculo, física y estadística, hasta diseño y construcción de software y el desarrollo de programación avanzada.
En este sólido currículo, la ética usualmente ocupa un lugar optativo y complementario, con apenas alguna asignatura en todo el plan de estudios. Y luego, ya en el mundo laboral, enfrentamos dilemas morales que sin duda impactan en nuestras tareas de programación. En cada algoritmo que desarrollamos, mientras más elaborado, es mayor el reflejo de nuestros prejuicios o suposiciones erróneas.
Los debates éticos en el ámbito de la programación son más habituales de lo que pensamos; por eso han surgido grupos y organizaciones como la Red en Defensa de los Derechos Digitales, que monitorean las implicaciones sociales del mundo digital.
Comencemos con el ejemplo de una plataforma bien conocida por todos: YouTube. El algoritmo de YouTube está diseñado para mantener la atención del usuario mediante videos recomendados que muestran publicidad constante. Ese es el propósito del algoritmo: lograr la permanencia del usuario en la plataforma y con ello la generación de ingresos por publicidad.
YouTube se inició como una plataforma de entretenimiento, aunque en la última década se ha convertido en una importante fuente de información. Desde el comienzo, su algoritmo no fue diseñado para destacar el contenido de calidad, sino para dar prioridad a los videos virales que generan una reacción emocional en la audiencia.
Otro ejemplo más reciente, que muestra sesgos ocultos transferidos a un programa, es el algoritmo SyRI (System Risk Indication) —no lo confundamos con Siri, el asistente de Apple—. Desde el 2014, SyRI era implementado en los Países Bajos por el Ministerio de Asuntos Sociales y Empleo, para determinar quién tiene más probabilidades de defraudar a la Administración.
Por fortuna, a principios de este año dicho algoritmo fue vetado, porque tuvo efectos no deseados como estigmatizar y discriminar a la ciudadanía. Este es un ejemplo de un algoritmo utilizado para reducir la carga de trabajo de algunos gobiernos. Se adoptó porque reduce los costos y errores humanos puntuales; sin embargo, se necesita un riguroso proceso de evaluación para depositar decisiones de gobierno en algoritmos que, desde su diseño, pueden tener algún sesgo no evidente.
Si el gran poder de los algoritmos conlleva una gran responsabilidad, ¿no deberíamos los programadores hacer un juramento ético? Para acercarnos a la respuesta, algunos filósofos (como Abby Everett Jaques) han recomendado a los programadores reflexionar sobre nuestros valores éticos, porque nosotros somos el vínculo entre el desarrollo tecnológico y la sociedad.
Hoy podríamos estimar los resultados que tienen nuestros algoritmos en cada una de las esferas sociales, pero pensar que los límites éticos deban ser una consideración individual, propia sólo de los programadores, es un argumento válido únicamente en proyectos individuales y de pequeña escala.
En realidad, cuando un programador colabora en un equipo grande y complejo de una compañía multinacional o un corporativo gigante, apenas realiza una parte del algoritmo, un módulo o un pequeño complemento, y no necesariamente conoce el objetivo del algoritmo en su totalidad.
En el diseño del algoritmo central usualmente participan personas con intereses diversos, un amplio espectro que engloba la ética de cada participante. Surgen entonces algunas situaciones donde es difícil distinguir lo que es ético y lo que no lo es, desde el punto de vista únicamente del programador.
Lograr una colaboración eficaz en el diseño de un algoritmo, exige entonces plantear el tema desde temprana edad, en busca de sensibilizar a una gran diversidad de estudiantes. No es coincidencia que “Ethic” sea el nombre de la protagonista de la serie Think Like A Coder.
Esta serie de 10 episodios en YouTube, es una de varias iniciativas que trasladan la reflexión de los párrafos anteriores hacia los niños y jóvenes, para llevarlos a pensar en las consecuencias de sus decisiones y en cómo impactan en los demás.
Lo que podríamos llamar la “empatía con el usuario”, se ha vuelto entonces un factor importante para los aprendices de programación, ya sea que en el futuro se desempeñen o no en esta profesión. El hecho de considerar la empatía en un proceso de diseño es un primer acercamiento a la ética algorítmica.
En los colegios podemos ofrecer una simulación de la realidad con un ejercicio como el siguiente:
Cada estudiante de programación necesita trabajar en colaboración con otros para que lo ayuden a mantener una sensibilidad ética. Lo ideal es que un equipo diverso sea el que decida si un chatbot puede utilizar un determinado vocabulario o no.
De esa manera, los colaboradores toman el rol de un sensor lingüístico que busca mejorar el desarrollo del chatbot. El resultado es entonces producto de la colaboración del equipo, ya que cuando la decisión la toma sólo el programador, el desarrollo puede tener un sesgo no evidente.
Por último, de nuestro ejemplo en el colegio podemos rescatar tres momentos de reflexión entre los objetivos de lo que el estudiante va a lograr:
- Identificar quién es el usuario. Lo que permitirá reunir las características de la población objetivo.
- Reconocer qué necesita el usuario. Esto ayuda a detectar un problema con sus delimitaciones.
- Presentar una propuesta de solución. Ahí se reflejará el nivel de empatía con el usuario.
Estos primeros pasos en un proceso de diseño, demuestran ser un momento de metacognición en el estudiante, y todos los que estamos de algún modo involucrados en el sector de la programación, sabemos de las implicaciones éticas que puede tener el diseño de un algoritmo en nosotros mismos, los usuarios.
Con información de:
—Algo humano: la ética en el diseño de las aplicaciones de voz. (31 de 10 de 2019). En Reason Why:
https://www.reasonwhy.es/actualidad/evento-voicexmeetup-asistentes-voz-etica-inteligencia-artificial
—Ferrer, I. (13 de Febrero de 2020). Países Bajos veta un algoritmo acusado de estigmatizar a los más desfavorecidos. En El País: https://elpais.com/tecnologia/2020/02/12/actualidad/1581512850_757564.html
—McAlpine, L. (30 de Septiembre de 2019). Learn to “Think Like A Coder” with our new series. Obtenido de TED Ed: https://blog.ed.ted.com/2019/09/30/learn-to-think-like-a-coder-with-our-new-series/
—Jaques, A. E. (2019). Ethical AI by Design. (K. Martineau, Entrevistador)