Ataques adversarios

Definición breve

Los ataques adversarios son técnicas diseñadas para engañar a un modelo de inteligencia artificial mediante pequeñas perturbaciones en los datos de entrada que provocan predicciones incorrectas.

Explicación del concepto

Los ataques adversarios explotan vulnerabilidades en los modelos de aprendizaje automático.

Consisten en introducir modificaciones casi imperceptibles en los datos (por ejemplo, en una imagen) que pueden causar errores significativos en las predicciones.

Aunque los cambios son mínimos para los humanos, pueden alterar completamente la salida del modelo.

Esto revela que muchos modelos no comprenden verdaderamente los datos, sino que dependen de patrones sensibles.

Cómo funciona

El proceso de un ataque adversario incluye:

  1. Seleccionar una entrada válida (por ejemplo, una imagen).
  2. Calcular perturbaciones pequeñas pero estratégicas.
  3. Aplicar esas perturbaciones al dato original.
  4. Obtener una predicción incorrecta del modelo.

Estas perturbaciones se optimizan para maximizar el error del modelo.

Fórmula conceptual

xadv=x+ϵsign(xL(θ,x,y))x_{adv} = x + \epsilon \cdot \text{sign}(\nabla_x L(\theta, x, y))

(Ejemplo del método FGSM)

Tipos de ataques adversarios

1. Ataques de caja blanca

El atacante conoce el modelo y sus parámetros.


2. Ataques de caja negra

El atacante no conoce el modelo internamente.

3. Ataques dirigidos

Buscan forzar una predicción específica.

4. Ataques no dirigidos

Solo buscan causar error en la predicción.

Por qué es importante

Los ataques adversarios representan un riesgo para sistemas de IA.

Impactan en:

  • seguridad de sistemas críticos
  • confiabilidad del modelo
  • despliegue en producción
  • aplicaciones sensibles (salud, vehículos autónomos)

Ejemplo conceptual

Una imagen de un “perro” puede ser modificada ligeramente para que el modelo la clasifique como “gato”, aunque para el ojo humano siga siendo un perro.

Ejemplo en PyTorch

Un ejemplo simplificado de generación de un ataque FGSM:

epsilon = 0.01
x_adv = x + epsilon * x.grad.sign()

Conceptos relacionados

Resumen

Los ataques adversarios son técnicas que explotan debilidades en los modelos de inteligencia artificial mediante perturbaciones pequeñas pero efectivas. Son fundamentales para entender los límites de los modelos y mejorar su seguridad y robustez en entornos reales.