Está en la página 1de 35

ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 1

Tarea 3: Redes Neuronales Convolucionales


Andrés Alvarado Ramı́rez, Andrés Vargas Pincay
andres.alramirez@gmail.com apincay99@hotmail.com
Área Académica de Ingenierı́a Mecatrónica
Instituto Tecnológico de Costa Rica

Resumen

En el presente documento se explica la implementación de una red convolucional (CNN) para la determinación de cifras
numéricas a partir de un conjunto de imágenes y ası́ determinar cuál topologı́a de las tratadas es la que arroja mejores resultados.
Para corroborar lo anterior se realizó un estudio teórico en función a los parámetros propios de una CNN y el algoritmo asociado;
a partir de la creación del software se realizaron pruebas para determinar el mejor modelo según la topologı́a y ası́ determinar el
funcionamiento interno de los filtros de convolución para brindar un entendimiento mayor sobre el manejo de las CNN’s.

Palabras clave

CNN, average pooling, kernel, mapa de activación, Max Pooling, red densa, stride, padding, convolución, abstracción.

I. P RE ÁMBULO TE ÓRICO

De manera inicial se ha de definir el ”Deep Learning” como un área de estudio basado en aprendizaje multinivel donde
se tiene una clasificación jerárquica de caracterı́sticas, factores o conceptos que se tipifican según su peso en el modelo de
abstracción; este es basado en el estudio del perceptrón multicapa; según [1], esta rama es mayoritariamente utilizada en el
manejo de datos de imágenes, audio y texto. Una de las topologı́as más utilizadas en este ámbito son las Redes Neuronales
Convolucionales (CNN por sus siglas en inglés); esta integra la arquitectura multicapa pero se caracterı́za por usar capas del tipo
convolucional, no lineal, pooling y de conexión densa; se ha de recalcar que el aspecto más beneficioso de la implementación
de las CNN’s es que reducen la cantidad de hiperparámetros que se deben ingresar en una Red Neuronal; resultando ası́ en
un mejor manejo de modelos más grandes para solucionar tareas con dificultad elevada. [4]

Con respecto al funcionamiento de las capas de una CNN se tiene que la capa convolucional se encarga de la extracción
de información por medio de operaciones lineales y no lineales [2]. Se ha de recalcar que estas capas extraen caracterı́sticas
clasificadas por jerarquı́a de prioridad, resultando ası́ en la necesidad de distintas capas de convolución para que las carac-
terı́sticas de baja prioridad sean también computadas y el manejo de información sea mucho más integral; bajo el algoritmo de
propagación hacia atrás, la CNN aprende los pesos de los kernel y sus respectivos bias a partir de un conjunto de imágenes de
entrada [3]. Propiamente, un kernel recae en un filtro matricial de entrada que realiza un producto punto con cada sub región
de la figura inicial; dicho producto es convolucionado para ası́ obtener un mapa de activación, este mapa indica las regiones
especı́ficas de la entrada. [5]

Para detallar el proceso de la formación del mapa de activación se supone, de manera de ejemplificación, un kernel de
tamaño de 16x16; la entrada del sistema consiste en una figura con codificación RGB de 256x256x3. A partir de lo anterior, el
kernel toma grupos de su tamaño inicial y realiza el producto punto, resultando en una matriz de 16x16 conocida como mapa
de activación; dicho producto es trasladado hacia arriba por un valor conocido como stride, permitiendo ası́ que un nuevo
set de información sea procesado, este número tiende a ser entero, o bien, por tuplas y se delimita a partir del número de
pı́xeles trasladados deseado; se ha de recalcar que este proceso funciona bien para la parte central de la entrada, sin embargo,
en los bordes no se captura de una manera correcta la información; por lo anterior se introduce una etapa llamada padding,
la modalidad mayormente utilizada recae en zero padding, en esta se adicionan ceros de manera simétrica en el borde de la
matriz de entrada, por consecuente, los ceros pasan a aser los bordes de la figura y la información requerida puede ser tratada
de manera óptima [4]. La metodologı́a anteriormente explicada se observa en la figura 11, en esta se tiene una entrada de 4x4
y un kernel de 3x3, se ha de notar que los valores del mapa de activación son normalizados para asegurar el mismo rango
de intensidad entre el volumen de entrada y el de salida; para realizar dicho subproceso se divide el valor de la matriz de
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 2

activación entre la suma de los valores en la matriz del kernel. En dicho ejemplo también se asume que se utiliza un mismo
kernel para los tres sets representados en esa figura, pero, es posible trabajar con kernels separados para cada color.

Figura 1: Proceso para la obtención de un mapa de activación a partir de un set de entrada de 4x4 y un kernel de 3x3. [5]

Para limitar el número de parámetros y evitar el overfitting, las redes CNN utilizan una capa de pooling, esta se encarga de
reducir las dimensiones para la siguiente capa convolucional; ahora bien, a causa de dicha reducción se genera una pérdida
importante de información pero los beneficios anteriormente mencionados superan esta problemática. [5] evidencia que la
transformación que realiza esta capa se puede realizar por medio el valor máximo de los valores observables en la ventana
(técnica conocida como Max pooling), o bien, se puede utilizar el promedio de los datos de la ventana; se ha de mencionar
que la utilización de esta capa no es necesaria para el correcto desenvolvimiento del algoritmo. A partir del resultado de la
capa anterior se introduce la capa no lineal; esta se caracteriza por utilizar funciones de activación para que el modelo pueda
tratar con patrones más complejos [3]. Ahora bien, la función de activación mayormente utilizada en este tipo de arquitecturas
es la función Rectifier Unit, conocida como ReLU [5]; es utilizada debido a su simplicidad con respecto a otras funciones de
clasificación como lo es la función tangente hiperbólica y sigmoide; estas últimas tienden a causar problemas en el algoritmo
de propagación hacia atrás debido a que su gradiente tiende a ”desaparecer”, esto debido a que el gradiente es muy cercano a
cero excepto en el origen; lo anterior no es problema para la función ReLU ya que posee un gradiente constante para la parte
positiva de la función, una variante utilizada de dicha función es la SoftPlus esta se caracteriza por suavizar la función ReLU y
permitir un mejor manejo de la derivada para el proceso de cómputo; adjunto a lo anterior también se suele utilizar la función
exponencial normalizada (SoftMax) ya que describe una buena representación distributiva de datos según su caracterı́stica
principal para clasificación; [4]. La salida de todo el proceso ya descrito se suele transformar en una matriz unidimensional
(vector) para que sean tratadas por la capa densa; esta se caracteriza por conectar cada entrada con cada salida con un peso
variante de la manera en la que el perceptrón multicapa trabaja. [2]

II. P LANTEAMIENTO DEL PROBLEMA

La problemática central tratada en este documento consiste en la implementación y análisis de una red neuronal convolucional,
también conocida como CNN, con el fin de resolver un problema de clasificación de imágenes de cifras numéricas según el
valor numérico representado por cada imagen: cuya base de datos a utilizar está constituida por un MNIST de un total de 60000
imágenes de entrenamiento debidamente etiquetadas [9], junto con un set de prueba de 20000 ejemplares y sus respectivas
etiquetas. Para este procedimiento se considera necesario plantear diversos modelos de CNN, en los cuales se introduzcan
diferentes números de filtros de convolución o kernels, pues se requiere del planteamiento de varias hipótesis, producto de
la observación, en donde se identifique el modus operandi correspondiente a cada uno de los kernels según los mapas de
activación generados por cada uno de ellos. Este análisis supone la integración de 4 redes en donde la primera cuente con 5
filtros de activación, la segunda de 9 y la tercera de 12, mientras que la cuarta, supone la implementación de una red neuronal
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 3

densa del tipo y dimensión que se considere adecuado en función a conjunto de combinaciones en los hiperparámetros para
determinar parcialmente las caracterı́sticas del mejor modelo.

