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
Quizzes & Challenges
Quizzes
Challenges
/
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 en el mundo real son complejas y normalmente se construyen 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, lo que ayuda a comprender los procesos subyacentes.

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

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

A continuación, se presenta un breve recordatorio de los pasos necesarios 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 valores de entrada como de salida a partir de los cuales 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 a partir 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 la red neuronal de manera efectiva, 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 impacta en 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 se requieren 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 se utilizará la biblioteca Keras y se explorarán 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 3. Capítulo 4
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

Suggested prompts:

Can you explain what forward and backward propagation mean in simple terms?

How does TensorFlow's Gradient Tape work for backpropagation?

What is the purpose of using a hidden layer in the XOR neural network example?

close

Awesome!

Completion rate improved to 6.25

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 en el mundo real son complejas y normalmente se construyen 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, lo que ayuda a comprender los procesos subyacentes.

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

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

A continuación, se presenta un breve recordatorio de los pasos necesarios 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 valores de entrada como de salida a partir de los cuales 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 a partir 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 la red neuronal de manera efectiva, 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 impacta en 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 se requieren 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 se utilizará la biblioteca Keras y se explorarán 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 3. Capítulo 4
single

single

some-alt