Diseñar redes neuronales visualmente con Deep Learning Studio

Bienvenidos a el Podcast de Inteligencia Artificial

diseñar redes neuronales visualmente con deep learning studio

Herramienta para diseñar redes neuronales

Hoy la cosa viene de herramientas… hasta ahora nunca había hablado de una herramienta en particular creo, pero quiero hablarles una que estuve probando en estos días y me gustó mucho.

Sirve para crear, entrenar y hacer deploy de redes neuronales pero de forma visual con componentes drag & drop que podes ir arrastrando para armar tu modelo.

La herramienta está creada por la empresa Deep Cognition y la pueden encontrar en deepcognition.ai y se llama Deep Learning Studio.

Funciona online y tiene una cuenta gratuita que podes crearte para probar y te dan dos horas de procesamiento gratis. O también podes descargarte un IDE para trabajar y ejecutar en tu propia GPU.

Yo lo que hice cuando la descrubrí fue crearme la cuenta y al entrar a la pantalla principal vi que podia crear un nuevo proyecto o tambien ver proyectos de ejemplo.

Así que me fui para los proyectos de ejemplo para ver que había y mirar como estaban hechos. También me encontré con una sección de videos donde hay algunos tutoriales y te explican como subir un dataset, como descargarte y usar un modelo entrenado, y algunos otros tutoriales mas. Asi que me miré algunos como para ponerme en tema más rápido.

Después en la sección de datasets podes ver los datasets que vos hayas subido, pero también hay algunos públicos que ya están cargados y que podes usar.

Ahí hay como 8 o 9 datasets públicos y están por ejemplo el dataset cifar-10 que es muy conocido para hacer ejercicios de reconocimiento de imágenes, visión por computadora digamos. Y tiene 50.000 imágenes etiquetadas en 10 clases: aviones, autos, pájaros, gatos, perros, venados, ranas, caballos, barcos y camiones.

Datasets públicos para ejercicios de Deep Learning

Proyecto de ejemplo MNIST para reconocer dígitos escritos a mano
MNIST. Uno de los proyectos de ejemplo en Deep Learning Studio

Este es un dataset clásico para hacer ejercicios de visión por computadora y también está el famosisimos dataset MNIST que tiene imágenes dígitos escritos a mano del 0 al 9, también todos etiquetados y que es como una especie de ejercicio “hola mundo” del machine learning, porque es de los primeros ejercicios que se muestran de ejemplo en casi todos los cursos.

Así que una vez que miré todo eso me fui a crear el primer proyecto para usar este viejo conocido dataset del MNIST. Le di a crear nuevo proyecto, le pones un nombre y una descripción.

Una vez creado el proyecto, tenes que elegir con qué dataset vas a trabajar. Así que en el desplegable elegí este dataset público del MNIST. Una vez elegido el dataset se te despliega abajo las columnas y podes indicarle el tipo de dato.

En este caso una de las columnas un dígito que indica la categoría y la otra columna es una imagen que vendría a ser la foto del dígito escrito a mano escaneada.

También podes indicar qué porcentaje de los datos vas a usar para entrenamiento, validación y test. Ahi tenes varias opciones: podes elegir 80%, 10% y 10% o 90%, 5% y 5%.

Así se ve el dataset MNIST en Deep Learning Studio
Captura de pantalla al seleccionar un dataset en Deep Learning Studio

Creación de modelos de Machine Learning automáticos

Después me fui para la pestaña de modelo, donde ahi podes diseñar tu modelo arrastrando las capas de entrada, salida y las capas intermedias. También había un botón de AutoML así que me decidí a probarlo y lo apreté.

Y lo que hizo fue generar un modelo con todas las capaz conectadas, es inicial que podes usar como base para hacer alguna prueba. Después podes modificarlo y volver a probar y ver como van cambiando las predicciones.

En esa pantalla en el lado izquierdo tenes todos los componentes con las capas que podes arrastrar para armar el modelo manualmente.

