www.b-b.by Тлф. волна Время работы Адрес: Минск, ул. Козлова, д.3, оф.3. Пишите на email  
  Логин: Пароль:
    >>Регистрация     Забыли пароль?    

 

Java и AI. Можно ли написать искусственный интеллект на Java?

AI research. rew написал "


Java и AI. Можно ли написать искусственный интеллект на Java?


Статья из группы Java Developer

Продолжаем говорить о применении Java в наиболее “горячих” и трендовых нишах ИТ-рынка. О том, как Java применяется в Интернете вещей, облачных сервисах, больших данных и блокчейне, мы уже писали. На очереди еще одна суперинтересная и важная ниша — искусственный интеллект (ИИ).

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

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

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

Еще одним преимуществом Java в программировании ИИ является способность кодировать различные типы алгоритмов.

Да и прочие сильные стороны и преимущества Java, которые мы уже не раз упоминали, востребованы в сфере ИИ-разработки. Среди них — простота создания и отладки кода, упрощенная работа с крупномасштабными проектами, упрощенная визуализация, а также наличие Swing и SWT (Standard Widget Toolkit). Эти функции позволяют создавать привлекательную сложную графику и интерфейсы.

“Искусственный интеллект развивается невероятными темпами. Если у вас нет прямого контакта с группами ученых, работающих над ИИ, вы даже не представляете, насколько быстро — прогресс растет со скоростью, близкой к экспоненциальной.”

Java-код используется многими проектами, связанными с той или иной областью ИИ. Вот несколько интересных примеров.
Мобильные роботы для исследований полярного круга

С помощью Java API ученые создали целый ряд мобильных роботов, которые используются для исследований в районе Полярного круга — в Гренландии и Антарктике. Конечно, технологии Java применяются и при разработке других мобильных автономных роботов, но в случае с устройствами для исследований полярного круга в Сети имеется особенно много открытой информации.

Так, GUI (графический интерфейс пользователя) для данных роботов разрабатывается с помощью инструментов Java Swing. Поскольку Swing прост в использовании и может напрямую взаимодействовать с компонентами, эта платформа была выбрана для обеспечения средств управления роботом и его мониторинга.

JOONE Neural Engine

JOONE Neural Engine (Java Object Oriented Neural Engine) — это популярная мультиплатформа, которая позволяет создавать, обучать и тестировать нейронные сети.

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

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

Robocode

Robocode — это достаточно старая, широко известная и все еще популярная игра на основе Java с открытым исходным кодом, которая позволяет пользователям изучать принципы Java-программирования. Она также хорошо подходит для изучения базовых принципов робототехники и искусственного интеллекта.

В Robocode игрок создает собственного робота-танка, программирует его стратегию и разрабатывает программный интеллект, соревнуясь с роботами других пользователей. Впервые созданная еще в 2000-м году, Robocode и по сей день является одной из самых популярных и известных игр для программистов.

WEKA Machine Learning Suite

Waikato Environment for Knowledge Analysis (WEKA) Machine Learning Suite — это открытый список алгоритмов, которые используются для разработки методов машинного обучения. Все алгоритмы WEKA заточены под машинное обучение и интеллектуальный анализ данных.

Сейчас набор WEKA Machine Learning Suite широко используется в бизнес-среде, предоставляя компаниям упрощенный анализ данных и предиктивную аналитику.

Чат-бот Alice

Чат-бот A.L.I.C.E. (Artificial Linguistic Internet Computer Entity), также известный как Alicebot или просто Alice, — это программа, способная вести диалог с человеком на естественном языке. Созданная по подобию первой программы-собеседника ELIZA, она использует технику эвристического сопоставления фразы пользователя с образцами в базе знаний. A.L.I.C.E. считается одним из лучших чат-ботов, она три раза становилась победителем премии Лебнера (премия Лебнера присуждается победителю ежегодного конкурса AI Loebner, в котором программы соревнуются в прохождении теста Тьюринга).


“Мы называем это искусственным интеллектом, но в реальности эта технология улучшает и дополняет наш интеллект. Поэтому вместо искусственного интеллекта я бы называла ее дополненным интеллектом.”


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

Следует только отметить, что ИИ в целом — это довольно-таки широкая область, и сегодня мы поговорим о Java-библиотеках в наиболее популярных нишах ИИ, таких как обработка естественного языка, машинное обучение, нейронные сети и т.д.

Экспертные системы
В ИИ, экспертными системами называются компьютерные системы, которые эмулируют способность человека принимать решения.
Apache Jena
Apache Jena — это открытый Java-фреймворк для создания семантических сетей и приложений связанных данных на основе модели RDF. На официальном сайте Apache Jena можно найти подробное руководство по использованию этого фреймворка с коротким описанием спецификации RDF.

