Каковы лучшие инструменты для начала машинного обучения Java?
Они были здесь какое-то время, но сейчас кажется, что все говорят об искусственном интеллекте и машинном обучении. Это больше не секрет, зарезервированный для ученых и исследователей, благодаря внедрению практически любой новой технологии.
В следующем посте мы сделаем краткий обзор основных структур машинного обучения Java и покажем, как легко начать работу — не изобретая велосипед и не создавая собственные алгоритмы с нуля.
ИИ для людей
ИИ — это широкая и крутая область, которая существует уже некоторое время, но всегда чувствуется немного вне досягаемости и сделана специально для ученых. Если вы хотели создать систему искусственного интеллекта, вам нужно было самостоятельно реализовать основные алгоритмы и научить их определять шаблоны, понимать образы и обрабатывать естественный язык.
Недавний шум и развитие вокруг этой области сделали ее более доступной для не исследователей. Теперь у вас есть легкий доступ к соответствующим алгоритмам и инструментам. Вам действительно нужно знать, что вы делаете, но гораздо проще улучшить ваши приложения с помощью возможностей машинного обучения.
Начало работы машины
Чтобы упростить задачу, мы решили выделить 3 проекта, которые помогут вам начать:
- Deeplearning4J (DL4J) — открытая, распределенная и коммерческая библиотека глубокого обучения для JVM
- BID Data Project — набор шаблонов, которые обеспечивают быстрое, крупномасштабное машинное обучение и анализ данных.
- Нейроф — Объектно-ориентированная нейронная сеть
Кстати, недавно мы опубликовали еще один список интересных библиотек GitHub с открытым исходным кодом, которые привлекли наше внимание. Проверьте это .
1. DL4J — глубокое обучение
DL4J — это инструмент, который поможет вам в процессе настройки глубоких нейронных сетей, которые состоят из нескольких слоев. Это приносит глубокое изучение JVM наряду с быстрым прототипированием и настройкой в масштабе, сосредотачиваясь больше на соглашении, чем на конфигурации.
Это инструмент для тех, кто уже имеет теорию, необходимую для создания и использования глубоких нейронных сетей, но не хочет реализовывать сами алгоритмы. Вы можете использовать его для решения конкретных проблем, связанных с огромными объемами данных, и для настройки свойств нейронной сети.
DL4J написан на Java, что делает его совместимым с любым языком JVM, таким как Clojure, Scala или Kotlin, и интегрируется с Hadoop и Spark.
Возможные варианты использования включают системы оценки или рекомендации (CRM, adtech, предотвращение оттока), прогнозную аналитику или даже обнаружение мошенничества. Если вы ищете пример из реальной жизни, вы можете проверить Rapidminer . Это платформа данных с открытым исходным кодом, которая использует DL4J для оптимизации процессов прогнозной аналитики для своих пользователей.
Настроить новую нейронную сеть так же просто, как создать новый объект:
1
2
3
4
5
6
7
8
9
|
ultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .iterations( 1 ) .weightInit(WeightInit.XAVIER) .activation( "relu" ) .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT) .learningRate( 0.05 ) // ... other hyperparameters .backprop( true ) .build(); |
2. Проект BID Data
Проект BID Data Project предназначен для тех из вас, кто имеет дело с большим количеством данных и чувствителен к производительности. Этот проект UC Berkeley представляет собой набор аппаратных, программных и конструктивных шаблонов, которые обеспечивают быстрый и крупномасштабный анализ данных.
Первая библиотека — BIDMach , в которой хранятся записи о многих типичных проблемах машинного обучения на отдельных узлах или кластерах. Вы можете использовать его для управления источниками данных, оптимизации и распределения данных по процессорам или графическим процессорам.
Он включает в себя множество популярных алгоритмов машинного обучения, и команда работает над созданием распределенных сетей глубокого обучения, графовых алгоритмов и других моделей.
Две другие библиотеки — это BIDMat , библиотека быстрой матричной алгебры, которая фокусируется на интеллектуальном анализе данных, и BIDParse , анализатор естественного языка с GPU-ускорением. Другие библиотеки в этом проекте включают инструменты визуализации, а также библиотеки, которые позволят вам работать на Spark или даже на Android.
Тесты BIDMach многократно показывают лучшие результаты, чем другие решения, даже на одном компьютере по сравнению с альтернативами, работающими на более крупных кластерах. Полный список тестов можно найти прямо здесь.
3. Нейроф
Neuroph — это облегченная среда Java, используемая для разработки общих архитектур нейронных сетей. Фреймворк предоставляет библиотеку Java вместе с инструментом GUI (называемым easyNeurons), и вы можете использовать его для создания и обучения ваших собственных нейронных сетей в программах Java.
Он содержит библиотеку Java с открытым исходным кодом, с небольшим количеством базовых классов, которые соответствуют основным понятиям нейронной сети. Это отличный шаг, если вы только начинаете работать с нейронными сетями или хотите узнать, как они работают.
Вы можете попробовать онлайн демоверсию Neuroph и посмотреть, как она на самом деле работает. Оповещение о спойлере: интерфейс выглядит старым и устаревшим, но с ним можно создавать приятные вещи. Кроме того, он получил награду Duke’s Choice Award за 2013 год .
А как насчет других?
Если эти 3 проекта не ваша чашка чая, и вы ищете что-то немного другое для вашего проекта, не беспокойтесь. Если вы ищете в «GitHub» « Машинное обучение », вы найдете 1,506 репозиториев Java, которые могут дать вам правильный инструмент.
Например, интересный проект от Airbnb — аэрозоль ; Библиотека машинного обучения, созданная для дружелюбного отношения к человеку.
Начало работы с новой технологией всегда является источником неприятностей. Если вам понадобится помощь с вашими исключениями, обязательно воспользуйтесь инструментом анализа ошибок Takipi .
Последние мысли
Каждые несколько лет вокруг AI появляется новый шум. На этот раз он получил подкрепление в виде машинного обучения, интеллектуального анализа данных, нейронных сетей и т. Д., И мы все за это. Тот факт, что эти библиотеки с открытым исходным кодом, означает, что информация и возможности доступны, и все, что вам нужно сделать, это подумать, что можно сделать с помощью этой возможности.
Если вы знаете другие интересные проекты или думаете, что мы что-то упустили, мы будем рады услышать об этом в комментариях ниже.
Ссылка: | Как начать работать с Java Машинное обучение от нашего партнера JCG Хенна Идана в блоге Takipi . |