image

Новый подход в сфере искусственного интеллекта

Да, понимаю, название шаблонное, но зато суть решения задачи отличается от стандартно принятых в мире концепций. Сразу скажу, статья обзорная, алгоритмов и сложной математики тут не будет. Но работающее на основе этого проекта клиентское приложение потестировать получится. Но об этом чуть ниже…
Пару слов о нас, мы группа программистов – Treevelopers — ведём разработки по созданию искусственного интеллекта. Работаем над этим уже второй год и спланировали работу ещё как минимум настолько же. Проект мы назвали Artificial Intelligence AIA или просто AIA.
Цель проекта такова: создать универсальный модуль, к которому можно будет подключить любое устройство, способное предоставлять сигналы. На выходе к модулю подключаются любые устройства, способные реагировать на сигналы, получаемые от модуля. Через некоторое время система адаптируется и начинает вести себя «логично».


image
Модуль Artificial Intelligence AIA и устройства ввода\вывода

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

image
Входные сигналы для модуля искусственного интеллекта

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

В чём же революционность и новость этого подхода?
До сих пор создание искусственного интеллекта было тесно связано с нейронными сетями. То есть с моделирванием самого мозга. Этот подход в некоторых случаях себя оправдывает, но пока что он далёк от желаемых результатов.
Как показывает история, человечество всегда любило копировать идеи у природы, то же самое получилось и с нейронными сетями. Но иногда бывают случаи, когда копирование у природы не самый лучший подход. Именно поэтому мы сейчас летаем не на огромных мухах с порхающими железными крыльями, а на самолётах.
Так в чём же новость? – Да в том, что моделируем мы не сам мозг, а его поведение – от биологического уровня до уровня абстрактного мышления. Второе, кстати, является самым сложным, но в то же время самым интересным.

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

Основная функциональность адаптеров

Распознавание шаблонов
В состоянии неопределенности первый шаг к адаптации это распознавание шаблонов во входных данных. Шаблон это базисная спецификация аналогичных групп последовательностей сигналов. Благодаря специальным алгоритмам шаблоны изменяются в течение обучения до приобретения своей природной формы.
Эта функциональность частично включена в AIA 1.0. Именно благодаря ей ArmMen V1.1 (клиентское приложение для демонстрации возможностей AIA) может распознавать уже услышанные ранее слова. Причём слова могут быть на любом языке, и не важно, кто прежде произносил их. Совпадения будут найдены независимо от пола, тембра голоса или возраста пользователей.

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

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

Симулятор
Одной из основных проблем искусственного интеллекта является его обучение. Даже мы – люди – как самые совершенные «НЕискусственные интеллекты» тратим на обучение годы. Чего же ожидать от искусственного?

Искусственному интеллекту, помещенному в какую-нибудь среду, тоже нужно некоторое время для обучения. При таком раскладе обучение будет измеряться скоростью изменений в этой среде. А если эта среда – реальный мир, то в большинстве случаев это будет слишком долго.
Процесс можно ускорить при помощи симуляторов. Они программируются на имитацию среды, в которой планируется использование искусственного интеллекта. В симулятор помещается AIA, который во время симуляции обучается намного быстрее, чем, если бы он обучался в реальной среде.
Хотя обучение в реальной среде само по себе может быть полезно во мнгих случаях, например, в изучении новых планет. Именно по этому обучение в реальный среде хоть и медленное, но всё же имеет свои применения.
Лучший же результат даст комбинирование обоих методов. Фактически данныее симулятора можно постоянно обновлять данными собранными с других подобных искусственных интеллектов, которые обучаются в реальной среде.

Искусственная эволюция
Устройства с искусственным интеллектом, помещенные в разные среды обитания спустя некоторое время будут обладать определённым запасом данных. Создание нового подобного устройства будет сопутствоваться отбором данных собранных их предыдущими поколениями. Более того, новую порцию данных для искусственного интеллекта можно синтезировать не только на основе данных от предыдущих поколений, но и на основе данных от других подобных устройств. Причём этим синтезом так же может заниматься AIA.
Тем самым мы подходим к новому уровню моделирования – моделирования человеческого общения и естественного развития.
До этого уровня нам пока что очень далеко, но он даёт чёткое понимание того, к чему нужно стремиться.

Пара слов про ArmMen V1.1
В завершении статьи хотел бы немного рассказать про клиентское приложение ArmMen, при помощи которого в режиме онлайн можно протестировать функциональность модуля искусственного интеллекта AIA версии 1.0. В текущей версии ArmMen поддерживается только обработка звуковой дорожки. Обработка видео потока планируется в грядущей версии.
Что умеет ArmMen?
• Выполнение ранее записанных пользовательских команд
• Завершение предложения услышанного ранее
• Запись звуковой дорожки и её отправку на сервер
• Воспроизведение ответа сервера на клиентской стороне
На первый взгляд может показаться, что система просто выискивает совпадения текста по давно известным алгоритмам, которые были реализованы ещё в доисторических телефонах. Но на самом деле это не так, и в этом можно убедиться, проверив ArmMen-a командами, сказанными разными людьми. Для него нет никакой разницы, на каком языке команды, так же не важны пол, возраст, тембр и т.п. Абсолютно точно так же, как для нас совершенно неважно общаемся мы с ребёнком или с пожилым человеком, мы одинаково хорошо понимаем друг друга. Хотя… бывают и исключения конечно.
Для полноценного тестирования ArmMen настоятельно рекомендую использовать хорошую гарнитуру и использовать браузер Chrome.

P.S. Сейчас проект интенсивно развивается и нам начинает не хватать креативных и талантливых ребят.
Поэтому мы запустили проект на платформе Indiegogo.
Если заинтересует данная тематика, то могу написать отдельную статью про наш путь к краудфандингу на Indiegogo. Но сейчас скажу одно – было интересно!

Комментарии ()