Skip to content

Latest commit

 

History

History
110 lines (56 loc) · 13.5 KB

11 JavaScript-библиотек для машинного обучения.md

File metadata and controls

110 lines (56 loc) · 13.5 KB

11 JavaScript-библиотек для машинного обучения

Javascript-библиотеки используют для определения, обучения и запуска моделей глубокого обучения, визуализации данных полностью в браузере. Они значительно облегчают жизнь разработчику. Ниже представлены изящные библиотеки, которые объединяют Javascript, машинное обучение , глубокие нейронные сети и даже NLP.

1. Brain.js

Brain.js — Javascript библиотека для искусственных нейронных сетей, заменяющая «мозговую» библиотеку, которая предлагает разные  типы сетей в зависимости от конкретных задач. Используется с Node.js или в браузере.  Здесь представлено демо тренировки сети для распознавания цветовых контрастов.

Brain.js - Javascript библиотека для искусственных нейронных сетей

Обучение Brain.js распознавать цветовые контрасты

2. Synaptic

Synaptic — Javascript библиотека для нейронных сетей для node.js и браузера, которая позволяет обучать архитектуры нейронных сетей первого и второго порядков. Проект содержит несколько встроенных архитектур  — многослойный перцептрон, многослойная сеть долгой краткосрочной памяти, LSM (liquid state machine) и тренер (trainer), способный обучать сети.

Synaptic - Javascript библиотека

Фильтрация изображения с помощью перцептрона Synaptic

3. Neataptic

Эта библиотека предоставляет возможность быстро осуществлять нейроэволюцию и обратное распространение для браузера и Node.js. Библиотека содержит несколько встроенных сетей — перцептрон, LSTM, GRU, Nark и другие. Для новичков есть туториал , помогающий реализовать тренировку сети.

Neaptic библиотека JS

Демо поиска цели на Neaptic

4. Conventjs

Эта популярная библиотека , разработанная PhD студентом из Стэнфорда Андреем Карпатым, который сейчас работает в Tesla. Хотя она не поддерживается последние 4 года, Conventjs остается одним из самых интересных проектов в этом списке. Conventjs представляет из себя написанную на Javascript реализацию нейронных сетей, поддерживающую  распространенные модули — классификацию, регрессию, экспериментальный модуль обучения с подкреплением. С помощью этой библиотеки можно даже обучать сверточную нейросеть для обработки изображений.

javascript библиотека машинного обучения Convent.js

Задача двумерной классификации при помощи двухслойной нейросети на Convent.js

5. Webdnn

Webdnn — японская библиотека, созданная для быстрой работы с предобученными глубокими нейросетевыми моделями в браузере. Хотя запуск DNN (Глубокой нейронная сети) в браузере требует больших вычислительных ресурсов, этот фреймворк оптимизирует DNN модель так, что данные модели сжимаются, а исполнение ускоряется при помощи JavascriptAPI, таких как WebAssembly и WebGPU.

японская библиотека JS для машинного обучения

Пример трансфера стиля

6. Tensorflow.js

Библиотека от Google (преемница популярной deeplearnjs) дает возможность обучать нейронные сети в браузере или запускать предобученные модели в режиме вывода. Создатели библиотеки утверждают, что она может быть использована как NumPy для веба. Tensorflow.js с простым в работе API может быть использована в разнообразных полезных приложениях. Библиотека также активно поддерживается.

7. TensorFlow Deep Playground

Deep playground  — инструмент для интерактивной визуализации нейронных сетей, написанный на TypeScript с использованием d3.js. Хотя этот проект в основном содержит самую базовую площадку для tensorflow , он может быть использован для различных целей, например, в качестве очень выразительного обучающего инструмента.

Tensorflow библиотке Javascript

Игровая площадка Tensorflow

8. Compromise

Compromise — популярная библиотека , которая позволяет осуществлять обработку естественного языка (NLP) при помощи Javascript. Она базовая, компилируется в единственный маленький файл. По некоторым причинам, скромного функционала вполне хватает для того, чтобы сделать Compromise главным кандидатом для использования практически в любом приложении, в котором требуется базовый NLP.

Compromise

Compromise напоминает, как в действительности выглядит английский

9. Neuro.js

Этот проект представляет собой Javascript библиотеку глубокого обучения и обучения с подкреплением в браузере. Из-за реализации полнофункционального фреймворка машинного обучения на основе нейронных сетей с поддержкой обучения с подкреплением, Neuro.js считается преемником Conventjs.

neurojs library Javascript machine learning models

Беспилотное авто с Neuro.js

10. mljs

Это группа репозиториев, содержащая инструменты для машинного обучения для Javascript, разработана группой mljs. Mljs включает в себя обучение с учителем и без, искусственные нейронные сети, алгоритмы регрессии и поддерживает библиотеки для статистики, математики тому подобное. Здесь можно найти краткое введение в тему.

репозитории для машинного обучения

Проект mljs на GitHub

11. Mind

Mind — гибкая нейросетевая библиотека для Node.js и браузера. Mind учится предсказывать, выполняя матричную обработку тренировочных данных и обеспечивая настраиваемую топологию сети. Можете использовать уже существующие разработки, что может быть весьма полезно для ваших приложений.

гибкая нейросетевая библиотека для Node.js и браузера

Достойны упоминания:

Natural

Активно поддерживаемая библиотека для Node.js, которая обеспечивает: токенизацию, стемминг (сокращение слова до необязательно морфологического корня), классификацию, фонетику, tf-idf, WordNet и другое.

Incubator-mxnet

MXnet от Apache — фреймворк глубокого обучения, который позволяет на лету смешивать символьное и императивное программирование со слоем оптимизации графа для достижения результата. MXnet.js обеспечивает API для глубокого обучения в браузере.

Keras JS

Эта библиотека запускает модели Keras в браузере с поддержкой GPU при помощи технологии WebGL.  Так как Keras использует в качестве бэк-енда различные фреймворки, модели могут быть обучены в TensorFlow, CNTK, а также и в других фреймворках.

Deepforge

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

Land Lines

Land Lines — не столько библиотека, сколько очень занимательная веб-игра на основе эксперимента Chrome от Google. Нельзя сказать, для чего нужна эта штука, но она позабавит хотя бы 15 минут.


javascript