DEV Community

Cover image for SeoulTech crea un framework para probar la robustez de la visión por IA
lu1tr0n
lu1tr0n

Posted on Originally published at elsolitario.org

SeoulTech crea un framework para probar la robustez de la visión por IA

SeoulTech, la Universidad Nacional de Ciencia y Tecnología de Seúl, presentó un framework pensado para exponer el momento exacto en que un sistema de visión por inteligencia artificial deja de reconocer lo que debería reconocer. La herramienta mide y busca mejorar la robustez de visión IA frente a ruido, desenfoque, compresión y perturbaciones calculadas para engañar al modelo.

El reporte, publicado por TMCnet, llega en un momento en que cámaras de seguridad, sistemas de asistencia a la conducción y equipos de diagnóstico médico dependen cada vez más de redes neuronales entrenadas con imágenes limpias que rara vez reflejan las condiciones reales de uso.

TL;DR

  • SeoulTech (Universidad Nacional de Ciencia y Tecnología de Seúl) presentó un framework para medir la robustez de visión IA.- El framework aplica perturbaciones adversariales y corrupciones naturales (ruido, niebla, compresión) a las imágenes de prueba.- Mide la caída de precisión del modelo frente a esas alteraciones y retroalimenta el reentrenamiento.- Se apoya en la misma línea que popularizó FGSM (Goodfellow, 2014) y el benchmark ImageNet-C (Hendrycks, 2019).- Herramientas abiertas como RobustBench y torchattacks permiten reproducir pruebas similares hoy mismo.- La robustez es cada vez más un requisito regulatorio para sistemas de IA de alto riesgo, no solo una métrica académica.- El principal trade-off: mejorar la robustez adversarial suele bajar algo la precisión en datos limpios.

Qué pasó

Según la cobertura de TMCnet, el equipo de SeoulTech construyó un framework de evaluación que somete modelos de visión por computadora a un conjunto de pruebas automatizadas antes de que salgan a producción. La idea central no es nueva: viene de una línea de investigación que arrancó hace más de una década, pero SeoulTech la empaqueta como un proceso repetible que un equipo de ingeniería puede correr contra su propio modelo, de forma parecida a un pipeline de integración continua que corre pruebas unitarias antes de un deploy.

El framework combina dos familias de pruebas. La primera aplica perturbaciones adversariales: ruido matemáticamente diseñado, casi imperceptible para un ojo humano, que aprovecha el gradiente del propio modelo para maximizar el error de clasificación. La segunda aplica corrupciones naturales: niebla, lluvia, desenfoque de movimiento, compresión JPEG agresiva, condiciones que una cámara real puede encontrar sin que nadie la esté atacando. Un modelo puede rendir bien en ambas pruebas, en una sola o en ninguna, y esa combinación define su robustez de visión IA en la práctica.

Lo que hace útil a un framework de este tipo no es solo detectar la falla, sino alimentar ese resultado de vuelta al entrenamiento: las imágenes que rompen al modelo se usan para generar ejemplos de aumento de datos o para un régimen de entrenamiento adversarial, cerrando parcialmente la brecha entre precisión de laboratorio y precisión en el mundo real.
Una perturbación casi invisible puede cambiar por completo la predicción de un modelo.

Contexto e historia

El punto de partida de este campo suele fijarse en 2014, cuando Ian Goodfellow y sus coautores publicaron el método FGSM (Fast Gradient Sign Method), que demostró que sumar un ruido casi invisible a una imagen podía hacer que una red neuronal de última generación la clasificara con total confianza como algo completamente distinto. Esa fragilidad, contraintuitiva para un sistema que superaba a los humanos en precisión bruta, abrió una subdisciplina completa dentro del aprendizaje automático.

