viernes, marzo 18, 2022

"Cognitive Services & Cyber Security: Ideas Locas": Segunda Parte

Como vimos en la primera parte, los Cognitive Services están alcanzando un nivel de madurez muy alto, consiguiendo superar la Paridad Humana en muchas destrezas. También vimos que la forma de atacar estos interfaces es diferente, ya que no se trata de hacer ataques "tradicionales" como inyectar comandos SQL, LDAP, XPath o JavaScript, sino elementos de voz o visuales que hagan que la lógica falle, o que se lleve a la tecnología a problemas de privacidad y seguridad, como vimos en los CVE de Siri.

Figura 11: "Cognitive Services & Cyber Security: Ideas Locas": Segunda Parte

En este artículo queríamos comenzar hablando de los problemas que son fáciles de detectar en estos tipos de servicios cognitivos, y que hay que tenerlos muy presentes antes de ponerlos en producción dentro de una tecnología. Y es que los procesos de Quality Assurance cuando se trata de interfaces cognitivos tienen que ser diferentes. 

Debilidades en Servicios Cognitivos

Lo primero que hay que tener en cuenta es que, cada servicio cognitivo, aun enfocado en la misma destreza, es distinto. Es decir, un Cognitive Service de Google Cloud para Artificial Vision es totalmente diferente que un Cognitive Service de Microsoft Azure para Artificial Vision. Y es que son como dos personas distintas. Han sido entrenados con dos conjuntos de datos, de dos tecnologías similares pero diferentes que han sido configurado el entrenamiento de manera distinta. Así que, cambiar un Cognitive Service de un fabricante a otro no es una tarea trivial.

Figura 12: Cognitive Service de Microsoft Azure de Artificial Vision para 
reconocimiento de celebrities en una foto mía con Kevin Mitnick.

Dicho esto, conocer cómo ha aprendido un Cognitive Service es un problema complejo que estudian los investigadores, generando una rama muy interesante de explicabilidad de modelos AI. Esto es así porque, cuando utilizamos un modelo de aprendizaje, esto es justo eso. Un modelo que aprende solo donde nosotros nos enfocamos en parametrizar el algoritmo de aprendizaje para que sea la máquina la que decida qué debe aprender para construir con éxito una destreza cognitiva. 

Figura 13: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Por eso se llaman algoritmos de "Machine Learning". Es la máquina la que aprende una destreza a partir de un algoritmo de aprendizaje automático parametrizado, y unos datos sobre los que aprender. Los algoritmos de aprendizaje pueden ser supervisados o no supervisados, y de muchos tipos diferentes, pero desde el punto de vista nuestro es importante entender solo que, cada uno de los Cognitive Services que utilizamos es único y que lo que ha aprendido uno no puede ser que lo mismo que ha aprendido otro que realiza la misma destreza.
Y es necesario, por tanto, procesos de QA  para detectar los posibles problemas que pueden generarse. En el caso del Cognitive Service de Análisis de Sentimiento de la imagen anterior, se puede ver que una sola coma cambia el resultado de sentimiento que da. De un sentimiento positivo a uno negativo, en solo una coma. Imaginad el impacto que esto puede causar.

Figura 15: El Cognitive Service de Face Comparation dice que es la misma cara

En otro ejemplo que ya publiqué hace tiempo, el Cognitive Services de Reconocimiento de Celebrities de Microsoft Azure reconoce perfectamente a George Clooney y a mí en unas fotografías. Pero sin embargo, el Cognitive Service de Face Comparation para saber si dos caras son de la misma persona, falla en esta fotografía donde dice que George Clooney y Chema Alonso son la misma persona. Los dos son Cognitive Services de Microsoft Azure, pero han sido entrenados con datos diferentes, y con algoritmos totalmente diferentes porque tienen propósitos diferentes.
En cada uno de los Cognitive Services hay que ver cómo ha sido entrenado el algoritmo para detectar problemas que pueda generar al incorporarlos a nuestra tecnología. Por ejemplo, el Cognitive Service de Google Cloud de Natural Language con Análisis de Sentimiento, nos reconoce a Chuck Norris y a mí en el texto y da un sentimiento negativo, lo cual me parece bien que habla de que me estranguló.

Figura 17: Misma frase en femenino y masculino, diferente scoring

Pero sin embargo, la misma frase en femenino y en masculino en español cambia el sentimiento, de positivo si es mujer - poco - a neutro si es hombre. Así de sensible es el aprendizaje de los Cognitive Services. El motivo, por supuesto, es el curado de los datos, y que no habrá la misma representación de datos de todos los casos, así que cambios tan sensibles pueden afectar a su juicio.

Cognitive Services: Sesgos

Utilizar este tipo de tecnologías en sistemas que pueden afectar a la vida de las personas de manera drástica puede ser arriesgado, ya que pueden contener sesgos o errores peligrosos. En el caso del Cognitive Service de comparación de caras, imaginaos que utilizamos este servicio para reconocer a delincuentes en imagines grabadas, un error podría llevar a una persona equivocada a la cárcel. 

Figura 18: Un algoritmo de Visión Artificial que prefiere la piel clara

Esto, lo vimos también en el algoritmo que aumentaba la calidad de las fotografías, que dependiendo de cómo haya sido entrenado puede blanquear u oscurecer la piel de fotografías, generando hasta sesgos raciales en una herramienta tecnológica.
O en el caso de aplicar el Natural Languaje a los Translation Services donde no se especifica el genero de una profesión, puede llevar a tener un servicio como el Traductor de Google o Microsoft con sesgos de género, y si no se le dice si es un hombre o una mujer en ninguna parte, tiende a traducir "judge" como masculino, "nurse" como femenino, "engineer" como másculino, etcétera. 



Por supuesto, es una tecnología que, aplicada con cuidado, puede ser muy cómoda en nuestras vidas, y que además puede abrir nuevas formas de comunicarnos con la tecnología, reducir la brecha tecnológica, ayudarnos a crear nuevos servicios etcétera. Pero si no cuidamos cómo se crea, tendremos muchos problemas, como recogía el grupo Vocento en el artículo "Los algoritmos machistas de Google".

Figura 22: Gráfico del Uncanny Valley

Pero hay que hacerlo con mucho cuidado, ya que se conoce el efecto que se produce en las personas cuando sienten que es "demasiado" humana una tecnología. El famoso Uncanny Valley, que lleva a adorar que algo imite a los seres humanos, a temer que los pueda reemplazar, sustituir o mejorar en todas las facetas que nos han hecho eso, "humanos".

¡Saludos Malignos!

*****************************************************************************************
*****************************************************************************************

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Entrada destacada

eXtreme Programming (XP) como catalizador del proceso de entrega continua de valor #HackYourCareer @geeks_academy

Allá por el año 2000 , cuando estaba intentando terminar la carrera, me topé con una asignatura cuyo contenido me parecía críptico y sin nin...

Entradas populares