VIVI: что если знания не загрузить в ИИ, а попробовать сделать так что бы они родились из опыта?

Можно ли построить систему, которая не получает готовый «мозг» с заложенными знаниями, а постепенно формирует собственную память, связи между знаниями и способы работы с ними?
Как и многие, я пытался сделать что-то своё, и для повседневных задач использую LLM — но меня это не устраивает.
Сейчас будут скажем так мои размышления. Моя теория.
Что такое:
«ЗНАНИЯ» — это совокупность данных и опыта.
«ИНТЕЛЕКТ» — это совокупность знаний, понимания знаний, умении применять эти знания и опыта от применения знаний как неудачный, так и удачный.
Какие бывают знания:
«САМОСТОЯТЕЛЬНЫЕ» — полученные в процессе размышлений, наблюдений и т.д.
«НЕ САМОСТОЯТЕЛЬНЫЕ» — это основной источник знаний, которые мы получаем от кого-либо.
Представим, что мы учимся считать. Сначала учитель знакомит нас с цифрами от 0 до 9 и объясняет значение знаков + и =. На этом этапе мы получаем данные: узнаём о цифрах и узнаём о знаках и то, что они означают. Затем учитель показывает пример: 1 + 1 = 2 Теперь мы знаем не только значение цифр и знаков, но и получаем конкретное знание о том, как использовать их вместе. Позже учитель объясняет, что означает знак −, но не показывает пример 1 − 1 = 0. Мы уже знаем цифры, понимаем значение равенства, умеем складывать и получили объяснение вычитания. Используя эти знания, мы самостоятельно приходим к выводу: 1 − 1 = 0 Этот конкретный результат мы не получили от учителя в готовом виде. Мы вывели его самостоятельно, опираясь на ранее полученные сведения. Затем мы начинаем применять сложение и вычитание в разных ситуациях. Постепенно учимся выбирать нужную операцию, понимать условия задачи, замечать ошибки и корректировать свои действия. Повторюсь еще раз это сугубо мое мнение.
Нужны ли нейросети для ИИ?
Моё мнение, и оно сугубо личное. Для когнитивных способностей (память, логика, обучение с одного раза) — нет, не нужны, но в то же время для восприятия мира нейросети нужны по крайне мере сейчас, но они идут как отдельные модули, которые можно подключить по желанию.
Что такое VIVI и что она уже умеет.
VIVI — это система, которая сейчас пока только превращает текст в события и сохраняет в графовую память, предсказывает следующее событие и может потом объяснить, почему она так предсказала. Я не использовал ни какие языковой модели (LLM). Внутри нет ни одного чужого веса. Система рождается с базовым набором данных (цифры, буквы, слога и немного слов) и в дальнейшем получает знания только из чтения или диалога.
1. Основная гипотеза и что уже умеет VIVI.
В основе VIVI лежит моя теория:
данные сами по себе ещё не являются полноценным знанием;
знания приобретают практический смысл через опыт применения;
накопленный опыт может менять связи между знаниями;
изменившаяся структура памяти может приводить к новым выводам и другому поведению.
Что VIVI сейчас уже умеет:
Почти стабильное когнитивное ядро с измеримыми критериями качества.
Почти стабильное когнитивное ядро с измеримыми критериями качества.
Почти стабильное когнитивное ядро с измеримыми критериями качества.
когнитивное ядро с измеримыми критериями качества;
граф знаний, который различает знания «от учителя» и знания, полученные самостоятельно;
механизм опыта применения: когда система использует знание и получает подтверждение или опровержение, сила связи в графе меняется;
сон (консолидация памяти): во время «сна» VIVI усиливает полезные связи, ослабляет слабые и формирует новые концепты;
рабочую память и механизмы внимания;
базовое понимание событий: фразу она раскладывает не в цепочку слов, а в структуру «кто — что сделал — с чем — где — когда»;
объяснимость: любой вывод можно проследить по пути активации в графе.
Отмечу что почти всё, что работает, измеряется. Результаты тестов пока не буду писать, хочу сначала доделать. Но в проекте есть батарея проверок с числовыми критериями. Каждая способность — это замер, который система либо проходит, либо честно не проходит: «полезные связи усиливаются» — не метафора, а конкретное число в отчёте. И ещё одна вещь, которой я особенно дорожу: воспроизводимость. Память сохраняется и восстанавливается так, что повторный прогон даёт идентичный результат на любой машине. После того как доделаю процесс обучения, напишу еще статью с отчетами.
Приведу простой пример, это VIVI уже умеет.
1) Противоречие и самостоятельный вывод.
Я написал VIVI что «собака — это животное», «собака — это растение» и «собака — имеет лапы, хвост». Она сохранила соответствующую связь в памяти. И если сразу у VIVI спросить кто такая собака, она ответит, что собака — это и животное, и растение. Затем я написал VIVI про кошку и хомяка, что у них есть лапы и хвосты и они животный. Теперь после обработки данных VIVI обнаружили закономерность между объектами и их свойствами, и общим понятием. И теперь на вопрос кто такая собака, она ответит, что собака — это животное и сможет объяснить почему. Впоследствии если VIVI встретит неизвестный объект, у которого есть лапы и хвост, она предполагает, что перед ней животное, так как она самостоятельно вывела правила животное ≠ растение. Проверилось на льве.
2) Формирование своих понятия.
После загрузки в VIVI русских народных сказок и нескольких книг «Я познаю Мир». VIVI смогла создать свои понятия.
собака — домашний_животное;
собака — уличный_животное;
лиса — лесной_животное.
Этих понятий не было ни в одном обучающем наборе — они сложились в графе из прочитанных текстов.
3) Структура события.
Предложение: «Пастух завтра пойдёт пасти овец». Для VIVI — это предложение становится структурой, с которой она должна работать. Предложение разбивает на:
АГЕНТ: ПАСТУХ
ДЕЙСТВИЕ: ПОЙТИ
ЦЕЛЬ: ПАСТИ
ОБЪЕКТ: ОВЦЫ
ВРЕМЯ: ЗАВТРА
Для возможности дальнейшей работы с ним и отвечать на вопросы по ролям: кто пойдёт пасти овец? - пастух, когда это произойдёт? - завтра, что завтра будет делать пастух? - пасти овца, кого он будет пасти? - овца. Это реальные ответы. Сразу оговорюсь сейчас это работает только на простые предложения. Сложные предложения, сарказм и т.д. сейчас VIVI пока не может понять.
Чего VIVI сейчас пока не умеет, но к этому идет.
Моя конечная цель — сделать не «умный чат», а постараться сделать цифровой организм, способный:
самостоятельно замечать пробелы в знаниях и задавать точный вопрос («я знаю, что король похож на принца, но не знаю, кто такой принц, — расскажи»);
строить планы и проверять их результат;
иметь полноценную самомодель: что я умею, чего не умею, чему научилась вчера, где ошиблась;
воспринимать не только текст, но и изображения, звук и действия пользователя;
жить на компьютере как устанавливаемый агент и постепенно учиться решать реальные задачи — документы, почта, таблицы, браузер.
То к чему иду, до этого еще далеко. Сейчас пока стоит другая задача. Сначала нужно довести фундамент до состояния, когда память, граф, внимание, рассуждение и обучение работают как единая система. Сегодня работают память, граф, внимание и отчасти рассуждение — под рассуждением я имею в виду анализ данных и знаний.
2. Что из себя сейчас представляет VIVI.
Изначально проект был проще: первые версии хранили объекты и связи в структурах Python. По мере роста стало понятно что память должна быть отдельная архитектура. Она должна обеспечивать сохранность данных и операции над большим количеством узлов и связей. В результате VIVI стала строиться на Python и на Rust. Упрощённо её можно представить так.
Что
За что отвечает
Python
когнитивная логика: обработка языка, извлечение событий, рассуждение, планирование
Rust
память: узлы, связи, эпизоды, несколько уровней памяти
При этом я граф не рассматриваю как просто базу данных, куда записываются факты. Граф должен влиять на последующие вычисления: изменение связей меняет распространение активации, результаты поиска, формирование понятий и будущие решения.
3. Почему я пошел именно этим путем.
Потому что большинство проектов, которые я вижу, идут по пути «взять LLM и обернуть». Возможно, есть другие проекты — но я не нашёл, возможно плохо искал. Конечно LLM даёт быстрый и красивый результат, но не даёт настоящего понимания. Это пока чёрный ящик, который умеет говорить, но он не умеет помнить, сомневаться и учиться по настоящему. Я для VIVI выбирал более медленный и более трудный путь: строить архитектуру снизу-вверх. Где каждое её решение имеет объяснение, где память самоорганизуется, где новые понятия появляются из опыта, где она может сказать «я этого пока не знаю — научи меня».
4. Что было, что есть и что должно быть.
1) Уйти от жестких правил в коде, но только для языка. Изначально логика строилась на прямых жестких правилах типа:
if text.lower().startswith("кто такой"): return handle_define() if " это " in text: return handle_learn_isa()Сейчас частично я уже ушел от этого, так как с жесткими правилами есть много проблем из-за постоянного роста правил. Пример: «Кто такой король?», «Расскажи про короля», «Что известно о короле?», «Дай определение короля» — для человека это почти одно и то же, но для кода это четыре разных варианта, и под каждый писать правило — ну его...
Сейчас сделано так, что в графе есть отдельный слой языковых правил. Переход пока ещё не закончен, но направление именно такое: понимание языка — ни код, а сама памяти.
2) Уйти от pymorphy. Сейчас VIVI использует pymorphy3 для лемматизации: библиотека хорошо знает русскую морфологию и быстро приводит слово к начальной форме. Но для моего проекта у такого подхода есть фундаментальная проблема. pymorphy — это внешний источник знания: он знает, что «королём» — это форма слова «король», ещё до того, как VIVI вообще увидела это слово. То есть часть понимания языка VIVI получает не из опыта, а из чужой предобученной модели. Меня это не устраивает. Моя цель — чтобы VIVI постепенно училась сама: какие формы относятся к одному понятию, какие слова связаны между собой, как меняется значение в зависимости от контекста.
3) Прийти к тому, чтобы VIVI понимала. И вот тут я пока даже не понимаю, как это сделать. В первых двух пунктах я примерно знаю, как можно прийти к тому результату который я хочу, но здесь — пока вообще нет ни каких мыслей. Но есть понимание. Скажем так у меня есть граф с тысячами фактов, и VIVI умеет отвечать по ним на вопросы. Но это ещё не значит, что она понимает причины событий, строит причинно-следственные связи или переносит опыт на новые задачи.
Сейчас у меня есть только общее видение того что я хочу сделать, но желания не всегда совпадают с реальностью.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.