Sie sind auf Seite 1von 7

Asignatura Datos del alumno Fecha

Sistemas Cognitivos Apellidos: Bastidas Guerra


2018-11-04
Artificiales Nombre: Milton Fabian

Laboratorio: Convolutional Neural Networks


INTRODUCCIÓN
Se propone el problema de clasificar imágenes, según su contenido definir la clase a
la que pertenece. Para esto se usa el conjunto de imágenes basados en personajes
de la serie animada de los Simpson, el cual cuenta con aproximadamente 19000
imágenes para entrenamiento y 890 para pruebas.
Para la solución del ejercicio se usará redes convolucionales y densas para predecir
en el conjunto de pruebas con una precisión de mínimo 85%.
ANALISIS DE DATOS
De los conjuntos de datos se revisó la cantidad de datos por clase mediante el
siguiente diagrama de barras, para lo que se obtuvo los siguiente graficos:

Ilustración 1 Diagrama de barra de conjunto de entrenamiento


© Universidad Internacional de La Rioja (UNIR)

Ilustración 2Diagrama de barras de conjunto de pruebas

Tema 5. Actividades 1
Asignatura Datos del alumno Fecha
Sistemas Cognitivos Apellidos: Bastidas Guerra
2018-11-04
Artificiales Nombre: Milton Fabian

A simple vista se nota que el conjunto de pruebas está bien balanceado por lo que no
hay problemas a la hora de generar las predicciones finales todas las clases tendrán
un nivel de participación igual en las métricas, por otro lado el conjunto de
entrenamiento tiende a tener más valores en ciertas clases, esto puede llevar a que
el entrenamiento de cierto nivel de sobreajuste en clases que tienen mayor número
de clases por lo que es recomendable establecer capas como dropour, batch
normalization y max pooling, otra estrategia es normalizar las clases mediante data
augmentation para esto se hace uso ImageDataGenerator, clase parte de Keras que
permite realizar ciertas trasformaciones sobre imágenes, en este caso se definió el
siguiente método para aumentar el conjunto de entrenamiento:

Ilustración 3 Método para aumentar el número de imágenes

Se usó para por cada imagen generar 2 más mediante transformaciones al azar, pero
el conjunto de datos crecido de gran manera y complico el entrenamiento ya que se
alcanzó el límite de recursos disponibles en Google Colab. Por lo que para este
ejercicio se decidido proseguir con el conjunto de datos actual para optimización de
recursos, sin embargo, dentro del código fuente se habilito la opción de activar la
© Universidad Internacional de La Rioja (UNIR)

aumentación modificando le método que carga los conjuntos a memoria.

Ilustración 4 Método de carga de imágenes ahora tiene un parámetro que aumenta las imágenes

Tema 5. Actividades 2
Asignatura Datos del alumno Fecha
Sistemas Cognitivos Apellidos: Bastidas Guerra
2018-11-04
Artificiales Nombre: Milton Fabian

SOLUCIÓN
Para la solución se propuso algunas arquitecturas, con un límite de 10 epochs, se vio
la mejora cuando se agregaba más capas convolucionales, adicionalmente se
implementó soluciones sin max polling ni dropout lo que llevo a sobre ajuste del
modelo por eso al final después de las pruebas los tres modelos finales si
implementan estas características, la diferencia principal está en el número de capas
de convolución que varía de 1 a 5 con variación de max polling.
Al final se obtuvieron los siguientes modelos:

Ilustración 5 Modelo 1
© Universidad Internacional de La Rioja (UNIR)

Ilustración 6 Modelo 2

Tema 5. Actividades 3
Asignatura Datos del alumno Fecha
Sistemas Cognitivos Apellidos: Bastidas Guerra
2018-11-04
Artificiales Nombre: Milton Fabian

Ilustración 7 Modelo 3

Como se aprecia en cada modelo se van aumentando el número de parámetros a


entrenar, aunque al final el modelo 3, es el que mejor resultados dio pese a solo tener
4 capas de convolución a diferencia del modelo 2. Pero el modelo 3 en su última capa
de convolución aplica más filtros lo que posiblemente genera más características para
generalizar las imágenes al final dos modelos finales presentan un nivel de precisión
similar.
Pero el problema de diferencia de clases es notorio ya que sobreajuste la clase con
mayor número y eso no permite que clases con menor número sean consideradas en
el entrenamiento y validación, esto resultaba en que no aprendia a generalizar ciertas
clases
© Universidad Internacional de La Rioja (UNIR)

Tema 5. Actividades 4
Asignatura Datos del alumno Fecha
Sistemas Cognitivos Apellidos: Bastidas Guerra
2018-11-04
Artificiales Nombre: Milton Fabian

Ilustración 8 Problemas de generalización de clases con menos ejemplos

Por lo que se normo las clases y se aumentó aquellas con datos menores a 400 se los
multiplico por 2 y aquellas con más de 1000 se las limito a este como máximo para el
conjunto. Se perdió datos per ayudo a normalizar la diferencia de variedad.

Ilustración 9 Distribución de datos normalizada

Estos tres modelos fueron probados con el conjunto de entrenamiento y con un


© Universidad Internacional de La Rioja (UNIR)

batch_size de 128 y por 10 epochs con un validation_split de 0.1, estos fueron los
resultados de los modelos:

Tema 5. Actividades 5
Asignatura Datos del alumno Fecha
Sistemas Cognitivos Apellidos: Bastidas Guerra
2018-11-04
Artificiales Nombre: Milton Fabian

Ilustración 10 Resultados modelo 1


© Universidad Internacional de La Rioja (UNIR)

Ilustración 11 Resultados modelo 2

Tema 5. Actividades 6
Asignatura Datos del alumno Fecha
Sistemas Cognitivos Apellidos: Bastidas Guerra
2018-11-04
Artificiales Nombre: Milton Fabian

Ilustración 12 Resultados modelo 3

CONCLUSIONES
Al final el modelo 2 resulto ser el mejor con una precisión sobre el conjunto de
pruebas de 95% y además de contar con menos parámetros de entrenamiento,
aumentar las capas de convolucion ayuda a extraer más características y mejorar la
precisión del modelo, así como su capacidad de generalizar se mejora mediante del
dropout y maxpoll.
Hay que tener en cuenta la distribución de las clases a la hora de entrenar modelos
multiclase ya que estas pueden influenciar en los resultados en gran medida.
© Universidad Internacional de La Rioja (UNIR)

Tema 5. Actividades 7

Das könnte Ihnen auch gefallen