Redes neuronales - ejemplos, ejercicios basicos PDF

Title Redes neuronales - ejemplos, ejercicios basicos
Author Edward Villalta
Course Procesamiento de Imágenes y Visión computacional
Institution Universidad Nacional del Altiplano de Puno
Pages 9
File Size 509.7 KB
File Type PDF
Total Downloads 82
Total Views 149

Summary

ejemplos, ejercicios basicos...


Description

2021

Ejercicios de redes neuronales

HECHO POR: EMERSON EDWARD VILLALTA QUISPE

Contenido TEST 01 ................................................................................................................................1 TEST 02 ................................................................................................................................1 TEST 03 ................................................................................................................................2 TEST 04 ................................................................................................................................3 TEST 05 ................................................................................................................................3 TEST 06 ................................................................................................................................3 TEST 07 ................................................................................................................................4 TEST 08 ................................................................................................................................5 TEST 09 ................................................................................................................................6 TEST 10 ................................................................................................................................7

TEST 01 •

Los núcleos •

Las redes neuronales son construidas a partir de las neuronas artificiales. Como en las neuronas de los seres humanos, las neuronas artificiales tienen vías de entrada que llevan las señales a la neurona, y vías de salida que llevan la señal de salida.



Los valores de las señales de entrada han sido agregadas (usualmente una suma ponderada), y luego el valor de la salida final de la neurona es definida por una función. ¿Cómo se llama esta función?

a) Función de Activación b) Función de Pérdida c) Función de Transferencia RESPUESTA: a) La función de activación es la que define la salida de la neurona.

TEST 02 •

Cómo entrenar a tu dragón •

Por mucho tiempo, las redes neuronales eran sólo una concepto teórico más que una herramienta práctica. La razón de esto era la falta de un algoritmo eficiente de entrenamiento.



Todo esto cambio en 1986 cuando un grupo de autores publicaron un famoso artículo. ¿Qué algoritmo revolucionario en este artículo hizo que las re des neuronales mejoraran y se popularizaran? a) Algoritmo Moonwalk b) Algoritmo Backpropagation

c) Algoritmo BackToTheFuture RESPUESTA: b) En Rumelhart, Williams y Hinton son co-autores del artículo que popularizó el algoritmo de backpropagation

TEST 03 •

Primera Red Neuronal •

Todo ese rumor en torno a la inteligencia artificial y el aprendizaje profundo no es tan terrorífico. Veamos como se crea una red neuronal para resolver una tarea de clasificación.



Los datos que se tienen provienen de sensores y estas son sus características: •

Hay 16 columnas de entrada que representan a 16 características que provenientes de un sensor de movimiento de un reloj inteligente.



Hay 1 columna etiquetada que representa a uno de los 4 tipos de movimiento: caminar, correr, sentarse y acostarse.

Complete el código.

Instrucciones: -

Inicializa una red Secuencial.

-

Añada una capa oculta totalmente conectada o Densa con 8 nodos o neuronas.

-

Añada otra capa oculta totalmente conectada o Densa para la salida con un nodo o neurona por cada tipo de salida esperado.

-

Complete el método de compilado del modelo.

RESPUESTA: model= Sequential() model.add(Dense(units=8, input_dim=16, activation=’relu’)) model.add(Dense(units=1, activation=’softmax’)) model.compile(optimizar=’adam’, loss=’categorical_crossentropy’, metrics=[‘accuracy’])

TEST 04 •

Capas •

Hay muchos tipos de capas en el Aprendizaje Profundo. Un tipo en particular es muy popular y poderoso cuando es usado para la clasificación de imágenes. ¿Cuál es ese tipo? a) Capa Convolutional b) Capa Dropout c) Capa MaxPooling d) Capa Flattening

RESPUESTA: a) la capa convolucional es la que más se usa a la hora de clasificar imágenes aparte de ser usado por tensorflow para la clasificación con Conv1D, Conv2D, etc.

TEST 05 •

Adivina la arquitectura •

Streamify, es una nueva plataforma de transmisión de audio que entro al mercado. Desde el primer día se encuentran con el siguiente problema: Ya que a diario cargan cientos de nuevos artistas y canciones no tienen el tiempo para clasificar los contenidos por géneros, lo que perjudica significativamente a sus usuarios.



Streamify quiere que se entrene un modelo de aprendizaje profundo para realizar esta tarea automáticamente ya que hay una cantidad gigantesca de datos de audio, cuya dimensión principal es el tiempo. ¿Cuál de las siguientes redes en la candidata perfecta para extraer patrones? a) Redes CNN b) Redes RNN c) Redes FeedFordward

RESPUESTA: b) las redes RNN son las que trabajan principalmente con tiempo ya que reconocen sus patrones, las redes CNN son las que trabajan reconociendo espacio.

TEST 06 •

Cayendo en la profundidad •

El departamento local de policía le ha solicitado que produzca un modelo de aprendizaje profundo para la lectura de las matrículas de los autos.



Sus datos de entrada son imágenes de dígitos, 28 pixeles de ancho por 28 pixeles de alto, cada una con una etiqueta que indica cuál de los 10 dígitos posibles está presente en la imagen.



Construya una Red Neuronal Profunda usando las siguientes capas: •

Conv2D(), capa convolucional



MaxPooling2D(), capa de agrupación



Flatten(), capa de aplanamiento



Dense(), capa completamente conectada

Instrucciones: -

Inicialice el modelo y configure una capa convolucional 2D con 64 filtros de 3x3 como entrada.

-

Añada una capa MaxPooling2D() con parámetros por defecto, seguido por una capa de aplanamiento, para reformar la señal de 2-dimensiones a una de formato 1-dimensión.

