Elettracompany.com

Компьютерный справочник
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Машинное обучение java

Топ-5 языков для машинного обучения

Существует великое множество языков программирования, однако не все они подходят для машинного обучения (МО). Портал Techopedia рассказывает о наиболее подходящих языках, их преимуществах и недостатках.

Специалист по вычислительной техники Стэнфордского университета Эндрю Нгом дал МО следующее определение: «наука, которая работает над тем, как научить компьютеры функционировать без явного программирования». Предпосылки к рождению науки появились в 1950-х, однако вплоть до начало 2000-х они носили лишь теоретический характер. Настоящий прорыв произошел десятилетие назад, когда МО стало катализатором развития нескольких прорывных технологий, особенно это касается искусственного интеллекта. МО можно разбить на несколько категорий, включая контролируемое (supervised), неконтролируемое (unsupervised), полууправляемое (semi-supervised ) и обучение с подкреплением (reinforcement learning).

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

МО в современной итерации востребовано во многих отраслях промышленности, растет также спрос на продукты и услуги, основой которых являются машинные алгоритмы. Предприятия применяют прогностические возможности МО, стремясь разработать предписывающие (prescriptive) методы для принятия обоснованных решений. Технология предусматривает несколько методов разработки ПО на базе машинных алгоритмов, однако самым популярным из них является задействование языков программирования.

Python. Это высокоуровневый язык программирования, который имеет множество различных способов применений, включая науку о данных и внутреннюю веб-разработку. Он был создан Python Foundation в начале 1990-х и является мощным инструментом для анализа данных, широко используется в технологии больших данных. Особый статус ему придает многочисленное сообщество разработчиков МО, которое в основном сосредоточено на быстрорастущем ИИ-направлении.

Благодаря активному сообществу для Python появилось множество готовых библиотек МО. Этот язык — платформенно независимый, поэтому его можно адаптировать практически к любой операционной системе. Еще одно преимущество Python связано с его открытостью — он построен на базе технологий Open Source, поэтому разработчики могут получить доступ к любому стеку языка.

Что касается минусов Python, то поскольку это динамически типизированный язык, работа с ним в среде МО может вызывать проблемы. Одной из них является сложность отслеживания ошибок в коде, что связано с разрастанием кодовой базы программы и, соответственно, с ее сложностью. В некоторых случаях (сложные проекты для крупных организаций) аудит кода может выливаться в значительные финансовые затраты, отнимать много времени и сказываться на продуктивности проекта.

R. Этот язык программирования появился в начале 1990-х и является частью проекта GNU. Он широко применяется в анализе данных и, как правило, является целевым для решения общих задач МО, таких как регрессия, классификация и формирование дерева решений. R помимо прочего пользуется популярностью среди статистиков. Как и Python, R обладает открытым исходным кодом и широко известен как язык, пакеты для работы с которым относительно легко установить, настроить и применять.

R — платформенно независимый, он хорошо интегрируется с другими языками программирования. Наряду с анализом данных, R приспособлен для визуализации данных.

Несмотря на относительную простоту интеграции с другими инструментами, R обладает рядом особенностей, которые усложняют его изучение. К ним, например, можно отнести нетрадиционные структуры данных и индексирование (которое начинается с 1 вместо 0).

R менее популярен, чем Python, поэтому массив документации, требуемый разработчикам для создания приложений в области МО, у него меньше.

JavaScript. Этот язык появился в середине 1990-х как инструмент для улучшения практики веб-разработки и является одним из наиболее востребованных в этой области. JavaScript — высокоуровневый и динамически типизированный язык, гибкий и мультипарадигмальный. Применение языка в МО получило ограниченное применение, но, тем не менее, такие известные проекты, как Google Tensorflow.js, основаны на JavaScript.

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

C++. Это самый старый среди наиболее распространенных на сегодняшний день языков программирования. Он был создан в недрах Bell Labs в начале 1980-х как научно-исследовательский проект, направленный на расширение возможностей языка Си. Обладая возможностями одновременно как низкоуровневого, так и высокоуровневого языка программирования, в контексте МО C++ обеспечивает более высокий уровень контроля и эффективности, чем другие языки программирования.

