Está en la página 1de 16

UNIVERSIDAD AUTÓNOMA DE OCCIDENTE

Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Aplicación de Redes Profundas a la


Clasificación de Patrones
e Introducción a las Redes Convolucionales
J. Lasprilla1 , G. Mosquera2 , M. Sanclemente3
joyd.lasprilla@uao.edu.co, gabriela.mosquera@uao.edu.co, marna.zarta@uao.edu.co
1
Ingeniería Mecatrónica, 2, 3 Ingeniería Biomédica
Facultad de Ingeniería, Universidad Autónoma de Occidente, Santiago de Cali, Colombia.

1. Seleccione un conjunto de datos ubicados en el siguiente enlace para un problema de clasificación


(diferente al wine y al iris data set):
https://archive.ics.uci.edu/ml/index.html
Entrene una red neuronal MLP superficial y profunda que realice la clasificación definida para el
problema seleccionado. Tenga en cuenta entrenar y validar la red con datos no usados en el proceso de
entrenamiento.

DATASET: Breast Cancer Wisconsin (Diagnostic)

El objetivo de este dataset es brindar los datos necesarios para el entrenamiento de algoritmos de
aprendizaje automático, con el fin de distinguir con precisión entre un tumor benigno y maligno
durante el diagnóstico clínico.

Para el entrenamiento de la red se tienen en cuenta 9 características de valor real para cada núcleo
celular como entrada, y nuestro target es la clase o el diagnóstico, el cual afirma si es un tumor
maligno o benigno.

Para resolver este problema de clasificación, se implementan dos métodos, cada uno con una
arquitectura de red neuronal distinta.

A) Red superficial:

La arquitectura de esta red consta de una capa de entrada de 9 neuronas, una única capa oculta
de 10 neuronas, con función de activación ‘tanh’ y finalmente, una capa de salida con 2
neuronas, con función de activación ‘sigmoid’.

Los parámetros utilizados son los siguientes:

● Loss: ‘categorical_crossentropy’.
● Optimizer: ‘Adam’.
● Metrics: ‘Accuracy’.

La arquitectura de la red superficial implementada se muestra en la siguiente imagen:


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Figura 1. La arquitectura de la red superficial implementada.

El entrenamiento de la red se da en 1000 épocas y añadiendo directamente los datos de validación.


Posteriormente, se evalúa el modelo con los datos de testeo y se obtiene un score de
0.938095211982727.

Figura 2. Accuracy de la red superficial implementada.

Figura 3. Loss de la red superficial implementada.


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Finalmente, se obtiene la matriz de confusión, la cual nos indica la cantidad de casos exitosos que se
obtuvieron con la red propuesta.

Figura 4. Matriz de confusión de la red superficial implementada.

B) Red profunda:

La arquitectura de esta red consta de una capa de entrada de 9 neuronas, 3 capas ocultas, cada
una de 10 neuronas, la primera con función de activación ‘tanh’ y las dos siguientes con
función de activación ‘sigmoid’, finalmente, una capa de salida con 2 neuronas, con función
de activación ‘sigmoid’.

Los parámetros utilizados son los siguientes:

● Loss: ‘categorical_crossentropy’.
● Optimizer: ‘Adam’.
● Metrics: ‘Accuracy’.

La arquitectura de la red profunda implementada se muestra en la siguiente imagen:


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Figura 5. La arquitectura de la red profunda implementada.

El entrenamiento de la red se da en 1000 épocas y añadiendo directamente los datos de validación.


Posteriormente, se evalúa el modelo con los datos de testeo y se obtiene un score de
0.9476190209388733.

Figura 6. Accuracy de la red profunda implementada.


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Figura 7. Loss de la red profunda implementada.

Finalmente, se obtiene la matriz de confusión, la cual nos indica la cantidad de casos exitosos que se
obtuvieron con la red propuesta.

Figura 8. Matriz de confusión de la red profunda implementada.

Según la información recopilada y mostrada anteriormente, se puede concluir que aunque la red
profunda tuvo un mínimo incremento en el Score y en la cantidad de casos de éxito, tiene una pérdida
final más alta, lo que indica un posible overfitting.
UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Por otro lado, podemos afirmar que se tuvo un buen resultado, pues al calcular el porcentaje de
tumores malignos y benignos de la tabla, da como resultado 67% y 26,7%, respectivamente, lo cual no
se aleja de los valores registrados en la descripción del dataset.

2. A) Mediante un dispositivo vestible se desea realizar un diagnóstico temprano de posibles