-

Añada una capa completamente conectada con una función de activación softmax y 10 neuronas para las diez clases presentes en el dataset de entrenamiento.

Compile el modelo. RESPUESTA: model = Sequential() model.add(Conv2D(filters=64, kernel_size=3, input_shape=(28,28,1))) model.add(MaxPooling2D()) #(pool_size=(2,2), strides=(2,2)) model.add(Flatten()) model.add(Dense(units=10, activation = ‘softmax’)) model.compile(optimizar=’adam’, loss=’categorical_crossentropy’, metrics=[‘accuracy’])

TEST 07 •

La Bella y la Bestia •

Las redes neuronales convolucionales han llegado a dominar el campo de la visión computacional. ¿Cuál es la razón clave y la diferencia fundamental en comparación con los algoritmos tradicionales de visión por computadora?

a) Las CNNS aprenden a partir de pequeñas cantidades de datos b) Las CNNs convierten las imágenes de baja resolución a una de alta resolución c) Las CNNs automáticamente aprenden las transformaciones optimas que conducen al mejor rendimiento posible RESPUESTA: c) Las CNNs son diferentes de los algoritmos tradicionales de visión computacional ya que se tenia que obtener bajos datos e ingenio para crearlos, mientras que las CNNs aprenden automáticamente.

TEST 08 •

Modelo de una sola línea •

Las bibliotecas modernas de Deep Learning ya nos ayudan a abstraer una parte cada vez mayor del trabajo que alguna vez se requirió para construir redes neuronales.



Como ya pudo ver, en solo 10 líneas de código puede especificar una red extremadamente poderosa que podría entrenarse durante días, utilizando terabytes de datos.



Pero a veces desea ir aún más lejos en la abstracción: cuando tiene una especificación de red típica que usa a menudo, con solo cambiar parámetros algunos parámetros se convierten en una buena idea para ponerla dentro de una función.



Complete esta función.

Instrucciones -

Especifique el número por defecto de kernels a 32 y el tamaño del kernel por defecto a (3,3) en los parámetros de la función.

-

Fije el tipo de optimizador a “adam”

-

Configure la métrica de optimización a “accuracy”

RESPUESTA: def make_deep_net(input_shape, n_output_classes, n_kernels=32, kernel_size=(3,3)): model=Sequential() model.add(Conv2D(input_shape=input_shape, filters=n_kernels, kernel_size=kernel_size, activation=’relu’)) model.add(Flatten()) model.add(Dense(n_output_classes, activation = ‘softmax’)) model.compile(optimizar=’adam’, metrics=[‘accuracy’], loss=’categorical_crossentropy’) return model

TEST 09 •

Modelo de una sola línea •

Aunque se está progresando constantemente, no todos los resultados de los algoritmos de modelado y evaluación vienen en una forma legible para humanos.



A veces estos resultados, tienen la forma de matrices planas con valores sin nombre, necesitando que se lea la documentación para interpretar cada uno de los significados de dichos valores.



Cree una función contenedora que formatee y retorne los resultados de una manera ordenada y comprensible.

Instrucciones: -

Coloque las variables de entrada x_test y y_test dentro de los argumentos apropiados del método de evaluación del modelo.

-

Use el primer elemento de la matriz score para imprimir la pérdida y el segundo elemento para imprimir la exactitud resultante.

RESPUESTA: def evaluate_deep_net(model,x_test, y_test): score=model.evaluate(x=x_test, y=y_test)

print( ‘Test loss: %.2f ’ %score[loss]) print( ‘Test accuracy: %.2f %% ’ % (100*score[accuracy]))

TEST 10 •

Reconocimiento de dígitos con Aprendizaje Profundo •

Los modelos de aprendizaje profundo se destacan en la clasificación de datos no estructurados, como imágenes y texto. Los problemas comunes resueltos en Aprendizaje Profundo incluyen la clasificación de imágenes, detección de objetos, traducción de textos y resumen de texto.



Use los métodos make_deep_net() y evalua_deep_net() para construir una red neuronal profunda para reconocer dígitos escritos a mano.



Entrene y pruebe su modelo utilizando el conocido conjunto de datos MNIST, que contiene una colección de imágenes de dígitos individuales escritos a mano, cada uno de 28x28 pixeles de tamaño.



El dataset está dividido en un conjunto de entrenamiento y otro de prueba: (x_train, y_train) y (x_test, y_test)

Instrucciones: -

Construya la red neuronal teniendo en consideración las dimensiones de los datos de entrada y el número de clases de salida.

-

Use función de entrenamiento del modelo fit. Configure el modelo de entrenamiento y datos de validación, y use batch_size = 128 y únicamente una época para el entrenamiento.

-

Evalúe el performance del modelo entrenado.



El modelo entrenado y evaluado tuvo los siguientes resultados con 1 y 3 épocas de entrenamiento. Describa el cambio que está observando

Primera época

Tercera época RESPUESTA: deep_net = make_deep_net(input_shape=[28,28,1], n_output_classes=) deep_net.fit(x=x_train, y=y_train, validation_data=(x_test,y_test), batch_size=128, epochs=1) evaluate_deep_net(deep_net, x=x_test, y=y_test) al inicio en la primera epoca de entrenamiento nos podemos dar cuenta que tenemos una precisión de 0.66 y la perdida es de 1.49… que significa que todavía esta mal medido y aún falta entrenamiento y en la tercera época podemos notar que la precisión está más correcta de 0.9129 cerca al valor de precisión correcto además de que la perdida es mucho menor....


Similar Free PDFs