/ it Новости / Машинное обучение в JavaScript / Подборка 10 библиотек

Машинное обучение в JavaScript / Подборка 10 библиотек

Машинное обучение в JavaScript / Подборка 10 библиотек

854 · 28 октября 2018 в 13:50 ·
Создание искусственного интеллекта уже давно является горячей темой. Мы подобрали 10 библиотек, позволяющих создавать ИИ на языке JavaScript.

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


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

Brain

Brain является библиотекой для простого и быстрого построения нейтронной сети. В будущем с её помощью можно осуществлять обучение ИИ посредством использования входных и выходных данных. 



Из-за большого потребления ресурсов, библиотеку целесообразно запускать на Node.js, но никто не запрещает загрузить CDN-версию прямо на веб-страницу. На сайте представлена небольшая демоверсия, которая научилась разливать контрастность цвета.

Deep playground

Deep playground отлично подходит для образования. С помощью библиотеки, можно «прощупать почву», чтобы ознакомиться со всей сферой ИИ и поиграться с нейронными сетями. Приложение обладает доступным для понимания и приятным видом интерфейса, на котором легко мониторить входные данные, число нейронов, алгоритм обработки и т. п. Все перечисленные данные отображаются в конце действия. 



Дополнительно приложение имеет ряд полезных характеристик: OpenSource-код, используется особая библиотека для машинного обучения, разработанная на TypeScript. Важным преимуществом является наличие хорошей документации.

FlappyLearning

Этот проектом содержит порядка 800 строк кода. Способствует созданию библиотек для машинного обучения и предлагает это сделать в форме игры. 

После ознакомления с проектом, пользователь научится виртуозно играть в Flappy Bird. В основе библиотеки используется ИИ под названием Neuroevolution



За основу построения алгоритмов используется нервная система живых существ, которая автоматически обучается, учитывая и успех, и неудачи действий. Достаточно легко продемонстрированы возможности проекта в демонстрационном примере, доступном на странице index.html в каталоге с приложением.

Synaptic

В Synaptic содержится Node.js код и библиотека для браузера, не зависящая от архитектуры. Независимый подход предназначен для расширения возможностей разработчиков в создании разнообразных нейронных сетей. 



Synaptic включает пару архитектур, это способствует быстрому тестированию и моментальному сравнению нескольких алгоритмов машинного обучения. Synaptic имеет качественную документацию, много практических примеров работы и массу хороших программ для обучения. С помощью документации, новичку проще вникнуть в работу машинного обучения. 

Land Lines

Land Lines – это экспериментальный проект, основанный на Chromium-ядре. Его основная задача заключается в сравнении каракулей пользователей со спутниками Земли. ИИ сопоставляет каракули с названием звёзд. Все действия выполняются исключительно на стороне пользователя, никаких вызовов сервера не происходит. 



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

ConvNetJS

Несмотря на отсутствие активной поддержки, ConvNetJS заслуженно считается одной из лучших библиотек для глубокого изучения JS. Изначально проект разрабатывался в Стэнфордском университете, но со временем собрал большую аудиторию на GitHub. 



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

Thing Translator

Является экспериментальным приложением для распознания объектов и подбора их названий. Полезно, что алгоритм работает с разными языками и может выдавать названия на них. 



В основе проекта используются исключительно возможности веб-технологий. Здесь совмещено 2 API для машинного обучения:

  • Cloud Vision от корпорации Google. Позволяет получать представление об      объекте;
  • Translate API – технология отвечает за перевод результатов работы на      человеческий язык.

Neurojs

Работает по принципу обучения с последующим закреплением информации. Является фреймворком, облегчающим работы по созданию ИИ. У проекта есть существенный плюс и минус: имеет OpenSource код, но не имеет нормально документации. 



Единственный момент, за который можно зацепиться – демонстрация работы автопилота в машине. Отдельные описания составных частей нейронной сети всё же присутствуют, а в остальном придётся разбираться самостоятельно. Библиотека разработана чистом JS с подключением полезных инструментов babel и webpack .

Machine_learning

Ещё одна библиотека для настройки и обучения нейронных сетей, разработанная только на JavaScript. Она весьма просто устанавливается в Node.js, а также в браузер. 



Обладает чистым API. Библиотека включает массу примеров для реализации популярных алгоритмов и ознакомления с ними.

DeepForge

DeepForge комфортная среда для разработки и последующего обучения. С её помощью легче выполнять проектирование нейронных сетей. Всё работа происходит через интуитивно понятный интерфейс. 



DeepForge включает разные модели обучения на удалённых машинах и поддерживает работу с GIT. Проект выполнен под Node.js, а также хорошо работает с MongoDB. Установка имеет привычный вид.


Больше интересных новостей