Adversarial Attacks
Explora cómo los ataques adversarios manipulan los modelos de aprendizaje automático. Aprende sobre las estrategias de caja blanca y caja negra, los riesgos para la seguridad de la IA y la defensa con Ultralytics YOLO26.
Los ataques adversariales son una categoría sofisticada de técnicas de manipulación diseñadas para engañar a los modelos de aprendizaje automático (ML) y hacer que realicen predicciones incorrectas con un alto nivel de confianza. Estos ataques funcionan introduciendo perturbaciones sutiles, a menudo imperceptibles, en los datos de entrada, como imágenes, audio o texto. Aunque estos cambios parecen inofensivos o aleatorios para un observador humano, explotan vulnerabilidades matemáticas específicas en las fronteras de decisión de las redes neuronales de alta dimensionalidad. A medida que los sistemas de inteligencia artificial (AI) se vuelven esenciales para las infraestructuras críticas para la seguridad, entender cómo funcionan estas vulnerabilidades es fundamental para desarrollar protocolos sólidos de seguridad de la IA y mecanismos de defensa.
Cómo funcionan los ataques adversariales#
En un proceso habitual de entrenamiento de aprendizaje profundo (DL), un modelo optimiza sus pesos para minimizar el error en un conjunto de datos de entrenamiento. Sin embargo, estos modelos crean esencialmente mapas complejos en un espacio multidimensional. Un ataque adversarial calcula la «dirección» precisa necesaria en este espacio para empujar una entrada a través de una frontera y cambiar la clasificación del modelo. Por ejemplo, en visión artificial (CV), cambiar los valores de los píxeles de una imagen de un panda mediante una cantidad calculada de «ruido» podría hacer que el sistema la clasificara erróneamente y con gran confianza como un gibón, aunque la imagen siga pareciendo exactamente un panda al ojo humano.
Las estrategias de ataque suelen clasificarse según el nivel de acceso que tenga el atacante al sistema objetivo:
- Ataques de caja blanca: El atacante tiene plena visibilidad de la arquitectura, los gradientes y los pesos del modelo. Esto le permite calcular matemáticamente la perturbación más eficaz, a menudo mediante técnicas como el Método del signo del gradiente rápido (FGSM).
- Ataques de caja negra: El atacante no conoce los parámetros internos del modelo y solo puede observar las entradas y salidas. A menudo, los atacantes utilizan un «modelo sustituto» para generar ejemplos adversariales que se transfieren eficazmente al sistema objetivo, una propiedad conocida como transferibilidad.
Aplicaciones y riesgos en el mundo real#
Aunque suelen tratarse en investigaciones teóricas, los ataques adversariales plantean riesgos tangibles para las implementaciones del mundo real, especialmente en sistemas autónomos y de seguridad.
- Vehículos autónomos: Los coches autónomos dependen en gran medida de la detección de objetos para interpretar las señales de tráfico. Las investigaciones han demostrado que aplicar pegatinas o cinta cuidadosamente diseñadas a una señal de stop puede engañar al sistema de visión del vehículo y hacer que la perciba como una señal de límite de velocidad. Este tipo de ataque en el mundo físico podría provocar fallos peligrosos en las aplicaciones de IA en el sector de la automoción.
- Evasores del reconocimiento facial: Los sistemas de seguridad que controlan el acceso mediante datos biométricos pueden verse comprometidos por «parches» adversariales. Pueden ser patrones impresos que se llevan en gafas o prendas de vestir y que interfieren en el proceso de extracción de características. Esto permite que una persona no autorizada evite completamente la detección o suplante la identidad de un usuario concreto, eludiendo los sistemas de alarma de seguridad.
Generación de ejemplos adversariales en Python#
Para entender hasta qué punto pueden ser frágiles algunos modelos, resulta útil observar con qué facilidad se puede perturbar una imagen. Aunque la inferencia estándar con modelos como YOLO26 es sólida para un uso general, los investigadores suelen simular ataques para mejorar la supervisión de modelos y la defensa. El siguiente ejemplo conceptual utiliza PyTorch para mostrar cómo se emplean los gradientes para calcular una perturbación adversarial (ruido) para una imagen.
import torch.nn.functional as F
# Assume 'model' is a loaded PyTorch model and 'image' is a normalized tensor
# 'target_class' is the correct label index for the image
def generate_adversarial_noise(model, image, target_class, epsilon=0.01):
# Enable gradient calculation for the input image
image.requires_grad = True
# Forward pass: get prediction
output = model(image)
# Calculate loss based on the correct class
loss = F.nll_loss(output, target_class)
# Backward pass: calculate gradients of loss w.r.t input
model.zero_grad()
loss.backward()
# Create perturbation using the sign of the data gradient (FGSM)
# This pushes the image in the direction of maximizing error
perturbation = epsilon * image.grad.data.sign()
return perturbationConceptos relacionados#
Es importante distinguir los ataques adversariales de otras formas de fallo o manipulación de modelos:
- Envenenamiento de datos: A diferencia de los ataques adversariales, que manipulan la entrada durante la inferencia (en la fase de prueba), el envenenamiento de datos consiste en corromper los datos de entrenamiento antes de crear el modelo, incorporando puertas traseras o sesgos ocultos.
- Inyección de prompts: Esto es específico de los modelos de lenguaje grandes (LLM) y de las interfaces de texto. Aunque es conceptualmente similar —engañar al modelo—, se basa en la manipulación semántica del lenguaje en lugar de en la perturbación matemática de los datos de píxeles o señales.
- Sobreajuste: Se trata de un fallo de entrenamiento en el que un modelo aprende el ruido de los datos de entrenamiento en lugar del patrón subyacente. Los modelos sobreajustados suelen ser más susceptibles a los ataques adversariales porque sus fronteras de decisión son excesivamente complejas y frágiles.
Desarrollar defensas contra estos ataques es un componente fundamental de las MLOps modernas. Técnicas como el entrenamiento adversarial —en el que se añaden ejemplos atacados al conjunto de entrenamiento— ayudan a que los modelos sean más resistentes. Plataformas como Ultralytics Platform facilitan canalizaciones rigurosas de entrenamiento y validación, lo que permite a los equipos evaluar la solidez de los modelos antes de implementarlos en dispositivos periféricos.









