Найти в Дзене

Причинный ИИ: Архитектура, которая мыслит как ученый, а не угадывает как попугай

В прошлых статьях мы уже предложили гипотетический способ формализации понятий, с помощью нейронных сетей с некоторой долей неопределённости, которая показывает, достоверность данных, есть ли “причинная” уверенность в них или лишь корреляции. Давайте представим, что у нас уже есть стандартные сжатые семантические токены (CST). Они собираются на базе заранее заданных правил и имеют прогнозируемую структуру. Для каждой области знаний имеется конкретный набор передаваемых параметров. А теперь мы хотим решить какую-то задачу в предложенной области знаний с помощью представленных токенов. Допустим, у нас есть электрическая цепь. В ней последовательно подключены резисторы, лампочка и батарейка. Каждый из элементов цепи представляет собой отдельный CST блок. Тогда мы можем записать эту схему, как: [Резистор1]->[Резистор2]->[Лампочка]->[Батарея]->[Резистор1] Каждый элемент строго задан. Нет никаких дополнительных факторов (в идеальном случае). У нас есть строгие связи между всеми элементами и
Оглавление

В прошлых статьях мы уже предложили гипотетический способ формализации понятий, с помощью нейронных сетей с некоторой долей неопределённости, которая показывает, достоверность данных, есть ли “причинная” уверенность в них или лишь корреляции. Давайте представим, что у нас уже есть стандартные сжатые семантические токены (CST). Они собираются на базе заранее заданных правил и имеют прогнозируемую структуру. Для каждой области знаний имеется конкретный набор передаваемых параметров. А теперь мы хотим решить какую-то задачу в предложенной области знаний с помощью представленных токенов.

CCC-блоки

Допустим, у нас есть электрическая цепь. В ней последовательно подключены резисторы, лампочка и батарейка. Каждый из элементов цепи представляет собой отдельный CST блок. Тогда мы можем записать эту схему, как:

[Резистор1]->[Резистор2]->[Лампочка]->[Батарея]->[Резистор1]

Каждый элемент строго задан. Нет никаких дополнительных факторов (в идеальном случае). У нас есть строгие связи между всеми элементами и логика их отношений. Все эти элементы находятся в некоторых условиях, которые тоже определены. Мы можем запустить эту цепь в каком-нибудь сервисе для моделирования электрических цепей и раз за разом получать один и тот же результат. Ровно как мы можем провести аналогичный эксперимент, который тоже будет стабильно выполняться. Вся указанная цепь после запуска приведёт всю систему в некоторое новое состояние, которое мы тоже сможем записать в виде нового CST блока. Таким образом, мы получаем строгую логическую и экспериментальную взаимосвязь между понятиями из конкретной предметной области для конкретной ситуации. И получаем на выходе новое понятие из той же предметной области со 100%-ной уверенностью. Под этим есть строгая теория, а взаимосвязи носят строгий причинный характер. Всю описанную схему можно записать в виде стандартной цепочки:

Причина-Условия-Следствие (CCC).

В этом блоке нет никаких вероятностных процессов. Он даёт строго предсказуемые результаты. И если нейронную сеть научить оперировать именно такими блоками, то на выходе будем получать всегда на 100% верные результаты. Мы минимизируем проблему “галлюцинаций”, когда ИИ отдаёт очень правдоподобно выглядящие, но абсолютно лишённые опоры на факты ответы. Конечно, речь опять именно о технических областях, где такое возможно или по крайней мере более вероятно. Такой стандартный блок мы можем зафиксировать и затем обращаться к нему, как к известному.

Макро CCC-блоки

Обратим также внимание, что кусок нашей цепи [Резистор1]->[Резистор2] в рамках электродинамики можно считать, как один резистор суммарного номинала. Это вновь известный результат, который не имеет корреляционных связей. Мы строго можем сопоставить ему запись:

[Резистор1]->[Резистор2]=[Резистор3], где сопротивление третьего резистора равно сумме двух первых. В итоге наша исходная запись может быть сокращена:

[Резистор3]->[Лампочка]->[Батарея]->[Резистор3].

А для многих задач можно и лампочку считать некоторым резистором, если свечение нам не важно. Как мы говорили в прошлой статье, параметр светимости или типа элемента не играет никакого значения. И цепь упростится до:

[Резистор4]->[Батарея]->[Резистор4].

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

Итоги

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