¿Hay algún papel de JavaScript en el aprendizaje automático o el desarrollo de IA?

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!

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.


Aprendizaje automático

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…

Entonces, tienes una lista sorprendentemente larga de proyectos directos de ML en JS en otra respuesta.

Un problema con ML e IA es que la depuración es un problema de visualización de datos muy difícil, y Javascript tiene mucho que ofrecer en la creación de interfaces de usuario que faciliten ese proceso; no es el núcleo de ML, sino una parte necesaria para implementarlo y hacerlo útil, y luego arreglar las cosas cuando sale mal en la producción.

No Probablemente muy muy poco. Para la mayor parte de la parte, contará con un sólido conocimiento de estadísticas, álgebra lineal y un lenguaje de programación de su elección entre R, Scala y Python. SQL no es necesario de inmediato, pero lo ayudará a largo plazo. Las estadísticas son lo más importante en mi opinión y tal vez las bibliotecas dedicadas a ML. Pero si sabes JS o cualquier otro idioma, siempre es una ventaja.

More Interesting

Si el mundo tal como lo observamos fuera realmente una simulación interactiva (como se sugiere en ciertas películas de ciencia ficción), ¿qué tipo de potencia informática se necesitaría para ejecutarlo? ¿Cuánto poder dibujaría?

¿Cómo se puede entender qué es realmente IPv6 y cómo funciona?

¿Debo abandonar la escuela de negocios?

¿Hay alguna evidencia de organismos que evolucionaron para tener un cerebro computacional en serie (como un procesador de computadora), en lugar del cerebro computacional paralelo (red neuronal)?

¿Cómo se fundó Computer Sciences Corporation?

¿Qué necesito aprender para sumergirme en Computer Vision Research?

¿Qué significa RESTful y por qué es significativo?

Cómo escribir el diagrama de flujo del generador aleatorio de números

¿Cuál es una breve explicación de la diferencia entre circuitos combinacionales y secuenciales?

Desde la perspectiva de la interacción hombre-computadora, ¿qué sentimientos / emociones debe evocar un sitio web para atraer a un usuario?

Cómo encontrar el máximo global y los valores que dan el máximo global para una función de 2 variables usando un algoritmo genético

¿Cuáles son algunos concursos / tareas populares en el análisis morfológico de los lenguajes naturales?

¿Soy demasiado estúpido para la informática?

¿Cuáles son las implicaciones de la prueba del problema de Turing y cómo ha afectado el campo de la informática hoy en día?

¿Debo ir por contabilidad o ciencias de la computación?