Найти тему

Топ 5 фреймворков и библиотек машинного обучения на основе JavaScript

Оглавление

Развитие таких современных технологий, как машинное обучение позволило разработчикам создавать новые приложения на основе ИИ, и делать это стало легче, чем когда-либо. Сегодня многие разработчики традиционно используют фреймворки на базе Python. JavaScript применяется гораздо реже, но несмотря на меньшую популярность, этот язык также обладает большой мощностью и способен справляться с самыми разными проблемами МО. Библиотеки МО JavaScript довольно новые и находятся в разработке, но тем они и интересны! К тому же, JavaScript - доступный язык, и единственное, что понадобится для создания проекта - это браузер. 

В этой статье мы рассмотрим 5 основных фреймворков, построенных на языке JavaScript. Весь материал можно посмотреть здесь, а мы отобрали и адаптировали для вас только самое необходимое. Поехали!

1. Keras.js

С помощью KerasJS вы с легкостью сможете запустить модели Keras в браузере без поддержки GPU через WebGL.Эти модели можно запускать и в Node.js, но только в режиме CPU. 

Ниже перечисляем некоторые модели Keras, которые можно запустить в браузере:

  • Двунаправленный LSTM для классификации тональности высказываний IMDB
  • DenseNet-121, обученная на ImageNet
  • 50-слойная остаточная нейронная сеть, обученная на ImageNet
  • Сверточный вариационный автокодер, обученный на MNIST
  • Базовая сверточная нейронная сеть для MNIST
  • Генеративной-состязательные сети со вспомогательным классификатором / Auxiliary classifier generative adversarial networks (AC-GAN) на MNIST
  • Inception v3, обученный на ImageNet
  • SqueezeNet v1.1, обученный на ImageNet

Погрузиться в библиотеку Keras, изучить TensorFlow и другие фреймворки можно с экспертами из NVIDIA, EORA, Яндекс.Дзен. На годовом курсе от SkillFactory Data Science с нуля вы также освоите основы программирования на Python, математику и статистику для Data Science, практический Machine Learning. Всю программу можно посмотреть здесь. Курс подойдёт новичкам, программистам и аналитикам. До 26 августа курс можно получить со скидкой 30%! 

2. Brain.js

Brain.js - это открытая библиотека JavaScript, которая используется для запуска и дальнейшего обучения нейронных сетей на основе входных и выходных данных. Она особенно полезна тем разработчикам, кто совсем недавно решился погрузиться в машинное обучение. Но также она идеально подойдёт и тем, кто уже знаком со сложностями JavaScript. 

Как правило, Brain.js используется с Node.js или клиентский браузером для обучения моделей МО. 

Чтобы установить Brain.js, используйте этот код: 

npm install brain.js

А чтобы установить Наивный байесовский классификатор, используйте другой код:

npm install classifier

Вы также можете добавить библиотеку в браузер, использовав этот код: 

<script src="https://raw.githubusercontent.com/harthur-
org/brain.js/master/browser.js"></script>

3. ML5.js

Основная цель ML.js - сделать МО доступным для более широкой аудитории, включая, разработчиков, студентов и просто увлеченных МО. Это библиотека JavaScript, которая предоставляет алгоритмы и инструменты внутри браузера и работает вместе с библиотекой TensorFlow.js.

Сначала установите инструмент ML.js, используя следующий код:

<script src="https://www.lactame.com/lib/ml/2.2.0/ml.min.js"></script>

Ниже мы привели список поддерживаемых алгоритмов МО: 

Обучение с учителем:

  • Метод ближайших соседей/K-Nearest Neighbor (KNN)
  • Простая линейная регрессия/Simple linear regression
  • Наивный байесовский классификатор/Naive Bayes 
  • Случайный лес/Random forest
  • Дерево решений: CART/Decision tree: CART
  • Частичная регрессия наименьших квадратов / Partial least squares (PLS)
  • Логистическая регрессия/Logistic regression

Обучение без учителя:

  • Метод k-средних/K-means clustering
  • Метод главных компонент/Principal component analysis (PCA)

4.Limdu.js

Это фреймворк МО, который используется для Node.js

Limdu.js отлично подходит для чат-ботов на основе обработки языка и других диалоговых систем.

Установите его, используя эту команду:

npm install limdu

Он поддерживает:

  • Конструирование признаков/Feature engineering
  • Бинарная классификация/Binary classification
  • Многотемная классификация/Multi-label classification
  • Метод опорных векторов/SVM

5.Tensorflow.js

Ранее известная как deeplearn.js, эта открытая библиотека МО JavaScript поддерживается Google. Изначально она создавалась для решения внутренних проблем Google, но впоследствии ее открыли для публичного пользования. Теперь ее можно использовать, чтобы поразбираться в моделях МО, обучить нейронные сети в браузере, а также в образовательных целях. 

TensorFlow.js позволяет обучать модели МО на JavaScript и облегчает их дальнейшее развертывание в браузере или на Node.js.

Используя этот фреймворк, вы можете запускать предварительно подготовленные модели в модели логического вывода. 

Чтобы создать модель, вы без труда сможете начать, включив этот код в заголовок тега в файле HTML и написав JS-программы: 

<script
src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.0/dist/tf.min.js">
</script>

Мы рассказали про 5 основных фреймворков JavaScipt, которые стоит рассматривать для веб-разработки. Конечно, язык не становится главным для использования в МО. И все же он развивается и преодолевает такие проблемы, как производительность, манипуляции с матрицей и наличие полезных библиотек. 

Этот список библиотек будет полезен вам, если вы ищете альтернативу фреймворкам Python. И, наверняка, у вас уже есть свои наработки и идеи, как пополнить этот список. Пишите в комментариях, кидайте ссылки и делитесь своим мнением!