Está en la página 1de 5

92.16% de precisión para la red MLP, y 94.

40% de precisión han mejorado drásticamente el estado del arte en el re-


para la red CNN [2] conocimiento de voz, el reconocimiento visual de objetos,
la detección de objetos y muchos otros dominios, como el
B. Detección de neumonı́a con un conjunto de votación pon- descubrimiento de fármacos y la genómica. El aprendizaje pro-
derado de modelos de CNN fundo descubre una estructura intrincada en grandes conjuntos
Este artı́culo [3] propone múltiples enfoques de conjunto de datos mediante el uso del algoritmo de retropropagación
basados en Mask R-CNN y RetinaNet para detectar la opaci- para indicar cómo una máquina debe cambiar sus parámetros
dad pulmonar en CXR. Se muestra el resultado del exper- internos que se utilizan para calcular la representación en cada
imento, que son los valores de las coordenadas y la confi- capa a partir de la representación en la capa anterior.
anza de la opacidad pulmonar en los cuadros delimitadores
previstos para cada paciente. Se demuestra la eficiencia del
enfoque combinando múltiples clasificadores con el método
B. Numpy
de conjunto de votación ponderado por mayorı́a. Ademas se
realizaron varios intentos de ensamblar los modelos Mask
La matriz NumPy es una estructura de datos que almacena
R-CNN y RetinaNet respectivamente, obteniendo un mAP
y accede de manera eficiente a matrices multidimensionales17
ligeramente más alto en comparación con la adopción de
(también conocidas como tensores) y permite una amplia
solo un clasificador de alto rendimiento involucrado en el
variedad de cálculos cientı́ficos. Consiste en un puntero a
conjunto. Luego se combinó varios modelos de Mask R-CNN
la memoria, junto con los metadatos que se utilizan para
y RetinaNet para el conjunto. La proporción adecuada de
interpretar los datos almacenados allı́, en particular, ”tipo de
pesos dados a cada clasificador jugó un papel importante en la
datos”, ”forma” y ”pasos” (Fig. 3).
puntuación de nuestra competencia. Al ajustar la proporción
de los pesos dados a cada clasificador, el mAP se aumentó a
0.21746 con una presentación tardı́a en Kaggle RSNA Pneu-
monia Detection Challenge, aproximadamente podrı́a clasifi-
carse como el puesto 21 de 1499 en la clasificación privada
de la competición.
C. Detección de la infección pulmonar por neumonı́a a partir
de imágenes de rayos X con aprendizaje profundo
Fig. 3. La matriz NumPy incorpora varios conceptos fundamentales de matriz
En [4] se realiza la construcción de un modelo de apren-
dizaje profundo. Esto se logra a través del entrenamiento de
una red neuronal convolucional con miles de imagenes de C. Tensorflow
Rayos X. Para realizar esta construcción se utilizaron 7750
imagines de rayos X de toráx como datos de entrenamiento El marco TensorFlow ™ de Google es una biblioteca de
y 468 de validación. En este proceso se logró una preción software de código abierto de última generación que se puede
general del 92.14% de precisión lo que vislumbra que un utilizar para entrenar redes neuronales de aprendizaje profundo
futuro los profesionales en radiografı́a médica puedan hacer para realizar tareas de aprendizaje automático. Los modelos
uso de la IA para un diagnóstico rápido. de redes neuronales multicapa generalmente se componen
de varias capas computacionales, cada una de las cuales
D. Detección de neumonı́a a partir de imágenes radiográficas funciona para abstraer los datos de entrada de diferentes
usando redes neuronales convolucionales maneras, generalmente en niveles crecientes de complejidad.
En [5] se explica acerca de la detección de neumonı́a a partir Esto les permite ser muy sensibles a caracterı́sticas complejas
de imágenes radiográficas. Para ello, se utilizó la arquitectura en grandes conjuntos de datos.
ResNet-152 que se basa en redes neuronales convolucionales,
logrando una tasa de éxito del 97.4%. Se emplearon 5826
imágenes de radiografı́as de tórax, del cual 1583 corresponden
D. Redes Neuronales Convolucionales
al sector normal mientras que 4273 pertenecen a pacientes que
padecen de neumonı́a. Este conjunto de datos se consiguieron • En [6] se explica que las redes neuronales convolu-
de menores de edad de 1 a 5 años de un centro médico en cionales (CNN) se componen de nodos ocultos que se
China. distribuyen en capas.
III. C ONCEPTOS • Los nodos o neuronas perciben entradas y cuantifican la
suma promedio, después el resultado pasa por medio de
A. Deep Learning una función de activación que provee una salida.
Son modelos computacionales que se componen de • En la Figura 4 se puede apreciar una estructura general-
múltiples capas de procesamiento aprendan representaciones izada de las redes neuronales convolucionales que es una
de datos con múltiples niveles de abstracción. Estos métodos red multicapa que se compone de capas convolucionales.
Fig. 4. Estructura general de las redes neuronales convolucionales
Fig. 8. Matriz de confusión

