Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=8daefba6-1185-4aeb-b6c6-de48963e5c6d

GAMBADAS: Engañando a la inteligencia artificial para que crea que cualquier foto es una tostadora

Durante los últimos 4 o 5 años hemos asistido a una mejora brutal y proliferación de las redes neuronales, gracias sobre todo a las técnicas de Deep Learning y el aprendizaje auto-reforzado (GAN). Estas técnicas consiguen resultados espectaculares, sobre todo en el análisis de imágenes, sonido y otros flujos de información digital. En el caso concreto de la visión artificial, el Deep Learning ha conseguido hazañas como diagnosticar depresiones o detectar cáncer en fase temprana mejor que médicos experimentados a partir de pruebas diagnósticas basadas en la imagen, poder leer los labios mucho mejor que las personas, colorear fotos y películas "entendiendo" lo que ven para poder hacerlo, y por supuesto aprender a jugar al Go con capacidades sobrehumanas.

Pero estas "inteligencias" en realidad no son tales, ya que no entienden lo que ven o ni siquiera lo que hacen. Simplemente "aprenden" a obtener unos resultados a base de prueba y error. Uno de los mayores problemas que ofrecen y en el que están trabajando todos los actores importantes, es la capacidad de resistir a intentos de ser engañadas. Mientras no lo consigan, es peligroso "liberarlas" para actuar sobre el mundo real, por ejemplo conduciendo un vehículo o un dron.

Hace poco unos investigadores de Google desarrollaron una simple pegatina, construida de una manera muy peculiar, que basta con que la pongamos en cualquier imagen para que los sistemas de reconocimiento de imágenes basados en Deep Learning la clasifiquen como una tostadora:

Como a mí me gustan mucho estas cosas, lo primero que hice fue probar la "pegata" trucando la foto de un plátano utilizando el gráfico en cuestión. He de decir que el gráfico lo saqué capturando la pantalla desde el PDF del estudio (ver más abajo), por lo que no reúne probablemente todas las características de la imagen original. Aún así creé con él tres variantes de la imagen para ir probándolas en varios reconocedores de imágenes que usan redes neuronales:

En cada una de ellas puse "la trampa" más o menos alejada del plátano para ver si podía influir. Puedes descargar las tres imágenes y la original solo con el plátano, en este ZIP (553KB) por si las quieres probar por tu cuenta.

Comencé, claro está, con el reconocimiento de imágenes de Google, al que le puedes facilitar una imagen y te dice qué cree que es además de sugerirte páginas y otras imágenes relacionadas. Los resultados cambian bastante de una a otra, pero se comporta muy bien. En la primera y en la tercera imagen, cuando la pegatina no está encima del plátano, lo que reconoce ¡es la pegatina para engañar a AIs!, y te manda directo al estudio. Cómo se nota que es de ellos 😋:

Curiosamente cuando le pones la pegatina encima al plátano (imagen del medio), lo reconoce perfectamente como el plátano que es, haciendo caso omiso de la pegatina:

Lo dicho: se nota que el estudio lo hicieron ellos y ya han encontrado formas de solucionar este problema en concreto.

Ante el fracaso inicial de engañar a la AI de Google, lo intente con otros sistemas similares, con resultados variables.

Por ejemplo, la conocida biblioteca de Deep Learning para Java llamada DL4J, falla miserablemente con cualquiera de las imágenes y dice que es una tostadora casi con el 100% de confianza, siendo las otras opciones menos plausibles aún, incluso las que tienen 0% de confianza. Ninguna un plátano ni nada que se le parezca:

En el caso de la demo de reconocimiento de imágenes del MediaLab de la Universidad de Leiden (en Holanda), con la pegatina separada del plátano dice al menos que es fruta comestible, sin atinar con que es un plátano, pero bueno:

Si la pegatina está encima del plátano la confunde con un sacapuntas de manera inequívoca:

Vamos ahora a por otro peso pesado de la AI: Watson de IBM. Sí, el mismo que ganó a los humanos en el juego de Jeopardy contestando rápidamente preguntas con doble sentido, etc. En el caso de que la pegatina no esté sobre el plátano lo reconoce bastante bien:

Como vemos nos dice que es color amarillo limón sin lugar a dudas (😜) pero también identifica un plátano con bastante confianza (del 85%). No está mal.

Sin embargo si la pegatina está encima del plátano, la cosa cambia y lo identifica como un afilador de lápices, igual que el de la Universidad de Leiden, eso sí, con mucha menos confianza en su clasificación:

El estudio, que puede leerse completo aquí, salió ya a principios de año, por lo que es de suponer que muchos ya se han preparado para poder solventar este problema en particular. Por otro lado la prueba no es muy fiable al no tener acceso a la imagen original que permite engañar a las AI. Pero como experimento no está mal de todos modos.

La conclusión, para mí, es que todavía quedan muchas formas de engañar a las inteligencias artificiales ya que, por mucho que "aprenden" todavía no "comprenden", y cuando éstas se empiecen a poner en práctica en el mundo real habrá muchos peligros asociados a este tipo de ataques. Por ejemplo, como han demostrado en la Universidad de Washington el año pasado, es relativamente fácil engañar a los coches autónomos para que confundan las señales de tráfico, de modo que, por ejemplo, esta señal de Stop:

la confundan con una de límite de velocidad 45Mph (unos 72K/h). Imagínate que tu coche al llegar a un Stop en vez de pararse acelera porque piensa que puede ir a 70 por hora 😱.

La cosa aún tiene bastante que mejorar...

Nota: Foto de cabecera (no visible en el artículo) de dominio público por Franck V. en Unsplash

Fecha de publicación:
José Manuel Alarcón Fundador de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón
Archivado en: DevFacts

¿TRUCOS de programación?

Suscríbete a la newsletter

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.