Está en la página 1de 71

Universidad Central

Facultad de Ingeniería y Ciencias Básicas

Maestría en Analítica de Datos

CLASIFICACIÓN DE IMÁGENES DE MELANOMAS MEDIANTE


REDES NEURONALES CONVOLUCIONALES: PRE-ENTRENAMIENTO VS.
APRENDIZAJE GUIADO POR DATOS ABIERTOS.

Tesis de Maestría

JOHN EDUARDO LOPEZ HILARION


JUAN CARLOS PÁEZ LEMUS
GUSTAVO ADOLFO DIAZ CARDONA

Trabajo de grado como requisito para optar el título de:

Magister

Bogotá, Colombia

2022
Universidad Central

Facultad de Ingeniería y Ciencias Básicas

Maestría Analítica de datos

Esta es la
contraportada

CLASIFICACIÓN DE IMÁGENES DE MELANOMAS MEDIANTE REDES


NEURONALES CONVOLUCIONALES: PRE-ENTRENAMIENTO VS. APRENDIZAJE
GUIADO POR DATOS ABIERTOS.

Tesis de Maestría

JOHN EDUARDO LOPEZ HILARION


JUAN CARLOS PÁEZ LEMUS
GUSTAVO ADOLFO DIAZ CARDONA

Director (a)

[Alber Ferney Montenegro Vargas, PhD]

Bogotá, Colombia

2021
3

Aprobación

Director(a) de Tesis Codirector(a) de Tesis

________________________________ ________________________________

Firma Firma
[Nombres Completos] [Nombres Completos]
[Títulos] [Títulos]

Jurados de la Tesis

Jurado Jurado

________________________________ ________________________________

Firma Firma
[Nombres Completos] [Nombres Completos]
[Títulos] [Títulos]

Jurado

________________________________

Firma
[Nombres Completos]
[Títulos]

[Fecha de sustentación]
4

Agradecimientos

Al dar por finalizado este trabajo de grado de maestría, queremos expresar los más
sinceros agradecimientos a los docentes de la maestría en Analítica de Datos y
directivas, porque nos brindaron su apoyo y conocimientos en el trascurso del
postgrado.

Un agradecimiento especialmente con el director del trabajo de grado profesor Albert


Ferney Montenegro Vargas, quien realizó aportes significativos no sólo durante el
desarrollo del trabajo, sino durante el trascurso del postgrado. Gracias a quienes de
una u otra forma contribuyeron constantemente a culminar nuestro objetivo.
5

Esta tesis se la dedico a Dios, a mis queridos padres, a mi familia, en especial a mi madre FLOR
OYOLA, mi hermana ANDREA CAROLINA LÓPEZ y mi esposa SANDRA LORENA MENESES, que con
su amor, apoyo y comprensión incondicional estuvieron siempre a lo largo de esta etapa; a ellas que
siempre tuvieron una palabra de aliento en los momentos difíciles, para lograr culminar uno de mis
objetivos.
JOHN EDUARDO LÓPEZ HILARIÓN.

JUAN CARLOS PAEZ LEMUS

GUSTAVO ADOLFO DIAZ CARDONA

Son muchas las personas especiales a las que nos gustaría agradecer su amistad, apoyo, ánimo y
compañía en las diferentes etapas de nuestras vidas. Algunas están aquí con nosotros y otras en nuestros
recuerdos y en nuestro corazón. Sin importar en donde estén o si alguna vez llegan a leer estas
dedicatorias queremos darle las gracias por formar parte de nosotros, por todo lo que nos han brindado
y por todas sus bendiciones.
6

contenido
1. Resumen..............................................................................................................................................8
2. Abstract................................................................................................................................................9
3. Índice de tablas..................................................................................................................................11
4. Índice de figuras.................................................................................................................................12
5. Notación.............................................................................................................................................13
6. Introducción.......................................................................................................................................14
7. Planteamiento del problema y justificación.......................................................................................16
8. Conjunto de datos..............................................................................................................................17
8.1. Módulo de análisis de saturación...............................................................................................19
8.2. Módulo de ensamble de las carpetas de Entrenamiento, Testeo y Validación..........................20
9. Objetivos............................................................................................................................................21
9.1. Objetivo general.........................................................................................................................21
9.2. Objetivos específicos..................................................................................................................21
10. Antecedentes.................................................................................................................................21
11. Glosario y definiciones...................................................................................................................25
11.1. Deep Learning........................................................................................................................25
11.2. Red neuronal computacional.................................................................................................26
11.3. Las redes neuronales convolucionales...................................................................................26
11.4. ReLU.......................................................................................................................................28
11.5. Arquitectura básica de redes neuronales convolucionales....................................................28
11.5.1. Capa convolucional............................................................................................................29
11.5.2. Pooling...............................................................................................................................29
11.5.3. Max-Pooling.......................................................................................................................30
11.5.4. Average-Pooling.................................................................................................................30
11.5.5. Capa fully connected:.........................................................................................................31
11.5.6. Visualización de redes neuronales convolucionales:..........................................................32
12. Prevención del sobreajuste............................................................................................................33
12.1. Aumento de datos..................................................................................................................33
7

12.2. Regularización de abandono..................................................................................................35


13. Otras arquitecturas ConvNet.........................................................................................................35
13.1. LeNet (década de 1990).........................................................................................................35
13.2. Década de 1990 a 2012..........................................................................................................36
13.3. AlexNet (2012).......................................................................................................................36
13.4. ZF Net (2013):.........................................................................................................................37
13.5. GoogLeNet (2014)..................................................................................................................37
13.6. VGGNet (2014).......................................................................................................................37
13.7. ResNets (2015).......................................................................................................................37
13.8. DenseNet (agosto de 2016)....................................................................................................38
14. Modelos preentrenados.................................................................................................................39
14.1. Ajuste fino..............................................................................................................................40
15. METODOLOGIA..............................................................................................................................41
16. Localización....................................................................................................................................51
17. Resultados......................................................................................................................................53
18. Discusión de los resultados............................................................................................................63
19. Conclusiones y recomendaciones..................................................................................................65
20. Lista de referencias........................................................................................................................67
8

1. Resumen

La presencia del cáncer de piel ha crecido en las últimas décadas a nivel mundial. La
información del tema en Colombia es muy escasa, sin embargo, las instituciones de
cáncer ofrecen información sobre la frecuencia y la distribución en instituciones de
referencia. Por ejemplo, los diagnósticos nuevos de cáncer de piel, con relación al
periodo de 1996-2010 en el Instituto Nacional de Cancerología, centro de referencia en
cáncer a nivel nacional, evidencia un crecimiento progresivo de la frecuencia de casos
nuevos, acompañado de una mayor frecuencia en personas mayores a 75 años. Los
tipos más comunes son: el carcinoma basocelular (52,7 %), el escamocelular (22,6 %) y
el melanoma (16,1 %). Adicionalmente, la presencia estimada del melanoma maligno
en Colombia corresponde a 4,6 por 100.000 en mujeres y 4,4 por 100.000 en hombres.
Es por ello, la importancia del cáncer de piel como prioridad en la salud pública.

El melanoma es un tipo de cáncer de piel muy peligroso. El no diagnóstico o el


incorrecto diagnóstico de un melanoma (falso negativo) puede afectar la calidad de vida
de un paciente al no buscar a tiempo la atención requerida, causando que el cáncer se
disemine. Por otra parte, un falso positivo, conlleva a la afectación del paciente desde el
punto de vista psicológico, causando procedimientos quirúrgicos innecesarios. El
procedimiento estándar y más acertado para la identificación de un melanoma maligno
consiste en un estudio histológico recolectando una muestra de tejido mediante una
biopsia, sin embargo, resultaría de gran importancia la implementación de técnicas de
machine learning como apoyo diagnóstico, para tamizar mediante un nivel de riesgo
este tipo de patologías, y con esto direccionar de forma más efectiva a los pacientes en
el sistema de salud.
El objetivo del presente proyecto es comparar algunas métricas de desempeño de una
Red Neuronal Convolucional entrenada con un conjunto de datos públicos y una Red
Neuronal Convolucional pre-entrenada aplicando transfer learning para la clasificación de
imágenes de cáncer de piel.
9
10

2. Abstract
The presence of skin cancer has grown in recent decades worldwide. Information on the
subject in Colombia is very scarce, however, cancer institutions offer information on the
frequency and distribution in reference institutions. For example, new diagnoses of skin
cancer, in relation to the period 1996-2010 at the National Cancer Institute, a reference
center for cancer at the national level, shows a progressive growth in the frequency of
new cases, accompanied by a greater common in people older than 75 years. The most
common types are: basal cell carcinoma (52.7%), squamous cell carcinoma (22.6%)
and melanoma (16.1%). Additionally, the estimated presence of malignant melanoma in
Colombia corresponds to 4.6 per 100,000 in women and 4.4 per 100,000 in men. That is
why the importance of skin cancer as a priority in public health.
Melanoma is a very dangerous type of skin cancer. The non-diagnosis or the incorrect
diagnosis of a melanoma (false negative) can affect a patient's quality of life by not
seeking the required care in time, causing the cancer to spread. On the other hand, a
false positive leads to the affectation of the patient from the psychological point of view,
causing necessary surgical procedures. The standard and most certified procedure for
the identification of a malignant melanoma consists of a histological study collecting a
tissue sample through a biopsy, however, the implementation of machine learning
techniques as diagnostic support would be of great importance, to sift through a level of
risk this type of pathologies, and with this direct more effectively patients in the health
system.
11
12

