Entender el concepto de Red Neuronal y Aprendizaje Profundo

1

TensorFlow JS: Introducción y Creación de Modelos Básicos

2

Fundamentos de Redes Neuronales y Aprendizaje de Máquina

3

Aprendizaje Profundo: Redes Neuronales y Back Propagation

Conocer qué es TensorFlow y TensorFlow.js

4

Introducción a TensorFlow y TensorFlow JS: Creación de Redes Neuronales

5

Introducción a TensorFlow JS para Aplicaciones Web

6

Aprendizaje de Máquina en el Navegador con TensorFlow JS

Entender cuáles son los componentes básicos de una Red Neuronal y cómo entrenarla

7

Creación de Modelos con TensorFlow JS usando API de Layers

8

Entrenamiento de Modelos con TensorFlow JS y API de Layers

9

Entrenamiento de Redes Neuronales en Navegadores Web

10

Almacenamiento y Carga de Modelos en TensorFlow JS

Entender cual es la forma común de utilizar un modelo de Red Neuronal

11

Optimización de Modelos de Aprendizaje en TensorFlow JS

12

Utilización de Modelos de Aprendizaje de Máquina: Pasos Clave

13

Transferencia de Aprendizaje en Modelos Preentrenados

Diseñar un modelo de Regresión Lineal

14

Programación de Modelos de Regresión Lineal con TensorFlow JS

15

Regresión Lineal con TensorFlow JS: Creación y Visualización de Modelos

16

Normalización de Datos para Redes Neuronales con TensorFlow

17

Guardado y carga de modelos de regresión en HTML y JavaScript

Crear una aplicación en JavaScript que utilice un modelo de clasificación de Imágenes

18

Diseño de Modelos de Clasificación de Imágenes

19

Uso de MobileNet y TensorFlow JS para Clasificación de Imágenes

20

Transferencia de Conocimiento en TensorFlow para Clasificación de Imágenes

Conclusión

21

Resumen Final del Curso de TensorFlow JS

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de TensorFlow.js

Curso de TensorFlow.js

Alejandro Santamaria

Alejandro Santamaria

Entrenamiento de Modelos con TensorFlow JS y API de Layers

8/21
Recursos

¿Cómo preparar datos para un modelo de aprendizaje con TensorFlow JS?

El primer paso crucial para entrenar un modelo de aprendizaje de máquina es preparar los datos de manera adecuada. La calidad y cantidad de datos son esenciales para el aprendizaje exitoso, y en este sentido, seguirás varios pasos:

  1. Recolecta de datos: Este proceso puede involucrar reunir datos de diversas fuentes como clientes, imágenes o entradas de dispositivos, según lo que desees analizar.

  2. Visualización y limpieza: Identifica y corrige datos inválidos o vacíos, asegurándote de que el conjunto de datos esté en las mejores condiciones para el entrenamiento.

  3. Separación de datos: Divide tus datos en conjuntos de entrenamiento y evaluación. Esto evita que la red neuronal aprenda únicamente de los datos disponibles sin saber generalizar ante datos desconocidos.

La preparación meticulosa de los datos garantizará que el modelo no solo aprenda adecuadamente sino que también sea capaz de predecir resultados con precisión.

¿Cómo entrenar y ajustar un modelo con TensorFlow JS?

Entrenar un modelo implica el uso eficiente de los datos y herramientas proporcionadas por TensorFlow JS, siguiendo varias etapas importantes:

  1. Obtener un batch de datos: El entrenamiento no se realiza con todos los datos simultáneamente, sino en pequeños subconjuntos conocidos como batches, optimizando así los recursos y tiempo.

  2. Decidir el optimizador, la función de pérdida y las métricas de evaluación:

    • Optimizador: Guía el ajuste de parámetros hacia el mínimo error posible. Un ejemplo es el gradiente descendente (SGD).
    • Función de pérdida: Indica lo lejos que está el modelo de aprender correctamente; buenos ejemplos son categorical cross entropy y mean squared error.
    • Métricas: Proporcionan un único número que refleja el desempeño del modelo, evaluado con el conjunto completo de batches.
  3. Ejecutar el entrenamiento usando fit o fit dataset: Dependiendo del tamaño de tu modelo e información, escoge entre model.fit() para casos manejables en memoria o model.fitDataset() para datos más extensos o en stream.

Configurar correctamente el entrenamiento es clave, siendo casi un arte, donde se ajustan hiperparámetros como el número de capas y neuronas para optimizar el aprendizaje.

¿Cómo validar y utilizar un modelo entrenado?

Una vez entrenado, es esencial validar que tu modelo funciona correctamente y se ajusta a nuevas situaciones:

  1. Validación del modelo: Usa los datos de evaluación para verificar si el entrenamiento no sobrefitó el modelo, es decir, que no se ajustó solo a los datos de entrenamiento.

  2. Predicción con el modelo: Utiliza model.predict() para hacer predicciones, asegurándote que los nuevos datos cumplan con la misma regularización y normalización que en el entrenamiento.

  3. Hiperparámetros y ajustes adicionales: Explora alteraciones en hiperparámetros como el tamaño de batch o número de epochs para mejorar los resultados del modelo.

Con un enfoque metódico y cuidadoso en estas fases, maximizarás la eficacia y usabilidad de cualquier modelo de aprendizaje de máquina que desarrolles con TensorFlow JS. A medida que continúes en este camino, tu habilidad para experimentar y ajustar crecerá, haciendo posible el aprovechar totalmente las potencialidades que ofrecen las redes neuronales.

Aportes 7

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

en que momento vamos a instalar todo para empezar a programar?

En una clase del curso de Introducción a Machine Learning se explica como usar el Neural Network Playground. --> Link a la clase

Antes de entrenar el modelo debemos decidir 3 cosas:

  • Un optimizador: Que optimizador utilizar?
  • Una funcion de perdida: Que funcion de perdida utilizar?
  • Una lista de metricas: Cual es la lista de metricas con base a las cuales iremos monitoreando el aprendizaje de nuestro modelo.

La regularización y normalización de los datos favorece los cálculos de los valores de parámetros (pesos) y el acercamiento acelerado al menor costo (pérdida) en el entrenamiento. Al llevar todos los features (valores de entrada) a un rango controlado entre 0 y 1 ó, -1 y 1 la cantidad de iteraciones necesarias para llegar al mínimo de la función de pérdida (o costo) es generalmente menor por lo que el tiempo necesario para el entrenamiento del modelo se podría reducir considerablemente.

Funciones de pérdida
Es el objetivo que el modelo intentará minimizar. Su meta es devolver un número que indique “que tan mal” está la predicción del modelo. Este cálculo se realiza para cada “lote” de datos de entrenamiento. Existen algunas funciones predefinidas como “categoricalCrossentropy” o “meanSquaredError”.

🔹 categoricalCrossentropy

Medida de entropía que permite clasificar claramente entre dos categorías

🔹 meanSquaredError

Distancia mínima cuadrada entre los puntos que el modelo está aprendiendo y el punto que se esta prediciendo.

  • La función de pérdida se irá calculando de manera repetitiva para cada batch de datos y finalmente, el optimizador será el encargado de ir moviendo los parámetros tal que la función de pérdida sea mínima.

¿Se puede utilizar las mismas imágenes de entrenamiento para la evaluación? Es decir ingresamos 10 imágenes para entrenarle alguna de esas imágenes se puede utilizar para evaluar.

Cabe aclarar que este modelo no funciona cuando el digito dibujado no es encuentra en el centro, para esto existen las redes neuronales convolucionadas