En 2019, Dan Hendrycks y Thomas Dietterich publicaron ImageNet-C, un benchmark que en vez de atacar al modelo con matemática adversarial lo somete a quince tipos de corrupción cotidiana (ruido gaussiano, pixelado, niebla, cambios de brillo, entre otras) en cinco niveles de severidad. La conclusión del paper fue incómoda: modelos que ya superaban a los humanos en ImageNet limpio se desplomaban frente a corrupciones que un humano ni siquiera nota. Ese hallazgo es, en esencia, el problema que un framework como el de SeoulTech intenta resolver de forma sistemática.

Desde entonces se sumaron esfuerzos como RobustBench, un leaderboard académico que compara decenas de modelos bajo ataques y corrupciones estandarizadas, y programas como GARD (Guaranteeing AI Robustness against Deception) de DARPA en Estados Unidos, enfocados en certificar matemáticamente los límites de robustez de un modelo, no solo medirla empíricamente.

Detalles técnicos: cómo se mide la robustez de visión IA

La métrica central de cualquier evaluación de este tipo es la precisión robusta: el porcentaje de imágenes que el modelo sigue clasificando correctamente después de aplicarle una perturbación o corrupción, en contraste con la precisión limpia (clean accuracy) medida sobre el dataset original sin alterar. La diferencia entre ambas cifras expone qué tan frágil es un modelo en la práctica.
Tipo de pruebaEjemploCuándo usarlaLimitaciónPerturbación adversarial (FGSM, PGD)Ruido calculado con el gradiente del modeloEvaluar riesgo ante un atacante dirigidoCasi siempre requiere acceso white-box al modeloCorrupción natural (ImageNet-C)Niebla, desenfoque de movimiento, compresión JPEGEvaluar robustez ante condiciones reales de cámara o climaNo representa un atacante maliciosoCambio de distribución (domain shift)Imágenes de otra cámara, país o datasetEvaluar generalización fuera del set de entrenamientoDifícil de resumir en una sola métrica
Un dato que suele sorprender a quien no trabaja en el área: no hace falta acceso físico a la cámara ni al pipeline de producción para atacar un modelo. Basta con conocer su arquitectura, o incluso solo su salida en ataques black-box, para generar perturbaciones que funcionan de forma consistente contra la misma familia de redes.

Un pipeline típico de este tipo de framework sigue un ciclo simple: generar la perturbación, medir la caída de precisión y, si el resultado es malo, retroalimentar el entrenamiento.

flowchart TD
A["Imagen original"] --> B["Generador de perturbaciones"]
B --> C["Modelo de vision"]
C --> D["Medir precision robusta"]
D --> E{"Cae la precision?"}
E -->|"Si"| F["Reentrenar con aumentos"]
E -->|"No"| G["Modelo aprobado"]
F --> C
Enter fullscreen mode Exit fullscreen mode

Cómo empezar a probarlo

No hace falta esperar a que SeoulTech publique su framework para empezar a medir la robustez de visión IA de un modelo propio. La comunidad de código abierto ya construyó las piezas necesarias, y correr una primera prueba toma minutos.

pip install torch torchvision torchattacks robustbench
Enter fullscreen mode Exit fullscreen mode

Con eso instalado, el flujo mínimo es cargar un modelo preentrenado, aplicarle un ataque conocido y comparar la precisión antes y después.
Un ataque FGSM contra ResNet18 corre en menos de diez líneas de código.

import torch
import torchvision.models as models
from torchattacks import FGSM

model = models.resnet18(weights="IMAGENET1K_V1").eval()
atk = FGSM(model, eps=8/255)

adv_images = atk(images, labels)
outputs = model(adv_images)
robust_acc = (outputs.argmax(1) == labels).float().mean()
print(f"Precision robusta: {robust_acc.item():.2%}")
Enter fullscreen mode Exit fullscreen mode

El parámetro eps controla cuánto se le permite mover el ruido a cada píxel: valores bajos generan perturbaciones casi invisibles, valores altos son más fáciles de detectar a simple vista pero también más fáciles de bloquear con filtros simples. Para corrupciones naturales en vez de ataques dirigidos, la librería imagecorruptions replica los quince tipos definidos en ImageNet-C sin necesidad de acceso al modelo.