3. Índice de tablas
13

4. Índice de figuras

5. Notación
14
15

6. Introducción

Las lesiones pigmentadas de la piel son manchas con o sin relieve, que pueden ser
neoplasias melanocíticas o de origen no melanocítico. A su vez, estas lesiones pueden
ser neoplasias benignas o malignas.

El melanoma cutáneo representa un tipo de cáncer de gran letalidad entre los tumores
de piel. Este tipo de patología ha tenido un ligero incremento en los últimos años lo
cual ha ocasionado que este tipo de patología se convierta en una prioridad para la
salud pública a nivel nacional. Según la Organización Mundial de la Salud (OMS)
Colombia ocupa el cuarto puesto como país con mayor incidencia.

La técnica clínica comúnmente utilizada para la detección preliminar de melanomas es


la dermatoscopia, que consiste en la observación de la lesión cutánea pigmentada por
parte de un profesional en dermatología haciendo uso de un dermatoscopio, como se
muestra en la Figura 1.

Imagen 1. Dermatoscopio portátil adaptable a celular, comercializado en la Página de Amazon cotización realizada
el 7 de octubre de 2021.

La dermatoscopia es una técnica que en el siglo XX consiguió unos niveles de


perfeccionamiento y difusión que actualmente la hacen imprescindible en la práctica
clínica de cualquier dermatólogo. Es una técnica diagnóstica y no invasiva que permite,
mediante un sistema de amplificación de la imagen y de iluminación especial, observar
estructuras de la epidermis y de la dermis, invisibles a simple vista. Actualmente, la
16

importancia de esta técnica en el diagnóstico del melanoma es incuestionable, sin


embargo requiere de un profesional en medicina altamente calificado. La sensibilidad
en el diagnóstico del melanoma “a simple vista” por parte de dermatólogos con amplia
experiencia en melanoma es del 70-85%, mientras que en manos expertas, la
dermatoscopia logra una sensibilidad del 92%.

En Colombia, según la Asociación Colombiana de Dermatología y Cirugía


Dermatológica donde se tienen en cuenta aproximadamente al 90% de los
dermatólogos del país, se estima una proporción de 1.25 dermatólogos por cada 100
mil habitantes, sumado a esto, la distribución de los dermatólogos en el territorio
colombiano no es homogénea ya que para algunas ciudades la proporción llega a 3
dermatólogos por cada 100 mil habitantes, dejando desatendido una parte del país.

Una posible alternativa tecnológica para mejorar esta problemática consiste en aplicar
una red neuronal convolucional que permita extraer progresivamente representaciones
de nivel cada vez más alto del contenido de cualquier imagen, para este caso,
imágenes de melanomas. Adicionalmente, una CNN toma solo los datos de píxeles sin
procesar de la imagen como entrada y "aprende" cómo extraer estas características y,
en última instancia, inferir qué objeto constituyen.

En este trabajo se pretende comparar el rendimiento de dos CNN al momento de


realizar una tarea de clasificación binaria, basándose en un conjunto de datos de
imágenes de melanomas en la que se describen melanomas de tipo benigno y maligno.
La CNN con mejor rendimiento, si se implementara en una plataforma informática
adecuada, permitiría a cualquier profesional de la salud hacer una evaluación a priori de
una lesión cutánea sospechosa para tomar medidas adecuadas que beneficien a un
paciente.
17

7. Planteamiento del problema y justificación

La presencia del cáncer de piel ha crecido en las últimas décadas a nivel mundial. La
información del tema en Colombia es muy escasa, sin embargo, las instituciones de
cáncer ofrecen información sobre la frecuencia y la distribución en instituciones de
referencia. Por ejemplo, los diagnósticos nuevos de cáncer de piel, con relación al periodo
de 1996-2010 en el Instituto Nacional de Cancerología, centro de referencia en cáncer a
nivel nacional, evidencia un crecimiento progresivo de la frecuencia de casos nuevos,
acompañado de una mayor frecuencia en personas mayores a 75 años. Los tipos más
comunes son: el carcinoma basocelular (52,7 %), el escamocelular (22,6 %) y el
melanoma (16,1 %). Adicionalmente, la presencia estimada del melanoma maligno en
Colombia corresponde a 4,6 por 100.000 en mujeres y 4,4 por 100.000 en hombres. Es
por ello, la importancia del cáncer de piel como prioridad en la salud pública.

A pesar de que hoy en día hay varias herramientas opensource para la detección
temprana de cáncer de piel (melanoma), aún están lejos de ser implementadas por los
profesionales de la salud que están en pie de lucha ayudando a la población vulnerable.
Por esto, con este trabajo se realizó un acercamiento a otras alternativas de diagnóstico
para el cáncer de piel.
18

8. Conjunto de datos