La identificación del funcionamiento de los filtros de convolución requiere de la visualización de los mapas de activación
para un total de 10 imágenes de cifras diferentes, esto para cada uno de los filtros en cada una de las 4 redes mencionadas
anteriormente. Esto además implica el planteamiento de hipótesis de operación para todos ellos, en donde se considere la
existencia de kernels en las diversas redes, que realicen funciones casi indistinguibles. La verificación de estos planteamientos
debieron ser confirmados mediante la evaluación de las diversas redes con imágenes de naturaleza notablemente diferentes,
pero de igual dimensión, a la de las cifras pertenecientes al conjunto de datos original. Adicionalmente fue requerido analizar el
efecto producido por la adopción de un mayor número de kernels en una red, para conocer si el incremento de este parámetro
mejora directamente el proceso de entrenamiento de la red y su resultado. Luego, derivado del conjunto de hipótesis planteadas
y su verificación, se debió establecer de ser posible, algún tipo de principio básico o definición inherentes al funcionamiento
de los filtros de convolución. A modo de cierre, una vez conociendo el funcionamiento y general el alcance de las redes
probadas junto con sus respectivos kernels, es necesario plantear la importancia de utilizar redes CNN únicamente como un
mecanismo de clasificación previa y no como una herramienta automatizada de diagnóstico, especı́ficamente en el área de
imágenes biomédicas. Esto supone llevar a cabo un razonamiento que permita explicar esta afirmación, mediante ejemplos que
se relacionen directamente con los experimentos aplicados hasta el momento.

III. C ONSTRUCCI ÓN DE LAS REDES SEG ÚN LA SELECCI ÓN DE SUS HIPERPAR ÁMETROS

De manera inicial se ha de recalcar que el procedimiento para la selección de los mejores hiperparámetros de la red realmente
partió del manejo correcto de datos iniciales; dicho set contiene imágenes de 10 cifras descritas a mano, ahora bien, la cantidad
de datos dentro del conjunto es realmente grande, provocando ası́ que el costo computacional asociado al manejo de datos
subiera de manera importante, por lo tanto se implementó un algoritmo de tipo cı́clico que recorre toda la lista de etiquetas
que definen el dı́gito estudiado; cada uno de estas etiquetas son clasificadas por dı́gito para un total de 600000 posiciones en
el set de datos; para que no se de el mismo estudio con cada proceso de entrenamiento se realiza un cambio aleatorio de todos
los datos por medio de una función de shuffle sin importar el valor y se realiza un truncamiento de la lista para solo tomar
los primeros 50 elementos para el set de entrenamiento; posterior a esto se escogen los 20 elementos siguientes para que se
utilicen como información de prueba y se adicionan a una nueva lista; a partir de ambas listas se hace un nuevo ordenamiento
por valor y las etiquetas correspondientes a los valores son ingresados lista externa para que el análisis posterior sea lo más
ordenado posible, la concepción del algoritmo anterior se observa en el apartado de anexos. Una vez seleccionados los datos
a utilizar se procedió a construir 3 redes CNN con un número distinto de núcleos de convolución, la primera consistió de 5
núcleos, la segunda de 9 núcleos y la última de 12 núcleos.

Como se vio anteriormente, una CNN se caracteriza por tener una capa densa al final, por ende se debe realizar un estudio en
función a los hiperparámetros que corresponden propiamente a una red neuronal, como lo es el número de épocas, el número
de neuronas en la capa oculta, la función de activación en la capa oculta, la función de activación en la capa de salida, el tipo
de optimizador, el cálculo de la pérdida y la división de validación. El número de épocas ası́ como el número de neuronas
en la capa oculta se determinaron con valores iniciales pequeños para que el costo computacional fuera bajo, estos valores
fueron incrementados para buscar una menor pérdida asociada según lo recomendado por [8]; los tipos de función de activación
utilizadas fueron escogidas a partir de lo descrito en la sección I. El objetivo de la optimización es converger en los mı́nimos
globales a partir de los parámetros de la red por medio del ajuste de pesos en la red [14]; los optimizadores utilizados en estas
pruebas consisten en Adam, Nadam, Adagrad y RMS Prop.

Para el cálculo de la pérdida se utilizan normalmente las funciones de Sparse Categorical Crossentropy, Binary Crossentropy
y pérdida de Poisson ya que su principal objetivo es la clasificación multi clase, la primera se caracteriza por por calcular la
pérdida por medio de una expresión logarı́tmica cuando las etiquetas del set de datos tienden a ser mutuamente exclusivas, [12]
menciona que esta función puede resultar conveniente cuando el número de datos manejados es muy grande ya que evita sumas
resultantes en cero para que el entrenamiento no resulte en valores indeterminados. El segundo tipo de pérdida se caracteriza
por una clasificación meramente binaria, [13] menciona que esta función trabaja de manera similar a función de activación
sigmoide; la última función de pérdida es mayormente utilizada cuando el set de datos puestos a clasificación contienen un
comportamiento del tipo de distribución de Poisson. Como último hiperparámetro se tiene la división de validación, se utilizaron
proporciones del 10 % y el 20 %, esto por lo recomendado por [8].

Se ha de recalcar que el estudio para determinar el mejor modelo no se realizó de manera exhaustiva, por ende se utilizaron
un conjunto de 4 pruebas iniciales para ver cuál comprendı́a el mejor modelo en función a las pérdidas asociadas y, a partir
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 4

de ese conjunto, se procedió a realizar modificaciones en ciertos parámetros para tratar de minimizar dichas pérdidas; el mejor
resultado obtenido de tal metodologı́a se dio para la prueba 9 observada en el cuadro I, esta se caracteriza por realizar 20
iteraciones para converger en el mejor modelo, se designaron 50 neuronas en la capa oculta y, para las funciones de activación
en la capa oculta y en la capa de salida, se utilizó SoftPlus en ambos casos; el optimizador utilizado fue el de adam y la
función para el cálculo de pérdida fue Sparse Categorical Crossentropy. A partir de lo anterior se obtuvo una pérdida de
entrenamiento de 2.074 y una pérdida de prueba de 2.0789; ahora bien, se realizaron 6 pruebas extra para ver si se obtenı́a un
mejor modelo tomando el de la prueba 9 como la nueva base, mas no se encontró una pérdida asociada menor. Es importante
recalcar que este modelo debe ser probado por separado ya que, al usar las capas correspondientes a la convolucional, la
entrada se ve altamente modificada, dichos cambios pueden afectar de manera importante al análisis singular de la capa densa.
A continuación se muestran las pruebas realizadas para delimitar el mejor modelo.

Cuadro I: Pruebas realizadas para la selección del mejor modelo de red densa.
No. Prueba Épocas N.C.O F.A.O F.A.S Opt. Pérdida V.S P.E P.P
1 10 20 tanh tanh adam S.P.C 0,1 2,4532 2,524
2 10 30 ReLU ReLU adam P 0,1 43,9632 42,4766
3 20 40 softmax ReLU nadam B.C 0,2 12,2701 11,8695
4 20 50 softmax softplus nadam S.P.C 0,2 2,1105 2,1179
5 20 60 ReLU softplus adam S.P.C 0,1 5,1451 6,4022
6 20 60 softmax softmax adam S.P.C 0,1 2,0868 2,0977
7 20 60 softplus softplus nadam S.P.C 0,2 2,6989 2,1314
8 20 50 softplus softmax adam S.P.C 0,2 4,28 10,8008
9 20 50 softplus softplus adam S.P.C 0,1 2,074 2,0789
10 20 50 softplus softplus RMS prop S.P.C 0,2 6,3155 6,6405
11 20 60 softplus softplus adam S.P.C 0,1 2,106 2,536
12 20 70 softplus softplus adam S.P.C 0,1 2,0829 2,3722
13 20 75 softplus softplus adam S.P.C 0,1 5,1046 4,3465
14 30 50 softplus softplus adam S.P.C 0,1 3,3114 4,7326
15 20 50 softplus ReLU adam S.P.C 0,1 3,3649 3,8822

