Исcледования
"Common Sense"

Задача

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

Обзор решения

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

  • Построение семантических сетей базовых сущностей
  • Описание знаний в виде набора правил
  • Задание свойств объектов при помощи нечётких множеств
  • Проведение логических выводов
  • Перечисление возможных моделей мира в текущем состоянии
  • Реализация рассуждений в динамических задачах

При помощи DemonScript были описаны базовые пространственные отношения (in, on, above, hold и т.п.) между объектами в упрощенной модели реального мира. В рамках формального языка описания микроисторий система успешно анализировала простые динамические задачи с действиями типа goto, take, give и т.п., строя соответствующие модели. На основе этих моделей система отвечала на контрольные вопросы ”на понимание”.

Технологические детали

Интерпретатор языка DemonScript был реализован на C++. Код интерпретатора разрабатывался с учётом кроссплатформенности и может быть собран на большинстве платформ. Также DemonScript был портирован на JavaScript, и теперь есть возможность запустить его через web-интерфейс. Выбор языка программирования C++ также помог интерпретатору работать на слабых устройствах (мобайл, веб, и даже IoT), и при этом не потерять в производительности.

Для более комфортной работы есть возможность подключить подсветку синтаксиса в редакторе VS Code. В редакторе VS Code поддерживается полнофункциональный отладчик с точками останова и просмотром локальных переменных.

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

Стек технологий

C++

C++

PyQt

PyQt

JavaScript

JavaScript

C++

C++

JavaScript

JavaScript