Para abordar nuestro problema, usamos el conjunto de datos disponible a través del
desafío Big– bd – melanome de la plataforma Kaggle
(https://www.kaggle.com/dorianea/bigbdmelanome). El conjunto de datos contiene
exactamente 73622 imágenes RGB (red, green, blue) que tiene valores de 0 a 255, de
las cuales teníamos para entrenamiento un total de 51532 imágenes, 11051 imágenes
de prueba y 11039 imágenes de validación. Todas las imágenes tenían un formato jpg,
tamaño 600 x 450 píxeles y un peso promedio por imagen 300 kB. Las imágenes se
redimensionan a 150 x 150 píxeles antes del entrenamiento, con la finalidad de que
fuera más fácil de procesar por nuestra red neuronal convolucional.

El conjunto de datos presentaba un total de 7 categorías de imágenes de melanomas,


etiquetadas y cuantificadas de la siguiente manera:

1. BKL queratosis benigna - benigno

2. DF dermatofibroma - benigno

3. NV nevos melanocíticos - benigno

4. MEL melanoma - maligno

5. VASC clases de lesiones vasculares - benigno

6. BCC carcinoma de células basales – maligno

7. AKIEC queratosis actínica y carcinoma intraepitelial - maligno


19

Cantidad de 1 2 3 4 5 6 7 Total
imágenes

Entrenamiento 7230 7875 7126 7576 6217 7669 7839 51532

Validación 1549 1687 1526 1623 1332 1643 1679 11039

Prueba 1551 1689 1528 1625 1333 1644 1681 11051

Total 10330 11251 10180 10824 8882 10956 11199 73622

Tabla 1. Cantidad de imágenes por categoría

Como el alcance del trabajo se limitaba a clasificar melanomas malignos y benignos, se


procedió a reorganizar las 7 categorías según su etiqueta (maligno o benigno), para
tener un nuevo conjunto de imágenes.

Tabla 2. Cantidad de imágenes por categoría

Para la implementación de la Red Neuronal Convolucional que clasifica melanomas


malignos o benignos, se realizó la comparación del tipo de melanoma NV NEVOS
MELANOCÍTICOS, que es un lunar común, contra tres tipos de melanoma malignos,
como son: MEL MELANOMA, BCC CARCINOMA DE CÉLULAS BASALES y AKIC
QUERATOSIS ACTÍNICA Y CARCINOMA INTRAEPITELIAL.
20

Lo anterior permitió generar dos carpetas, la primera correspondiente a melanomas


benignos o lunares comunes, versus una carpeta de lunares malignos que contenía 3
de las categorías más agresivas.

Para la realización de las pruebas, fue necesaria la construcción de dos módulos en


Python, el primero, realiza un análisis de la saturación de cada imagen, y el segundo
permite obtener las carpetas de Train, Test y Validación que posteriormente alimento
las Redes Neuronales Convolucionales.

8.1. Módulo de análisis de saturación.

El histograma es un gráfico que muestra la frecuencia con que aparecen los distintos
niveles de intensidad de una imagen a escala de grises. Los niveles definidos para
cada píxel se codifican con 8 bits, dando lugar a un rango que va de 0 a 255, definiendo
el 0 como el color negro y el 255 como color blanco.

La conversión de cada imagen a escala de grises se realizó aplicando un filtro bilateral,


con la finalidad de suavizar levemente la imagen.

Una vez se obtuvo el histograma de la imagen se calculó el área bajo la curva para la
parte central del histograma que va de la intensidad 21 a 220 y la suma de las áreas de
los extremos, que va de 0 a 21 y de 221 a 256. La relación entre estas dos áreas,
tomando como numerador el área central y denominador el área de los extremos dio
como resultado un factor que permitió discriminar las imágenes con buena exposición.
Con esto, las imágenes con un factor inferior a 1, fueron discriminadas.

Imagen 2. Melanoma con condiciones óptimas de iluminación, factor de áreas = 3.84.


21

Imagen 3. Imagen sobre expuesta de un Melanoma, factor de áreas = 0.14.

8.2. Módulo de ensamble de las carpetas de Entrenamiento, Testeo


y Validación.

Debido a que las CNN requieren una elevada capacidad de cómputo, fue necesario
realizar los experimentos con muestras del set total de las imágenes disponibles.

Mediante el módulo fue posible crear las carpetas con la estructura que se muestra en
el diagrama 1.

Tabla 3.

FALTA ESPECIFICAR, CUANTAS IMAGENES SE UTILIZARON AL FINAL PARA


ALIMENTAR LA RED Y REALIZAR LA CLASIFICACION
22

9. Objetivos
9.1. Objetivo general
Comparar el desempeño de una Red Neuronal Convolucional entrenada con un
conjunto de datos públicos, versus una Red Neuronal Convolucional pre-entrenada
aplicando transfer learning para la clasificación de imágenes de melanomas.

9.2. Objetivos específicos

1. Diseñar e implementar la arquitectura de una Red Neuronal Convolucional con un


conjunto de datos abiertos para la clasificación de imágenes de melanomas.
2. Escoger una red neuronal convolucional para clasificación de imágenes pre-
entrenadas, disponible en la literatura científica.
3. Aplicar transferencia de conocimiento usando distintas arquitecturas de Redes
Neuronales Convolucionales pre-entrenadas, seleccionadas para la clasificación de
imágenes de melanomas.
4. Analizar diversas métricas de desempeño de las redes neuronales convolucionales
para identificar el mejor modelo de clasificación para los datos en referencia.

10. Antecedentes
El melanoma es un tipo de cáncer de piel muy peligroso. El no diagnóstico o el incorrecto
diagnóstico de un melanoma (falso negativo) puede afectar la calidad de vida de un
paciente al no buscar a tiempo la atención requerida, causando que el cáncer se
disemine. Por otra parte, un falso positivo, conlleva a la afectación del paciente desde el
punto de vista psicológico, pudiendo causar procedimientos quirúrgicos innecesarios. El
procedimiento estándar y más acertado para la identificación de un melanoma maligno
consiste en un estudio histológico recolectando una muestra de tejido mediante una
biopsia, sin embargo, resultaría de gran importancia la implementación de técnicas de
23

machine learning como apoyo diagnóstico, para tamizar mediante un nivel de riesgo este
tipo de patologías, y con esto direccionar de forma más efectiva a los pacientes en el
sistema de salud. El crecimiento de la literatura médica con relación a las técnicas de
machine learning, ha demostrado ser útil para el análisis de datos biomédico a gran
escala, por ejemplo: la biología de redes (Zhou et al. 2014), la priorización de genes
(Aertset al. 2006), entre otros.

Uno de los modelos computacionales usados para el apoyo del diagnóstico en medicina
en el análisis de imágenes, son las redes neuronales artificiales, las cuales son modelos
matemáticos que se entrenan para aprender relaciones no lineales entre un conjunto de
datos de entrada y un conjunto de datos de salida, estos modelos tienen una gran
habilidad como clasificador de patrones, característica importante para la aplicación
médica. La medicina al disponer de un modelo bien entrenado, permite al

profesional tener una mayor precisión al diagnosticar y realizar un seguimiento al


paciente, si este lo requiere.

Según Delgado (1998) asegura “las redes neuronales tienen una alta capacidad de
clasificador, demostrado teóricamente y prácticamente con múltiples aplicaciones”
(p.221), muchas de esas aplicaciones sobre el campo médico; resonancia magnética,
medicina nuclear y radiología, detección de enfermedades de la piel, enfermedades
coronarias, deficiencias en el sistema inmune, enfermedades oculares, entre otros.

En este trabajo de grado, se aplicará la técnica de transfer learning con el objetivo de no


entrenar una red neuronal desde cero, ya que, entrenar una red neuronal requiere
demasiado tiempo, dependiendo de la complejidad del caso.

Transfer learning tiene como objetivo realizar una tarea en un conjunto de datos 'objetivo'
utilizando el conocimiento aprendido de un conjunto de datos 'fuente' ( Li, 2012 ; Pan y
Yang, 2010 ; Weiss et al. , 2016 ),
24

permitiendo optimizar los tiempos y mejorar la clasificación según el problema de


clasificación. El transfer learning en general mejora el modelo y reduce los tiempos de
entrenamiento en el conjunto de datos de destino. Esta idea se ha aplicado en varios
campos, como el reconocimiento de voz ( Wang y Zheng, 2015 ), las finanzas ( Stamateet
al. , 2015 ) y visión por computadora ( Okabe et al. , 2014 ; Yosinski et al. , 2014 ; Zeiler y
Fergus, 2013 ).

En una revisión publicada en Cochrane, se muestra un análisis realizado sobre 5 apps


comerciales para evaluar lesiones cutáneas sospechosas, el diagnóstico final de
melanoma se hizo mediante la histología (la biopsia es el estándar de referencia para
establecer diagnósticos finales), que probablemente haya sido un método fiable para
decidir si los pacientes realmente presentaban melanoma. Sin embargo, los estudios
excluyeron entre un 2% y un 18% de imágenes porque las aplicaciones no resultaron en
una recomendación. De este estudio se puede concluir la importancia de que sea un
profesional de la salud entrenado quien tome la fotografía y suministre la data al modelo
CNN, dado a que el resultado depende de la calidad de la imagen. Por este motivo el uso
de la aplicación va orientada a los profesionales de la salud.

Las aplicaciones de este tipo de redes neuronales está enfocada al apoyo diagnóstico de
ciertos tipos de cáncer de piel, actualmente están disponibles al público en general dos
tipos de apps, la primera categoriza la fotografía de una lesión cutánea o lunar en una
escala de riesgo, que aconseja a la persona si debería o no consultar a un especialista y
la segunda, además de hacer una clasificación previa de la lesión cutánea, la envía a
revisión a un equipo de expertos en dermatología para obtener una clasificación en riesgo
más acertada.

Previo al 2016 los modelos matemáticos empleados para la selección y clasificación de


melanomas se basaban en estudios de flujo de aprendizaje automático, el cual maneja
preprocesamiento, segmentación, extracción de características y clasificación, aunque se
necesitaba un nivel alto de conocimiento para la extracción de las características de las
25

imágenes, por lo cual era posible que no se realizara una buena segmentación
disminuyendo la clasificación del melanoma. En el 2016 se rediseño la metodología en el
campo de las técnicas clasificación de lesiones cutáneas, los enfoques presentados a el
International Symposium on Biomedical Imaging (ISBI) resalta esta transición, en el cual
no se utilizaron técnicas de machine learning como se venía realizando , si no que se
utilizaron metodologías de deep learning con Redes Neuronales Convolucionales (RNC o
CNN).

N. N. Sultana and N. B. Puhan, en su estudio ‘‘Recent deep learning methods for


melanoma detection: A review,’’ de Enero del 2018 hace referencia a algunas técnicas
utilizadas para la detección de melanomas por medio de métodos de aprendizaje
profundo, en el cual se consigue una mayor precisión en los resultados obtenidos con las
metodologías de aprendizaje profundo.

A. Esteva, B. Kuprel, R. A. Novoa, J. Ko, S. M. Swetter, H. M. Blau, and S. Thrun, en su


estudio ‘‘Dermatologist-level classification of skin cancer with deep neural networks,’’ de
Febrero de 2017, Resalta el potencial de las Redes Neuronales Convolucionales , para la
clasificación y diagnóstico automatizado de las lesiones cutáneas a partir de imágenes. Se
buscaba comparar el desempeño brindado por una Red Neuronal Convolucionas vs
expertos con amplia experiencia en la detección de melanomas. La CNN logra un
desempeño muy a la par con los expertos, demostrando la capacidad de la red neuronal
de diagnosticar cáncer en la piel muy a la par con dermatólogos expertos.

M. N. Bajwa, K. Muta, M. I. Malik, S. A. Siddiqui, S. A. Braun, B. Homey, A. Dengel, and S.


Ahmed, en su trabajo ‘‘Computer-aided diagnosis of skin diseases using deep neural
networks,’’ , de abril del 2020. Realizan diagnósticos asistidos por computadoras de
enfermedades en la piel, por medio de deep learning. Utilizando dos de los conjuntos de
datos más grandes de imágenes de piel disponibles públicamente DermNet e ISIC
Archive. Se establecieron nuevos resultados para la clasificación y diagnóstico de
enfermedades en la piel; para DermNet se obtuvo una precisión del 80% y un 98% de
26

área bajo la curva, y en el conjunto de datos ISIC Archive se obtuvo un resultado del 93%
de precisión y un 99% bajo la curva. Con esto se puede visualizar un papel prometedor
para el diagnóstico práctico, efectivo y rápido, incluso en tiempo real para ayudar a los
médicos en la detección de estas enfermedades cutáneas.

11. Glosario y definiciones

11.1. Deep Learning


El aprendizaje profundo (Deep learning) es un subconjunto del machine learning en donde
por medio de técnicas de inteligencia artificial permite que máquinas (computadoras)
aprendan patrones en base a cálculos matemáticos y estadísticos para simular
comportamientos y la toma de decisiones como lo podría realizar un humano.

Los modelos de deep learning de clasificación se entrenan mediante un amplio conjunto


de datos los cuales realizan una tarea repetitiva para poder anticiparse a los resultados de
un problema dando paso a un aprendizaje progresivo. Estos modelos de deep learning
permiten obtener resultados sorprendentes, que en algunas ocasiones incluso supera el
rendimiento humano.

Las redes neuronales del deep learning como su nombre lo indica están basadas en
sistemas nerviosos biológicos con un comportamiento muy similar a las redes neuronales
humanas, en donde la información es procesada de forma muy similar compuesto por
distintos nodos interconectados entre sí, en donde toda la información de los datos es
recibida como señales (inputs), y es enviada la información a su vez a otras neuronas
(nodos) los cuales procesan toda la información y generan una salida de esta información
con las funciones y cálculos realizados durante su procesamiento (outputs). Gracias a los
algoritmos de aprendizaje profundo se puede llevar a cabo el aprendizaje de patrones
ocultos dentro de los datos, para realizar predicciones.
27

11.2. Red neuronal computacional

Imagen 4. Tomado de https://cebebelgica.es/es_ES/blog/10/que-es-una-red-neuronal-artificial.html.

11.3. Las redes neuronales convolucionales


Las convolutional neural networks o redes neuronales convolucionales (CNN), es un
tipo de red neuronal multicapa las cuales permiten realizar el procesamiento de
imágenes extrayendo ciertas características espaciales de los datos reduciendo el
número de variables de entrada.

La red neuronal convolucional emplea una operación matemática llamada convolución


el cual es un tipo especializado de operación lineal. El cual filtra una imagen utilizando
una máscara y cada píxel de salida es una combinación lineal de los píxeles de
entrada.

Función de convolución;


(f∗g)(t)¿=∫ f ( η ) g (t−η)dη
−∞

Una convolución extrae mosaicos del mapa de características de entrada y les aplica
filtros para calcular nuevas características, produciendo un mapa de características de
salida o una característica convolucionada (que puede tener un tamaño y una
profundidad diferentes que el mapa de características de entrada). Las circunvoluciones
se definen mediante dos parámetros:

 Tamaño de los mosaicos que se extraen (normalmente 3x3 o 5x5 píxeles).


28

 La profundidad del mapa de características de salida, que corresponde a la


cantidad de filtros que se aplican.
Durante una convolución, los filtros (matrices del mismo tamaño que el tamaño de la
tesela) se deslizan sobre la cuadrícula del mapa de características de entrada de forma
horizontal y vertical, un píxel a la vez, extrayendo cada tesela correspondiente (consulte
la imagen 5).

Imagen 5. Una convolución de 3x3 de profundidad 1 realizada sobre un mapa de características de entrada de 5x5, también de
profundidad 1.

Para cada par de filtro-mosaico, la CNN realiza una multiplicación por elementos de la
matriz de filtro y la matriz de mosaico, y luego suma todos los elementos de la matriz
resultante para obtener un valor único. Luego, cada uno de estos valores resultantes
para cada par de mosaicos de filtro se genera en la matriz de características
convolucionadas (Imágenes 5 y 6).

Imagen 6. (izquierda) mapa de características de entrada de 5x5 (profundidad 1). Imagen 7. (Derecha) una convolución de 3x3
(profundidad 1).
29

Imagen 8. (Izquierda) la convolución de 3x3 se realiza en el mapa de características de entrada de 5x5. Imagen 9. (Derecha)
característica convolucionada resultante.

Durante el entrenamiento, la CNN "aprende" los valores óptimos para las matrices de
filtro que le permiten extraer características significativas (texturas, bordes, formas) del
mapa de características de entrada. A medida que aumenta la cantidad de filtros
(profundidad del mapa de características de salida) aplicados a la entrada, también
aumenta la cantidad de características que la CNN puede extraer. Sin embargo, la
contrapartida es que los filtros componen la mayoría de los recursos gastados por la
CNN, por lo que el tiempo de capacitación también aumenta a medida que se agregan
más filtros. Además, cada filtro agregado a la red proporciona menos valor incremental
que el anterior, por lo que los ingenieros pretenden construir redes que utilicen la
cantidad mínima de filtros necesarios para extraer las características necesarias para
una clasificación precisa de las imágenes.

11.4. ReLU
Después de cada operación de convolución, la CNN aplica una transformación de
Unidad lineal rectificada (ReLU) a la característica convolucionada, para introducir la no
linealidad en el modelo. La función ReLU, F ( x )=max ⁡(0 , x), devuelve x para todos los
valores de x >0y devuelve 0 para todos los valores de x ≤ 0 .

Imagen 9. Operación ReLu. Nota: U. Walkarn.2016. Una explicación intuitiva de las redes neuronales convolucionales
sofmax

11.5. Arquitectura básica de redes neuronales convolucionales.

Esta arquitectura la componen las capas convolucionales, las capas de pooling y las
capas conectadas,
30

11.5.1. Capa convolucional


Es el bloque de construcción central de la red conmoración, la convolución es una
operación matemática para fusionar dos conjuntos de información, esta capa tiene
filtros de dimensión (W × H × D) seleccionadas según el problema, este genera un
mapa de características de tamaño (WH +1)×(W −H + XP) donde P es el número de
filtros a utilizar.

Imagen 10. Tomado de https://core.ac.uk/download/pdf/290002463.pdf

11.5.2. Pooling
Posterior a la convolución, se hace la disminución del volumen de datos realizando una
submuestra de cada resultado generado en las capas convolucionales haciendo
31

operaciones en pequeñas regiones de la matriz de entrada acumulando el valor mayor


(max pooling) o el promedio (average pooling) de valores de la matriz de activación
obtenida en la capa de convolución.

Si la matriz de entrada a la capa pooling es de tamaño (W x H x D), la matriz de salida


será de (W/P x H/P x D), reduciendo la dimensión de la matriz de activación lo cual
optimiza el tiempo de cómputo y disminuye el número de parámetros.

11.5.3. Max-Pooling.

Dada una matriz Aaxa podemos definir el proceso de Max-Pooling con una amplitud k y
un stride p como la matriz P(i, j) tal que:

P ( i, j ) =máx A [ (i−1 ) p+m , ( j−1 ) p +n ] donde n , m=1 , … , k

Si fueran necesarias más filas o columnas para el desarrollo del algoritmo se pueden
incluir más filas y columnas mediante el método de zero-padding. El algoritmo de Max-
Pooling usualmente utilizado es aquel con una amplitud y stride 2.

11.5.4. Average-Pooling

Es similar al método de Max-Pooling, salvo que en vez de ser la salida el máximo se


trata de la media aritmética.

1
P (i , j)= ∑ A [ ( i−1 ) p+ m, ( j−1 ) p+n]
k 2 n ,m=1 , …, k
32

Imagen 11. Tomada de https://core.ac.uk/download/pdf/290002463.pdf

11.5.5. Capa fully connected:

estas son todas las capas de la red totalmente conectadas aplicando una capa
convolucional y una capa de pooling, realizando esto repetitivamente hasta obtener un
conjunto de matrices, es necesario contar con una capa de flattering la cual permite
ajustar toda la información en un vector y una última capa la cual es la encargada de
realizar la clasificación, que determinará a qué clase depende la imagen de entrada

Imagen 12. Estructura de extremo a extremo de una red neuronal convolucional.


33

11.5.6. Visualización de redes neuronales convolucionales:

Entre más pasos de convolución se tengan, más características complicadas podrá


aprender a reconocer nuestra red. Por ejemplo, en Clasificación de imágenes, una
ConvNet puede aprender a detectar bordes a partir de píxeles sin procesar en la
primera capa, luego usar los bordes para detectar formas simples en la segunda capa y
luego usar estas formas para disuadir características de nivel superior, como formas
faciales. en capas superiores.

Imagen 13. Funciones aprendidas de una red convolucional. Nota: U. Walkarn.2016. Una explicación intuitiva de las redes
neuronales convolucionales

Según (Adam Harley), creó asombrosas visualizaciones de una red neuronal


convolucional entrenada en la base de datos MNIST de dígitos escritos a mano.
Observemos, cómo funciona la red para una entrada '8'. Tener presente que la
visualización en la imagen 14 no muestra la operación ReLU por separado.

Imagen 14. Visualización de una ConvNet entrenada en dígitos escritos a mano. Nota: U. Walkarn.2016. Una explicación intuitiva
de las redes neuronales convolucionales.
34

12. Prevención del sobreajuste


En cualquier modelo de aprendizaje automático, una de las preocupaciones más
importante al momento de entrenar una red neuronal convolucional es el sobreajuste:
un modelo tan ajustado a las especificaciones de los datos de entrenamiento, no puede
generalizar a nuevos ejemplos. Dos técnicas para evitar el sobreajuste al construir una
CNN son:

12.1. Aumento de datos.


Es la generación artificial de nuevos datos por medio de perturbaciones o
modificaciones realizadas a los datos originales, permitiendo aumentar el tamaño y la
diversidad de imágenes en el set de datos utilizado. En otras palabras, es la generación
de nuevos datos a partir de imágenes ya existentes.

Imagen 13. (Izquierda) imagen original del perro del conjunto de entrenamiento. (Derecha) nueve imágenes nuevas generadas a
partir de la imagen original mediante transformaciones aleatorias.
35

para el procesamiento de imágenes se generan nuevos datos con algunas


modificaciones, las cuáles dependiendo del problema se pueden utilizar, entre estas
técnicas tenemos las siguientes más conocidas:

● padding (aplicar relleno)


● random rotating (rotación aleatoria)
● re-scaling (re escalar la imagen)
● vertical and horizontal flipping (voltear la imagen de forma vertical y horizontal)
● translation (la imagen se mueve a lo largo de la dirección X, Y)
● cropping (recorte)
● zooming (hacer zoom a la imagen)
● darkening & brightening/color modification (oscurecimiento y
aclaración/modificación de color)
● grayscaling (aplicar escala de grises)
● changing contrast (cambiar el contraste de la imagen)
● adding noise (adisionar ruido)
● random erasing (borrar segmentos de la imagen de forma aleatoria)

A continuación, podemos ver un ejemplo de aumento de datos y las alteraciones que


pueden llegar a tener las nuevas imágenes generadas:
36

Imagen 14. Tomado de https://research.aimultiple.com/data-augmentation/

12.2. Regularización de abandono.

La regularización de abandono elimina una selección aleatoria de un número fijo de


unidades en una capa de red para un solo paso de gradiente. Cuantas más unidades
abandonaron, más fuerte fue la regularización. Esto es análogo a entrenar la red para
emular un conjunto exponencialmente grande de redes más pequeñas.

13. Otras arquitecturas ConvNet


Desde principios de la década de 1990, existen las redes neuronales convolucionales.
Es el caso de LeNet, que fue una de las primeras redes neuronales convolucionales.
Observemos otras arquitecturas influyentes:

13.1. LeNet (década de 1990)


LeNet fue una de las primeras redes neuronales convolucionales que ayudó a impulsar el
campo del aprendizaje profundo. Este trabajo pionero de Yann LeCun se denominó LeNet5,
después de muchas iteraciones exitosas anteriores desde el año 1988. En ese momento la
arquitectura LeNet se usaba principalmente para tareas de reconocimiento de caracteres como
lectura de códigos postales, dígitos, etc.
37

Imagen 15. VGG 16- Convolutional Network for Classification and Detection» [En línea] Available:
https://neurohive.io/en/popularnetworks/vgg16/?fbclid=IwAR1_8qTXKK2Jo4_WpXdoGnbK46g2NpiUorJeFUf5BxezUVt3AhfF4F-
FTuY/.

13.2. Década de 1990 a 2012


Desde finales de la década de 1990 hasta principios de la de 2010, las redes neuronales
convolucionales estaban en incubación. A medida que se disponía de más y más datos y poder
de cómputo, las tareas que podían abordar las redes neuronales convolucionales se volvían
cada vez más interesantes.

13.3. AlexNet (2012)


En 2012, Alex Krizhevsky (y otros) lanzaron AlexNet, que era una versión más profunda y
mucho más amplia de LeNet y ganó por un amplio margen el difícil ImageNet Large Scale
Visual Recognition Challenge (ILSVRC) en 2012. Se puede atribuir a este trabajo un avance
significativo con respecto a los enfoques anteriores y la aplicación generalizada actual de las
CNN.

Imagen 16. VGG 16- Convolutional Network for Classification and Detection» [En línea] Available:
https://neurohive.io/en/popularnetworks/vgg16/?fbclid=IwAR1_8qTXKK2Jo4_WpXdoGnbK46g2NpiUorJeFUf5BxezUVt3AhfF4F-
FTuY/.
38

13.4. ZF Net (2013):


El ganador de ILSVRC 2013 fue una red convolucional de Matthew Zeiler y Rob Fergus. Se
hizo conocido como ZFNet (abreviatura de Zeiler & Fergus Net). Fue una mejora en AlexNet al
ajustar los hiperparámetros de la arquitectura.

13.5. GoogLeNet (2014)


El ganador de ILSVRC 2014 fue una red convolucional de Szegedy de Google. Su principal
contribución fue el desarrollo de un módulo de inicio que redujo drásticamente la cantidad de
parámetros en la red (4M, en comparación con AlexNet con 60M).

Imagen 17. Zenva. [En línea] Available: https://pythonmachinelearning.pro/understanding-advanced-convolutional-neural-networks/.

13.6. VGGNet (2014)


El segundo lugar en ILSVRC 2014 fue la red que se conoció como VGGNet. Su principal
contribución fue mostrar que la profundidad de la red (número de capas) es un componente
crítico para un buen desempeño.

13.7. ResNets (2015)


La red residual desarrollada por Kaiming He (y otros) fue la ganadora de ILSVRC 2015.
Actualmente, las ResNets son, con mucho, modelos de redes neuronales convolucionales de
última generación y son la opción predeterminada para usar ConvNets en la práctica (a partir de
mayo de 2016).
39

Imagen 18. Zenva. [En línea] Available: https://pythonmachinelearning.pro/understanding-advanced-convolutional-neural-networks/.

13.8. DenseNet (agosto de 2016)


Publicado recientemente por Gago Huang (y otros), la red convolucional densamente
conectada tiene cada capa conectada directamente con todas las demás capas en forma de
avance. Se ha demostrado que DenseNet obtiene mejoras significativas con respecto a las
arquitecturas de vanguardia anteriores en cinco tareas comparativas de reconocimiento de
objetos altamente competitivas.

Imagen 19. Zenva. [En línea] Available: https://pythonmachinelearning.pro/understanding-advanced-convolutional-neural-networks/.


40

14. Modelos preentrenados


Para entrenar una red neuronal convolucional que realice tareas de clasificación de
imágenes, generalmente se requiere una gran cantidad de datos de entrenamiento y
completar el conjunto de datos, puede llevar mucho tiempo. Debido a ello, se puede
aprovechar los modelos de imágenes existentes que fueron entrenados con conjuntos
de datos enormes y adaptarlos en otros problemas de clasificación.

Una técnica común para aprovechar los modelos preentrenados es la extracción de


características: recuperar representaciones intermedias producidas por el modelo
previamente entrenado, y luego alimentar estas representaciones en un nuevo modelo
como entrada. Por ejemplo, si está entrenando un modelo de clasificación de imágenes
para distinguir diferentes tipos de vegetales, podría alimentar imágenes de
entrenamiento de zanahorias, apio, etc., en un modelo previamente entrenado y luego
extraer las características de su capa de convolución final, que capturan toda la
información que el modelo ha aprendido sobre los atributos de nivel superior de las
imágenes: color, textura, forma, etc. Luego, al construir su nuevo modelo de
clasificación, en lugar de comenzar con píxeles sin procesar, puede usar estas
características extraídas como entrada y agregue sus capas de clasificación totalmente
conectadas en la parte superior. Para aumentar el rendimiento cuando se usa la
extracción de características con un modelo previamente entrenado, los ingenieros a
menudo ajustan finamente los parámetros de peso aplicados a las características
extraídas.

Técnica de transferencia de aprendizaje, la cual consiste en tomar una red neuronal


ya entrenada y en función de la información almacenada en sus pesos, utilizar dicha
información con una nueva arquitectura y unos nuevos datos, con la finalidad de
aumentar la capacidad de extracción de las características de las imágenes y aumento
en la precisión de clasificación de la red. La transferencia de aprendizaje usa
únicamente la información almacenada en los pesos de la red pre entrenada junto con
la arquitectura y los datos de la red construida para el entrenamiento, se utiliza esta
41

técnica, porque optimiza los tiempos de procesamiento y disminuye el esfuerzo


computacional.

14.1. Ajuste fino

En la extracción de características, los pesos de la red preentrenada no se actualizaron


durante el entrenamiento. Una forma de aumentar aún más el rendimiento es "afinar"
los pesos de las capas superiores del modelo preentrenado junto con el entrenamiento
del clasificador de nivel superior. Para el ajuste fino, es importante tener presente lo
siguiente:

El ajuste fino solo debe intentarse después de haber entrenado el clasificador de nivel
superior con el modelo preentrenado establecido en no entrenable. Si agrega un
clasificador inicializado aleatoriamente encima de un modelo preentrenado e intenta
entrenar todas las capas juntas, la magnitud de las actualizaciones de gradiente será
demasiado grande (debido a los pesos aleatorios del clasificador) y su modelo
preentrenado simplemente olvidará todo lo aprendido. Además, ajustamos con
precisión solo las capas superiores del modelo preentrenado en lugar de todas las
capas del modelo preentrenado porque, en una convnet, cuanto más alta es una capa,
más especializada es. Las primeras capas en una convnet aprenden características
muy simples y genéricas, que se generalizan a casi todos los tipos de imágenes. Pero a
medida que avanza, las funciones son cada vez más específicas para el conjunto de
datos en el que se entrena el modelo. El objetivo del ajuste fino es adaptar estas
características especializadas para que funcionen con el nuevo conjunto de datos. Todo
lo que tenemos que hacer para implementar el ajuste fino es configurar las capas
superiores para que se puedan entrenar, volver a compilar el modelo (necesario para
que estos cambios surtan efecto) y reanudar el entrenamiento.

Revisadas las redes neuronales en profundidad, las características importantes y


algunas CNN. A continuación, se presenta el conjunto de procedimientos utilizados
42

para alcanzar nuestro objetivo, así mismo, las distintas tecnologías y herramientas
utilizadas para el desarrollo del proyecto.

Imagen 20. Tomada de http://personal.cimat.mx:8181/~mrivera/cursos/aprendizaje_profundo/preentrenadas/preentrenadas.html

15. METODOLOGIA
1. Se realizó la extracción del total de las imágenes del conjunto de datos del
repositorio de la plataforma Kaggle (https://www.kaggle.com/dorianea/bigbdmelanome),
el cual contiene un total de 73622 imágenes RGB (red, green, blue).

2. Las imágenes estaban desbalanceadas con relación a las categorías a clasificar y a


las carpetas de entrenamiento, validación y prueba. Específicamente, la carpeta de
entrenamiento presentaba un 95% del total de los datos, las carpetas de validación y
prueba tenían un 2.5% de los datos respectivamente. Adicionalmente, el conjunto de
datos presentaba 7 categorías de imágenes, lo cual, no permitió ajustarlo fácilmente a
nuestro problema. Debido a ello, se realizó lo siguiente:
 Para el entrenamiento de la red neuronal convolucional, se distribuyó la data de
la siguiente manera: entrenamiento 70%, validación y prueba un 15% de los
datos respectivamente. Con la finalidad, de reducir en gran medida la posibilidad
43

de sobreajuste del modelo. Adicionalmente, el conjunto de entrenamiento es más


grande, para asegurarnos de producir resultados estadísticamente significativos.
El conjunto de validación permite evaluar los resultados del conjunto de
entrenamiento. Luego, usamos el conjunto de prueba para verificar su
rendimiento, una vez que el modelo haya aprobado el conjunto de validación.

Imagen 21. Tomada de https://developers.google.com/machine-learning/crash-course/validation/another-partition?hl=es-419.

 Uno de los inconvenientes más importantes en la realización de este Trabajo de


Grado, fue la elaboración de nuestro propio conjunto de datos, para
posteriormente poder emplearlo en dos redes neuronales convolucionales
distintas. Toda la parte de recategorización del conjunto de datos, se llevó a
cabo mediante el lenguaje de programación de Python. Se recategorizó los datos
para no trabajar con 7 categorías de imágenes, si no, solo con dos categorías,
malignos y benignos. Pasando así de trabajar con 73600 imágenes a un total
final de 13034 imágenes. Todo lo anterior, se explicó con detalle en la sección de
datos.

3. Preprocesamiento de las imágenes: Para esta situación, se procesó las imágenes


normalizando los valores de los píxeles para que estén en el rango [0, 1], debido a que
las imágenes originalmente están en un rango de 0 a 255. Ya que, al tener un modelo
con varias funciones, los valores deben estar en el mismo rango. Adicionalmente, a
todas las imágenes se les cambió el tamaño a 150 x 150 píxeles, para afectar el tiempo
de entrenamiento y el rendimiento del modelo
4. Para el entrenamiento de los datos, se usó la técnica de aumento de datos con el fin
de aumentar la cantidad de imágenes, para con ello, lograr obtener mejores resultados
y disminuir la posibilidad de sobre ajuste.
44

Teniendo en cuenta algunos desafíos anteriormente mencionados, se usó la técnica de


aumento de datos para afrontar y dar solución al problema de pocos datos en el
conjunto de entrenamiento, los aumentamos mediante una serie de transformaciones
aleatorias, de modo que, en el momento del entrenamiento, nuestro modelo nunca verá
exactamente la misma imagen dos veces. Esto nos ayudó a prevenir el sobreajuste y a
que el modelo generalizara mejor. Todo ello, se realizó aplicando una serie de
transformaciones aleatorias que se realiza en las imágenes leídas por
ImageDataGenerator. Las características que se asumierón en este aumento de datos,
fueron las siguientes:
 Las imágenes se giran aleatoriamente 40∘, teniendo presente que el rango es de
0° a 180°.
 Se usa una fracción de ancho de 0.2 y una fracción de alto de 0.2
 Se usa una fracción de ancho de 0.2 y una fracción de alto de 0.2
 El zoom aleatorio en el interior de las imágenes es de 0.2
 La mitad de las imágenes se voltean aleatoriamente de forma horizontal. Esto es
relevante cuando no hay supuestos de asimetría horizontal.
 Fill_mode es la estrategia utilizada para rellenar los píxeles recién creados, que
pueden aparecer después de una rotación o un cambio de ancho / alto.

5. Red Neuronal Convolucional.

Para las redes neuronales convolucionales, se usó las imágenes procesadas como
anteriormente se mencionó. Implementamos y comparamos el rendimiento de dos
CNN: una construida y entrenada desde cero, utilizando nuestra propia arquitectura y
otros modelos bien conocidos preentrenados con arquitecturas predefinidas, a las
cuales se les aplico la técnica de transferencia de conocimiento. La descripción de cada
uno de ellos, se describe a continuación:

 CNN personalizada.

Nuestro mapa de características de entrada es de (150 x150 x 3): 150 x 150 para los
píxeles de la imagen y 3 para los tres canales de color: R, G y B. La primera
45

convolución extrae 16 filtro que son 3x3, a la convolución le sigue la capa de


agrupación máxima con una ventana de 2x2. La segunda convolución extrae 32 filtros
que son 3x3, a la convolución le sigue la capa de agrupación máxima con una ventana
de 2x2. La tercera convolución extrae 32 filtros que son 3x3, a la convolución le sigue la
capa de agrupación máxima con una ventana de 2x2. La cuarta convolución extrae 64
filtros que son 3x3, a la convolución le sigue la capa de agrupación máxima con una
ventana de 2x2. Luego, Aplanar el mapa de características a un tensor de una
atenuación para que podamos agregar capas completamente conectadas. Finalmente,
capa completamente conectada con activación ReLU para acelerar nuestra
convergencia hacia la pérdida óptima y los parámetros, con 512 neuronas ocultas.
Luego, capa de salida con un solo nodo y activación sigmoid.

Si bien, anteriormente se analiza la arquitectura del modelo personalizado, hay muchos


hiperparámetros que se pueden ajustar para optimizar el rendimiento. Ahora, en lugar
de probar diferentes valores a mano, usaremos GridSearchCV de Scikit-Learn para
probar varios valores para nuestros hiperparámetros y comparar los resultados.

Para realizar una validación cruzada keras, utilizaremos los contenedores para la API
de Scikit-Learn. Proporcionan una manera de usar modelos Sequential Keras (solo de
entrada única) como parte de su flujo de trabajo de Scikit-Learn.

 VGG16 con ajuste fino

La VGG16 es una red neuronal entrenada con más de un millón de imágenes de la


base de datos ImageNet, es una red sencilla pero muy poderosa, que puede clasificar
distintos tipos de categorías como animales, teclados, lápices, frutas, etc., entre otras
muchas más. La arquitectura es la siguiente: capa de entrada de (150 x 150 x 3): 150 x
150 para los píxeles de la imagen y 3 para los tres canales de color (R, G y B), 13
capas convolucionales y 5 capas max pooling. Presenta un total de 14,714,688
parámetros entrenables.
46

En primer lugar, se realizó transferencia de conocimiento por separado, usando los


pesos preentrenados de la CNN VGG16 para las imágenes de melanomas malignos y
benigno. En otras palabras, se congelo todas las capas convolucionales del modelo
pre-entrenado y se entrenó solo las capas completamente conectada personalizadas
por nosotros.

Por otro lado, se implementó la técnica de ajuste fino, ajustando algunas de las últimas
capas (block5_conv1, block5_conv2 y block5_conv3) de la arquitectura existente
VGG16 previamente entrenada en el conjunto de datos de ImageNet. Para la tarea de
clasificación detallada, realizamos un aumento de datos para abordar el problema de la
escasez de datos y lograr la generalización.

Imagen 22. Tomada de *****

 VGG19 con ajuste fino


Es una variante de la red neuronal VGG16, la cual contiene más capas de cálculo (19
capas profundas) siendo así más pesada para almacenar en memoria y requiere un
poco más de requerimiento de computo.

La arquitectura es la siguiente: capa de entrada de (150 x 150 x 3): 150 x 150 para los
píxeles de la imagen y 3 para los tres canales de color: R, G y B, 16 capas
47

convolucionales y 5 capas max pooling. Presenta un total de 20,024,384 parámetros


entrenables.

Se realizó transferencia de conocimiento por separado, usando los pesos


preentrenados de la CNN VGG19 para las imágenes de melanomas malignos y
benigno. En otras palabras, se congelo todas las capas convolucionales del modelo
pre-entrenado y se entrenó solo las capas completamente conectada personalizadas
por nosotros.

Se implementó la técnica de ajuste fino, ajustamos algunas de las ultimas capas


convolucionales (block5_conv1, block5_conv2 y block5_conv3) de la arquitectura
VGG19 previamente entrenado en el conjunto de datos de ImageNet. Debido a la falta
de datos en la tarea de clasificación detallada, utilizamos el aumento de datos para
lograr la generalización y abordar el problema de la escasez de datos.

Imagen 23. Tomada de *****

 MobileNet con ajuste fino.


48

MobileNet se centra en una arquitectura que optimiza la latencia, la red está constituida
principalmente por convoluciones separables profundas, que es un tipo de
convoluciones factorizadas, realizando un proceso de descomposición que puede
reducir en gran medida la cantidad de cálculo y el tamaño del modelo, se puede utilizar
para el reconocimiento de patrones de animales, geolocalización, detección de objetos,
atributos faciales entre otras categorías.
La arquitectura de MobilNet es la siguiente:
1. Capa de entrada de (150 x 150 x 3): 150 x 150 para los píxeles de la imagen y 3
para los tres canales de color: R, G y B.
2. Una capa convolucional sencilla.
3. Trece capas convolucionales Depthwise convolution (convolucional en
profundidad), este tipo de capa es un tipo de convolución en la que cada canal
de entrada se convoluciona con un kernel diferente.
4. Una capa convolucional con Batch Normalization.
5. Trece capas convolucional Depthwise convolution con Batch Normalization.
6. Trece capas convolucional Depthwise convolution con funcion de activación
RELU.
7. Trece capas convolucionales Pointwise convolution el cual hace una convolución
en puntos que mezcla los canales de salidas resultantes de el Depthwise
convolution.
8. Trece capas convolucionales Pointwise con Batch Normalization.
9. Trece capas convolucionales Pointwise con función de activación RELU.
10. Cuatro capas convolucionales padding.
11. Presenta un total de 3,228,864 parámetros entrenables.

Se realizó transferencia de conocimiento por separado, usando los pesos


preentrenados de la MobilNet para las imágenes de melanomas malignos y benigno. En
otras palabras, se congelo todas las capas convolucionales del modelo pre-entrenado y
se entrenó solo las capas completamente conectada personalizadas por nosotros.
49

Se implementó la técnica de ajuste fino, ajustamos algunas de las ultimas capas


convolucionales (conv_dw_13, conv_dw_13_bn, conv_dw_13_relu, conv_pw_13,
conv_pw_13_bn y conv_pw_13_re) de la arquitectura MobilNet previamente entrenado
en el conjunto de datos de ImageNet. Debido a la falta de datos en la tarea de
clasificación detallada, utilizamos el aumento de datos para lograr la generalización y
abordar el problema de la escasez de datos.
50

Imagen 24. Tomada de *****

Imagen 25. Tomada de *****

 InceptionV3 con ajuste fino.

Es un modelo de reconocimiento de imágenes muy utilizado ya que alcanza una


precisión superior al 78.1% en el conjunto de datos de ImageNet, esta arquitectura está
compuesta por componentes básicos simétricos y asimétricos, los cuales incluyen
reducción de promedio, agrupación máxima, concatenaciones, abandones, capas
completamente conectadas y convoluciones.

Arquitectura InceptionV3:
51

1. Uso del optimizador RMSprop.


2. Normalización por lotes en la capa totalmente conectada del clasificador auxiliar.
3. Uso de convolución factorizada 7 × 7
4. Regularización de suavizado de etiquetas: es un método para regularizar el
clasificador al estimar el efecto de la caída de la etiqueta durante el
entrenamiento. Evita que el clasificador prediga una clase con demasiada
confianza. La adición del suavizado de etiquetas proporciona una mejora del 0,2
% en la tasa de error.

Imagen 26. Tomado de https://www.geeksforgeeks.org/inception-v2-and-v3-inception-network-versions/

Se realizó transferencia de conocimiento por separado, usando los pesos


preentrenados de la inceptionV3 para las imágenes de melanomas malignos y benigno.
En otras palabras, se congelo todas las capas convolucionales del modelo pre-
entrenado y se entrenó solo las capas completamente conectada personalizadas por
nosotros.
52

Se implementó la técnica de ajuste fino, ajustamos el último bloque de capas


convolucionales de la arquitectura inceptionV3 previamente entrenado en el conjunto de
datos de ImageNet. Debido a la falta de datos en la tarea de clasificación detallada,
utilizamos el aumento de datos para lograr la generalización y abordar el problema de
la escasez de datos.

16. Localización

El actual trabajo se desarrolló 100 % remoto, se utilizaron como insumos tecnológicos


los equipos de cómputo de los tres estudiantes, fue necesario utilizar servicios de
almacenamiento y procesamiento en la nube para lo cual se utilizaron los servicios de
Google Cloud Platform (AI Platform) con una máquina virtual con las siguientes
características:

● 1 terabyte de almacenamiento.
● 8 vCPUs de procesamiento.
● 16 Gigas de Ram.
53

● Técnica para abordar el problema


Para la clasificación de distintas afecciones en la piel, enfocado principalmente en
melanomas se decidió utilizar técnicas de deep learning ya que este lleva a cabo el
proceso de aprendizaje de máquina utilizando una red neuronal la cual se alimenta de
la información entregada por medio de los datos, la procesa en distintos
niveles(jerarquizada) como si fuera una función cognitiva y por medio de distintos
metodos matematicos y estadisticos aprende y reconoce características y patrones
como lo podría hacer una red neuronal humana, siendo una imitación de las
características arquitecturales del sistema nervioso humano.

Dado que existen distintas arquitecturas de redes neuronales , para este proyecto el
cual busca clasificar melanomas en la piel, se optó por utilizar una arquitectura de red
neuronal convolucional porque es un algoritmo que está diseñado para trabajar con el
procesamiento de imágenes.
54

17. Resultados

Red neuronal con datos abiertos

La red neuronal convolucional generada y entrenada con datos abiertos, presenta un


valor de pérdida para el conjunto de entrenamiento y validación es de 0.2511 y 0.4072
respectivamente (medición de qué tan malo es el modelo), está medida debería ser
más pequeña para tener un modelo muy bueno. Visualmente, se podría decir que en
base a las curvas de pérdida, no hay sobreajuste en el entrenamiento.

La exactitud es una métrica para evaluar modelos de clasificación. Informalmente, la


exactitud es la fracción de predicciones que el modelo realizó correctamente. Es por
ello, que se evidencia que los datos de entrenamiento tienen una aceptable fracción de
predicción con un valor para los datos de entrenamiento del 89% , por otro lado, la
exactitud para el conjunto de datos de validación es un poco más baja que la de los
datos de entrenamiento pero nos brinda un 86% de precisión, seguramente con más
épocas y más tiempo de entrenamiento, logre tener una buena convergencia.
55

Redes neuronales utilizando transferencia de aprendizaje.

Se implementaron tres distintas arquitecturas de redes neuronales previamente pre


entrenadas las cuales son:

● VGG16
● VGG19
● MobileNet
● InceptionV3
56

VGG16:

Red neuronal entrenada con más de un millón de imágenes de la base de datos


ImageNet, es una red sencilla pero muy poderosa , que puede clasificar distintos tipos
de categorías como animales, teclados, lápices, frutas, etc., entre otras muchas más.
Arquitectura VGG16:
● Capa de entrada de 150 x 150 x 3: 150 x 150 para los píxeles de la imagen y 3
para los tres canales de color: R, G y B.
● 13 capas convolucionales.
● 5 capas max pooling.
● Total de 14,714,688 de parametros entrenables

Los resultados obtenidos realizando transfer learning con la red VGG16 fueron :
57

Como se puede observar en la gráfica anterior se obtuvo una precisión del 99 % en la


clasificación en los datos de entrenamiento y del 88.90% en los datos de validación.

En cuanto a la pérdida se obtuvo un 3.23% para los datos de entrenamiento y un 50%


para los datos de validación.

VGG19:
58

Es una variante de la red neuronal VGG19 la cual contiene más capas de cálculo (19
capas profundas )siendo así más pesada para almacenar en memoria y requiere un
poco más de requerimiento de computo.

Arquitectura VGG19:
● Capa de entrada de 150 x 150 x 3: 150 x 150 para los píxeles de la imagen y 3
para los tres canales de color: R, G y B.
● 16 capas convolucionales.
● 5 capas max pooling.
● Total de 20,024,384 de parametros entrenables
59

Como se puede observar en la gráfica anterior se obtuvo una precisión del 98.50 % en
la clasificación en los datos de entrenamiento y del 88.70% en los datos de validación.

En cuanto a la pérdida se obtuvo un 3.79% para los datos de entrenamiento y un


49.61% para los datos de validación.

MobileNet:

Se basa en una arquitectura que se centra en optimizar la latencia, la red está


constituida principalmente por convoluciones separables profundas, que es un tipo de
convoluciones factorizadas, realizando un proceso de descomposición que puede
reducir en gran medida la cantidad de cálculo y el tamaño del modelo, se puede utilizar
60

para el reconocimiento de patrones de animales, geolocalización, detección de objetos,


atributos faciales entre otras categorías.

Arquitectura MobilNet:
● Capa de entrada de 150 x 150 x 3: 150 x 150 para los píxeles de la imagen y 3
para los tres canales de color: R, G y B.
● 1 capa convolucional sencilla.
● 13 capas convolucionales Depthwise convolution (convolucional en
profundidad), este tipo de capa es un tipo de convolución en la que cada canal
de entrada se convoluciona con un kernel diferente.
● 1 capa convolucional con Batch Normalization
● 13 capa convolucional Depthwise convolution con Batch Normalization
● 13 capa convolucional Depthwise convolution con funcion de activacion RELU
● 13 capas convolucionales Pointwise convolution el cual hace una convolución en
puntos que mezcla los canales de salidas resultantes de el Depthwise
convolution.
● 13 capas convolucionales Pointwise con Batch Normalization
● 13 capas convolucionales Pointwise con funcion de activacion RELU
● 4 capas convolucionales padding
● Total de 3,228,864 de parametros entrenables
61
62
63

Como se puede observar en la gráfica anterior se obtuvo una precisión del 100 % en la
clasificación en los datos de entrenamiento y del 87.90% en los datos de validación.

En cuanto a la pérdida se obtuvo un 0.69% para los datos de entrenamiento y un


49.30% para los datos de validación.

InceptionV3:

Es un modelo de reconocimiento de imágenes muy utilizado ya que alcanza una


precisión superior al 78.1% en el conjunto de datos de ImageNet , esta arquitectura
está compuesta por componentes básicos simetricos y asimetricos, los cuales incluyen
reducción de promedio, agrupación máxima, concatenaciones, abandones, capas
completamente conectadas y convoluciones.

Arquitectura InceptionV3:
● Uso del optimizador RMSprop.
● Normalización por lotes en la capa totalmente conectada del clasificador auxiliar.
● Uso de convolución factorizada 7 × 7
● Regularización de suavizado de etiquetas: es un método para regularizar el
clasificador al estimar el efecto de la caída de la etiqueta durante el
64

entrenamiento. Evita que el clasificador prediga una clase con demasiada


confianza. La adición del suavizado de etiquetas proporciona una mejora del 0,2
% en la tasa de error.

Tomado de https://www.geeksforgeeks.org/inception-v2-and-v3-inception-network-
versions/
65

Como se puede observar en la gráfica anterior se obtuvo una precisión del 96.05 % en
la clasificación en los datos de entrenamiento y del 84% en los datos de validación.

En cuanto a la pérdida se obtuvo un 11.56% para los datos de entrenamiento y un


90.83% para los datos de validación.
66

18. Discusión de los resultados

A continuación se muestra un comparativo de los resultados obtenidos de las distintas


arquitecturas de las redes neuronales convolucionales.

Después de haber entrenado y probado las redes implementadas previamente y en


consecuencia de los resultados obtenidos, podemos concluir que:
● La arquitectura de la red neuronal InceptionV3 usada por medio de la aplicación
de la técnica de transfer learning, no es un buen modelo de clasificación para
nuestros datos debido a que los resultados de la función de pérdida para los
datos de entrenamiento y validación son muy altos ; recordando que esta es una
medida de que tan malo es el modelo.
● La red neuronal convolucional VGG19 aplicando transfer learning, presenta un
valor de pérdida para el conjunto de entrenamiento y validación de 0.0379 y
0.4965 respectivamente (medición de qué tan malo es el modelo), entre más
baja es esta medida se puede asegurar que el modelo es mucho mejor por lo
cual podemos observar que en comparación al modelo generado sin
transferencia de aprendizaje la función de pérdida es un poco más alta en los
datos de validación pero la pérdida en los datos de entrenamiento es mucho más
baja, lo cual nos da la certeza que es el mejor modelo de clasificación para el
conjunto de datos. Visualmente, se podría decir que en base a las curvas de
pérdida, no hay sobreajuste en el entrenamiento.
● Los resultados de la métrica de precisión (accuracy) obtenidos por el transfer
learning evidencia que los datos de entrenamiento tienen una muy buena
fracción de predicción con un valor para los datos de entrenamiento del 98% ,
por otro lado, la exactitud para el conjunto de datos de validación es también
muy buena con un 88% y esto con solo 30 épocas que se utilizaron para correr
el modelo, con una máquina con mayor capacidad de cómputo donde se pueda
67

aumentar el número de épocas se podría tener una mayor precisión dado que a
medida que se recorría cada época la métrica mejoraba.
● Adicionalmente resaltamos que los resultados obtenidos y presentados
corresponden a varias purbas que realizo el equipo de trabajo, sobre el conjunto
de datos de entrenamiento con el objetivo de buscar el mejor modelo de
clasificación binaria, manteniéndose siempre la alta calidad de las estadísticas
obtenidas.
● Uno de los desafíos fue no contar con las herramientas óptimas para el
procesamiento de las distintas arquitecturas implementadas, dado que no se
contaba con un equipo de cómputo de alto desempeño para poder generar
arquitecturas más robustas y realizar otro tipo de validaciones para los hiper
parámetros , como lo es la validación cruzada

Observaciones generales
Hace falta toda la parte de búsqueda de hiper parámetros en todas las redes
La escritura debe revisarse: distintos tiempos verbales y los párrafos no son
consistentes unos con otros.
La sección de metodología esta desordenada.
Como falta hacer la búsqueda de hiper parámetros los resultados mostrados no tienen
ninguna validez.
En la metodología deben explicarse detalladamente todos los detalles de los
procedimientos realizados.
El resumen parece mas una introducción.
Todas las imágenes deben estar referenciadas y las formulas deben estar escritas y no
ser imágenes.
68

19. Conclusiones y recomendaciones

En este trabajo utilizamos varias redes neuronales convolucionales para clasificar imágenes de

melanomas benignos y malignos, basado en imágenes de entrenamiento de tales clases.

Debido a los retos que se tuvieron que afrontar, se tuvo que emplear objetividad para reducir el

sobreajuste y la búsqueda de hiper-parámetros adecuados para el modelo. Evaluamos cuatro

modelos con el uso de la técnica de transferencia de conocimiento y se observó que los datos

de entrenamiento y prueba para la métrica de precisión mejoran enormemente la clasificación,

esto ocurre en el modelo VGG19 en comparación con los demás modelos . Presentamos un

modelo que logra una precisión de más del 98% en nuestro conjunto de datos de entrenamiento

y datos de validación de 88,7%. Sin embargo, la pérdida de entrenamiento y validación son

respectivamente 0.0379 y 0,4985. Juzgando por nuestro perfil de entrenamiento, podríamos

seguir ajustando nuestro modelo durante más épocas y probablemente podría llegar a mejorar.

Recomendaciones:

Este trabajo de grado no tendrá una aplicación directa en el campo de la medicina, sin embargo

se puede utilizar como base para la construcción de modelos más robustos de clasificación que

permitan detectar con una precisión óptima algún tipo de melanoma.

Para el trabajo con modelos de aprendizaje profundo es importante tener acceso a

herramientas de cómputo de alto desempeño, que permitan llegar a generar modelos mucho

más robustos y con resultados más precisos.


69

20. Lista de referencias

Bruno López Takeyas «Introducción a la Inteligencia Artificial. » Instituto Tecnológico de Nuevo

Laredo. Web del autor: http://www.itnuevolaredo.edu.mx/takeyas/.

[2]

«Qué es Machine Learning» [En línea] Available:

https://www.definicionabc.com/tecnologia/machine-learning.php. Último acceso:

03/2019.

[3]

«Towards Data Science» [En línea] Available: https://towardsdatascience.com/deep-learning-

101-for-dummies-like-me-a53e3caf31b1. Último acceso: 03/2019

[4]

Simon Haykin «Neural Networks - A Comprehensive Foundation». Editorial: Pearson. Año de la

novena publicación: 2005.

[5]

Hilera, G. (1994). «Redes neuronales artificiales. Fundamentos, modelos y aplicaciones». Serie

Paradigma, RaMa. Autores: Raquel Flórez López, José Miguel Fernández Fernández.

[1] Alvaro Artola. Clasificación de imágenes usando redes neuronales convolucionales en

Python. Dpto. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de

Ingeniería Universidad de Sevilla, 2019.

[2] Flavia Carolina, Álvaro Acosta y Juan Castillo. Cáncer de piel en Colombia: cifras del

Instituto Nacional de Cancerología. Revista de La Asociación Colombiana de

Dermatología y Cirugía Dermatológica, volumen 26. Número 1, 2018.


70

[3] Chuchu N, Takwoingi Y, Smartphone applications for triaging adults with skin lesions

that are suspicious for melanoma. Cochrane Database of Systematic Reviews, 2018.

[4] https://www.kaggle.com/dorianea/bigbdmelanome.

[5] Apuntes de clase de Redes Neuronales Artificiales -

Semestre I- 2021

[6] N. N. Sultana and N. B. Puhan, ‘‘Recent deep learning methods for melanoma detection:

A review,’’ de Enero del 2018.

[7] A. Esteva, B. Kuprel, R. A. Novoa, J. Ko, S. M. Swetter, H.

M. Blau, and S. Thrun,‘‘Dermatologist-level classification of skin cancer with deep neural

networks,’’ de Febrero de 2017.

[8] M. N. Bajwa, K. Muta, M. I. Malik, S. A. Siddiqui, S. A. Braun, B. Homey, A. Dengel, and

S. Ahmed, ‘‘Computer- aided diagnosis of skin diseases using deep neural networks,’’ ,

de abril del 2020.

** AW Harley, "An Interactive Node-Link Visualization of Convolutional Neural Networks", en

ISVC, páginas 867-877, 2015 ( enlace ). Manifestación


71

Anexos

● Se anexan 5 notebooks en donde se puede validar las arquitecturas utilizadas y la

codificación utilizada para el desarrollo del trabajo.

También podría gustarte