20.3. Construcción de redes neuronales con Keras y TensorFlow: fundamentos de las redes neuronales artificiales

Las redes neuronales artificiales (RNA) son uno de los pilares del aprendizaje automático, inspiradas en la estructura y el funcionamiento del cerebro humano. Están formadas por unidades de procesamiento llamadas neuronas artificiales, que están organizadas en capas y conectadas entre sí. Estas redes son capaces de aprender patrones complejos a partir de datos y se han aplicado con éxito en varias áreas, como la visión por computadora, el procesamiento del lenguaje natural y los juegos. En este capítulo, exploraremos los fundamentos de las redes neuronales y cómo construirlas utilizando dos poderosas herramientas: Keras y TensorFlow.

¿Qué son las redes neuronales artificiales?

Una red neuronal artificial es un modelo computacional que intenta simular el proceso de aprendizaje del cerebro humano. Una ANN típica se compone de tres tipos de capas: la capa de entrada, que recibe los datos; las capas ocultas, que procesan los datos; y la capa de salida, que proporciona el resultado del procesamiento. Cada neurona de una capa está conectada a varias neuronas de la siguiente capa mediante pesos sinápticos, que se ajustan durante el entrenamiento de la red.

Introducción a TensorFlow y Keras

TensorFlow es una potente biblioteca de código abierto para computación numérica, desarrollada por Google Brain Team. Se utiliza ampliamente para construir y entrenar modelos de aprendizaje automático, incluidas redes neuronales profundas. Keras, por otro lado, es una API de alto nivel para crear y entrenar modelos de aprendizaje automático que se ejecuta sobre TensorFlow. Fue diseñado para permitir una experimentación rápida y sencilla con redes neuronales y es conocido por su simplicidad y facilidad de uso.

Construyendo una red neuronal con Keras

Con Keras, la construcción de una red neuronal comienza con la creación de un modelo secuencial. Este es un tipo de modelo que se compone de una pila lineal de capas. Puede crear un modelo secuencial y agregarle capas de la siguiente manera:


desde keras.models importar secuencial
de keras.layers importar Denso

modelo = Secuencial()
model.add(Denso(unidades=64, activación='relu', input_dim=100))
model.add(Denso(unidades=10, activación='softmax'))

En el ejemplo anterior, la primera capa, o capa de entrada, espera recibir datos con 100 dimensiones. Cada Denso es una capa completamente conectada y la primera tiene 64 neuronas con función de activación ReLU. La segunda capa es la capa de salida y tiene 10 neuronas, correspondientes al número de clases que queremos predecir, con la función de activación softmax, que se usa comúnmente para la clasificación de clases múltiples.

Compilando el modelo

Después de definir la arquitectura del modelo, el siguiente paso es compilarlo. Durante la compilación, debes especificar la función de pérdida y el optimizador que se utilizarán para entrenar el modelo. Opcionalmente, también puedes definir métricas para evaluar el rendimiento del modelo durante el entrenamiento.


model.compile(loss='categorical_crossentropy',
              optimizador='sgd',
              métricas = ['precisión'])

En este ejemplo, utilizamos la entropía cruzada categórica como función de pérdida, que es adecuada para problemas de clasificación de clases múltiples, y el optimizador SGD (descenso de gradiente estocástico) para ajustar las ponderaciones.

Entrenando el modelo

Con el modelo compilado, puedes entrenarlo usando el método fit. Deberá proporcionar los datos de entrada y las etiquetas correspondientes, y definir el número de épocas (iteraciones sobre el conjunto de datos completo) y el tamaño del lote.


model.fit(x_train, y_train, épocas=5, tamaño_lote=32)

El entrenamiento del modelo puede llevar algún tiempo dependiendo de la complejidad de la red, el tamaño del conjunto de datos y la potencia de procesamiento disponible.

Evaluación y uso del modelo

Después del entrenamiento, puede evaluar el rendimiento del modelo en un conjunto de datos de prueba utilizando el método evaluate. Para hacer predicciones con el modelo, utiliza el método predict.


pérdida_y_métrica = modelo.evaluar (prueba_x, prueba_y, tamaño_lote = 128)
clases = modelo.predict(x_test, tamaño_lote=128)

Es importante recordar que para que el modelo haga buenas predicciones, los datos de entrada deben preprocesarse de la misma manera que los datos de entrenamiento.

Optimización y Ajustes

Construir una red neuronal eficaz a menudo requiere ajustes y optimización. Esto puede incluir experimentar con diferentes arquitecturas de red, funciones de activación, optimizadores, inicializaciones de peso y técnicas de regularización. Keras ofrece una gran flexibilidad para experimentar con estos aspectos de forma rápida y sencilla.

Conclusión

Construir redes neuronalesUsar Keras y TensorFlow es una tarea simplificada gracias a las abstracciones de alto nivel que proporcionan estas bibliotecas. Al dominar los fundamentos de las RNA y aprender a manipular estas herramientas, estará bien equipado para diseñar e implementar potentes modelos de aprendizaje automático para resolver una amplia gama de problemas complejos.

Este capítulo proporcionó una descripción general sobre cómo comenzar a construir sus propias redes neuronales. Recuerde que la práctica hace la perfección y la experimentación es la clave para encontrar el mejor modelo para su problema específico.

Ahora responde el ejercicio sobre el contenido:

¿Cuál de las siguientes afirmaciones sobre la construcción de redes neuronales artificiales con Keras y TensorFlow es cierta, según el texto proporcionado?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Construyendo redes neuronales con Keras y TensorFlow: construyendo modelos secuenciales en Keras

Siguiente página del libro electrónico gratuito:

71Construyendo redes neuronales con Keras y TensorFlow: construyendo modelos secuenciales en Keras

5 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.