Pull to refresh
8K+
4
Евгений@Merehim

User

6
Rating
1
Subscribers
Send message

Да планируется сделать скажем так LLM учителя, но на самом последнем этапе

да понимаю, но нашел более быстрый способ, но только после полностью доделанного мозга, сейчас из 12 этапов я пока на 5, после того как будет доделан скажем так мозг, будет прикручена периферия, а потом самое сложное найти человека на одну задачу, и уже после этой задачи в течении недели будет видна полная картина

уже делал, так как нынешняя VIVI это уже 8 или 9 проект, но и если подключить LLM то VIVI перестает думать и формировать правили она пытается LLM заменить свой мозг

Но база данных и база знаний это разные вещи, как я вижу это " ребенок изначально не знает что такое стул, но из наблюдений он знает что с ним делать - это и есть знания" само понятие стула (база данных) приходит позже, но это если брать человека. Идти и бежать по факту это одно и тоже действие - это перемещение, человек видит и оценивает и понимает, как это сделать и цифровой системе которая не видит, на мой взгляд система должно сформировать правило что то типа "если объект перемещается с такой то скоростью он идет если с такой то скоростью он бежит" а с табуретка или стол примерно так - есть поверхность + есть высота → возможно, на нём можно сидеть или поставить что-то. Нет устойчивого опыта «на нём едят» или «это мебель» → не будет жёсткого «это табуретка»

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

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

Конфликт возникает не из «магии», а из набора правил:

Коротко можно сказать так, когда у одного понятия уже есть связь вида «X», а потом приходит «Y», и X ≠ Y, система фиксирует конкурирующие утверждения одного типа. Оба остаются в памяти, но получают статус конфликта / пониженную силу.

собака это животное
собака это питомец
собака это существо

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

Да нет наверно, экспертная система — это больше написанная база правил, «если А и Б, то В». Я же не пиши правила в коде.

Я и не говорю что я делаю систему которая превзойдет нейросети, я больше проверяю, можно ли получить когнитивное поведение без готовой большой статистической машины в качестве мозг, а на это нужны совсем другие объёмы данных и другая архитектура

В двух словах:

VIVI работает как самоорганизующаяся ассоциативная память с градуированным доверием.

Знания хранятся как связи между понятиями. У каждой связи есть сила и статус (уверенный факт / слабо / конфликт / гипотеза / отвергнуто). Когда приходит новый опыт, система:

  • активирует связанные понятия,

  • сравнивает с похожими объектами (по общим признакам),

  • ослабляет или усиливает связи,

  • выводит обобщения и производные утверждения,

  • замечает пробелы и формулирует вопросы.

Логика решений живёт внутри самой структуры памяти, а не в заранее прописанных правилах в коде. Сам код показывать не буду, Так же база данных построена на RUST сейчас имеет 3 слоя, планируется расширения до 12 слоев + попробую сделать что бы VIVI сама в случае необходимости могла создать или удалить слои

CREATE DATABASE IF NOT EXISTS `schedule_db` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE `schedule_db`;

CREATE TABLE IF NOT EXISTS `employees` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fullname` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `employee_status` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `employee_id` int(11) NOT NULL,
  `start_date` date NOT NULL,
  `end_date` date NOT NULL,
  `status_type` enum('vacation','sick_leave') NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `created_by` int(11) DEFAULT NULL COMMENT 'ID пользователя, установившего статус',
  PRIMARY KEY (`id`),
  KEY `date_range` (`start_date`,`end_date`),
  KEY `employee_dates` (`employee_id`,`start_date`,`end_date`),
  CONSTRAINT `employee_status_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `employees` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

DELIMITER $$
CREATE TRIGGER IF NOT EXISTS `check_status_overlap` BEFORE INSERT ON `employee_status` FOR EACH ROW BEGIN
  IF EXISTS (
    SELECT 1 FROM employee_status 
    WHERE employee_id = NEW.employee_id
    AND NEW.start_date <= end_date 
    AND NEW.end_date >= start_date
  ) THEN
    SIGNAL SQLSTATE '45000' 
    SET MESSAGE_TEXT = 'Новый статус пересекается с существующим периодом';
  END IF;
END$$
DELIMITER ;

CREATE TABLE IF NOT EXISTS `shifts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `employee_id` int(11) NOT NULL,
  `shift_date` date NOT NULL,
  `shift_type` enum('day','night','off') NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `employee_date` (`employee_id`,`shift_date`),
  CONSTRAINT `shifts_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `employees` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Первый раз здесь писал, на будущее учту

Information

Rating
1,147-th
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity