Невероятный рост новых технологий, таких как машинное обучение, облегчил жизнь разработчикам: создавать приложения на базе искусственного интеллекта стало намного проще. И теперь к активному применению программных платформ на Python для развития машинного обучения и искусственного интеллекта прибегает всё больше сторонников этой технологии. Примечательно и то, что инструменты создания приложений на языке JavaScript тоже активно внедряются при разработке искусственного интеллекта.

Хотя Python является языком программирования большинства платформ для машинного обучения, и JavaScript не отстает. Вот почему среди разработчиков JavaScript пользуются популярностью фреймворки для тренировки и внедрения моделей машинного обучения в браузере.

Давайте рассмотрим несколько платформ для машинного обучения на JavaScript, которым обязательно должно найтись место среди факторов роста вашего бизнеса за счёт использования технологии машинного обучения и искусственного интеллекта.

1. 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>

2. ML.js

ML.js изначально была призвана сделать машинное обучение доступным для широкого круга пользователей: студентов, художников и т.д. Это библиотека JavaScript, использующая алгоритмы и инструменты внутри браузера и работающая поверх Tensorflow.js без внешних зависимостей.

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

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

Ниже приведены поддерживаемые алгоритмы машинного обучения:

Для обучения с учителем:

Метод k ближайших соседей (KNN)

Простая линейная регрессия

Наивный байесовский классификатор 

Случайный лес

Дерево решений: CART

Частично наименьшие квадраты (PLS)

Логистическая регрессия

Для обучения без учителя:

Кластеризация к-средних

Метод главных компонент (PCA)

3. Keras.js

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

Я составил список моделей Keras, запускаемых в браузере:

Двунаправленная LSTM-сеть долгой краткосрочной памяти для сентимент-классификации IMDB-базы данных в оперативной памяти.

Нейронная сеть DenseNet-121, обученная на базе данных ImageNet.

50-слойная остаточная сеть, обученная на ImageNet.

Свёрточный вариационный автоэнкодер, обученный на базе MNIST.

Базовая свёрточная нейронная сеть для MNIST.

Генеративно-состязательные сети (AC-GAN) вспомогательного классификатора на MNIST.

Inception v3, обученная на ImageNet.

SqueezeNet v1.1, обученная на ImageNet.

4. Limdu.js

Это платформа машинного обучения, используемая для Node.js.

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

Устанавливается следующей командой:

npm install limdu

Поддерживает следующие методы и классификации:

Конструирование признаков

Двоичная классификация

Классификация с несколькими метками

Метод опорных векторов

5. Tensorflow.js

Это библиотека машинного обучения с открытым кодом на языке JavaScript, поддерживаемая Google.

Может использоваться в разных целях: понимание моделей машинного обучения, обучение нейронных сетей в браузере, образование и т.д.

Tensorflow.js позволяет тренировать модели машинного обучения на JavaScript и облегчает его последующее развёртывание в браузере или на Node.js.

С помощью этой платформы в модели логического вывода можно запускать предварительно обученные модели, а код можно писать на Typescript (ES6 JavaScript или ES5 JavaScript).

Чтобы быстро создать модель, наберите нижеуказанный код внутри тега header в HTML-файле и пишите программы на JavaScript.

<script src=”https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]/dist/tf.min.js"></script>

6. PropelJS

Это библиотека машинного обучения на языке JavaScript с инфраструктурой numpy, поддерживаемая процессорами (особенно для научных расчётов). Может использоваться как для браузерных приложений, так и для приложений на NodeJS.

Вот конфигурационный код для браузера:

<script src=”https://unpkg.com/[email protected]"></script>

Для приложения на nodejs используется следующий код:

npm install propel

import { grad } from "propel";

7. stdLib

Эта библиотека JavaScript используется для создания продвинутых статистических моделей и библиотек машинного обучения. Кроме того, она может использоваться в графических средствах отображения информации для разведочного анализа данных, а также визуализации данных.

Ниже приводится список библиотек, имеющих отношение к машинному обучению:

Двоичная классификация через стохастический градиентный спуск

Например:

@stdlib/ml/online-binary-classification

Линейная регрессия через стохастический градиентный спуск

Например:

@stdlib/ml/online-sgd-regression

Обработка естественного языка

Например:

@stdlib/nlp

8. ConvNetJS

Эта библиотека JavaScript используется для обучения нейронных сетей (моделей глубокого обучения) исключительно в браузере. Приложение на NodeJs тоже может использовать эту библиотеку. Для начала работы нужна её минифицированная версия с минифицированной библиотекой ConvNetJS.

Используйте следующий код:

<script src="convnet-min.js"></script>

Заключение

Пока что нами были рассмотрены 8 лучших платформ машинного обучения на JavaScript. 

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

Следовательно, вышеперечисленные библиотеки машинного обучения JavaScript будут полезны, если вам нужна альтернатива платформам python для разработки машинного обучения.

Читайте также:


Перевод статьи Samaira Sandberg: Top 8 JavaScript-based Machine Learning Frameworks & Libraries

Предыдущая статьяВизуализация map, filter и reduce
Следующая статьяСтриминг видео и чат в учебном приложении