Clasificador Neuronal para la detección de Glaucoma

Análisis Exploratorio de los datos

Análisis exploratorio de los datos proporcionados, tanto en formato numérico como gráfico, donde se recoja la información relevante del conjunto de datos proporcionado.

Entrenamiento de una red neuronal sobre una única partición

En esta primera parte se hará un entrenamiento únicamente sobre el fold0. Esto nos permitirá obtener conclusiones preliminares en un plazo razonable de tiempo, antes de ejecutar un entrenamiento completo empleando cross validation (ver sección 3). Para ello se deben proponer y comparar 5 aproximaciones distintas.

Modelos basados en EfficientNet B0

Modelos basado en EfficientNet B0 preentrenadoscon los pesos de Imagenet, al que se le sustituye su capa de clasificación por: una capa de GlobalAveragePolling2D, una capa de BatchNormalization, una capa de dropout con probabilidad del 20%, y finalmente una capa fully connected.

Referencias:

Modelo basado en Xception

Realizaremos el mismo procedimiento de transfer learning anterior pero esta vez nos basaremos en el modelo Xception, el cual fuel elegido en el paper como el que mejor trade-of entre nº de parámetros y rendimiento.

Modelo basado en VGG19

El modelo que obtuvo el accuracy más alto en el paper

Comparativa entre modelos

Validación cruzada y discusión

El objetivo de la técnica de cross validation es seleccionar qué modelo es más adecuado, intentando reducir los sesgos y variaciones estadísticas en función de cómo se ha realizado la partición. En los apartados anteriores se ha trabajado con una de las particiones (fold0) y se han estudiado 5 modelos distintos. En este caso, se debe:

Análisis crítico

Contesta, de forma razonada y justificada, a las siguientes preguntas:

a) Para la realización de la práctica se han entregado las folds preparadas para el entrenamiento.

No habría realizado esta separación a priori, sino que habría dejado que sea el mismo analista quien se encargara de realizar esta separación, ya que esto dificulta la realización de un cross validation tradicional, en el que se entrena al modelo sobre k–1 folds y se evalua sobre el restante. Además, el hecho de llamarle folds, creo que confunde a los usuarios.

Estas deben de ser lo más diferentes y variadas posible, es decir, deben de contener imágenes muy variadas de todo tipo. Además, en cada partición debería de haber una cantidad similar de positivos y negativos.

d) Realizar un análisis crítico de los resultados obtenidos y las conclusiones a las que has llegado después de realizar esta práctica.

A lo largo de esta práctica, hemos podido desarrollar una red neuronal convolucional (CNN) basada en Xception capaz de clasificar imágenes de glaucoma con una f1-score de 0.87 $\pm$ 0.05. Estos resultados se acercan a los obtenidos por Andres Diaz Pinto et al., aun habiendo utilizado hiperparámetros y optimizadores diferentes. Las técnicas que nos han permitido alcanzar estos resultados se denominan transfer learning y fine-tuning, y son ampliamente utilizadas en la actualidad, dado su alto potencial y eficacia, como hemos podido comprobar.

Los resultados, pese a ser buenos, pueden no ser suficientes para resolver un problema tan delicado como es la detección de glaucoma. Al tratarse de una patología grave y que pone en riesgo la vida de personas, es necesario alcanzar niveles de especificidad muy altos. Nuestro modelo consigue llegar a niveles altos de precisión y especificad, pero no es capaz de reproducir estos mismos resultados en diferentes datasets.