¿Se puede engañar al Deep Learning?

En 2014, Goodfellow publicó un artículo titulado Explicación y aprovechamiento de ejemplos adversarios [1], que mostraba una propiedad intrigante de las redes neuronales profundas: es posible perturbar deliberadamente una imagen de entrada de modo que la red neuronal la clasifique erróneamente. Este tipo de perturbación se denomina ataque adversario. Los ataques adversarios no es un…


En 2014, Goodfellow publicó un artículo titulado Explicación y aprovechamiento de ejemplos adversarios [1], que mostraba una propiedad intrigante de las redes neuronales profundas: es posible perturbar deliberadamente una imagen de entrada de modo que la red neuronal la clasifique erróneamente. Este tipo de perturbación se denomina ataque adversario.

Los ataques adversarios no es un campo nuevo, ni estos ataques son específicos de las redes neuronales profundas. En 2006 se publicó un artículo titulado ¿Puede el aprendizaje automático ser seguro?. Este documento discutió los ataques adversarios, incluidas las defensas propuestas contra ellos. Los mejores modelos de aprendizaje automático de última generación incluían Support Vector Machines (SVM) y Random Forest (RF); se demostró que ambos tipos de modelos eran susceptibles a este tipo de ataques.

Con el aumento de la popularidad de las redes neuronales profundas a partir de 2012, se esperaba que estos modelos altamente no lineales fueran menos susceptibles a los ataques; sin embargo, Goodfellow, entre otros frustraron estas esperanzas. Se ha demostrado que las redes neuronales profundas son susceptibles a ataques adversarios, al igual que sus predecesoras.

Antes de entrar en más detalle de cómo se puede proteger a estos modelos se puede comentar una simple clasificación de los tres tipos de ataques que se contemplan hoy en día según su modelo de amenaza.

Los ataques adversarios existentes pueden clasificarse en ataques de caja blanca, caja gris y caja negra.

La diferencia entre los tres modelos radica en el conocimiento de los adversarios. En el modelo de amenaza de los ataques de caja blanca, los adversarios tienen pleno conocimiento de su objetivo, incluida la arquitectura y los parámetros del modelo. Por lo tanto, se puede crear directamente imágenes adversas en el modelo de destino mediante cualquier medio.

En el modelo de amenaza de caja gris, el conocimiento de los adversarios se limita a la estructura del modelo de destino. En la caja negra, los adversarios solo pueden recurrir a la consulta que da como salida el modelo para generar las imágenes adversas.

En el marco de estos modelos de amenazas, hay una serie de algoritmos de ataque para generar imágenes adversas, como, por ejemplo:

  • Algoritmo de Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
  • El método de signo de gradiente rápido (FGSM)
  • El método iterativo básico (BIM) / descenso de gradiente proyectado (PGD)

Estos algoritmos de ataque están diseñados en el modelo de amenazas de caja blanca. Sin embargo, también son efectivos en muchas cajas grises y negras, ajustando la transferibilidad de las muestras adversas entre modelos.

Las redes neuronales son muy vulnerables a los ejemplos de adversarios, que amenazan su aplicación en sistemas de seguridad, como reconocimiento facial y pilotos automáticos.

El entrenamiento adversario es una de las defensas más investigadas contra estos ataques y tiene como objetivo entrenar un modelo robusto desde cero en un entrenamiento aumentado con datos perturbados (imágenes adversarias ya establecidas). El entrenamiento adversario mejora la precisión de clasificación del modelo en ejemplos contradictorios En algunos pequeños conjuntos de datos de imágenes, incluso mejora la precisión de imágenes limpias.

El entrenamiento adversario requiere más tiempo que entrenar solo con imágenes limpias, porque implica la generación de ejemplos adversarios, los cuales necesitan cálculos adicionales y más épocas de entrenamiento.

Ref: https://miro.medium.com/max/626/1*4GcPQlKRT1mGTwaI18axxQ.png

Otra familia de defensas en ataques adversarios se basa en el llamado efecto de enmascaramiento de gradiente. Estas defensas aplican algunos regularizadores o etiquetas suaves para hacer la salida del modelo menos sensible a la perturbación en la entrada.

Otros investigadores proponen redes contrastivas profundas, que utiliza un término de penalización contrastivo por capas para lograr invariancia de salida a la perturbación de entrada.

Otras opciones es usar redes de saturación para dar robustez a los ruidos adversarios. La función de pérdida está diseñada para fomentar que las activaciones estén en su régimen saturante. El problema básico con estos gradientes de enmascaramiento es que no logran resolver la vulnerabilidad de los modelos a los ataques adversarios, conocidos como ataques de caja negra.

En los últimos años se está investigando este tipo de ataques y hasta el momento no hay respuestas muy concluyentes. Se puede hablar de algunas estrategias no muy efectivas que se han ideado para intentar combatir estos ataques adversarios, estas estrategias se pueden dividir en proactivas y reactivas.

Estrategia Proactiva

