Sobre este proyecto
it-programming / artificial-intelligence-1
Abierto
Se busca un desarrollador experto para crear un optimizador en código Python, con formato .ipynb, que demuestre un rendimiento superior en al menos un 1% en comparación con Adam, AdaBelief y RMSprop. El nuevo optimizador debe basarse en la estructura de Adam, una mejora que no se encuentre publicada. El proyecto implica el entrenamiento de una red neuronal ResNet18 desde cero, siguiendo las siguientes especificaciones:
Características del Entrenamiento:
- La semilla de aleatorización debe ser fija en 42.
- Se aplicará normalización de ImageNet (utilizando la media y desviación estándar de ImageNet).
- La arquitectura ResNet18 se entrenará completamente desde cero (from scratch).
- Se realizarán 100 épocas de entrenamiento para cada optimizador (el nuevo, Adam, AdaBelief y SGD).
- Se utilizarán dos datasets con diferentes resoluciones: Cassava Leaf a 128x128 y Blood Cells WBC a 256x256. Se deben usar todas las imágenes de ambos datasets, divididas en proporciones de 70% para entrenamiento, 15% para validación y 15% para prueba.
- No se permite el uso de técnicas de regularización durante el entrenamiento; tanto los optimizadores como la arquitectura deben ser implementaciones puras.
- Se debe aplicar Dropout en la ResNet18 con una tasa entre 0.2 y 0.5.
- Los resultados de cada optimizador (pesos del modelo) deben almacenarse en archivos con extensión .pth.
- El formato de salida por cada época durante el entrenamiento debe ser el siguiente:
--- Starting Training: Adam(100 Epochs) ---
Epoch 1/100 -> Trn Loss: 0.4130, Trn Acc: 0.8280 | Val Loss: 0.4373, Val Acc: 0.8300, Val AUC: 0.9684
Entregables:
- Archivo .ipynb con la implementación del nuevo optimizador contra los otros y el código de entrenamiento y evaluación.
- Archivos .pth con los modelos entrenados para cada optimizador.
- Una tabla final que presente los resultados de rendimiento (Loss, Accuracy, AUC) en los conjuntos de entrenamiento, validación y prueba para todos los optimizadores evaluados.
Categoría Programación y Tecnología
Subcategoría Inteligencia Artificial
Tamaño del proyecto Medio
Plazo de Entrega: No definido
Habilidades necesarias