Donde:

No. Prueba: Número de prueba.


N.C.O: Número de neuronas en la capa oculta.
F.A.O: Función de activación en la capa oculta.
F.A.S: Función de activación de la capa de salida.
Opt.: Optimizador.
S.P.C: Sparse Categorical Crossentropy.
B.C: Binary Crossentropy.
P: Poisson.
P.E: Pérdida de entrenamiento.
P.P: Pérdida de prueba.

Posterior a este estudio se realizó el análisis para las redes convolucionales, por lo anterior se agregaron los parámetros
de pooling, tipo de padding y tipo de stride, la implementación de hiperparámetros se realizó por medio de la librerı́a de
Keras [11], se recalca que, para este conjunto de pruebas, se adicionaron los resultados de la precisión para la prueba y el
entrenamiento ya que será necesario para analizar los factores del peso de los kernels en los siguientes incisos, además se
utilizó un valor estándar de 12 kernels, esto porque este valor representa la posible mayor complejidad de cómputo del modelo
permitiendo ası́ una aproximación bastante acertada para modelos con una complejidad menor. Para el primer parámetro, como
se explicó anteriormente, solo se utilizaron las dos modalidades existentes de pooling, el número máximo de la matriz generada
o el valor promedio de la matriz; por su parte, el número de neuronas a considerar en la capa oculta se realizó con base en la
obtención de la pérdida y presición asociada a todo el sistema puesto a que, como bien lo establece [8] no existe una manera
estandarizada para determinar este valor; en el cuadro I se observa que el mejor modelo se da con 50 neuronas en la capa
oculta, por ende se realizaron la mayor cantidad de pruebas con este parámetro; ahora bien, como se mencionó anteriormente,
el hecho de que se trabaje este tipo de topologı́a indica que el conjunto de imágenes de entrada es modificada por las capas
convolucionales, por esto se ha de probar casos extra se donde se modifiquen los parámetros propios de la red densa para
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 5

ası́ observar cambios en función a las pérdidas asociadas, he ahı́ la explicación del porqué se realizaron más pruebas para
este inciso. A partir de lo anterior se realizaron pruebas con distintas funciones de activación para la capa oculta y de salida,
a su vez se utilizaron distintos optimizadores y distintos cálculos de pérdida todo esto fundamentado en lo descrito para el
conjunto de pruebas de la red densa. El tipo de padding aceptado por la librerı́a de Keras [11] solo admite el ya explicado
zero-padding, los strides admitidos por la librerı́a ya nombrada recaen en números enteros de desplazamiento para filas o
tuplas. A continuación se muestran las pruebas realizadas para la delimitación del mejor modelo.

Cuadro II: Pruebas realizadas para la selección del mejor modelo de red convolucional.
No.P Pooling N.C.O F.A.O F.A.S Opt. Pérdida Épocas Padding Stride P.E P.P A.E [ %] A.P [ %]
1 Max. 50 ReLU Softmax adam S.P.C 10 Nulo 1 0,481 4,9926 92,44 74
2 Av. 50 ReLU Softmax adam S.P.C 10 Nulo 1 0,074 2,9978 98,44 68
3 Av. 50 ReLU ReLU adam B.C 10 Nulo 1 10,073 10,1776 10,89 4
4 Max. 50 ReLU Tanh adam P 10 Nulo 1 10,4787 10,513 10,67 10
5 Av. 50 Tanh Softmax adam P 10 Nulo 1 53,4003 53,9601 9,33 12
6 Av. 50 ReLU Softmax adam B.C 10 Nulo 1 21,8454 25,1802 11,78 10
7 Max. 50 ReLU Softmax adam B.C 10 Nulo 1 129,8358 133,3913 10,22 8
8 Av. 50 ReLU Softmax adam S.P.C 20 Nulo 1 0,0643 2,2503 98,89 74
9 Av. 50 ReLU Softmax adam S.P.C 7 Nulo 1 3,3271 8,2145 89,32 57
10 Av. 50 Sigmoide Softmax adam S.P.C 10 Nulo 1 0,957 1,0896 84 78
11 Av. 50 ReLU Softmax RMS S.P.C 10 Nulo 1 0,374 2,3462 94,22 76
12 Av. 50 ReLU Softmax Adagrad S.P.C 10 Nulo 1 2,0747 3,0655 64 46
13 Av. 50 ReLU Softmax Nadam S.P.C 10 Nulo 1 0,0804 2,5949 97,78 62
14 Av. 50 SoftPlus SoftPlus Nadam S.P.C 10 Nulo 1 0,0548 1,7488 98,44 78
15 Av. 50 SoftPlus Softmax adam S.P.C 10 Nulo 1 0,0352 1,8311 98,92 74
16 Av. 45 SoftPlus SoftPlus adam S.P.C 10 Nulo 1 1,0477 1,1196 70,20 70
17 Max. 50 ReLU Softmax adam S.P.C 10 Zero 1 0,7443 3,3345 82,22 54
18 Max. 20 ReLU Softmax adam S.P.C 10 Zero 2 1,332 1,9664 50,40 53
19 Av. 20 SoftPlus Softmax adam S.P.C 10 Zero 2 0,9395 1,2019 66,67 52
20 Av. 50 SoftPlus Softmax adam S.P.C 10 Zero 2 0,2278 1,8481 92,67 58
21 Av. 50 SoftPlus Softmax adam S.P.C 10 Zero [1,1] 0,0756 1,8993 97,68 68
22 Max. 50 ReLU SoftPlus adam S.P.C 10 Zero [1,1] 0,7218 1,9188 70,67 72
23 Max. 50 Sigmoide SoftPlus adam S.P.C 10 Zero [2,2] 1,3472 1,3572 62,44 62
24 Av. 50 SoftPlus Softmax adam S.P.C 10 Zero [2,2] 0,499 1,9463 85,33 66
25 Max. 50 ReLU Softmax adam S.P.C 10 Nulo [2,2] 0,3933 3,8116 89,56 62

Donde:

No.P: Número de prueba.


N.C.O: Número de neuronas en la capa oculta.
F.A.O: Función de activación en la capa oculta.
F.A.S: Función de activación de la capa de salida.
Opt.: Optimizador.
S.P.C: Sparse Categorical Crossentropy.
B.C: Binary Crossentropy.
P: Poisson.
Zero: Adición de ceros en el borde.
P.E: Pérdida de entrenamiento.
P.P: Pérdida de prueba.
A.E: Precisión de entrenamiento.
A.P: Precisión de prueba.

Del cuadro anterior se observa que el mejor modelo para una CNN proviene de los parámetros de la prueba 15, esta posee
un pooling del tipo promedio, presenta 50 neuronas en la capa oculta, utiliza una función de activación en la capa oculta
del tipo SoftPlus y una función de activación en la capa de salida del tipo SoftMax; el optimizador utilizado por este modelo
recae en adam y el cálculo de pérdida lo realiza por medio de la función Sparse Categorical Crossentropy; la recursión del
algoritmo se realizó por 10 iteraciones y no se aplicó zero-padding, el valor del stride fue de 1, se recalca que la proporción de
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 6

validación siempre se trató como constante de 0.1 ya que no se observó mayor cambio en las pérdidas asociadas con respecto
a un valor de 0.2. A partir de lo anterior se obtuvo una pérdida de entrenamiento de 0.0352 y una pérdida de prueba de 1.8311,
la precisión asociada al entrenamiento es de un 98.92 % y la precisión asociada al set de prueba es de 74 %; ahora bien, es
notable que este último valor no es el mayor entre las pruebas realizadas puesto a que en la prueba 14 se obtuvo un 78 %,
pero, al comparar los valores de pérdida, tanto de entrenamiento como de prueba, la prueba 15 consigue el mejor resultado,
situando a esta prueba como la mejor en general.

IV. C ARACTERIZACI ÓN DE LA RED CON MEJORES RESULTADOS DE CLASIFICACI ÓN

