Дослідження "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++

JavaScript

JavaScript