Гибкость языка хорошо подходит для ресурсоемких приложений, и подмножество программ МО здесь — не исключение. Учитывая, что C++ — статически типизированный язык, он может выполнять задачи с относительно высокой скоростью.

Что касается его минусов, то основным из них является то, что для создания новых приложений на базе C++ требуется написание большого объема сложного кода, что занимает много времени и может вызвать большие трудности в обслуживании. Язык C++ определенно сложен в овладении и, создавая на нем новые проекты, начинающие программисты очень часто допускают невынужденные ошибки.

Java. За созданием Java стоит Sun Microsystems. Появившийся в середине 1990-х, он изначально замышлялся как высокоуровневый и объектно-ориентированный язык программирования, который во многом напоминает по структуре C++. Обладая огромной популярностью, Java может похвастаться широким спектром алгоритмов, которые очень полезны для сообщества разработчиков софта МО. Во многом Java считается одним из самых безопасных языков программирования благодаря использованию байт-кода и песочниц.

Его можно обозначить как удачную инкарнацию C++ (Java обладает большинством функционала, заложенным в C++), которая лишена недостатков последнего — проблем с безопасностью кодовой базы и сложностью компиляции.

Несмотря на все свои преимущества, Java имеет репутацию более медленного языка, чем многие другие языки программирования и в том числе C++. Кроме того, начиная с 2019 г. для написания определенных бизнес-приложений на Java требуется коммерческое лицензирование, что выльется в дополнительные расходы для предприятий.

Выводы

Python — самый популярный из всех языков программирования, применяемых в МО. Тем не менее, сбрасывать со счетов JavaScript и ряд некоторых других языков, может быть непредусмотрительно. Это связано с тем, что со временем их популярность будет расти, отражая изменения бизнес-ландшафта. Что касается тенденций программирования, то можно с уверенностью сказать, что в ближайшие несколько лет написание кода останется востребованной функцией, однако оно станет менее ориентированным на код и больше на функционал, поскольку машины сами научатся писать код.

8 лучших платформ и библиотек JavaScript для машинного обучения

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

Читать еще:  Javascript создание таблицы

Хотя Python является языком программирования большинства платформ для машинного обучения, и JavaScript не отстает. Вот почему среди разработчиков JavaScript пользуются популярностью фреймворки для тренировки и внедрения моделей машинного обучения в браузере.

Давайте рассмотрим несколько платформ для машинного обучения на JavaScript, которым обязательно должно найтись место среди факторов роста вашего бизнеса за счёт использования технологии машинного обучения и искусственного интеллекта.

1. Brain.js

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

Brain.js используется, как правило, с Node.js или с браузером на стороне клиента для тренировки моделей машинного обучения.

Для настройки Brain.js используется следующая команда:

А уже для установки наивного байесовского классификатора — такая:

Чтобы включить библиотеку в браузер, используйте такой код:

2. ML.js

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

Первым делом необходимо установить инструменты ML.js, используя следующий код:

Ниже приведены поддерживаемые алгоритмы машинного обучения:

Для обучения с учителем:

Для обучения без учителя:

3. Keras.js

С помощью KeraJS можно запускать модели Keras в браузере с поддержкой графического процессора через WebGL. Эти модели запускаются и в Node.js, но только в режиме работы центрального процессора.

Я составил список моделей Keras, запускаемых в браузере:

4. Limdu.js

Это платформа машинного обучения, используемая для Node.js.

Limdu.js идеально подходит для виртуальных собеседников (чат-ботов), обработки естественного языка и других диалоговых систем.

Устанавливается следующей командой:

Поддерживает следующие методы и классификации:

Классификация с несколькими метками

Метод опорных векторов

5. Tensorflow.js

Это библиотека машинного обучения с открытым кодом на языке JavaScript, поддерживаемая Google.

Может использоваться в разных целях: понимание моделей машинного обучения, обучение нейронных сетей в браузере, образование и т.д.