A partir de los mejores modelos obtenidos en la sección anterior se procede a realizar un análisis de los tres tipos de
topologı́as convolucionales y la red densa en función a la pérdida asociada de entrenamiento y prueba y la precisión para
ambos aspectos. Dichos resultados se observan a continuación.

Cuadro III: Valores asociados a pérdidas y precisión para determinar el mejor modelo de clasificación.
Topologı́a Pérdida de entrenamiento Pérdida de prueba Precisión de entrenamiento [ %] Precisión de prueba [ %]
Red densa 3,888 4,4251 38,22 28
CNN con 5 kernels 0,2276 3,2564 94,89 72
CNN con 9 kernels 0,1673 1,4844 94,44 74
CNN con 12 kernels 0,1275 1,4704 95,78 78

A partir de lo anterior es apreciable que existe una diferencia muy grande entre la exactitud de validación y la de entrenamiento
de la capa densa en función a la CNN utilizando el mejor modelo, lo anterior se ve reflejado en las pérdidas asociadas; ahora bien
esto se explica a partir del set de datos utilizados para entrenar la red neuronal, el manejo de imágenes para su reconocimiento
recae en un modelo muy complejo de analizar debido a la gran cantidad de información que las describe; mediante una red
densa no se realiza una abstracción completa de todos los posibles patrones que designen una figura, por ende no se tiene
un verdadero reconocimiento del comportamiento de los datos a la hora de realizar el entrenamiento ya que se ve la imagen
como un todo. [6] ejemplifica lo anterior por medio de la relación fı́sica de la velocidad para un carro, se plantea un caso en
donde se quiera encontrar la velocidad de un auto para un tiempo t definido; la predicción resulta mucho más sencilla si se
conoce la información en intervalos anteriores de t-1, t-2 y t-3 en lugar de realizar el estudio general centrado en el tiempo t.
Adjunto a lo anterior [7] enuncia que el principio que facilita el reconocimiento de imagen para las CNN se encuentra en la
fase de extracción y reducción; a medida que se avanza en la red se disminuyen las dimensiones activando caracterı́sticas cada
vez más complejas, al final se encuentran neuronas sencillas para realizar la clasificación. Dado lo anterior, se concibe que la
red densa realiza el sistema de clasificación a partir de la información completa, resultando en un proceso significativamente
más complejo que el de una CNN.

Habiendo aclarado el hecho de que, efectivamente, para el tratamiento de imágenes, las CNN recaen en el mejor modelo; se
ha de definir cuál es el mejor modelo de CNN para este labor; a partir de los resultados obtenidos en el cuadro III es apreciable
que las pérdidas por entrenamiento y prueba no distan mucho entre sı́, dicho comportamiento similar se observa en las figuras
2, 3 y 4 para las topologı́as de 5, 9 y 12 kernels respectivamente; ahora bien, las pérdidas asociadas son menores al aumentar
el número de kernels; a su vez, la precisión de validación aumenta conforme es mayor el número de filtros. Tras un análisis
con respecto a tales valores se dice que, al utilizar un número mayor de filtros se permite extraer más información de las
imágenes de entrada; posibilitando cuantificar un número mayor de caracterı́sticas para que la construcción de una predicción
sea más acertada. El comportamiento gráfico de las pérdidas asociadas se observa a continuación.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 7

Figura 2: Comportamiento de la pérdida de entrenamiento y prueba en función a las iteraciones para la CNN de 5 kernels.
Fuente: Propia

Figura 3: Comportamiento de la pérdida de entrenamiento y prueba en función a las iteraciones para la CNN de 9 kernels.
Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 8

Figura 4: Comportamiento de la pérdida de entrenamiento y prueba en función a las iteraciones para la CNN de 12 kernels.
Fuente: Propia

V. F UNCI ÓN DE CADA KERNEL , PLANTEAMIENTO DE HIP ÓTESIS Y SU VERIFICACI ÓN

En esta sección se ha de plantear hipótesis acerca del funcionamiento de cada uno de los kernels en las diferentes redes
convolucionales analizadas. Para esto fue necesario extraer una imagen por cada cifra con el fin de visualizar el mapa de
activación de cada filtro de convolución en cada ejemplo. Se consideró necesario identificar, de manera especial, aquellas redes
en las que los kernels poseen función es casi indistinguible entre sı́. Además, a modo de verificación, se aplicaron los mismos
filtros a imágenes del mismo tamaño pero diferente naturaleza, en este caso imágenes correspondientes a prendas de vestir
provenientes del MNIST fashion data set. Se considera relevante mencionar que los mapas de activación de todos las cifras,
junto con las imágenes sin convolucionar correspondientes, para todas las redes se encuentran en la sección de anexos de este
documento, pues en los apartados a continuación muestran las que fueron consideradas como las más significativas según cada
caso.

V-A. Red de 5 kernels

La presentación de imágenes incluye 4 mapas de activación generados para 4 cifras diferentes, las cuales constituyen una
muestra de los resultados más significativos de cada kernel.

V-A1. Kernel 1: Este filtro resalta aquellos pı́xeles correspondientes a contornos ubicados en la parte superior de la figura,
si estos pertenecen a un mismo contorno lo alarga hasta encontrarse con una curva abrupta. Estas suelen caracterizarse por
tener forma curveada, además, evita contornos por dentro de la cifra y entre más curvada sea ese contorno el color se vuelve
más intenso, considerando el amarillo como color más intenso.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 9

Figura 5: Mapas de activación del primer kernel para un 7, 3, 2 y 5. Fuente: Propia

Como verificación se muestra el mapa de activación generado por este kernel para un bolso perteneciente al conjunto de
ropa anteriormente mencionado, en donde se aprecia el contorno resaltado en la parte superior y la continuación de este mismo
hasta la parte inferior debido a la no existencia de curvas pronunciadas en esta figura.

Figura 6: Mapas de activación del primer kernel para una imagen en forma de bolso para verificación. Fuente: Propia

V-A2. Kernel 2: Al comparar los mapas de activación generados por el kernel anterior, se pudo identificar que existen
algunos bordes que reciben una coloración más tenue que otros por lo que se puede afirmar que estos se atenúan de algún
modo en el primer kernel. Una vez se visualiza el resultado del kernel número 2, se pudo identificar que aquellos bordes que
recibı́an una coloración más azulada en el antecesor, reciben una mayor demarcación e inclusive un tono más vivo en los
mapas de activación resultantes esto incluye también, aquellos pı́xeles que no llegaron a ser visibles del todo en el kernel 1,
todo esto tal y como se muestra a continuación.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 10

Figura 7: Mapas de activación del segundo kernel para un 9, 3, 4 y 5. Fuente: Propia

Tomando como base la Fig 6. se pueden distinguir algunos puntos en la imagen con coloración azulada o nula, son estos
entonces los que reciben un mayor resaltado en la imagen de verificación siguiente. Cabe mencionar que este mapa de activación
puede dejar visibles algunos pı́xeles de coloración intensa en el mapa anterior.

Figura 8: Mapas de activación del segundo kernel para una imagen correspondiente a un bolso. Fuente: Propia

V-A3. Kernel 3: Se plantea que su operación es resaltar aquellas áreas internas de los dı́gitos, es decir, aquellos pı́xeles
que se encuentran dentro de un contorno cerrado, cabe mencionar que estos bordes quedan fuera del mapa de activación pues
el color original no se ve reflejado en la salida de este kernel. Los resultados para las imágenes más significativas se muestran
a continuación.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 11

Figura 9: Mapas de activación del tercer kernel para un 4, 3, 8 y 5. Fuente: Propia

Este comportamiento se evidencia en el mapa de activación para la imagen de un bolso, en donde efectivamente se aprecia
que el área interna de la prenda se conserva, dejando por fuera el propio contorno de esta.

Figura 10: Mapas de activación del tercer kernel para un 4, 3, 8 y 5. Fuente: Propia

