Adversarial Attacks
Explora cómo los ataques adversarios manipulan los modelos de aprendizaje automático. Aprende sobre estrategias de caja blanca y negra, riesgos para la seguridad de la IA y defensa con YOLO26 de Ultralytics.
Los ataques adversarios son una categoría sofisticada de técnicas de manipulación diseñadas para engañar a los modelos de machine learning (ML) para que realicen predicciones incorrectas con alta confianza. Estos ataques operan introduciendo perturbaciones sutiles y 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 decision boundaries de las redes neuronales de alta dimensión. A medida que los sistemas de Artificial Intelligence (AI) se vuelven integrales para la infraestructura crítica de seguridad, comprender cómo funcionan estas vulnerabilidades es esencial para desarrollar protocolos de AI safety y mecanismos de defensa robustos.
Cómo funcionan los ataques adversarios#
En un proceso típico de entrenamiento de deep learning (DL), un modelo optimiza sus pesos para minimizar el error en un conjunto de datos de entrenamiento. Sin embargo, estos modelos esencialmente crean mapas complejos en un espacio multidimensional. Un ataque adversario calcula la "dirección" precisa en este espacio necesaria para empujar una entrada a través de un límite, cambiando la clasificación del modelo. Por ejemplo, en computer vision (CV), cambiar los valores de píxel de la imagen de un panda por una cantidad calculada de "ruido" podría hacer que el sistema lo clasifique erróneamente con confianza como un gibón, aunque la imagen siga luciendo exactamente igual a un panda para el ojo humano.
Las estrategias de ataque se clasifican generalmente según el nivel de acceso que el atacante tiene al sistema objetivo:
- White-Box Attacks: El atacante tiene total transparencia sobre la arquitectura, los gradientes y los model weights del modelo. Esto le permite calcular matemáticamente la perturbación más efectiva, a menudo utilizando técnicas como el método del gradiente rápido de signos (FGSM).
- Black-Box Attacks: El atacante no tiene conocimiento de los parámetros internos del modelo y solo puede observar entradas y salidas. Los atacantes a menudo usan un "modelo sustituto" para generar ejemplos adversarios que se transfieren de manera efectiva al sistema objetivo, una propiedad conocida como transferibilidad.
Aplicaciones y riesgos en el mundo real#
Aunque a menudo se discuten en la investigación teórica, los ataques adversarios plantean riesgos tangibles para las implementaciones en el mundo real, particularmente en sistemas autónomos y de seguridad.
- Autonomous Vehicles: Los coches autónomos dependen en gran medida de la object detection 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 alto puede engañar al sistema de visión del vehículo para 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 aplicaciones de AI in automotive.
- Evasores de Facial Recognition: Los sistemas de seguridad que controlan el acceso basándose en la biometría pueden verse comprometidos por "parches" adversarios. Estos pueden ser patrones impresos que se llevan en gafas o ropa y que interrumpen el proceso de feature extraction. Esto permite que una persona no autorizada evada por completo la detección o se haga pasar por un usuario específico, saltándose los security alarm systems.
Generación de ejemplos adversarios en Python#
Para comprender cuán frágiles pueden ser algunos modelos, es útil ver con qué facilidad se puede perturbar una imagen. Aunque la inferencia estándar con modelos como YOLO26 es robusta para uso general, los investigadores a menudo simulan ataques para mejorar el model monitoring y la defensa. El siguiente ejemplo conceptual utiliza PyTorch para mostrar cómo se usan los gradientes para calcular una perturbación adversaria (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 adversarios de otras formas de fallo o manipulación del modelo:
- Data Poisoning: A diferencia de los ataques adversarios que manipulan la entrada durante la inferencia (tiempo de prueba), el envenenamiento de datos implica corromper los propios training data antes de que se construya el modelo, incrustando puertas traseras (backdoors) o sesgos ocultos.
- Prompt Injection: Esto es específico de los Large Language Models (LLMs) y las interfaces de texto. Aunque conceptualmente es similar —engañar al modelo—, se basa en la manipulación del lenguaje semántico en lugar de en la perturbación matemática de datos de píxeles o señales.
- Overfitting: 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 con sobreajuste suelen ser más susceptibles a los ataques adversarios porque sus límites de decisión son excesivamente complejos y frágiles.
Desarrollar defensas contra estos ataques es un componente fundamental del MLOps moderno. Técnicas como el entrenamiento adversario —en el cual se añaden ejemplos atacados al conjunto de entrenamiento— ayudan a que los modelos sean más resilientes. Plataformas como Ultralytics Platform facilitan rigurosos canales de entrenamiento y validación, permitiendo a los equipos evaluar la solidez del modelo antes de implementarlo en dispositivos de borde (edge devices).






