Descubra cómo los ataques adversarios manipulan los modelos de aprendizaje automático. Aprenda sobre las estrategias de caja blanca y caja negra, los riesgos para la seguridad de la IA y la defensa con Ultralytics .
Los ataques adversarios son una sofisticada categoría 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 grado 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 los límites de decisión de las redes neuronales de alta dimensión. A medida que los sistemas de inteligencia artificial (IA) se convierten en parte integral de las infraestructuras críticas para la seguridad, comprender cómo funcionan estas vulnerabilidades es esencial para desarrollar protocolos de seguridad y mecanismos de defensa robustos para la IA .
En un proceso típico 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 adversario calcula la «dirección» precisa en este espacio necesaria para empujar una entrada a través de un límite, invirtiendo la clasificación del modelo. Por ejemplo, en la visión por ordenador (CV), cambiar los valores de píxel de una imagen de un panda por una cantidad calculada de «ruido» podría hacer que el sistema la clasificara erróneamente como un gibón, aunque la imagen siga pareciendo exactamente un panda al ojo humano.
Las estrategias de ataque se clasifican generalmente según el nivel de acceso que el atacante tiene al sistema objetivo:
Aunque a menudo se tratan en la investigación teórica, los ataques adversarios plantean riesgos tangibles para las implementaciones en el mundo real, especialmente en sistemas autónomos y seguridad.
Para comprender lo frágiles que pueden ser algunos modelos, resulta útil ver lo fácil que es perturbar una imagen. Aunque la inferencia estándar con modelos como YOLO26 es robusta para uso general, los investigadores suelen simular ataques para mejorar la supervisión y la defensa de los modelos. El siguiente ejemplo conceptual utiliza PyTorch mostrar cómo se utilizan 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 perturbation
Es importante distinguir los ataques adversarios de otras formas de fallo o manipulación del modelo:
El desarrollo de 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 de ataques al conjunto de entrenamiento, ayudan a que los modelos sean más resistentes. Plataformas como Ultralytics facilitan procesos rigurosos de entrenamiento y validación, lo que permite a los equipos evaluar la solidez de los modelos antes de implementarlos en dispositivos periféricos.