• Para el presente estudio se utiliza las siguientes funciones • Accuracy.


de activación:
– Función ReLu. La activación de la neurona se activa
solo si los valores son positivos. El rendimiento de
esta función es óptima en redes neuronales convolu-
cionales.

Fig. 5. Función de unidad lineal rectificada (ReLu)

– Función Softmax. Se representa mediante proba-


bilidades. Tiene rendimiento óptimo en las últimas Fig. 9. Accuracy
capas.
IV. M ETODOLOG ÍA
La metodologı́a usada para el presente trabajo de inves-
tigación que busca clasificar una imagen como ’normal’ o
’neumonı́a’, consta de 5 fases, el cual se elaboró tomando
como referencia la usada en nuestro estado del arte [4],

Fig. 6. Función de unidad lineal rectificada (Softmax)

E. Algoritmo de optimización Adam


El algoritmo de Adam combina la estrategia de aprenzaje
de Adagrad y RMSProp. Se basa en el descenso de gradiente
estocástico. Este conserva una tasa única de aprendizaje para
Fig. 10. Metodologı́a propuesta
poder actualizar los pesos, de modo que la tasa de aprendizaje
no varı́a durante el proceso de entrenamiento. A. Dataset de entrada
Se inició consiguiendo el Dataset en la página Kaggle, el
F. Métricas cual contiene 3308 imagenes de rayos X del torax. El conjuto
Las métricas que se utilizan para este trabajo: de imagenes está distribuido de la siguiente manera:
• 80% para la fase de entrenamiento, clasificado en dos
• Matriz de confusión. categorı́as. 1341 para pacientes sin neumonı́a y 1341
para pacientes con neumonı́a. En las figuras 11 y 12 se
muestran algunas imagenes.
• 20% para la fase de prueba.

Fig. 7. Matriz de confusión Fig. 11. Imagenes de pacientes sin neumonı́a


Fig. 12. Imagenes de paciente con neumonı́a

B. Preprocesamiento de dataset
Fig. 15. Histograma de una imagen luego de ser pasado a escala de grises
con valores de 0 a 1
Debido a que las imagenes del dataset solo estaban agrupado
en carpetas como normal y neumonı́a, se requerı́a realizar C. Creación del modelo
un preprocesamiento para etiquetar las imagenes. Por ello,
Para la creación de la arquitectura de la red neuronal con-
se elaboró un algoritmo en python para llevar a cabó la
volucional se tomó como referencia la elaborada por el autor
clasificación, que consiste en recorrer el dataset y etiquetar
[4], porque en su trabajo de investigación publicado en Scopus
con 0 las imagenes que se encuentran en la carpeta normal y
comparo su modelo CNN con otros como ResNet18, AlexNet,
con 1 las imagenes que se encuentra en la carpeta neumonı́a
DenseNet201, obtuviendo buenos resultados de acuerdo a
para almacenarlo en un N array. Posteriormente, se graficó la
las métricas para la predicción neumonı́a. A continuación se
cantidad de etiquetas destinadas para el entrenamiento, verif-
detallará cada fase de la arquitectura.
icando que coincida con la cantidad de imagenes destinadas
• Entrada de la red: Se ingresa una imagen previamente
para el entrenamiento, como se puede observar en la Figura
preprocesada de rayos x del torax de 150x150 px en
13.
escala de grises y con etiqueta de ’normal’ o ’neumonia’.
• Capa de convolución: Se usó 5 capas de convolución
con distintos filtros de 3x3, con la función de activación
RELU.
• Max Pooling: Se aplicó 5 max pooling después de cada
capa de convolución, utilizando un filtró de 2x2.
• Capa densa: Esta capa recibe 256 entradas que son las
caracterı́sticas extraidas en la ultima capa de convlución
y max pooling, previamente aplanadas por realizarse el
flatening.
• Capa densa de salida: Esta capa densa, consta de 2 neu-
ronas con la función de activación Softmax para obtener
Fig. 13. Distribución de etiqueta 0 y 1 de las imagenes de entrenamiento
la salida de valores donde se indique la probabilidad de
que la imagen es una con neumonı́a o sin neumonı́a, con
la finalidad de que el valor mayor sea la predicción de la
Luego de completar satisfactoriamente el etiquetado se llevó red neuronal convolucional.
a cabo el redimensionamiento de las imagenes, reduciendo su
tamaño a 150px de altura y 150px de ancho, como se puede
observar en la Figura 14. Cabe destacar, que esta medida se
realizó tomando como referencia el trabajo de investigación
del autor [4]. Asimismo, el color de estas imagenes se cambió
a escala de grises con valores de 0 a 1, en vez de 0 a 255,
como se puede observar en la Figura 15. con la finalidad de
facilitar la entrada a la red neuronal convolucional.

Fig. 16. Modelo de Red Neuronal Convolucional aplicado

D. Entrenamiento del modelo


