Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Implementación de Redes Neuronales | Fundamentos de TensorFlow
Introducción a TensorFlow

bookImplementación de Redes Neuronales

Descripción general de una red neuronal básica

Ahora ha alcanzado una etapa en la que dispone de los conocimientos esenciales de TensorFlow para crear redes neuronales por su cuenta. Aunque la mayoría de las redes neuronales del mundo real son complejas y suelen construirse utilizando librerías de alto nivel como Keras, construiremos una básica utilizando herramientas fundamentales de TensorFlow. Este enfoque proporciona experiencia práctica con la manipulación de tensores a bajo nivel, ayudando a comprender los procesos subyacentes.

En cursos anteriores como Introducción a las redes neuronales, quizá recuerde el tiempo y esfuerzo que llevó construir incluso una red neuronal simple, tratando cada neurona de forma individual.

TensorFlow simplifica este proceso de manera significativa. Al aprovechar los tensores, puede encapsular cálculos complejos, reduciendo la necesidad de codificación intrincada. Nuestra tarea principal es configurar una secuencia de operaciones tensoriales.

A continuación, un breve recordatorio de los pasos para poner en marcha el proceso de entrenamiento de una red neuronal:

Preparación de datos y creación del modelo

La fase inicial del entrenamiento de una red neuronal implica preparar los datos, abarcando tanto los entradas como las salidas de las que la red aprenderá. Además, se establecen los hiperparámetros del modelo; estos son los parámetros que permanecen constantes durante todo el proceso de entrenamiento. Los pesos se inicializan, normalmente extraídos de una distribución normal, y los sesgos, que a menudo se establecen en cero.

Propagación hacia adelante

En la propagación hacia adelante, cada capa de la red generalmente sigue estos pasos:

  1. Multiplicar la entrada de la capa por sus pesos.
  2. Sumar un sesgo al resultado.
  3. Aplicar una función de activación a esta suma.

Luego, se puede calcular la pérdida.

Propagación hacia atrás

El siguiente paso es la propagación hacia atrás, donde se ajustan los pesos y los sesgos según su influencia en la pérdida. Esta influencia está representada por el gradiente, que la Gradient Tape de TensorFlow calcula automáticamente. Se actualizan los pesos y los sesgos restando el gradiente, escalado por la tasa de aprendizaje.

Bucle de entrenamiento

Para entrenar eficazmente la red neuronal, los pasos de entrenamiento se repiten varias veces mientras se supervisa el rendimiento del modelo. Idealmente, la pérdida debería disminuir a lo largo de las épocas.

Tarea

Swipe to start coding

Crear una red neuronal diseñada para predecir los resultados de la operación XOR. La red debe consistir en 2 neuronas de entrada, una capa oculta con 2 neuronas y 1 neurona de salida.

  1. Comenzar con la configuración de los pesos y sesgos iniciales. Los pesos deben inicializarse utilizando una distribución normal, y todos los sesgos deben inicializarse en cero. Utilizar los hiperparámetros input_size, hidden_size y output_size para definir las formas adecuadas de estos tensores.
  2. Utilizar un decorador de función para transformar la función train_step() en un grafo de TensorFlow.
  3. Realizar la propagación hacia adelante a través de las capas oculta y de salida de la red. Utilizar la función de activación sigmoide.
  4. Determinar los gradientes para comprender cómo cada peso y sesgo afecta la pérdida. Asegurarse de que los gradientes se calculen en el orden correcto, correspondiente a los nombres de las variables de salida.
  5. Modificar los pesos y sesgos en función de sus respectivos gradientes. Incorporar el learning_rate en este proceso de ajuste para controlar la magnitud de cada actualización.

Solución

Conclusión

Dado que la función XOR es una tarea relativamente sencilla, no es necesario utilizar técnicas avanzadas como el ajuste de hiperparámetros, la división del conjunto de datos o la construcción de canalizaciones de datos complejas en esta etapa. Este ejercicio es solo un paso hacia la construcción de redes neuronales más sofisticadas para aplicaciones del mundo real.

Dominar estos conceptos básicos es fundamental antes de abordar técnicas avanzadas de construcción de redes neuronales en los próximos cursos, donde utilizaremos la biblioteca Keras y exploraremos métodos para mejorar la calidad del modelo con las amplias funcionalidades de TensorFlow.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

