Redes N

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

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 unidas (usualmente en 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

TEST 02
Cómo entrenar a tu dragón

Por mucho tiempo, las redes neuronales eran sólo un concepto teórico más que una
herramienta práctica. La razón de esto era por 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 redes neuronales mejoraran y se
popularizaran?

a) Algoritmo Backpropagation
b) Algoritmo Descenso Gradiente
c) Algoritmo Optimización

TEST 03
Primera Red Neuronal

Todo ese rumor en torno a la inteligencia artificial y el aprendizaje profundo no es tan


terrorífico. Cree 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:
# Initialize the model
model = Sequential()

# Add the hidden and the output layer, specify the layer type,
number of units and input/output dimensions
model.add(Dense(units= 8, input_dim= 16, activation = 'relu'))
model.add(Dense(units= 1, activation= 'softmax'))

# Compile the model


model.compile(optimizer= '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

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

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.

Complete el código:
# Initialize the model
model = Sequential()

# Create your 5-layer network (input specified implicitly with 1st


layer)
model.add(Conv2D(filters=64, kernel_size = 3, input_shape=(3, 3,
1)))
model.add(MaxPooling2D())
model.add(Flatten())
model.add(Dense(units=10, activation='softmax'))
# Set fitting hyper-parameters and compile the model
model.compile(optimizer='adam', loss='categorial_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 óptimas que conducen al
mejor rendimiento posible.

TEST 08
Modelo de una sola línea

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

Con solo 10 líneas de código se puede especificar una red extremadamente poderosa que
podría entrenarse durante días, utilizando terabytes de datos.

Pero a veces se puede ir aún más lejos en la abstracción: con la configuración de una red que
se usa frecuentemente, basta con solo cambiar algunos parámetros por lo tanto es una buena
idea usar una función.

Complete la función make_deep_net.


def make_deep_net(input_shape, n_output_classes, n_kernels= 32,
kernel_size=(3,3)):
# Initialize the sequential model
model = Sequential()

# Add the convolutional layer (containing implicitly the input


layer)
model.add(Conv2D(input_shape=input_shape, filters=n_kernels,
kernel_size=kernel_size, activation='relu'))

# Add the flattening layer


model.add(Flatten())

# Add the fully connected layer


model.add(Dense(n_output_classes, activation='softmax'))

# Compile the model


model.compile(optimizer='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 los humanos.

A veces estos resultados, tienen la forma de matrices planas con valores sin nombre, y se debe
leer la documentación para interpretar cada uno de los significados de estos valores.

Complete la función evaluate_deep_net que formatea y retorna los resultados de una manera
ordenada y comprensible.

def evaluate_deep_net(model, x_test, y_test):


# Generate the test predictions and evaluate against the
ground truth
score= model.evaluate(x=x_test, y=y_test)

# Print the evaluation results in a human readable form


print('Test loss: %.2f' % score[0])
print('Test accuracy: %.2f %%' % (100*score[1]))

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.

Complete el código para construir una red neuronal profunda para reconocer los dígitos
escritos a mano usando las funciones make_deep_net() y evaluate_deep_net() definidas en los
tests anteriores. Del mismo modo complete el código para entrenar y probar el modelo
utilizando el dataset MNIST, que contiene una colección de imágenes de dígitos individuales
escritos a mano, cada uno de 28x28 pixeles de tamaño. Además el dataset está dividido en un
conjunto de entrenamiento y otro de prueba: (x_train, y_train) y (x_test, y_test)

# Construct the Deep Neural Network


deep_net = make_deep_net(input_shape = [28, 28, 1],
n_output_classes = 10)

# Train the Deep Neural Network


deep_net.fit(x = x_train, y = y_train, validation_data = (x_test,
y_test), batch_size = 128, epochs = 3)

# Estimate the network performance


evaluate_deep_net(deep_net, x = x_test, y = y_test)

Describe el cambio que está observando:

En la primera imagen se ve que tiene un 0.87 de perdida y tenemos 74.17% de accuracy con
tan solo una época. Mientras que en la segunda se puede ver la mejora con 3 épocas, la
perdida disminuyo en un 0.50 y el accuracy aumento, ahora es 91.29%.

Se puede decir que, mientras más épocas tenga el modelo entrenado, mejores serán los
resultados.

También podría gustarte