V-A4. Kernel 4: Este kernel se encarga de tomar los bordes no representados por el filtro anterior y los muestra sin el
relleno del dı́gito correspondiente. El mapa de activación resultante permite identificar claramente la figura de cada número,
tal y como se muestra a continuación.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 12

Figura 11: Mapas de activación del cuarto kernel para un 8, 6, 0 y 9. Fuente: Propia

Para la verificación se tuvo que tomar una imagen correspondiente a una sandalia la cual tuviese un contorno notablemente
complejo para notar precisamente esta hipótesis. Se confirma de manera parcial que este filtro toma los contornos y los muestra
en el mapa de activación tal y como se aprecia en la Fig 12.

Figura 12: Mapas de activación del cuarto kernel para una imagen correspondiente a una sandalia. Fuente: Propia

V-A5. Kernel 5: La hipótesis planteada intenta explicar el funcionamiento de este filtro de convolución pues se basa en que
los mapas de activación generados son una copia de la cifra analizada con unos leves cambios: el color del área interna posee
un tono más azulado, la figura como tal sufre de un leve desplazamiento hacia abajo y adicionalmente se pudo identificar una
especie de sombreado en la parte superior de la cifra. Esto se puede visualizar en los siguientes mapas de activación obtenidos.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 13

Figura 13: Mapas de activación del quinto kernel para un 5, 1, 8 y 9. Fuente: Propia

Se comprobó si la hipótesis planteada anteriormente era válida con el análisis del mapa de activación de este kernel utilizando
una prenda de vestir, tal y como se ha venido haciendo con el resto. En este caso se observa en la Fig 14 que efectivamente
ocurre un cambio de color a un tono más azulado, como también coincide con este análisis la formación de una sombra tenue
por encima del contorno de la figura. En cuanto al desplazamiento hacia abajo, sı́ se puede observar que este sı́ ocurre, pero,
al ser una imagen con un contorno más grande, impone una dificultad mayor para identificarlo.

Figura 14: Mapas de activación del cuarto kernel para una imagen correspondiente a una sandalia. Fuente: Propia

V-B. Red de 9 filtros

De igual forma, para esta red, se presentarán los resultados individualmente de cada kernel mediante una imagen de los 4
mapas de activación más significativos seguidos por la verificación realizada a una imagen de prenda de ropa como parte de
la evaluación de la hipótesis planteada.

V-B1. Kernel 1: se plantea la hipótesis de que este filtro se encarga de replicar la totalidad de la cifra pero le brinda un
tono más azulado en los pı́xeles de color amarillo, además de que le da un tono más tenue a los bordes de la figura dando la
sensación de un difuminado en dichos bordes.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 14

Figura 15: Mapas de activación del primer kernel para una imagen correspondiente aun 2, 1, 9 y 6. Fuente: Propia

La verificación coincide con la hipótesis planteado pues tal y como se aprecia en la Fig 27. el mapa de activación para un
vestido, demuestra que efectivamente se le brinda una sensación de sombreado a la imagen al disminuir la intensidad en el
color del borde la figura, como también se le da un color más azulado al área interna de la prenda.

Figura 16: Mapas de activación del primer kernel para una imagen correspondiente a un vestido. Fuente: Propia

V-B2. Kernel 2: Se plantea la hipótesis de que este filtro toma aquellas curvas pronunciadas en la sección derecha de la
cifra y las mantiene en el mapa de activación con un color muy similar al original, agregado a esto, aquellas curvas ubicadas
en la sección izquierda no son apreciables en estos mapas.

Figura 17: Mapas de activación del segundo kernel para una imagen correspondiente aun 2, 3, 6 y 5. Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 15

Se confirma parcialmente que la idea anteriormente planteada se valida con la imagen de verificación, como lo es el bolso
mostrado en la siguiente imagen. Si se debe agregar que para esta imagen las secciones de la izquierda no desaparecen del
todo como se planteó, pero su tono sı́ se ve afectado, pues el color se vuelve más tenue en estas áreas.

Figura 18: Mapas de activación del segundo kernel para una imagen correspondiente a un bolso. Fuente: Propia

V-B3. Kernel 3: Al visualizar algunas de las imágenes generadas por los mapas de activación de este kernel, se puede
sostener que este se encarga de marcar con tono más intenso (amarillo) aquellos contornos que poseen una inclinación creciente
de izquierda a derecha, es decir, todos las áreas que suponen un crecimiento de esta naturaleza se ven evidenciados por este
mapa de activación, mientras que, de no hacerlo ası́, no se visualizan del todo. Esto se puede visualizar en la siguiente figura.

Figura 19: Mapas de activación del primer kernel para una imagen correspondiente aun 1, 3, 5, 8. Fuente: Propia

Sucede que dependiendo de la imagen analizada, este filtro no suele mostrar el mismo comportamiento, pues en la imagen
de verificación, esta idea no se cumple con totalidad, ya que, se pueden ver pı́xeles con otra inclinación que sı́ llegan a verse
en el mapa de activación, refutando parcialmente la hipótesis planteada. De hecho en la siguiente figura no se puede identificar
con certeza la operación que realiza este kernel a la imagen de una camisa.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 16

Figura 20: Mapas de activación del tercer kernel para una imagen correspondiente a un vestido. Fuente: Propia

V-B4. Kernel 4: De la observación de los mapas de activación se puede indicar que el cuarto kernel en esta red busca
resaltar los contornos inferiores de la cifra. En otras palabras, por cada pareja de lı́neas que conforman el lı́mite de un área
interior, se muestra con un tono más vivo aquel que se encuentra por debajo. Para cuatro cifras diferentes se obtuvieron los
siguientes mapas de activación.

Figura 21: Mapas de activación del cuarto kernel para una imagen correspondiente aun 5, 6, 9, 8. Fuente: Propia

Para confirmar esta función fue necesario obtener el mapa de activación respectivo para la imagen de una sandalia en donde
parcialmente se confirma este hecho pues se enmarcan los perfiles inferiores de cada contorno.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 17

Figura 22: Mapas de activación del primer kernel para una imagen correspondiente a una sandalia. Fuente: Propia

V-B5. Kernel 5: Para este filtro no se pudo identificar una función o patrón al visualizar los mapas de activación en las
diferentes cifras, pues en algunas se pudo reconocer ciertas operaciones pero, en otras existen algunas contradicciones a estas
por lo que es indistinguible su funcionamiento de manera parcial.

V-B6. Kernel 6: Este filtro es similar al kernel número 3 de la red anterior, pues resalta las áreas internas encerradas por
contornos cerrados. además estos bordes obtiene una tonalidad más tenue lo que le brinda a la cifra un efecto de difuminado.
Esto se aprecia en la siguiente imagen.

Figura 23: Mapas de activación del sexto kernel para una imagen correspondiente a un 0, 4, 8, 9. Fuente: Propia

De hecho, esta hipótesis se verifica parcialmente con la siguiente figura correspondiente a una camisa. En donde se evidencia
que el borde se presenta en un tono menos intenso y la área interna se mantiene pero con otra coloración a la original.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 18

Figura 24: Mapas de activación del sexto kernel para una imagen correspondiente a una camisa. Fuente: Propia

V-B7. Kernel 7: Este kernel fue considerado como indistinguible pues todos los mapas de activación generados no brindan
información suficiente para formular una hipótesis de funcionamiento, de hecho en algunas cifras solo se observan algunos
pı́xeles con una coloración amarilla o azulada, por lo que no se ha podido establecer una idea general acerca de su operación.
Se presenta a continuación el mapa de activación para una imagen cuya cifra es un 7.

Figura 25: Mapas de activación del séptimo kernel para una imagen correspondiente a un 7. Fuente: Propia

