/ Proyectos / Salud / Robustez adversarial en cáncer de próstata

Detección de cáncer de próstata con CNN: robustez ante ataques adversarios

Clasificación de significancia histológica en imágenes de próstata con ResNet50, puesta a prueba con ataques adversarios FGSM y defendida con entrenamiento adversarial y fine-tuning.

14 min de lectura Python · TensorFlow/Keras · ART Datos: imágenes histológicas de próstata (corte transversal) Aplicable a tesis de bioingeniería y seguridad de IA médica
Imágenes histológicas de próstata clasificadas con una CNN, puestas a prueba con ataques adversarios FGSM

El objetivo era clasificar la significancia clínica de una región de tejido prostático a partir de imágenes histológicas, usando una CNN con transfer learning (ResNet50). El problema real, sin embargo, no era solo lograr buen accuracy: era demostrar que ese accuracy no basta. Un modelo de diagnóstico por imagen puede tener un desempeño excelente en el set de prueba y aun así ser vulnerable a perturbaciones invisibles al ojo humano, capaces de voltear la predicción de "significativo" a "no significativo" sin dejar rastro visual.

Se diseñó un pipeline que primero entrena un modelo base, luego lo ataca con FGSM (Fast Gradient Sign Method) para exponer esa vulnerabilidad, y después construye y compara dos estrategias de defensa: entrenamiento con datos mixtos (originales + atacados) y fine-tuning posterior. El hallazgo más importante no fue de accuracy, fue de qué se mide: reportar solo accuracy y AUC-ROC oculta el problema real. Hubo que traer métricas propias del área de robustez adversarial, como loss sensitivity y empirical robustness, para responder la pregunta que de verdad importa en un entorno clínico: ¿qué tan fácil es engañar a este modelo?


Mapa del casoContenido


Estructura de alto nivelDiagrama de la solución

Fuente Imágenes originales Fuente Imágenes atacadas (FGSM) ResNet50 sin defensa (modelo base) ResNet50 con defensa (adversarial + FT) Evaluación sin defensa Evaluación con defensa Comparación de robustez Métricas de robustez (ART) loss sensitivity + empirical robustness Clasificación 2 clases (softmax) Diagnóstico robusto

Pasa el cursor sobre cada bloque para ver qué hace ese paso.

Las ramas sin defensa y con defensa se evaluaron por separado antes de compararlas, porque mezclar los resultados desde el inicio habría ocultado justo lo que se necesitaba medir: cuánto se recupera el modelo cuando sí se le entrena para resistir el ataque.


De la idea al pipelineConstrucción de la solución

Condiciones del proyecto

RestricciónDato
Objetivo inicialTrabajo de tesis: no exigía despliegue en un entorno hospitalario real, pero sí demostrar viabilidad de un demo funcional
DatasetImágenes histológicas públicas de corte transversal de próstata (Kaggle), en dos clases: significant / notsignificant
Riesgo central a estudiarModelos con alta accuracy pero vulnerables a perturbaciones imperceptibles (ataques adversarios)
Cómputo disponibleGoogle Colab con GPU gratuita, con límites de tiempo y memoria por sesión
OpciónPor qué se descartó
Reportar solo accuracy y AUC-ROC del modelo base como resultado finalNo dice nada sobre qué tan fácil es engañar al modelo con una perturbación diseñada para eso
Entrenar una arquitectura CNN desde ceroCon el tamaño del dataset, transfer learning con ResNet50 preentrenado en ImageNet era más eficiente y estable
Aplicar una sola estrategia de defensaNo permitía saber cuál aportaba más: entrenamiento con datos mixtos o fine-tuning posterior
Medir robustez con métricas del área (ART: loss sensitivity, empirical robustness), no solo con accuracyEs la única forma de cuantificar qué tan sensible es el modelo a una perturbación mínima, que es la pregunta real del proyecto

Pasos

1

Preprocesamiento de imágenes

Agente: propuso normalizar directo con un simple reescalado de píxeles (rescale 1/255).
Criterio aplicado: además probar una conversión RGB→HSV con ecualización del canal de valor, para evaluar si mejoraba el contraste del tejido antes de fijar el pipeline de preprocesamiento definitivo.

2

Generación del ataque adversario FGSM

Agente: propuso un valor de epsilon fijo, sin justificar la elección.
Criterio aplicado: elegir epsilon balanceando imperceptibilidad visual y efectividad del ataque, verificando manualmente que la perturbación no fuera evidente a simple vista antes de aplicarla a todo el dataset.

3

Diseño de la estrategia de defensa

Agente: sugirió reentrenar el modelo desde cero solo con las imágenes atacadas.
Criterio aplicado: combinar imágenes originales y atacadas en el mismo set de entrenamiento, para no sacrificar el desempeño sobre el caso "limpio" al ganar robustez frente al ataque.

4

Medición de robustez, no solo de accuracy

Agente: propuso reportar solo accuracy y AUC-ROC como criterio final de éxito.
Criterio aplicado: incorporar las métricas del Adversarial Robustness Toolbox (loss sensitivity, empirical robustness) para cuantificar qué tan sensible es el modelo a una perturbación, en vez de conformarse con qué tan bien clasifica en el caso limpio.

Proceso de iteración

Ajuste documentado, no forzado

Las primeras corridas del modelo con defensa, entrenadas con 100 épocas sobre el set combinado, mostraron señales claras de sobreajuste: el modelo mejoraba su desempeño frente al ataque, pero perdía precisión sobre las imágenes limpias. Se ajustó el fine-tuning a menos épocas y a un número reducido de steps por época sobre el set combinado, lo que dio un mejor balance entre accuracy en el caso limpio y robustez ante el ataque. La lección quedó documentada: "más entrenamiento" no es sinónimo de "más robusto", y cada estrategia de defensa se evaluó por separado en el mismo set de imágenes atacadas para poder comparar de forma justa.


CierreLecciones importantes

El trabajo de mayor impacto de este proyecto no ocurrió al ajustar arquitecturas, ocurrió al decidir qué preguntas hacerle al modelo. Un accuracy alto en el set de prueba dice muy poco sobre qué tan seguro es un modelo en el mundo real: la robustez ante perturbaciones deliberadas es una dimensión distinta, y en dominios como salud, donde una predicción incorrecta tiene consecuencias directas sobre personas, ignorarla no es una opción académica menor.

Si quieres ver un enfoque publicado con una idea similar, ataques adversarios y robustez aplicados a patología computacional, este paper es una buena referencia del nivel de la contribución: Adversarial attacks and adversarial robustness in computational pathology (Nature Communications).

Termina ya tu proyecto

¿Tienes un proyecto similar y no sabes por dónde empezar? Yo te ayudo a diseñarlo.

El 92% de los profesionales de datos desbloquea sus proyectos al ver ejemplos completos resueltos.

53
proyectos
8
sectores
100%
aplicado

Sin registro. Acceso inmediato