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