enfermedades que sufra una persona. Las enfermedades que se han seleccionado para su diagnóstico
son la diabetes, arritmias cardiacas y Covid-19. El dispositivo vestible permite tener información de la
frecuencia cardiaca, la frecuencia respiratoria, la temperatura corporal, la concentración de azúcar y
de oxígeno en la sangre. Realice un diagrama de bloques del sistema que se implementaría para
realizar esta aplicación. Muestre mediante un esquema la arquitectura de la red neuronal que aplicaría
en este caso. Muestre cómo se codificaría la salida para este problema.

Figura 9. Diagrama de bloques propuesto para la aplicación médica.


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Figura 10. Arquitectura de RNA propuesta para la aplicación médica.

Figura 11. Codificación propuesta para la salida de la aplicación médica.

B) En una empresa que produce motores eléctricos se necesita automatizar el control de calidad de los
mismos. Se sabe que los motores pueden presentar fallas en los rodamientos, en el rotor, en el estator
y de aislamiento. Para detectar dichas fallas se capta con un micrófono el sonido del motor en
funcionamiento y dicha señal se divide en ventanas temporales de 0.5 seg. En dicha ventana se calcula
el valor máximo, mínimo, promedio y la desviación estándar de la señal. Además, la señal se
transforma al dominio de la frecuencia aplicando análisis de Fourier para calcular la frecuencia
dominante de la señal y el valor de amplitud en frecuencia de dicha frecuencia. Realice un diagrama
de bloques del sistema que se implementaría para realizar esta aplicación. Muestre mediante un
esquema la arquitectura de la red neuronal que aplicaría en este caso. Muestre cómo se codificaría la
salida para este problema.
UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Figura 12. Diagrama de bloques propuesto para la aplicación del motor.


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Figura 13. Arquitectura de RNA propuesta para falla en el motor.

Figura 14. Codificación para la salida del motor.

3. Se tiene una red neuronal con 6 capas de procesamiento y la siguiente cantidad de neuronas [7 6 5 4
5 6] y las siguientes funciones de activación [sigmoidal, lineal, cuadrática, sigmoidal, lineal, cúbica],
Muestre la expresión para entrenar el peso w(5,4) ubicado entre la primera y segunda capa
considerando las funciones de activación definidas

Figura 15. Red neuronal del problema.


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Error en la capa de salida:

Expresión final:

4. Se tiene una red con 4 entradas, 4 neuronas ocultas tangentes sigmoidales y 4 neuronas de salidas
sigmoidales. Asuma un valor de razón de aprendizaje igual a 0.7. Encuentre la actualización del valor
del bias de la segunda neurona de la capa oculta y del peso w(4,1) de la capa de salida.
UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Actualización del Bias:

Figura 16. Actualización del Bias.

Actualización del w(4,1) de la capa de salida:

Figura 17. Actualización del w(4,1) de la capa de salida.


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01
5. En el siguiente enlace se resuelve el problema de clasificación de imágenes definido por el dataset
Cifar10 usando una red neuronal convolucional
https://cs.stanford.edu/people/karpathy/convnetjs/demo/cifar10.html

a) Explique en qué consiste el problema de clasificación trabajado (cifar10 dataset)

El problema de clasificación del conjunto de datos CIFAR-10, consta de 60000 imágenes en color de
tamaño 32x32, dividido en 10 clases, con 6000 imágenes por clase. Hay 50000 imágenes de
entrenamiento y 10000 imágenes de prueba dataset.
Las clases que se encuentran en el conjunto de datos son las siguientes:

● Avión.
● Automóvil.
● Pájaro.
● Gato.
● Ciervo.
● Perro.
● Rana.
● Caballo.
● Embarcación.
● Camión.

b) Represente gráficamente la red neuronal convolucional usada


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Figura 18. Arquitectura de la red convolucional propuesta por CIFAR-10

c) Calcule la cantidad de parámetros por cada una de la capas de la red neuronal convolucional
utilizada

Cálculo de parámetros para la primera capa:

𝑁𝑢𝑚𝑃𝑎𝑟1 = 5 * 5 * 16 * 3 + 16
𝑁𝑢𝑚𝑃𝑎𝑟1 = 1216

Cálculo de parámetros para la segunda capa:


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01
𝑁𝑢𝑚𝑃𝑎𝑟2 = 5 * 5 * 20 * 16 + 20
𝑁𝑢𝑚𝑃𝑎𝑟2 = 8020

Cálculo de parámetros para la tercera capa:

