Невероятный рост новых технологий, таких как машинное обучение, облегчил жизнь разработчикам: создавать приложения на базе искусственного интеллекта стало намного проще. И теперь к активному применению программных платформ на 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