La estrategia proactiva consiste en entrenar el modelo con ejemplos adversarios, es decir durante el entrenamiento se introducen imágenes limpias sin modificación y de manera intencional se introducen imágenes contaminadas, es decir ejemplos adversarios para de esta manera enseñar al modelo a identificarlas como imágenes falsas.

Sin embargo, esta estrategia no resulta exitosa debido a la transferibilidad, un atacante podría tener su propio modelo local y diseñar múltiples ejemplos adversarios, posteriormente podría usar estos ejemplos en el modelo remoto al que se desea atacar y tarde o temprano por ser ejemplos transferibles éstos terminarían engañando

Estrategia Reactiva

La estrategia reactiva consiste en ocultar los detalles del modelo al posible atacante. Por ejemplo, en un sistema de clasificación de imágenes como los usados por Google o Microsoft, en lugar de mostrar la distribución de probabilidades para cada categoría, bastaría con ocultar esta información y simplemente mostrar la categoría más probable a la que pertenece la imagen. Con esto el atacante no tendría información de la distribución de probabilidades y resultaría difícil estimar si el ejemplo adversario introducido logra o no cambiar esta distribución de clases. 

Clasificación imágen modelo de Microsoft IA

Aunque este método no es del todo seguro, pues el atacante podría sobre un esquema de fuerza bruta crear múltiples ejemplos adversarios en su propio modelo local y luego ponerlos a prueba en el modelo remoto, tarde o temprano algunos de estos ejemplos lograrían engañar al segundo modelo así que con este tipo de estrategia no tendremos un modelo más robusto, simplemente se hará la tarea un poco más difícil al atacante

Existe una estrategia fiable

Crear un mecanismo de defensa frente a estos ataques adversarios, es una tarea realmente complicada, ya que se trata de una debilidad innata de cualquier modelo de Machine o Deep Learning.

Aunque hasta el momento no existe una estrategia definitiva, algunos investigadores plantean una idea muy interesante planteando el hecho de que la red aprende durante el entrenamiento a identificar dos tipos de características, las robustas y las no robustas.

Se plantea la siguiente hipótesis sobre una red convolucional en la clasificación de imágenes, las características no robustas son aquellas que probablemente para el ser humano no tienen significado alguno o aparentemente no contienen información relevante, pero para los modelos de Deep Learning contienen información altamente predictiva que es esencial al momento de realizar la clasificación.

Para continuar con el detalle de la estrategia, se explica de forma ejemplarizada el concepto de característica robusta y no robusta. Supongamos que se desea usar una red convolucional para clasificar imágenes en dos categorías perros o gatos.

Ref: https://hermit-notebook.site/en/notebook/computer-sciences/artificial-intelligence/machine-learning/taxonomy-of-machine-learning/

Una característica robusta sería aquella que es compartida por ambos animales por ejemplo ambos tienen orejas ojos cabeza y patas, estas características permiten a la red determinar que se trata de un animal, pero no son suficientes para diferenciar un gato de un perro

Una característica no robusta sería un detalle al que por ejemplo los seres humanos no le prestan mucha atención o que incluso ni siquiera logran percibir. Este detalle podría ser por ejemplo la orientación del pelo en los gatos, el cual podría ir hacia los lados y en los perros hacia abajo. Incluso el mismo patrón de las manchas en los perros, usualmente tienen formas más circulares y ocupan mayores zonas del cuerpo y en los gatos muchas veces son simplemente franjas.

La idea central de esta estrategia es precisamente las características no robustas, los detalles más finos muchas veces imperceptibles por los humanos son las más relevantes para los modelos Deep Learning y son las que en definitiva permitirían discriminar un ejemplo real de un ejemplo adversario.

Conclusión

Este es un resultado muy interesante pues indica que probablemente el problema de los ataques adversarios no necesariamente se debe al modelo como tal sino al set de datos que se use para entrenarlo. Esto también explica la transferibilidad de los ataques adversarios, pues si no cambiamos nada en el set de entrenamiento cualquiera que sea la red entrenada, la dependencia de características no robustas seguirá estando presente independientemente de la complejidad del modelo.

Podemos decir que los ataques adversarios son un fenómeno asociado fundamentalmente a la percepción humana, el hecho de que una imagen de una señal de stop ligeramente modificada se clasifique como una señal de ceda el paso, resulta para nosotros incoherente pues a la vista que sigue siendo un Stop, sin embargo, este fenómeno lo que muestra es que muy probablemente las redes neuronales interpretan la información de una forma muy diferente a como los humanos lo hacemos, pues durante el entrenamiento crean una dependencia de características sutiles del dato que son imperceptibles a los ojos de un humano, pero que en últimas pueden terminar siendo explotadas por un ataque adversario, donde al final logra confundir a la red.

Todo esto lo que muestra es que a pesar de los grandes avances que ha tenido la inteligencia artificial en los últimos años aún desconocemos en detalle muchos de los elementos que permiten explicar la forma como estos modelos aprenden a extraer información.

En este sentido falta mucho camino por recorrer

Referencias

Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., & Bengio, Y. (2020). Generative adversarial networks. Communications of the ACM, 63(11), 139–144. https://doi.org/10.1145/3422622