Para realizar el entrenamiento del modelo se utilizó el
algoritmo de optimización de adam y se usó como métricas
la matriz de confusión y accuracy. En una primera instancia
se configuró 20 épocas, sin embargo, notamos que a partir de
la época 5 habia un sobreajuste del modelo, como se puede
Fig. 14. Redimensionamiento de las imagenes a 150x150 visualizar en la Figura 17, en las lineas de color naranja.
Fig. 17. Accuracy de entrenamiento durante 20 épocas

Por este mótivo, en una segunda instancia se volvió a crear


Fig. 19. Accuracy de validación del modelo durante 4 épocas
el modelo para nuevamente entrenarlo pero solo con 5 épocas,
como se puede visualizar en la Figura 18, en las lineas de color
rojo, obtuviendo un accuracy de 0.9653. V. RESULTADOS

A. Matriz de confusión

Se elaboró una matriz de confusión para comparar los val-


ores reales y los valores de predicción. Figura 20. Asimismo,
permitó obtener el accuracy utilizando la formula mostrada
durante la presentación de los conceptos.

Fig. 18. Accuracy de entrenamiento del modelo durante 4 épocas

E. Validación del modelo

Fig. 20. Matriz de confusión


Después de terminar el entrenamiento en la segunda instan-
cia, se realizó la validación con las imagenes para la fase de
prueba, obtuviendo un accuracy de 0.0.8878, como se puede B. Comparación de Accuracy
observar en la figura 19, en las lineas de color rojo, lo que
significa que el modelo creado tiene aproximadamente 89% de En la Figura 21 se muestran los valores obtenidos del
probabilidad de predecir si una imagen de rayos x del toráx accuracy durante el entrenamiento, representado por la linea
de un paciente tiene o no neumonı́a. roja; y la validación, representado por la linea verde.
• Asiginar un número alto de épocas para el entrenamiento
nos permitió identificar a partir de que momento se creaba
un sobreajuste del modelo, y ası́ poder determinar el
número de épocas más adecuado.
VII. RECOMENDACIONES
• Usar una mayor cantidad de imágenes al realizar el
entrenamiento. Para ello, se puede obtar por utilizar la
técnica de aumentación de data.
• Uso de Google Colab para trabajar con Python en una
máquina virtual, porque permite la creación de modelos
de redes neuronales sin necesitar altos recursos computa-
cionales.

R EFERENCES
[1] MINSA, Boletı́n epidemiológico del Perú, vol 21, 2020.
[2] A. Saraiva, D. Santos, N. Costa, J. Sousa, N. Fonseca , A. Valente and
Fig. 21. Accuracy del entrenamiento vs validación
S. Soares, “Models of learning to classify X-ray images for the detection
of pneumonia using neural networks“, BIOSTEC, 2019, pp.76-83.
C. Comparación de Loss [3] K. Heewon, H. Hyunsoo, C. Hyuna, S. Kiwon “Detección de neumonı́a
en un conjunto de votación ponderado de modelos de CNN”, Congreso
En la Figura 22 se muestran los valores obtenidos del loss internacional de Inteligencia Artificial Big Data, 2019, pp. 306-310.
durante la el entrenamiento, representado por la linea roja; y [4] K. Raheja and U.Goel “Detección de la infección pulmonar por neu-
validación, representado por la linea verde. monı́a a partir de imágenes de rayos X con aprendizaje profundo”
in International Conference on Mecatronics and Artificial Intelligence
(ICMAI),India,Gurgaon,2021, pp. 1-8.
[5] M. Talo, “Pneumonia Detection from Radiography Images using Con-
volutional Neural Networks,“ 2019 27th Signal Processing and Com-
munications Applications Conference (SIU), 2019, pp. 1-4.
[6] Y. LeCun, Y. Bengio, G. Hinton, Deep learning. Nature 521, 2019
436–444. https://doi.org/10.1038/nature14539
[7] C. Harris, K. Millman, S. Van der Walt, Array programming with
NumPy, Nature 585, 2020, pp. 357–362. https://doi.org/10.1038/s41586-
020-2649-2
[8] H. Coy, K. Hsieh, K. Wu, Deep learning and radiomics: the utility
of Google TensorFlow™ Inception in classifying clear cell renal cell
carcinoma and oncocytoma on multiphasic CT, Abdom Radiol 44, 2019.
https://doi.org/10.1007/s00261-019-01929-0

Fig. 22. Loss de entrenamiento vs validación

VI. CONCLUSIONES
• La creación del modelo de una Red Neuronal Convoolu-
cional mostrado en el presente trabajo utilizando 5 capas
de convolución y pooling, tomando como referencia la
arquitectura encontrada en una investigación de nuestro
estado del arte permitió la clasificación de imagenes de
rayos X del tórax indicando si el paciente presente o no
neumonı́a con un 89% de precisión.
• Gráficar la mátriz de confusión permitió que se pueda
comprobar de forma manual el accuracy respecto a los
resultados obtenidos usando Python.

También podría gustarte