Tensorflow.js позволяет тренировать модели машинного обучения на JavaScript и облегчает его последующее развёртывание в браузере или на Node.js.

С помощью этой платформы в модели логического вывода можно запускать предварительно обученные модели, а код можно писать на Typescript (ES6 JavaScript или ES5 JavaScript).

Чтобы быстро создать модель, наберите нижеуказанный код внутри тега header в HTML-файле и пишите программы на JavaScript.

6. PropelJS

Это библиотека машинного обучения на языке JavaScript с инфраструктурой numpy, поддерживаемая процессорами (особенно для научных расчётов). Может использоваться как для браузерных приложений, так и для приложений на NodeJS.

Вот конфигурационный код для браузера:

Для приложения на nodejs используется следующий код:

7. stdLib

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

Ниже приводится список библиотек, имеющих отношение к машинному обучению:

Двоичная классификация через стохастический градиентный спуск

Линейная регрессия через стохастический градиентный спуск

Обработка естественного языка

8. ConvNetJS

Эта библиотека JavaScript используется для обучения нейронных сетей (моделей глубокого обучения) исключительно в браузере. Приложение на NodeJs тоже может использовать эту библиотеку. Для начала работы нужна её минифицированная версия с минифицированной библиотекой ConvNetJS.

Используйте следующий код:

Заключение

Пока что нами были рассмотрены 8 лучших платформ машинного обучения на JavaScript.

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

Следовательно, вышеперечисленные библиотеки машинного обучения JavaScript будут полезны, если вам нужна альтернатива платформам python для разработки машинного обучения.

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

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

1. Brain.js

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

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

2. Synaptic

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

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

3. Neataptic

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

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

4. Conventjs

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

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

5. Webdnn

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

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

6. Tensorflow.js

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

7. TensorFlow Deep Playground

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

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

8. Compromise

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

Читать еще:  Math atan2 java

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

9. Neuro.js

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

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

10. mljs

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

Проект mljs на GitHub

11. Mind

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

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

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

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

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

В последнее время экосистема web сделала огромный шаг вперёд, и, хотя, JavaScript и Node.js менее производительны, чем Python и Java, сегодня они достаточно мощны, чтобы справиться со многими задачами машинного обучения. Огромное преимущество Веб-языков заключается их супер доступности — все, что вам потребуется для ML-проекта (Mashine Learning) на JavaScript — ваш веб-браузер.

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

1. Brain

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

Deep playground

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

FlappyLearning

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

Synaptic

Вероятно, это наиболее распространённый проект из нашего списка. Synaptic — это библиотека по архитектуре для Node.js или браузера и позволяет разработчикам создавать нейронной сети того типа, который они захотят. Библиотека имеет несколько встроенных архитектур, что позволяет очень быстро сравнивать и изучать различные алгоритмы машинного обучения. Имеются хорошо написанное введение в нейронные сети, ряд практических примеров и множество других учебников по машинному обучению.

Land Lines

Land Lines — это интересный Web-эксперимент в 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, что очень удобно для разработчиков любого уровня квалификации. В библиотеке много примеров , где реализованы популярные алгоритмы, что помогает понять основные принципы машинного обучения.

Читать еще:  Таблица в javascript

DeepForge

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

Бонус: Машинное обучение в Javascript

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

Вывод

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


10 примеров алгоритмов машинного обучения на javascript , опубликовано К ВВ, лицензия — Creative Commons Attribution-NonCommercial 4.0 International.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Favicon

Блог по web технологиям. Веб студия г. Воронеж. Создание и поддержка сайтов на заказ.

  • Главная
  • /
  • JavaScript
  • /
  • 10 примеров машинного обучения на JavaScript

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

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

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

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

1. Brain

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

2. Deep playground

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

3. FlappyLearning

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

4. Synaptic

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

5. Land Lines

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

6. ConvNetJS

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

7. Thing Translator

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

8. Neurojs

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

9. Machine_learning

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

10. DeepForge

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

Бонус: Машинное обучение на Javascript

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

Вывод

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

Ссылка на основную публикацию
Adblock
detector