Awesome!

Completion rate improved to 5.56

bookImplementación de Redes Neuronales

Desliza para mostrar el menú

Descripción general de una red neuronal básica

Ahora ha alcanzado una etapa en la que dispone de los conocimientos esenciales de TensorFlow para crear redes neuronales por su cuenta. Aunque la mayoría de las redes neuronales del mundo real son complejas y suelen construirse utilizando librerías de alto nivel como Keras, construiremos una básica utilizando herramientas fundamentales de TensorFlow. Este enfoque proporciona experiencia práctica con la manipulación de tensores a bajo nivel, ayudando a comprender los procesos subyacentes.

En cursos anteriores como Introducción a las redes neuronales, quizá recuerde el tiempo y esfuerzo que llevó construir incluso una red neuronal simple, tratando cada neurona de forma individual.

TensorFlow simplifica este proceso de manera significativa. Al aprovechar los tensores, puede encapsular cálculos complejos, reduciendo la necesidad de codificación intrincada. Nuestra tarea principal es configurar una secuencia de operaciones tensoriales.

A continuación, un breve recordatorio de los pasos para poner en marcha el proceso de entrenamiento de una red neuronal:

Preparación de datos y creación del modelo

La fase inicial del entrenamiento de una red neuronal implica preparar los datos, abarcando tanto los entradas como las salidas de las que la red aprenderá. Además, se establecen los hiperparámetros del modelo; estos son los parámetros que permanecen constantes durante todo el proceso de entrenamiento. Los pesos se inicializan, normalmente extraídos de una distribución normal, y los sesgos, que a menudo se establecen en cero.

Propagación hacia adelante

En la propagación hacia adelante, cada capa de la red generalmente sigue estos pasos:

  1. Multiplicar la entrada de la capa por sus pesos.
  2. Sumar un sesgo al resultado.
  3. Aplicar una función de activación a esta suma.

Luego, se puede calcular la pérdida.

Propagación hacia atrás

El siguiente paso es la propagación hacia atrás, donde se ajustan los pesos y los sesgos según su influencia en la pérdida. Esta influencia está representada por el gradiente, que la Gradient Tape de TensorFlow calcula automáticamente. Se actualizan los pesos y los sesgos restando el gradiente, escalado por la tasa de aprendizaje.

Bucle de entrenamiento

Para entrenar eficazmente la red neuronal, los pasos de entrenamiento se repiten varias veces mientras se supervisa el rendimiento del modelo. Idealmente, la pérdida debería disminuir a lo largo de las épocas.

Tarea

Swipe to start coding

Crear una red neuronal diseñada para predecir los resultados de la operación XOR. La red debe consistir en 2 neuronas de entrada, una capa oculta con 2 neuronas y 1 neurona de salida.

  1. Comenzar con la configuración de los pesos y sesgos iniciales. Los pesos deben inicializarse utilizando una distribución normal, y todos los sesgos deben inicializarse en cero. Utilizar los hiperparámetros input_size, hidden_size y output_size para definir las formas adecuadas de estos tensores.
  2. Utilizar un decorador de función para transformar la función train_step() en un grafo de TensorFlow.
  3. Realizar la propagación hacia adelante a través de las capas oculta y de salida de la red. Utilizar la función de activación sigmoide.
  4. Determinar los gradientes para comprender cómo cada peso y sesgo afecta la pérdida. Asegurarse de que los gradientes se calculen en el orden correcto, correspondiente a los nombres de las variables de salida.
  5. Modificar los pesos y sesgos en función de sus respectivos gradientes. Incorporar el learning_rate en este proceso de ajuste para controlar la magnitud de cada actualización.

Solución

Conclusión

Dado que la función XOR es una tarea relativamente sencilla, no es necesario utilizar técnicas avanzadas como el ajuste de hiperparámetros, la división del conjunto de datos o la construcción de canalizaciones de datos complejas en esta etapa. Este ejercicio es solo un paso hacia la construcción de redes neuronales más sofisticadas para aplicaciones del mundo real.

Dominar estos conceptos básicos es fundamental antes de abordar técnicas avanzadas de construcción de redes neuronales en los próximos cursos, donde utilizaremos la biblioteca Keras y exploraremos métodos para mejorar la calidad del modelo con las amplias funcionalidades de TensorFlow.

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
single

single

some-alt