en que momento vamos a instalar todo para empezar a programar?
Entender el concepto de Red Neuronal y Aprendizaje Profundo
TensorFlow JS: Introducción y Creación de Modelos Básicos
Fundamentos de Redes Neuronales y Aprendizaje de Máquina
Aprendizaje Profundo: Redes Neuronales y Back Propagation
Conocer qué es TensorFlow y TensorFlow.js
Introducción a TensorFlow y TensorFlow JS: Creación de Redes Neuronales
Introducción a TensorFlow JS para Aplicaciones Web
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
Creación de Modelos con TensorFlow JS usando API de Layers
Entrenamiento de Modelos con TensorFlow JS y API de Layers
Entrenamiento de Redes Neuronales en Navegadores Web
Almacenamiento y Carga de Modelos en TensorFlow JS
Entender cual es la forma común de utilizar un modelo de Red Neuronal
Optimización de Modelos de Aprendizaje en TensorFlow JS
Utilización de Modelos de Aprendizaje de Máquina: Pasos Clave
Transferencia de Aprendizaje en Modelos Preentrenados
Diseñar un modelo de Regresión Lineal
Programación de Modelos de Regresión Lineal con TensorFlow JS
Regresión Lineal con TensorFlow JS: Creación y Visualización de Modelos
Normalización de Datos para Redes Neuronales con TensorFlow
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
Diseño de Modelos de Clasificación de Imágenes
Uso de MobileNet y TensorFlow JS para Clasificación de Imágenes
Transferencia de Conocimiento en TensorFlow para Clasificación de Imágenes
Conclusión
Resumen Final del Curso de TensorFlow JS
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
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:
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.
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.
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.
Entrenar un modelo implica el uso eficiente de los datos y herramientas proporcionadas por TensorFlow JS, siguiendo varias etapas importantes:
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.
Decidir el optimizador, la función de pérdida y las métricas de evaluación:
categorical cross entropy
y mean squared error
.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.
Una vez entrenado, es esencial validar que tu modelo funciona correctamente y se ajusta a nuevas situaciones:
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.
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.
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
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:
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.
¿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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?