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 modelos de machine learning (ML) para que realicen predicciones incorrectas con alta confianza. Estos ataques operan 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 los límites de decisión de las redes neuronales de alta dimensión. A medida que los sistemas de Inteligencia Artificial (IA) se vuelven fundamentales para la infraestructura crítica de seguridad, comprender cómo funcionan estas vulnerabilidades es esencial para desarrollar protocolos de seguridad de IA y mecanismos de defensa robustos.
Link to this sectionCómo funcionan los ataques adversarios#
En un proceso de entrenamiento típico de deep learning (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 adversario calcula la "dirección" precisa en este espacio necesaria para empujar una entrada a través de un límite, alterando la clasificación del modelo. Por ejemplo, en computer vision (CV), cambiar los valores de los píxeles de la imagen de un panda por una cantidad calculada de "ruido" podría hacer que el sistema la clasifique erróneamente con confianza como un gibón, aunque la imagen siga pareciendo exactamente 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:
- Ataques de caja blanca: El atacante tiene total transparencia sobre la arquitectura del modelo, los gradientes y los pesos del modelo. Esto les permite calcular matemáticamente la perturbación más efectiva, a menudo utilizando técnicas como el Fast Gradient Sign Method (FGSM).
- Ataques de caja negra: El atacante no tiene conocimiento de los parámetros internos del modelo y solo puede observar las entradas y salidas. Los atacantes a menudo utilizan un "modelo sustituto" para generar ejemplos adversarios que se transfieren eficazmente al sistema objetivo, una propiedad conocida como transferibilidad.
Link to this sectionAplicaciones 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.
- 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. La investigación ha demostrado que la aplicación de pegatinas o cintas cuidadosamente elaboradas en una señal de stop 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 IA en automoción.
- Evasores de reconocimiento facial: Los sistemas de seguridad que controlan el acceso basado en biometría pueden verse comprometidos por "parches" adversarios. Estos pueden ser patrones impresos usados en gafas o ropa que interrumpen el proceso de extracción de características. Esto permite que una persona no autorizada evada la detección por completo o se haga pasar por un usuario específico, eludiendo los sistemas de alarma de seguridad.
Link to this sectionGeneración de ejemplos adversarios en Python#
To understand how fragile some models can be, it is helpful to see how easily an image can be perturbed. While standard inference with models like YOLO26 is robust for general use, researchers often simulate attacks to improve model monitoring and defense. The following conceptual example uses PyTorch to show how gradients are used to calculate an adversarial perturbation (noise) for an image.
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 perturbationLink to this sectionConceptos relacionados#
Es importante distinguir los ataques adversarios de otras formas de fallo o manipulación del modelo:
- Envenenamiento de datos: A diferencia de los ataques adversarios que manipulan la entrada durante la inferencia (tiempo de prueba), el envenenamiento de datos implica corromper los propios datos de entrenamiento antes de que se construya el modelo, incrustando puertas traseras ocultas o sesgos.
- Inyección de prompts: Esto es específico de los Modelos de Lenguaje Grandes (LLMs) y las interfaces de texto. Aunque conceptualmente es 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 datos de píxeles o señales.
- Sobreajuste (Overfitting): Se trata de un fallo en el entrenamiento donde 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 central del MLOps moderno. Técnicas como el entrenamiento adversario —donde se añaden ejemplos atacados al conjunto de entrenamiento— ayudan a que los modelos sean más resilientes. Plataformas como la Plataforma Ultralytics facilitan rigurosos procesos de entrenamiento y validación, permitiendo a los equipos evaluar la robustez del modelo antes de realizar el despliegue en dispositivos de borde.






