10 ejemplos de aprendizaje automático en JavaScript
JavaScript | Recursos
Las bibliotecas de aprendizaje automático son cada vez más rápidas y más accesibles con cada año que pasa, sin mostrar signos de desaceleración. Mientras que tradicionalmente Python ha sido el lenguaje de referencia para el aprendizaje automático, hoy en día las redes neuronales pueden ejecutarse en cualquier idioma, ¡incluido JavaScript!
- ¿Cuáles son los últimos desafíos de la informática de alto rendimiento?
- ¿Pueden las técnicas de visión por computadora de hoy determinar si Batman es Bruce Wayne?
- ¿Puedes sugerir un plan definitivo para ser un desarrollador de sistemas operativos?
- ¿Cuáles son algunos ejemplos de computación generalizada?
- ¿Hay buenos libros / artículos científicos sobre el problema de la capacidad de interpretación del aprendizaje automático (cajas negras, haciendo de las redes neuronales una caja blanca)?
El ecosistema web ha progresado mucho en los últimos tiempos y, aunque JavaScript y Node.js siguen siendo menos eficaces que Python y Java, ahora son lo suficientemente potentes como para manejar muchos problemas de aprendizaje automático. Los idiomas web también tienen la ventaja de ser súper accesibles: todo lo que necesita para ejecutar un proyecto de JavaScript ML es su navegador web.
La mayoría de las bibliotecas de aprendizaje automático de JavaScript son bastante nuevas y aún están en desarrollo, pero existen y están listas para que las pruebe. En este artículo, veremos algunas de estas bibliotecas, así como una serie de ejemplos geniales de aplicaciones web de IA para comenzar.
1. cerebro
Brain es una biblioteca que te permite crear fácilmente redes neuronales y luego entrenarlas en base a datos de entrada / salida. Dado que la capacitación consume muchos recursos, se prefiere ejecutar la biblioteca en un entorno Node.js, aunque una versión del navegador CDN también se puede cargar directamente en una página web. Hay una pequeña demostración en su sitio web que puede ser entrenada para reconocer el contraste de color.
Parque infantil profundo
Aplicación web educativa que te permite jugar con redes neuronales y explorar sus diferentes componentes. Tiene una interfaz de usuario agradable que le permite controlar los datos de entrada, la cantidad de neuronas, qué algoritmo usar y varias otras métricas que se reflejarán en el resultado final. También hay mucho que aprender de la aplicación detrás de escena: el código es de código abierto y utiliza una biblioteca de aprendizaje automático personalizada que está escrita en TypeScript y bien documentada.
FlappyLearning
FlappyLearning es un proyecto de JavaScript que en aproximadamente 800 líneas de código sin minifugar logra crear una biblioteca de aprendizaje automático e implementarla en una demostración divertida que aprende a jugar Flappy Bird como un virtuoso. La técnica de IA utilizada en esta biblioteca se llama Neuroevolución y aplica algoritmos inspirados en los sistemas nerviosos que se encuentran en la naturaleza, aprendiendo dinámicamente del éxito o el fracaso de cada iteración. La demostración es muy fácil de ejecutar: solo abra index.html en el navegador.
Sináptico
Probablemente el proyecto más activamente mantenido en esta lista, Synaptic es un Node.js y una biblioteca de navegador que es independiente de la arquitectura, lo que permite a los desarrolladores construir cualquier tipo de red neuronal que deseen. Tiene algunas arquitecturas incorporadas, lo que permite probar y comparar rápidamente diferentes algoritmos de aprendizaje automático. También presenta una introducción bien escrita a las redes neuronales, una serie de demostraciones prácticas y muchos otros excelentes tutoriales que desmitifican cómo funciona el aprendizaje automático.
Lineas de tierra
Land Lines es un interesante experimento de Chrome Web que encuentra imágenes satelitales de la Tierra, similares a los garabatos realizados por el usuario. La aplicación no realiza llamadas al servidor: funciona completamente en el navegador y gracias al uso inteligente del aprendizaje automático y WebGL tiene un gran rendimiento incluso en dispositivos móviles. Puede consultar el código fuente en GitHub o leer el caso de estudio completo aquí.
ConvNetJS
Aunque ya no se mantiene activamente, ConvNetJS es una de las bibliotecas de aprendizaje profundo más avanzadas para JavaScript. Desarrollado originalmente en la Universidad de Stanford, ConvNetJS se hizo bastante popular en GitHub, lo que resultó en muchas características y tutoriales impulsados por la comunidad. Funciona directamente en el navegador, admite múltiples técnicas de aprendizaje y es de bajo nivel, por lo que es adecuado para personas con mayor experiencia en redes neuronales.
Thing Translator
Thing Translator es un experimento web que le permite a su teléfono reconocer objetos de la vida real y nombrarlos en diferentes idiomas. La aplicación se basa completamente en tecnologías web y utiliza dos API de aprendizaje automático de Google: Cloud Vision para el reconocimiento de imágenes y la API de traducción para traducciones en lenguaje natural.
Neurojs
Marco para construir sistemas de IA basados en el aprendizaje por refuerzo. Lamentablemente, el proyecto de código abierto no tiene una documentación adecuada, pero una de las demostraciones, un experimento de auto sin conductor, tiene una excelente descripción de las diferentes partes que forman una red neuronal. La biblioteca está en JavaScript puro y está hecha con herramientas modernas como webpack y babel.
Otra biblioteca que nos permite configurar y entrenar redes neuronales usando solo JavaScript. Es muy fácil de instalar tanto en Node.js como en el lado del cliente, y tiene una API muy limpia que será cómoda para los desarrolladores de todos los niveles de habilidad. La biblioteca proporciona muchos ejemplos que implementan algoritmos populares, que lo ayudan a comprender los principios básicos del aprendizaje automático.
Garganta Profunda
DeepForge es un entorno de desarrollo fácil de usar para trabajar con aprendizaje profundo. Le permite diseñar redes neuronales usando una interfaz gráfica simple, admite modelos de entrenamiento en máquinas remotas y tiene un control de versión incorporado. El proyecto se ejecuta en el navegador y se basa en Node.js y MongoDB, lo que hace que el proceso de instalación sea muy familiar para la mayoría de los desarrolladores web.
fuente: https://tutorialzine.com/2017/04…