10 примеров машинного обучения на JS

0
26224

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

С каждым годом библиотеки машинного обучения становятся все быстрее и доступнее, не подавая каких-либо признаков замедления. Хотя традиционно Python был языком для ML, сейчас нейронные сети могут работать на любом языке, включая JavaScript!

В последнее время веб-экосистема достигла большого прогресса, и хотя JavaScript и Node.js все же менее эффективны, чем Python и Java, они достаточно мощны, чтобы справляться с многочисленными проблемами машинного обучения. Веб-языки также обладают тем преимуществом, они являются супер доступными - все, что вам нужно для запуска проекта JavaScript ML, - это ваш веб-браузер.

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

Brain

Brain - это библиотека, которая позволяет легко создавать нейронные сети, а затем обучать их на основе входных / выходных данных. Поскольку обучение потребляет множество ресурсов, предпочтительнее запускать библиотеку в среде Node.js, хотя версию браузера CDN также можно загрузить непосредственно на веб-страницу. На их сайте есть крошечное demo, которое можно обучить распознаванию цветового контраста.

Deep playground

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

FlappyLearning

FlappyLearning - это проект JavaScript, который содержит примерно 800 строк кода, позволяет создать библиотеку машинного обучения и реализовать ее в веселой форме, которая учит играть в Flappy Bird, как виртуоз. Методика искусственного интеллекта, используемая в этой библиотеке, называется Neuroevolution и применяет алгоритмы, основанные на нервных системах, обнаруженных в природе, динамически обучающихся от успеха или неудачи каждой итерации. Демонстрационный пример очень прост в запуске - просто откройте index.html в браузере.

Synaptic

Вероятно, самый активно поддерживаемый проект в этом списке, Synaptic - это Node.js и библиотека браузера, которая не зависит от архитектуры, что позволяет разработчикам создавать любые нейронные сети. Он имеет несколько встроенных архитектур, что позволяет быстро тестировать и сравнивать различные алгоритмы машинного обучения. Помимо этого, Synaptic - это хорошо написанное введение в нейронные сети, ряд практических демонстраций и множество других замечательных обучающих программ, которые раскрывают работу машинного обучения.

Land Lines

Land Lines - интересный веб-эксперимент Chrome, который находит спутниковые снимки Земли, похожие на каракули, сделанные пользователем. Приложение не выполняет серверных вызовов: оно работает полностью в браузере и благодаря умному использованию машинного обучения и WebGL имеет отличную производительность даже на мобильных устройствах. Вы можете проверить исходный код на GitHub или ознакомиться с полным исследованием здесь.

ConvNetJS

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

Thing Translator

Thing Translator - это веб-эксперимент, который позволит вашему телефону распознать реальные объекты и назвать их на разных языках. Приложение создано полностью с помощью веб-технологий и использует два API машинного обучения: от Google - Cloud Vision для распознавания образов и Translate API для перевода на естественный язык.

Neurojs

Фреймворк для создания искусственного интеллекта, основанный на обучении с закреплением. К сожалению, проект с открытым исходным кодом не имеет надлежащей документации, но в одной из демонстраций, эксперименте с автопилотом в автомобиле, есть отличное описание различных частей, составляющих нейронную сеть. Библиотека написана на чистом JavaScript и сделана с использованием современных инструментов, таких как webpack и babel.

Machine_learning

Другая библиотека, которая позволяет нам настраивать и обучать нейронные сети, используя только JavaScript. Она очень проста в установке как в Node.js, так и на клиентской стороне, и имеет чистый API, который будет удобен для разработчиков любой квалификации. Библиотека предоставляет множество примеров, которые реализуют популярные алгоритмы, помогая вам понять основные принципы машинного обучения.

DeepForge

DeepForge - удобная среда разработки для работы с глубинным обучением. Она позволяет вам проектировать нейронные сети, используя простой интерфейс, поддерживает обучающие модели на удаленных машинах и имеет встроенный контроль версий. Проект запускается в браузере и основан на Node.js и MongoDB, делая процесс установки очень знакомым большинству веб-разработчиков.

Бонус: Machine Learning in Javascript

Отличная серия статей в блоге от Бурака Канбера, которая описывает некоторые основы машинного обучения. Учебники хорошо написаны, понятны и ориентированы именно на разработчиков JavaScript. Отличный ресурс, если вы хотите более глубоко изучить машинное обучение.

Вывод

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

Другие статьи по теме

Машинное обучение за год

6 приложений, использующих глубокое обучение, для начинающих

РУБРИКИ В СТАТЬЕ

МЕРОПРИЯТИЯ

Комментарии 0

ВАКАНСИИ

Senior (Lead) Android Developer
Москва, от 240000 RUB до 280000 RUB
Python Data Engineer
Минск, по итогам собеседования
Lead Backend Developer (Java)
по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

BUG