PowerLoom
PowerLoom (PowerLoom Knowledge Representation and Reasoning System) — это платформа для создания интеллектуальных, основанных на знаниях приложений. PowerLoom использует язык представления знаний (вариант KIF), в основе которого лежит естественный механизм дедукции. Этот механизм умеет создавать логическую цепочку для получения выводов на основе фактов и правил, указанных в базе знаний.

D3web

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


“Я думаю, что искусственный интеллект — это практически гуманитарная дисциплина. На самом деле, это ни что иное как попытка понять человеческий интеллект и сознание человека.”


Neuroph

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

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

Deeplearning4j

Deeplearning4j — это библиотека глубокого обучения для JVM, которая также предоставляет API для создания нейронных сетей. На сайте Deeplearning4j можно найти множество учебных пособий и теории, чтобы углубить познания в сфере глубокого обучения и нейросетей.

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

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

Stanford CoreNLP

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


“Года работы в сфере искусственного интеллекта достаточно, чтобы заставить человека поверить в Бога.”


Машинное обучение
Java Machine Learning Library (Java-ML)

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

Weka

Weka — это коллекция алгоритмов машинного обучения, которые можно применять непосредственно к датасету через предоставленный графический интерфейс или вызывать через API.

RapidMiner

RapidMiner — это платформа для обработки данных, предоставляющая различные алгоритмы машинного обучения через GUI и Java API. В Сети можно найти массу руководств и прочих материалов о применении RapidMiner.

Генетические алгоритмы

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

Jenetics

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

ECJ 23

ECJ 23 — это основанный на Java исследовательский фреймворк с сильной поддержкой генетических алгоритмов. Разработан в лаборатории эволюционных вычислений ECLab Университета Джорджа Мейсона в США.

Watchmaker Framework

Watchmaker Framework — это фреймворк, предназначенный для реализации платформо-независимых генетических и эволюционных алгоритмов в Java. На сайте проекта можно найти информацию о фреймворке с подробной документацией и примерами его применения.


Вместо эпилога
Как уже говорилось выше, ИИ — это очень широкая область, и в ней представлено огромное количество фреймворков и систем, которые достаточно просто применять, и которые могут оказаться полезными в самых разных приложениях и для решения различных типов задач. Сегодня сфера применения ИИ очень быстро растет, а значит компаниям требуется все больше квалифицированных специалистов в ИИ-технологиях. Если перечисленные выше сегменты применения ИИ показались вам интересными, лучше не откладывайте ознакомление с ними в долгий ящик — эти знания и навыки пригодятся почти гарантированно.

Искусственный интеллект научили писать Java-код

Обновите Bayou, чтобы использовать модель 39.38

О нейросетях

Генетическое программирование (GP) - это разновидность эволюционного алгоритма (EA), подмножество машинного обучения.

Когнитивный поиск Goldfire

"


Разместил: andrew [15/04/2021]

 
· Больше про AI research.
· Новость от andrew


Самая читаемая статья: AI research.:
Методы развития творческого мышления.


Средняя оценка: 0
Ответов: 0

Пожалуйста, проголосуйте за эту статью:

Отлично
Очень хорошо
Хорошо
Нормально
Плохо



 Напечатать текущую страницу Напечатать текущую страницу


Связанные темы

Часто возникающие вопросы

· Главная
· Витрина
· Добавить статью
· ДОСКА ОБЪЯВЛЕНИЙ
· Контакт
· Поиск по сайту
· Статьи

51 гостей и 0 пользователей.

Вы Анонимный пользователь. Вы можете зарегистрироваться, нажав здесь.




Логин

Пароль

Не зарегистрировались? Вы можете сделать это, нажав здесь. Когда Вы зарегистрируетесь, Вы получите полный доступ ко всем разделам сайта.

· Главная
· ОБОРУДОВАНИЕ ДЛЯ ПРИЁМА СПУТНИКОВОГО и ЭФИРНОГО ТВ




www.onliner.by www.kufar.by www.tut.by 
Белорусский портал, Новости Беларуси и мира, 
статьи, комментарии, почта, каталоги, форум
финансы, афиша, работа www.av.by www.yandex.by
Частное торговое унитарное предприятие БЕЛСАТплюс. Свидетельство о регистрации № 190991566.
Выдано МГИК, дата выдачи 19.03.2008 г.    УНП 190991566.    Сведения о розничном торговом объекте включены в Торговый реестр Республики Беларусь.
Адрес: Минск, ул. Козлова, д.3, оф.3.    Гор. тлф./факс   +375 (17) 35-49-777.    A1   +375 (44) 5-8888-77.    Лайф   +375 (25) 7-88888-7.    МТС   +375 (29) 752-44-78.
Copyright (b-b)© 2005 by (b-b)
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Открытие страницы: 0.15 секунды
The Russian localization - project Rus-PhpNuke.com