💡 Tip: El parámetro eps en FGSM o PGD suele probarse en un rango de 2/255 a 16/255. Cuanto más alto, más fácil engañar al modelo, pero menos realista es la perturbación.

Impacto y análisis

La robustez de visión IA dejó de ser un tema exclusivamente académico. Un sistema de frenado automático que falla al reconocer una señal de alto parcialmente cubierta de nieve, o una cámara de control de acceso que un atacante engaña con un patrón impreso en una gorra, son el mismo problema que documentan estos benchmarks, solo que con consecuencias físicas.

Por eso frameworks de este tipo se están volviendo parte del proceso de desarrollo, no un experimento aparte: correrlos antes de cada despliegue permite detectar regresiones de robustez de la misma forma en que un test de integración detecta una regresión funcional.

⚠️ Ojo: Entrenar un modelo para resistir ataques adversariales casi siempre reduce algo de precisión sobre datos limpios. No existe robustez gratis: es un trade-off que hay que medir, no asumir.

El costo no es solo de cómputo. El entrenamiento adversarial, la técnica más usada para cerrar la brecha entre precisión limpia y precisión robusta, puede multiplicar el tiempo de entrenamiento porque cada lote de datos requiere generar primero sus versiones atacadas antes de actualizar los pesos del modelo.

Qué sigue

La tendencia regulatoria apunta a que estas pruebas dejen de ser opcionales. Marcos como el de la Unión Europea para sistemas de inteligencia artificial de alto riesgo ya incluyen requisitos de exactitud, robustez y ciberseguridad como condición para operar en sectores sensibles, lo que empuja a que evaluaciones como la de SeoulTech pasen de ser un paper académico a un paso obligatorio antes de un lanzamiento.

A nivel técnico, el área avanza hacia certificación formal: en vez de solo probar contra un puñado de ataques conocidos, las técnicas de robustez certificada intentan demostrar matemáticamente que ningún ataque dentro de un radio determinado puede cambiar la predicción del modelo. Es un estándar mucho más alto que superar un benchmark, y todavía es costoso de aplicar a modelos grandes.

📖 Resumen en Telegram: Ver resumen

Probalo vos: instalá torchattacks y corré un ataque FGSM contra tu propio modelo de visión antes de tu próximo deploy para ver cuánto cae realmente su precisión.

Preguntas frecuentes

¿Qué es la robustez de visión IA?

Es la capacidad de un modelo de visión por computadora de mantener su precisión cuando la imagen de entrada cambia levemente, ya sea por ruido natural (niebla, compresión) o por una perturbación diseñada a propósito para engañarlo.

¿Un ataque adversarial y una corrupción natural son lo mismo?

No. Un ataque adversarial usa el gradiente del modelo para calcular el ruido más dañino posible; una corrupción natural simula condiciones reales de cámara o clima sin intención maliciosa. Ambas pueden bajar la precisión, pero se miden y se corrigen distinto.

¿Puedo evaluar la robustez de mi propio modelo hoy mismo?

Sí. Librerías abiertas como RobustBench y torchattacks permiten correr ataques FGSM o PGD contra cualquier modelo de torchvision en pocas líneas de código, como se muestra en la sección Cómo empezar a probarlo de este artículo.

¿Mejorar la robustez adversarial afecta la precisión normal?

Casi siempre sí, en algún grado. El entrenamiento adversarial suele reducir un poco la precisión sobre datos limpios a cambio de reducir mucho más la caída de precisión frente a ataques o corrupciones.

¿Dónde se aplica esto fuera del laboratorio?

En sistemas donde una falla de visión tiene consecuencias físicas o de seguridad: asistencia a la conducción, control de acceso por cámara, inspección industrial y diagnóstico por imagen médica.

Referencias

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (0)