V-B8. Kernel 8: La visualización de los mapas de activación generados para cada cifra supone que la función llevada a
cabo por este kernel es casi idéntica a la que realiza el sexto kernel en esta misma red. Sı́ se debe mencionar que en algunas
curvaturas el color mostrado es un poco más intenso en comparación a su homólogo, sin embargo, esto no representa una
diferencia notable a simple vista. Si cabe destacar que el mapa de activación del octavo kernel da la impresión de proporcionar
un resultado menos borroso. Para esto se muestra en la siguiente imagen la comparación entre el mapa de activación del kernel
6 y el actual para una imagen correspondiente a una cifra 9. En adición, se debe resaltar que el patrón se repite para las
imágenes de verificación por lo que no se consideró necesario presentarlas en este caso particular.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 19

Figura 26: Mapas de activación del sexto (izquierda) y octavo (derecha) kernel para una imagen correspondiente a un 9.
Fuente: Propia

V-B9. Kernel 9: De forma similar a los mapas de activación anteriores, se da una duplicidad de operación parcial entre el
kernel número nueve y el número 1 pues los resultados son muy similares a simple vista, si cabe mencionar que este último
genera una imagen menos borrosa en donde se permite identificar mejor los orificios de los número tal y como se muestra en
la siguiente imagen comparativa entre dos mapas de activación para un 8.

Figura 27: Mapas de activación del sexto (izquierda) y octavo (derecha) kernel para una imagen correspondiente a un 9.
Fuente: Propia

V-C. Red de 12 filtros

Para el caso de esta red se presentarán las hipótesis de forma grupal pues se identificaron algunos cuya operación era similar
entre sı́. Para esto se pudieron reconocer 5 agrupaciones diferentes las cuales realizan las siguientes operaciones: resaltado de
bordes laterales, marcado de bordes superiores, identificación de bordes inferiores, demarcación de área internas y un último
grupo en el cual no se pudo identificar una función en especı́fico en ninguna cifra.

V-C1. Resaltado de bordes laterales: En esta agrupación se encuentran los kernels 1, 3, 11 y 2 pues al observar los mapas
de activación se reconoció que para estos kernels se obedece un patrón muy marcado: los bordes laterales de las figuras se
encontraban con una coloración amarilla muy viva para el primero, segundo y tercer kernel, mientras que el onceavo era más
tenue. Cabe destacar que estos bordes corresponden a aquellos que se encuentran tanto al extremo derecho como al izquierdo
de las imágenes ingresadas a la red. La única diferenciación que se puede plantear entre los filtros de convolución mencionados
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 20

es que el segundo y el onceavo toman los bordes derechos mientras que el primero y el tercero, los izquierdos.

Se muestra una recopilación de los mapas de activación más significativos para el primer kernel a continuación. En donde
se aprecia que para cuatro imágenes (8, 9, 2 y 4) se verifica que efectivamente se resalta el borde lateral izquierdo de cada
contorno con un tono de verde claro en combinación con pı́xeles amarillos.

Figura 28: Mapas de activación del primer kernel para conjunto de imágenes de prueba. Fuente: Propia

Luego, se adjunta los mapas de activación del tercer kernel en donde se aprecia un funcionamiento similar al kernel anterior
para imágenes correspondientes a un 4, 5, 2 y 9.

Figura 29: Mapas de activación del tercer kernel para un conjunto de imágenes de prueba. Fuente: Propia

Seguidamente se adjuntan en la siguiente imagen los mapas de activación del segundo kernel para los cuales se plantea que
este se encarga de resaltar los bordes laterales derechos de cada contorno.

Figura 30: Mapas de activación del segundo kernel para un conjunto de imágenes de prueba. Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 21

De igual forma para el onceavo kernel en el caso de imágenes correspondientes a un 8, 6, 2 y 4, en los que se observa que
la coloración de los bordes laterales derechos es más tenue con una leve cantidad de pı́xeles amarillos.

Figura 31: Mapas de activación del segundo kernel para un conjunto de imágenes de prueba. Fuente: Propia

V-C2. Identificación de bordes inferiores: Para estas operaciones se identificaron 4 kernels cuya operación es similar entre
sı́, estos son los números 8, 9, 6 y 12. Esto supone la coloración mediante tonos vivos para aquellos bordes de una área
interna que se encuentran por debajo de otro contorno. Para el kernel número 8 se tienen los siguientes mapas de activación
presentados mediante las cifras 3, 5, 4 y 9.

Figura 32: Mapas de activación del octavo kernel para un conjunto de imágenes de prueba. Fuente: Propia

Mientras que para el noveno kernel, utilizando como prueba las mismas imágenes se obtuvo:

Figura 33: Mapas de activación del noveno kernel para un conjunto de imágenes de prueba. Fuente: Propia

De igual forma se presentan los mapas de activación para el sexto y doceavo kernel a continuación.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 22

Figura 34: Mapas de activación del sexto kernel para un conjunto de imágenes de prueba. Fuente: Propia

Figura 35: Mapas de activación del doceavo kernel para un conjunto de imágenes de prueba. Fuente: Propia

En estas imágenes se observa una pequeña diferencia en los mapas de activación, sin embargo, esta se consideró leve debido
a que se plantea una operación similar para esta agrupación, hecho por el cual se presentan juntas. En la Fig 33. por ejemplo,
se visualizan coloraciones casi idénticas a la Fig 34. en cifras como el número 3 y 4,por lo que se concluyó que estos kernels
realizan funciones muy similares y de igual manera con el sexto y doceavo filtro de convolución.

V-C3. Marcado de bordes superiores: Se planteó que únicamente el quinto kernel realiza un marcado de los bordes
superiores. En otras palabras, toma los bordes no representados por los filtros mencionados con anterioridad (8, 9, 6 y 12) y les
dota de un color azulado y verde, mientras que, el resto de los bordes no obtienen ninguna distinción, de hecho, no aparecen
en algunos de los mapas generados por los kernels. Los mapas de activación para imágenes correspondientes a un 4, 2, 7 y 6
se pueden ver en la Fig 36.

Figura 36: Mapas de activación del quinto kernel para un conjunto de imágenes de prueba. Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 23

Se podrı́a decir que el efecto de este kernel es tomar todo aquello que ninguno de los kernels anteriores, similar a un
complemento visual entre ellos.

V-C4. Demarcación de área internas: En este caso se plantea como hipótesis que tanto el kernel número 4 como el número
7 realizan una demarcación general de las áreas internas de cada cifra, si bien presentan ciertas diferencias leves, los mapas
de activación operan bajo este mismo planteamiento, cabe destacar que los bordes de estas superficies quedan por fuera de la
demarcación, lo que da una impresión de que la imagen obtiene un difuminado. Por lo que para las cifras 8, 2, 7 y 4 se tienen
los siguientes mapas de activación en los dos kernels mencionados.

Figura 37: Mapas de activación del cuarto kernel para un conjunto de imágenes de prueba. Fuente: Propia

Figura 38: Mapas de activación del séptimo kernel para un conjunto de imágenes de prueba. Fuente: Propia

Sı́ se debe mencionar que la única diferencia es que el filtro número 7 genera una especie de sombreado alrededor del área
interna demarcada, aparte de que visualmente se nota que el cuarto kernel genera una coloración amarilla más intensa que su
homólogo. Dejando estos aspectos de lado, se plantea que su funcionamiento es muy similar, por lo que se categorizan en un
mismo grupo.

V-C5. Funciones no distinguibles: Una vez planteada la hipótesis de operación para 11 de los 12 kernels a analizar, se debe
mencionar que en función de los mapas de activación obtenidos, el kernel número 10 no realiza una operación distinguible
a simple vista, pues los resultados son un conjunto de pı́xeles de coloración amarilla y verde en posiciones no referenciadas
en las diferentes cifras, similar a como se muestra en la Fig 25. Inclusive en algunas imágenes se obtuvo únicamente un solo
pı́xel de color azul o verde, por lo que se llegó a esta conclusión.

VI. A N ÁLISIS DEL EFECTO DE LOS FILTROS DE CONVOLUCI ÓN EN UNA CNN