𝑁𝑢𝑚𝑃𝑎𝑟3 = 5 * 5 * 20 * 20 + 20
𝑁𝑢𝑚𝑃𝑎𝑟3 = 10020

Cálculo de parámetros para la capa de salida:

𝑁𝑢𝑚𝑃𝑎𝑟𝑜𝑢𝑡 = 4 * 4 * 20 * 10 + 10
𝑁𝑢𝑚𝑃𝑎𝑟𝑜𝑢𝑡 = 3210

Cálculo del total de parámetros:

𝑁𝑢𝑚𝑇𝑜𝑡𝑎𝑙𝑃𝑎𝑟 = 𝑁𝑢𝑚𝑃𝑎𝑟1 + 𝑁𝑢𝑚𝑃𝑎𝑟2 + 𝑁𝑢𝑚𝑃𝑎𝑟3 + 𝑁𝑢𝑚𝑃𝑎𝑟𝑜𝑢𝑡


𝑁𝑢𝑚𝑇𝑜𝑡𝑎𝑙𝑃𝑎𝑟 = 1216 + 8020 + 10020 + 3210
𝑁𝑢𝑚𝑇𝑜𝑡𝑎𝑙𝑃𝑎𝑟 = 22466

6. En el siguiente enlace se resuelve un problema de clasificación de imágenes usando una red


neuronal convolucional.
https://poloclub.github.io/cnn-explainer/

a) Describa el ejercicio de clasificación realizado.

El problema de clasificación de imágenes de CNN Explainer, consta de 10 imágenes en color de


tamaño 64x64, las cuales se ubican en 10 clases. Es posible añadir nuevas imágenes a la red, para
comprobar su funcionamiento.
Las clases que se encuentran en el conjunto de datos son las siguientes:

● Lifeboat.
● Ladybug.
● Pizza.
● Bell Pepper.
● School Bus.
● Koala.
● Espresso.
● Red Panda.
● Orange.
● Sport Car.

b) Represente gráficamente la red neuronal convolucional usada.


UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01

Figura 19. Arquitectura de la red convolucional propuesta por CNN Explainer

c) Calcule la cantidad de parámetros por cada una de las capas de la red neuronal convolucional
utilizada.

Cálculo de parámetros para la primera capa:

𝑁𝑢𝑚𝑃𝑎𝑟1 = 3 * 3 * 10 * 3 + 10
𝑁𝑢𝑚𝑃𝑎𝑟1 = 280

Cálculo de parámetros para la segunda capa:

𝑁𝑢𝑚𝑃𝑎𝑟2 = 3 * 3 * 10 * 10 + 10
𝑁𝑢𝑚𝑃𝑎𝑟2 = 910

Cálculo de parámetros para la tercera capa:

𝑁𝑢𝑚𝑃𝑎𝑟3 = 3 * 3 * 10 * 10 + 10
𝑁𝑢𝑚𝑃𝑎𝑟3 = 910

Cálculo de parámetros para la cuarta capa:

𝑁𝑢𝑚𝑃𝑎𝑟4 = 3 * 3 * 10 * 10 + 10
UNIVERSIDAD AUTÓNOMA DE OCCIDENTE
Facultad de Ingeniería
Redes Neuronales Artificiales y Deep Learning
2021 - 01
𝑁𝑢𝑚𝑃𝑎𝑟4 = 910

Cálculo de parámetros para la capa de salida:

𝑁𝑢𝑚𝑃𝑎𝑟𝑜𝑢𝑡 = 10 * 13 * 13 * 10 + 10
𝑁𝑢𝑚𝑃𝑎𝑟𝑜𝑢𝑡 = 16910

Cálculo del total de parámetros:

𝑁𝑢𝑚𝑇𝑜𝑡𝑎𝑙𝑃𝑎𝑟 = 𝑁𝑢𝑚𝑃𝑎𝑟1 + 𝑁𝑢𝑚𝑃𝑎𝑟2 + 𝑁𝑢𝑚𝑃𝑎𝑟3 + 𝑁𝑢𝑚𝑃𝑎𝑟4 + 𝑁𝑢𝑚𝑃𝑎𝑟𝑜𝑢𝑡

𝑁𝑢𝑚𝑇𝑜𝑡𝑎𝑙𝑃𝑎𝑟 = 280 + 910 + 910 + 910 + 16910


𝑁𝑢𝑚𝑇𝑜𝑡𝑎𝑙𝑃𝑎𝑟 = 19920

También podría gustarte