- 1

La importancia de las redes neuronales en la actualidad
04:08 - 2

¿Que herramientas usaremos para redes neuronales?
02:49 - 3

¿Qué es deep learning?
07:31 - 4

Tu primera red neuronal con Keras
12:05 - 5

Entrenando el modelo de tu primera red neuronal
03:18 - 6

La neurona: una pequeña y poderosa herramienta
07:07 - 7

Arquitectura de una red neuronal
06:20 - 8

Funciones de activación
13:46 - 9

Funcion de pérdida (loss function)
09:00 - 10

Descenso del gradiente
08:57 - 11

Backpropagation
07:37 - 12

Playground - Tensorflow
05:48 quiz: Fundamentos en la arquitectura de redes neuronales
Tu primera red neuronal con Keras
Clase 4 de 29 • Curso de Fundamentos de Redes Neuronales con Python y Keras
Contenido del curso
- 13

Dimensiones, tensores y reshape
14:06 - 14

Creando nuestra red neuronal usando numpy y matemáticas
15:51 - 15

Entrenamiento forward de la red neuronal
09:17 - 16

Aplicando backpropagation y descenso del gradiente
13:06 - 17

Entrenamiento y análisis de resultados de tu red neuronal
12:57 quiz: Redes neuronales con Python
- 18

Data: train, validation, test
02:49 - 19

Resolviendo un problema de clasificacion binaria
11:27 - 20

Entrenamiento del modelo de clasificación binaria
11:06 - 21

Regularización - Dropout
07:19 - 22

Reduciendo el overfitting
11:07 - 23

Resolviendo un problema de clasificación múltiple
10:41 - 24

Entrenamiento del modelo de clasificación múltiple
09:34 - 25

Resolviendo un problema de regresión
12:47 - 26

Entrenamiento del modelo de regresión
12:48 - 27

Análisis de resultados del modelo de regresión
10:11
¿Cómo crear una red neuronal en Keras usando MNIST?
En el fascinante mundo de las redes neuronales, dar el primer paso puede resultar intimidante. Sin embargo, herramientas como Keras nos ofrecen la posibilidad de iniciar de manera sencilla y eficiente. En esta guía, exploraremos cómo construir tu primera red neuronal utilizando el conjunto de datos MNIST, un banco de imágenes de dígitos manuscritos ampliamente utilizado en el aprendizaje automático. Aprenderás a configurar el entorno, cargar y preparar los datos, y desarrollar una arquitectura básica de red neuronal.
¿Cómo configurar el entorno de trabajo?
Antes de sumergirnos en el código, es esencial asegurarnos de que nuestro entorno de trabajo esté adecuadamente configurado para maximizar el uso de recursos computacionales disponibles.
- Utiliza Google Colab: Esta plataforma no solo proporciona un entorno de Python interactivo, sino que también ofrece acceso a potentes GPUs que aceleran el entrenamiento de modelos.
- Configura el uso de GPU:
- Ve a
Runtime>Change runtime type. - Selecciona
GPUcomo el acelerador de hardware.
- Ve a
¿Cuáles son las librerías necesarias?
Para comenzar nuestro trabajo con redes neuronales, necesitamos importar algunas librerías cruciales que nos permitirán manejar los datos y construir el modelo de manera efectiva.
import numpy as np
from keras import layers, models
from keras.utils import to_categorical
from keras.datasets import mnist
import matplotlib.pyplot as plt
¿Cómo cargar y explorar el dataset MNIST?
El dataset MNIST es fundamental para la formación de redes neuronales debido a su simplicidad y facilidad de uso.
# Cargar el dataset
(train_data, train_labels), (test_data, test_labels) = mnist.load_data()
# Inspeccionar la forma de los datos de entrenamiento
print(train_data.shape) # Output: (60000, 28, 28)
- El dataset contiene 70,000 imágenes de 28x28 píxeles en escala de grises.
- Los valores de los píxeles varían entre 0 y 255.
¿Cómo visualizar y entender los datos?
Para comprender mejor al conjunto de datos, podemos visualizar ejemplos individuales.
plt.imshow(train_data[0], cmap='gray')
plt.title(f"Etiquetas: {train_labels[0]}")
plt.show()
¿Cómo construir la arquitectura de la red neuronal?
La construcción de la red neuronal implica definir los modelos y las capas adecuadas para procesar los datos.
# Definir el modelo secuencial
model = models.Sequential()
# Agregar las capas
model.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
model.add(layers.Dense(10, activation='softmax'))
¿Cómo preparar los datos para el modelo?
Antes de entrenar, necesitamos preparar los datos para una optimización eficaz. Esto implica transformar las dimensiones y codificar las etiquetas.
# Replantear y normalizar los datos de entrada
x_train = train_data.reshape((60000, 28 * 28)).astype('float32') / 255
x_test = test_data.reshape((10000, 28 * 28)).astype('float32') / 255
# Codificar las etiquetas
y_train = to_categorical(train_labels)
y_test = to_categorical(test_labels)
¿Cuál es el siguiente paso: compilar y evaluar el modelo?
Una vez que el modelo está definido, lo compilamos y evaluamos su rendimiento.
# Compilar el modelo
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
# Ver resumen de la arquitectura del modelo
model.summary()
- Optimizer: Se utiliza
rmsproppara ajustar los pesos del modelo. - Loss:
categorical_crossentropyes apropiada para problemas multicategoría. - Metrics: La métrica de éxito es
accuracy.
¿Cómo se preparan los datos para el entrenamiento de la red?
El pre-procesamiento de datos es crucial para mejorar el rendimiento y la claridad del modelo.
- Reformatear dimensiones: Se ajustan de 3D a 2D.
- Normalización: Los valores de píxel se escalan a un rango de 0-1.
- Codificación One-Hot: Las etiquetas se transforman en un formato que destila mejor las clases para la red.
En este tutorial, has aprendido a establecer las bases esenciales para trabajar con redes neuronales utilizando Keras y el dataset MNIST. Con estos conocimientos, estás bien preparado para entrenar y evaluar tu modelo en las siguientes fases. ¡No te detengas aquí y sigue explorando el apasionante universo del aprendizaje automático!