Para comprender el efecto de una creciente adopción de filtros de convolución, se consideró necesario describir cuál es la
función general de integrar kernels en una CNN. Tal y como indica [16], su uso tiene como objetivo la modificación de una
imagen de manera que se mejoren o se realcen algunas de las caracterı́sticas con vistas a obtener información relevante de
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 24

la imagen a analizar. Esto permite inferir que los diferentes filtros de convolución brindan la facultad de extractar diferentes
cualidades de la imagen a través de un filtrado de información, lo que permite obtener nuevas imágenes o en sı́ mapas de
activación con los que se pueden caracterizar ciertas propiedades que a simple vista no son tan sencillas de comprender. Por
añadidura, [17] menciona que un buen diseño de redes convolucionales debe considerar que ante un número elevado de filtros
de convolución se puede llegar a una condición de sobreentrenamiento en la red, esto debido a que aumenta la probabilidad
de obtener información similar e inclusive redundante por parte de diferentes mapas de activación.

Si bien en la mayorı́a de casos el aumento en el número de kernels dota a la CNN de una mayor capacidad de extraer
más información, este número debe ser en función de la complejidad de la imagen por lo que ante imágenes de naturaleza
sencilla, y con una baja cantidad relativa de pı́xeles no es recomendable adoptar un número relativamente grande de filtros de
convolución [17]. Este hecho se confirma con el ejercicio realizado en esta asignación pues en la primera red con 5 kernels,
se pudo llevar a cabo la clasificación de las cifras de manera exitosa sin la necesidad de adoptar más de estos filtros, cabe
resaltar que este hecho se debe principalmente a la baja complejidad de las imágenes y su bajo número de pı́xeles (28). Por
añadidura, se debe mencionar que los mapas de activación en esta primera red no muestran operaciones notablemente similares
ni redundantes por lo que es menos probable que llegue a darse una condición de overfitting. Otro aspecto que fue notable en
la adopción de un mayor número de kernels consiste en la aparición de mapas de activación cuya función no es distinguible
a simple vista, pues este fenómeno solo ocurrió en las redes de 9 y 12 kernels, esto permitió identificar que ante un mayor
número de filtros de convolución aumentaba la probabilidad de que existan operaciones muy similares entre sı́ en las cuales
exista una diferenciación muy pequeña al visualizar el mapa de activación, como también se aumenta la probabilidad de que
se generen mapas de activación que a simple vista no aportan significativamente al funcionamiento de la CNN o que los
mapas de activación generados lleven a cabo una extracción de información irreconocible. En términos generales el aumento
del número de kernels posee un criterio similar al número de neuronas en una red neuronal, pues dependiendo del problema
si las imágenes a analizar posee una alta complejidad se requiere de un mayor número de kernels, pero si el número es muy
alto se comienzan a dar evidencias de overfitting.

VII. R EDES CONVOLUCIONALES PARA CLASIFICACI ÓN DE IM ÁGENES BIOM ÉDICAS

Como ya se ha mencionado en anteriores secciones, el uso de CNN recae principalmente en reconocimiento de imágenes;
desde clasificar imágenes de perros y gatos para juegos infantiles hasta el análisis de imágenes biomédicas, las CNN facilitan
las arduas tareas donde la inspección visual del humano es imprescindible para determinar una propiedad o dar una solución;
ahora bien ¿realmente deberı́a destinarse totalmente una CNN para realizar clasificaciones de alta importancia?

A partir de lo analizado en este trabajo se dice que este tipo de redes deberı́an ser utilizadas como una pre-clasificación;
dicha aseveración se fundamenta en los resultados obtenidos en el inciso III y IV donde, en función al mejor modelo obtenido,
se obtuvieron resultados muy cercanos al 100 % para los datos destinados al entrenamiento, especı́ficamente valores de 94.89
para una CNN compuesta por 5 kernels, 94.44 para la topologı́a de 9 kernels y 95.78 para la CNN compuesta por 12 kernels;
claro está que lo anterior se puede refutar debido a que el estudio realizado no fue realmente exhaustivo y el conjunto de
datos puede llegar a ser no representativo si se estudia un modelo médico pero, si este se realizara y se obtuviera el mejor
modelo, es prácticamente imposible obtener el 100 % de precisión esperado sin converger en un sobre-entrenamiento donde
solo se clasifiquen imágenes que son exactamente iguales; he ahı́ una de las mayores problemáticas englobadas en las CNN,
las imágenes biomédicas pueden presentar caracterı́sticas muy diferentes entre sı́ y pueden representar exactamente lo mismo;
una posible solución es utilizar un set de datos mayor para entrenar la red, sin embargo, la conservación de un conjunto
de datos de alta calidad requiere la coordinación de varios expertos, resultando en la utilización de mucho tiempo y dinero,
pudiendo llegar a no ser rentable. [15] recalca que la utilización de CNN debe ser únicamente para ayudar y mejorar la
calidad del diagnóstico e interpretación de imágenes, adjunto a esto se señala que existen impedimentos importantes como
lo es el derecho de privacidad y la naturaleza enigmática de los algoritmos de CNN, cuyo mecanismo exacto de acción no
se conoce completamente. Por otro lado, si se obtiene un modelo de CNN que posee un 99 % de precisión que no caiga
en sobre-entrenamiento podrı́a catalogarse como una red efectiva, no obstante, en el ámbito médico, la vida de una persona
está involucrada entonces, en un caso hipotético donde la persona se realice una tomografı́a para evidenciar la existencia de
una masa que pueda ser considerada como un tumor benigno o maligno no se puede tomar la respuesta de la CNN como
definitiva ya que existe la posibilidad de que la CNN concluya que, por las caracterı́sticas presentadas, la masa sea benigna
cuando realmente es maligna; condenando a la persona a una muerte asegurada por el tumor sin la capacidad de combatir el
padecimiento; claro está que un análisis erróneo puede ser realizado por una persona fı́sica pero si se implementa un sistema
CNN como método de ayuda para que los especialistas den un veredicto, efectivamente se mejorarı́a la calidad de diagnóstico.
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 25

VIII. C ONCLUSIONES

Se concluye que, a partir del estudio del mejor modelo según los resultados de clasificación, la implementación de una
red densa para el manejo de imágenes posee grandes pérdidas asociadas al entrenamiento y prueba en función a la
implementación de una red convolucional; dicho argumento se fundamenta en el manejo inicial de la información; al
utilizar solo una red densa no se abstraen las caracterı́sticas principales que describen la figura, en cambio, en una red
convolucional, existe un proceso de filtrado donde la clasificación se realiza a partir de una designación jerárquica que
permite un acercamiento más aproximado a la imagen que se quiera predecir. Ahora bien, el número de kernels influye
altamente en la pérdida asociada, por lo anterior se menciona que aumentar el número de kernels permite cuantificar un
mayor número de caracterı́sticas de la imagen para ası́ converger en una aproximación más acertada.
A modo de conclusión, el desarrollo de esta asignación ha permitido la formulación de diferentes hipótesis acerca de
la operación de los diferentes filtros de convolución en las redes implementadas, lo que dio paso a identificar que estos
extraen diferentes caracterı́sticas de las imágenes de las cuales algunas son indistinguibles a simple vista. Entre las que
se encontraron se pueden mencionar: la demarcación de bordes laterales tanto derechos como izquierdos, al igual que
el resaltado de bordes horizontales superiores e inferiores. También se pudieron encontrar kernels encargados de atenuar
el tono de los bordes para hacer que sobresalgan las áreas internas en cada una de las cifras. En términos generales se
sostiene que dependiendo del número de filtros, la asignación de funciones será diferente para cada uno de ellos, como se
dio en la red de 5 kernels, ya que, las hipótesis planteadas en alguno de ellos varı́an significativamente con lo propuesto
en las otras dos redes.
La constante adopción de filtros de convolución dota a una CNN la facultad de extraer una mayor cantidad de diferentes
caracterı́sticas de las imágenes a tratar, sin embargo, el número de kernels debe ser en función de la complejidad de
los datos que se tengan, pues un conjunto de imágenes con geometrı́as complejas o un número elevado de pı́xeles va a
requerir un mayor número de filtros de convolución en comparación a imágenes de naturaleza más sencilla o de menor
tamaño. Sı́ se encontró que al sobredimensionar el número de kernels en una red, se puede llegar a una condición de
sobre entrenamiento, esto reflejado en los valores de pérdida de entrenamiento y validación, siendo este segundo menor
que el primero. En adición, se pudo determinar que la probabilidad de aparición de mapas de activación cuya función es
indistinguible a simple vista, aumenta junto con el número de kernels en una CNN; tal y como aumenta la posibilidad
de obtener filtros cuya función de convolución es notablemente similar entre sı́ en los mapas de activación generados.
En las segunda red (9 filtros) se pudo conocer que el séptimo kernel realiza una función indistinguible a simple vista
pues los mapas de activación no sugieren una idea de cómo este opera sobre las imágenes ingresadas a la red. En el caso
de la tercera (12 kernels), se dio que el décimo kernel generaba mapas de activación con poca información relevante,
pues estos están constituidos por puntos de color amarillo y azul, por lo que no proporcionan un patrón contundente para
establecer una hipótesis general de operación.
Se concluye que la implementación de CNN’s para la clasificación de imágenes biomédicas debe fungir meramente como
ayuda al especialista ya que pueden ocurrir dos grandes problemáticas; la red puede entrenarse para obtener un 100 % de
precisión causando ası́ que, para enfermedades que no poseen caracterı́sticas visibles similares entre las encontradas en
el set de datos y que signifiquen el mismo, no se logre dar un veredicto correcto; afectando ası́ en la salud del paciente.
A su vez, si la red no es entrenada para una clasificación ”perfecta”, existe un porcentaje de error que puede converger
en predicciones erróneas, resultando ası́ en el mismo final fatı́dico.