Lo bueno es que te carga unos posibles hiper parámetros, pero si queres podes modificarlos y podes cambiar también los optimizadores.

En esta solapa hay un botón también para ver el código, así que le dí para ver que habia generado y el código que generó usa la API de Keras.

Yo al principio suponía que deberían estar usando Auto-Keras pero, parece que no.

Representación visual de la red neuronal creada por autoML
Representación visual de la red neuronal creada por autoML

Modelos compatibles con Keras

Otra cosa tambien que podes hacer es subir el codigo de tu modelo, que hayas escrito vos (tiene que ser compatible con keras 1.2.2) y al cargarlo te va a mostrar la representación del modelo gráficamente. Muy util tambien por lo didactico.

Después me fui a la solapa entrenamiento y ahí podes ponerle un nombre a tu entrenamiento y ya podes decirle que empiece a entrenar el modelo. En realidad primero tenes que “encender” la instancia, y ahí ya te empiezan a correr los minutos de las horas que te dan gratis. Y le das a entrenar.

Mientras se va entrenando te muestra gráficos con la pérdida, la precisión, la cantidad de ejemplos que procesa por segundo, y bueno una vez que terminó me fui para la parte de resultados.

Ahí en resultados te muestra los gráficos en el tiempo de pérdida y precisión tanto en entrenamiento como en validación.

Y de ahi me fui a la última solapa donde podes mirar en una tabla que predicción fue haciendo para cada dato de validación, test o podes ahí mismo subir nuevos casos y ver que resultado te da de predicción y con qué probabilidad.

Imagen con los resultados de las predicciones
El resultado de las predicciones de test

Acá mismo también tenes una opción de deploy para publicar y poder pegarle desde alguna aplicación.

Hacer predicciones rápidamente

Hasta acá les digo que habré tardado dos minutos en hacer esto, así que vean lo rápido que podes probar cosas.

Después me fui a hacer otra prueba asi que cree un nuevo proyecto y elegi otro dataset público con los datos de los pasajeros del titanic y la idea es sacar una predicción de supervivencia.

Son 1316 registros etiquetados, los datos que tenes son la clase en la que viajaba: que podia ser 1era, 2da o 3era. Otra etiqueta donde te dice si es adulto o niño, otra para decir si es masculino o femenino, y al final el dato de si sobrevivió o no.

Acá lo mismo que antes, después de elegir el dataset tenes que poner qué porcentaje de datos vas a usar para entrenamiento y cuales vas a reservar para validación y pruebas.

Después fui a la parte de modelo, esta vez no elegí AutoML sino que armé un modelo sencillito, lo entrené y después obtuve los resultados.

La verdad es que me pareció interesante por muchas cosas. Primero porque me parece que este tipo de herramientas nos pueden servir para ganar tiempo a veces cuando queremos probar algo rápido.

Además estas herramientas visuales te abstraen de las APIs de código pueden servir para concentrarte en la solución sin importar el código. Mismo para cuando estas empezando con todo esto, si el código te asusta un poco, quizás este tipo de herramientas ayuden a que algunos mas se animen.

Yo les dejo algunas capturas en las notas para que vean como es. Tambien les dejo el link para los que quieran crearse una cuenta es deepcongnition.ai

Y bueno me gustaría que me cuenten que les parece la herramienta. Si les interesa que de vez en cuando hable de alguna herramienta o algo de la parte técnica, así que espero sus comentarios en pochocosta.com o sino en twitter donde soy @pochocosta

Muchas gracias por estar ahí, y recordá suscribirte en Spotify, Google Podcast, Apple Podcast o en iVoox para enterarte cada vez que sale un nuevo episodio. Y gracias por los comentarios y me gusta en iVoox y las recomendaciones en iTunes que son lo que hace que este podcast pueda ser descubierto por más personas.

Dejar recomendación en iTunes

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *