Estoy trabajando en un clasificador de retinopatía diabética con imágenes de fondo de ojo. El modelo funciona perfecto en mi dataset de entrenamiento (Kaggle APTOS 2019), pero al probarlo en imágenes de otro hospital (diferente cámara, iluminación, etnia de pacientes) la precisión cae de 0.95 a 0.6. Sé que es un problema de sesgo de dominio, pero no quiero solo aplicar aumentación estándar (rotación, brillo) porque el modelo sigue aprendiendo correlaciones espurias (ej. bordes de imagen más oscuros en ciertas cámaras).
Propongo una solución técnica: usar aumentación adversarial generando transformaciones que maximicen la pérdida del clasificador, forzándolo a aprender características invariantes. Implementé un prototipo con torchvision.transforms y un optimizador para ajustar parámetros de aumentación (color, contraste, desenfoque) por lote. ¿Alguien ha probado algo similar? ¿O recomiendan otro enfoque como normalización de dominio con redes adversarias (DANN)?