AIMI: AI en la detección temprana del melanoma

Source: Deep Learning on Medium

Metodología

A continuación profundizaremos en lo que respecta a los aspectos técnicos del modelo, explicando los recursos que se han utilizado para llevarlo a cabo y el proceso que se ha seguido.

Para la detección y clasificación de las manchas cutáneas se ha optado por usar algoritmos de deep learning, en concreto las redes neuronales convolucionales (CNN, de su acrónimo en inglés Convolutional Neural Network), ya que son una clase de redes neuronales artificiales muy apropiadas para el análisis de imágenes.

Su funcionamiento se basa en el comportamiento del córtex visual primario del cerebro, que consta de células simples, las cuales están fuertemente ligadas a la detección de orientaciones, y células complejas, cuya función es obtener características más detalladas a partir de la información obtenida en las células simples. La primera asociación del comportamiento del cerebro a las redes neuronales artificiales se produjo en el modelo conocido como Neocognitron, desarrollado por Kunihiko Fukushima en 1980.

Las CNN consisten en varias capas de neuronas que toman los valores de rojo, verde y azul (RGB) de 0 a 255 y los someten a operaciones matemáticas (convolución), de forma que en la primera capa se obtienen direcciones o gradientes simples, en la segunda capa se realizan más operaciones y se obtienen ángulos, curvas, círculos, etc. La tercera capa puede determinar combinaciones de las dos capas anteriores, bordes, patrones geométricos… combinando las salidas de la capa 2. De este modo, cada capa proporciona más información al modelo tomando como entrada la salida de la capa anterior.

El problema de este tipo de redes neuronales es su entrenamiento, debido a que entrenar un modelo con muchas capas y más de un millón de imágenes lleva su tiempo, del orden de semanas, para poder extraer un gran número de características. Por ello, el método de Transfer Learning, o transferencia del conocimiento, juega un papel crucial a la hora de entrenar el modelo en un tiempo reducido (una centésima parte del tiempo original) y cuando no tenemos suficientes datos. Está técnica consiste en usar modelos ya entrenados, de modo que son capaces de obtener características que después serán utilizadas en nuestros datos y poder reconocer imágenes totalmente distintas a las imágenes con las que se entrenó el modelo original, del que estamos obteniendo el conocimiento.

Otro reto a tener en cuenta es que el Data Set, o conjunto de datos, del que partimos está limitado a un total de 10.000 imágenes de manchas de piel y además no está balanceado, esto es, existe una diferencia sustancial entre el número de imágenes de los diferentes tipos de manchas. Estos problemas se pueden solucionar mediante Data Augmentation, o aumento de datos, que permite incrementar el número de imágenes aplicando transformaciones como ampliación de la imagen, rotación, volteo vertical u horizontal, etc. De esta forma, de una misma imagen se pueden obtener varias, que a ojos de nuestro modelo tendrán distintas características aunque partan de una misma imagen, y por tanto sean de la misma clase.

Después de estas consideraciones sólo queda elegir un modelo pre-entrenado y evaluar las métricas que se sacan de cada una de las epochs, o fases de entrenamiento. Para nosotros la principal métrica es Fbeta score ya que pondera la precisión y la exhaustividad: