Machine learning en la web con Angular y TensorFlow
30 junio, 2022
Redes neuronales
“Las redes neuronales artificiales (ANN) están compuestas por capas de nodos que contienen una capa de entrada, una o más capas ocultas y una capa de salida. Cada nodo o neurona artificial se conecta a otro y tiene un peso y un umbral asociados.
Figura 1. Deep neural network. Fue extraído de “Redes neuronales” y elaborado por IBM Cloud Education (1).
¿Cómo funcionan las redes neuronales?
Piensa en cada nodo individual como su propio modelo de regresión lineal, compuesto de datos de entrada, ponderaciones, un sesgo o umbral y una salida” (1).
Figura 2. Modelo de regresión lineal. Fue extraído de “Redes neuronales” y elaborado por IBM Cloud Education (1).
Funciones de activación
Softmax:
“La función softmax es una generalización de la regresión logística que puede ser aplicada a datos continuos. Soporta sistemas de clasificación multinomial, por lo que se convierte en el recurso principal utilizado en las capas de salida de un clasificador” (2).
ReLu:
“La función de activación se encarga de devolver una salida a partir de un valor de entrada, normalmente el conjunto de valores de salida en un rango determinado como (0,1) o (-1,1).
Sigmoide:
La función sigmoide transforma los valores introducidos a una escala (0,1), donde los valores altos tienen de manera asintótica a 1 y los valores muy bajos tienden de manera asintótica a 0” (3).
Una vista rápida de las funciones más utilizadas en el aprendizaje automático
Ahora, ¿cómo implementarlo en angular?
Usaremos para esta práctica una librería importante de aprendizaje automático que nos brindan apoyo en modelos de machine learning, llamada TensorFlow.
Construiremos una app que pueda predecir el número que digitamos en un tablero en canvas.
Importaremos un modelo de reconocimiento de dígitos entrenado en Python para hacer predicciones desde nuestra aplicación de JavaScript.
Primero, corremos nuestra app de Angular para lo cual utilizaremos el CLI de dicha aplicación e importaremos la librería de tensorflow.
TensorFlow.js tiene una herramienta CLI de Python que convierte un modelo h5 guardado en Keras en un conjunto de archivos que se pueden usar en la web. Para convertir dicho archivo a formato de capas TF.js, ejecuta el siguiente comando. No es necesario para el ejercicio, en el repositorio encuentras todo el proyecto.
pip install tensorflowjs
tensorflowjs_converter –input_format keras \ keras/cnn.h5 \ src/assets
Paso 3
Cargar el modelo en el ON INIT
Paso 5
Agregamos Canvas para el evento predictivo
Paso 6
En el evento de predicción convierte una imagen en la cual el modelo de TensorFlow nos ayudará a predecir qué número fue escrito de 0 a 9
Listo, ahora tenemos nuestro aplicativo que predice el número que hemos escrito.
Conclusión
El aprendizaje automático ha sido el gran cambio de muchas áreas en la tecnología, gracias a ello podemos tener sistemas inteligentes capaces de predecir cualquier variable o evento.
Tensorflow ha sido una herramienta desarrollada por google con el fin de tener modelos de machine learning entrenados y listos para usarse con fácil integración para javascript, lo que nos permite utilizarlo en todos los frameworks js.
Soy David, Gerente de Salud Electrónica, mi pasión es ofrecer productos innovadores e integrales que aporten a los procesos en salud para mejorar la eficiencia de las instituciones.