R EFERENCIAS

[1] T. Liu, S. Fang, Y. Zhao, P. Wang & J. Zhang. (2014). Implementation of Training Convolutional Neural Networks. Disponible en:
https://arxiv.org/ftp/arxiv/papers/1506/1506.01195.pdf
[2] R. Yamashita, M. Nishio, R. Kinh & K. Togashi. (2018). Convolutional neural networks: an overview and application in radiology. Disponible en:
https://insightsimaging.springeropen.com/articles/10.1007/s13244-018-0639-9
[3] Z. Wang, R. Turko, O. Shaikh, H. Park, N. Das, F. Hohman, M. Kahng & D. Horng, (2004). CNN EXPLAINER: Learning Convolutional Neural Networks
with Interactive Visualization. Disponible en: https://arxiv.org/pdf/2004.15004.pdf
[4] S. Albawi & T. Mohamed. (2017). Understanding of a Convolutional Neural Network.
[5] A. Saxena. (2016). Convolutional Neural Networks (CNNs): An Illustrated Explanation. Disponible en: https://blog.xrds.acm.org/2016/06/convolutional-
neural-networks-cnns-illustrated-explanation/
[6] P. Samarakoon. (2017). Is CNN is only for image processing?. Disponible en: https://www.researchgate.net/post/IsCNNisonlyforimageprocessing/
[7] C. Quintero., F. Merchán., A. Cornejo., J. Sánchez. (2015). Uso de Redes Neuronales Convolucionales para el Reconocimiento Automático de Imágenes
de Macroinvertebrados para el Biomonitoreo Participativo. Disponible en: https://knepublishing.com/index.php/KnE-Engineering/article/view/1462/3528
[8] J. Crespo. (2020). [Archivo de video]. IA-2020-II-Compilado de videos de OneDrive [Online].
[9] Y. LeCun., C. Cortés & C. Burges (1998). The MNIST Database of handwritten digits. Disponible en: http://yann.lecun.com/exdb/mnist/
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 26

[10] P. Singh., A. Manure. (2020). Learning TensorFlow 2.0: Implement Machine Learning and Deep Learning Models with Python. Bangalore, India.
978-1-4842-5558-2
[11] Keras API References. (2020). Conv2D layer. Disponible en: https://keras.io/api/layers/convolutionlayers/convolution2d/
[12] T. Jethwani. (2020). Difference Between Categorical and Sparse Categorical Cross Entropy Loss Function. Disponible en:
https://leakyrelu.com/2020/01/01/difference-between-categorical-and-sparse-categorical-cross-entropy-loss-function/
[13] R. Gómez. (2018). Understanding Categorical Cross-Entropy Loss, Binary Cross-Entropy Loss, Softmax Loss, Logistic Loss, Focal Loss and all those
confusing names. Disponible en: https://gombru.github.io/2018/05/23/cross entropy loss/
[14] A. Engelbrecht. (2007). Computational Intelligence An Introduction Second Edition. Wiley.
[15] Y. Chen, D. Jin-ki, C. We. ”The Use of Deep Convolutional Neural Networks in Biomedical Ima-
ging: A Review”. Journal of Orofacial Sciences. vol 11, no. 1. Mar 2019. [Online]. Disponible en:
https://www.researchgate.net/publication/335063742TheUseofDeepConvolutionalNeuralNetworksinBiomedicalImagingAReview
[16] F. Giménez. (2016). Aplicación de la convolución de matrices al filtrado de imágenes. [Online]. Disponible en:
https://www.researchgate.net/publication/292187589Aplicaciondelaconvoluciondematricesalfiltradodeimagenes.
[17] S. Ullah. (2019). Does multiple CNN Kernels can learn the same feature?. [Online]. Disponible en:
https://www.researchgate.net/post/DoesmultipleCNNKernelscanlearnthesamefeature.

IX. A NEXOS

Figura 39: Imagen sin convolucionar (extremo derecho) y mapas de activación generados en la red de 5 kernels para las
cifras del 0 al 4. Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 27

Figura 40: Imagen sin convolucionar (extremo derecho) y mapas de activación generados en la red de 5 kernels para las
cifras del 5 al 9. Fuente: Propia

Figura 41: Imagen sin convolucionar (extremo derecho) y mapas de activación generados en la red de 9 kernels para las
cifras del 0 al 4. Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 28

Figura 42: Imagen sin convolucionar (extremo derecho) y mapas de activación generados en la red de 9 kernels para las
cifras del 5 al 9. Fuente: Propia

Figura 43: Imagen sin convolucionar (extremo derecho) y mapas de activación generados en la red de 12 kernels para las
cifras del 0 al 4. Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 29

Figura 44: Imagen sin convolucionar (extremo derecho) y mapas de activación generados en la red de 12 kernels para las
cifras del 5 al 9. Fuente: Propia

Figura 45: Código de programación utilizado y documentado para el análisis (parte 1). Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 30

Figura 46: Código de programación utilizado y documentado para el análisis (parte 2) Fuente: Propia

Figura 47: Código de programación utilizado y documentado para el análisis (parte 3) Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 31

Figura 48: Código de programación utilizado y documentado para el análisis (parte 4) Fuente: Propia

Figura 49: Código de programación utilizado y documentado para el análisis (parte 5) Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 32

Figura 50: Código de programación utilizado y documentado para el análisis (parte 6) Fuente: Propia

Figura 51: Código de programación utilizado y documentado para el análisis (parte 7) Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 33

Figura 52: Código de programación utilizado y documentado para el análisis (parte 8) Fuente: Propia

Figura 53: Código de programación utilizado y documentado para el análisis (parte 9) Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 34

Figura 54: Código de programación utilizado y documentado para el análisis (parte 10) Fuente: Propia

Figura 55: Código de programación utilizado y documentado para el análisis (parte 11) Fuente: Propia
ALVARADO, VARGAS TAREA 3: REDES NEURONALES CONVOLUCIONALES 35

Figura 56: Código de programación utilizado y documentado para el análisis (parte 12) Fuente: Propia

Figura 57: Código de programación utilizado y documentado para el análisis (parte 13) Fuente: Propia

También podría gustarte