Страницы: 1
RSS
Концепция смыслового движка от Петра, о видах и конструкциях искуственного интеллекта и зверьках на диване
 
Предсиловие и мотивация
Итак для начала, идея этого движка у меня возникла когда я читал старую добрую работу Мизеса в которой он описывал как и почему капитализм якобы хорошо работает а социализм не может работать, но не стоит обижаться на старика потому что тогда компьютеров и концепций их использования не было от слова совтем (двадцатые- тридцатые годы).
Вообщем у него утверждается, что государственная структура состоящая из чиновников-людей не сможет обеспечить достаточного уровня информированности поскольку не учитывает рыночную обратную связь от потребителей, которые голосуют деньгами.
На самом деле это "не совсем так" и если вы послушаете лекции Сафронова и подключите логику и немного фантазии, вы сможете прикинуть некий "лучше функционирующий" чиновничьий ОГАС, с некой системой обратной связи.
Он утверждает типа что без коммерческой составляющей вообще нельзя быть уверенности в принятии решения, что несколько бездоказательное утверждение, например при качественном аппарате вполне можно принимать решения из технической целесообразности действий и
обратной связи по всей системе начиная от потребителей

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

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

Постановка задачи

Итак, какими свойствами должен обладать предполагаемый метод расчёта решений
  • Возможностью осмыслить любое понятие, известное человеку и обработать данные из этих понятий, например принять решение, имитируя человеческое мышление. стоит заметить что любое человеческое понятие может влиять на экономический и правовой аспект потому что именно поэтому - поскольку некая сущность влияет на человеческую деятельность, отдельное понятие и возникает"примерно слово естественного языка" .Если часть известных человеку понятий будет не занесена в систему, они станут для неё невидимы их нельзя будет проанализировать и выдать результат с их учётом.
  • Точнее, что значит осмыслить. Первое, мы должны уметь представить любое утверждение, набор фактов примерно равных  предложениям естественного языка, в формальном виде, пригодном для алгоритмической обработки.
  • Второе, мы определяем ряд функций, которые имитируют разные процессы мышления над этими данными. Я считаю что функции должны быть не вероятностными (об это дальше или отдельно) а точными алгоритмами, когда результат вычислений определён (но не известен). Это можно сравнить с калькулятором, когда вы например складываете два очень больших числа. Результат сложения получается по определённым правилам и определён, то есть при любой попытке сложить одни и те же числа вы получите один и тот же результат, но он не известен и человеку было бы трудно, но возможно проверить результат без калькулятора.
  • То есть ориентировочно это будет некая экспертная система с возможностями хотя бы как chatgpt, но с намерением сделать надёжный выход, который реально бы представлял доверительное решение, с приимуществом что не будет глупых логических ошибок и случайных процессов в решении и все шаги вычисления решения будут просматриваемые, то есть любой пользователь при желании может просмотреть "лог" мышления и убедиться в правильности либо в обратной связи сообщить что именно по его мнению было неправильно. Но с недостатками, что модель "всех" понятий и методы их обработки надо задать вручную а не просто сбрасывать кучу готового текста как в нейронках
Имеющиеся похожие проэкты
При поиске, есть ли задумки или реализации похожие на мою, (назовём алгоритмическая универсальная экспертная система)  я был приятно удивлён что идея не слишком дикая и в разных отдельных проэктах что то похожее используется, впрочим я ещё больше был приятно удивлён что имеющиеся проэкты не дошли до моей глубины постановки задачи и понимания ряда моментов ( я наверное не смогу всё описать сходу в одном посте так что буду дополнять)
  • Проэкт OWL
    https://de.wikipedia.org/wiki/Web_Ontology_Language_for_Web_Services
    строит смысловые графы, но любого формата в отличии от меня, не слишком глубоко задавая понятия и у них нет методов их обработки, кроме тривиальных типа поиска. Поначалу я даже для "прикидки" начал строить мою модель в их инструменте Protege но поскольку там с одной стороны было много ненужного, чрезмерно математизированого и в то же время нет функционала что надо мне. Поэтому в качестве редактора я сейчас для "прикидки" использую Umlet но надо как то будет написать свой, красивый и простой редактор чтобы любой пользователь мог даже с планшета определять свои смысловые графы в "моём" формате.
  • Проэкт WordNet  это кривовато сделанная иерархическая модель всех понятий, с которой я частично не согласен, частично можно оттуда списать, там  как будто для постройки модели гипонимов пригласили пьяных школьников, могу привести занимательные примеры. там действительно странная и спорная иерархия, я же над своей уже размышляю в течении нескольких лет и выработал ряд довольно рациональных правил определения, с оглядкой на то что буду с этой структурой данных делать.
  • проэкт AGIRussia  занимается темой общего искуственного интеллекта, но у них понемногу обо всём, в том числе у них и про нейронки и про некие способы одновременно иметь и стат метод то есть нейронку и при этом иметь смысловой граф У Александра Болдачёва очень упрощённый смысловой граф, примерно как UML модель которую имела бы некая обычная современного прога по управлению предприятием, просто описывающий обьекты или события,  без определённых алгоритмов на нём, что с ним можно делать и он считает ненужной ООП-классовую модель, но при этом в некоем виде она в его проэкте неизбежнно есть, иначе бы не было различий между классами понятий.
Итак наконец то краткое описание моего движка
  • Данные, эквивалентные любому факту то есть любому предложению естественного языка, представляются  в виде смыслового графа с "типизированными" узлами и отношениями между ними. Существует один граф - классовый или я называю "universe" который представляет все факты то есть взаимоотношения типов обьектов. В этом представлении мы можем выделить отношения разного типа. Отношение "подкласс/суперкласс" примерно как в ООП,  значит, что подкласс - это понятие, более узкое чем родительское, но обладающее всеми его свойствами. Например животное это материальный обьект, соответственно, поскольку все материальные обьекты имеют конечные размеры, форму , цвет, вес и проч. класс животное тоже его имеет. в ООп это называется принцип  Липскоу. Подкласс (любой обьект ниже в иерархии, например внук, правнук и проч.) не должен противоречить с определением родительского понятия. Например нельзя в классе "птицы" прописать свойство "умеют летать" а потом иметь пингвина как птицу которая не умеет летать. Разделение родительского понятия на подклассы должно быть таким, чтобы отдельные дети и их потомки всегда в иерархии вниз отличались неким важным признаком, заложенным в самом этом понятии. Например, физические обьекты можно разделить на живые существа (в обыденном понимании) и неживые предметы, либо движимый (неживой предмет и живое существо) или недвижимый обьект (обьект-локация, здание, географический обьект). В последнем случае, именно то что в определении имеется в виду что обьект всегда неподвижен и представляет собой локацию, по функциональности отличает его от движимого предмета.  Помимо этой древовидной иерархии, в которой у меня нет множественного наследования в иерархии обьектов и действий, есть отдельные признаки, которые могут то быть, то не быть у разных обьектов в разных местах дерева. Надеюсь понятный пример был бы со свойсвом "умеет летать". В иерархии живых существ умеют летать то некоторые насекомые - в под-дереве насекомых, некоторые птицы, млекопитающие кроме того умеют летать и неживые предметы - самолёт и вертолёт, но они умеют летать по другому. В этом случае я ввожу понятие "трейт" как свойство "летать маховым полётом" - которое присваивается этим классам обьектам, собственно это взято из одного языка программирования где есть понятие "трейтов".  И по моим принципам построения графа понятий следует чётко следить, чтобы не делить понятия в главном дереве по трейтам.
  • Кроме универсального или классового графа  есть граф инстанций с описанием конкретной ситуации с существующими в ней обьектами или действиями. Например там может быть описано утверждение " в мою комнату залетел голубь", при этом понятие "комната", "залетел", "голубь" будут инстанциями или обьектами соответствующих классов из универсального графа - прямо как в ООП. Понятие "мой" будет даваться отношением что "собственник" комнаты это "тот кто говорит", и ещё в действии "залетел" будет маркер прошлого времени.
  • И наконец самое интересное, что мы можем делать с этим представлением данных, если допустить что мы сделали модель всех понятий и можем переводить человеческое высказывание в класс-или инстанц-граф. Самое простое, это простые математические операции. например имея 2 или более графа мы можем
  • выделить из них общее, различия и попробовать проанализировать причину различий рассматривая с какими понятиями обьекты из этих утверждений дальше связаны.
  • мы можем задать функцию валидации как классовых так инстанц графов, Это примерно эквивалентно если бы мы подумали "может ли обьект класса птица влететь ко мне в окно комнаты". Функция валидации состоит из того, что мы смотрим каждую позицию валидируемого графа по валидируюЩЕМУ с тем, чтобы понятие в валидируемом было меньше или равно ( то есть было точным понятием либо подклассом), понятию в валидируюЩЕМ. Если в валидируюЩЕМ на этом месте не стоит ничего, это интерпретируется как "может быть что угодно"
  • мы можем просмотреть ряд утверждений и выдать гипотезу об их генерализации. Например из рассмотрения утверждений что кот может лежать на диване, собака может лежать на диване, и так далее, мы можем следать вывод что любой зверь, как ближайший суперкласс всех зверей которые были в этих утверждениях, "может лежать на диване". Эта учёба на фактах и генерализация будут не статистические, как в известных методах маш. обучения, а точные алгоритмические.  Я не буду тут разводить долгую тираду что статистический метод предсказывания следующего понятия в утверждении, как это делают в современных поделках обработки текста, бессмысленен если вы хотите доверительный логический движок.
  • конечно, валидация утверждений будет не достаточна просто по семантическим понятиям. Некоторые звери могут лежать на диване, некоторые такие как слон или бегемот на обычном диване нет, и это зависит уже от физического представления того, что это за звери и что это за диван. Поэтому в более продвинутом варианте, к каждому этому понятию должно быть подключено физическое представление, которое будет влиять на операции. Например так мы можем выделить такие размеры животных и диванов, чтобы это животное могло лежать на диване. То есть на этом продвинутом уровне валидация будет всегда иметь не только ссемантический из этих графов но и физический аспект
  • Имея известный набор фактов мы можем применить алгоритмы, имитирующие творчество. Я выделил композицию, или попытку создания нового утверждения/набора фактов из частей известных фактов с последующей валидацией, чтобы не получилось ерунды. Фьюжн, это другой тип композиции при которой каждая часть кроме того ещё и изменяется от влияние всего последующего набора фактов - частей из других утверждений. примерно так делает  Чат ГПТ или сценарист фильма когда берёт несколько готовых сценариев и соединяет их в один. И наконец эволюционный алгоритм, или множество итераций этих способов, с машинной и потом человеческой валидацией.  Но я разумеется в до сих пор в поиске новых идей по поводу того как представить человеческое творчество в виде алгоритмов, потому что вышеупомянутые методы смотрятся не то чтобы убого, но всё таки не эквивалентны человеческому творчеству- тайне которую я до сих пор не пойму как формально представить.

Кто дочитал, спасибо за внимание и очень прошу обратную связь по этой теме с любыми комментами и вопросами.
 
Цитата
Нейросеть тренируется на датасете примерно х10 от количества её параметров. Это нужно, чтобы сеть извлекла  знания путем "сжатия/концентрации/плотной упаковки" предоставленных данных. Математика нейросети устроена именно так, чтобы она могла это сделат "самостоятельно", то есть без прямых указаний.


Как будет обучаться твой "смысловой движок"? И каково его преимущество перед LLM?
В смысловой движок надо будет базовую систему понятий задать вручную ( и это основная проблема в начале реализации), потом он сможет читать разную дополнительную инфу, например естественный текст, преобразовывать эту инфу в "свой" формальный вид и добавлять её к знаниям. При таком способе есть ряд особенностей в отличии от вероятностных методов ( не будем заранее называть что приимущество/недостаток)
Мы можем точно интерпретировать подающийся движку факт и добавить его в базу знаний движка. при этом он не "смазывается" с другими, как при вероятностном методе. Если мы обучили нейронку ещё одному предложению, это практически не изменит её поведение так как у неё миллиард других предложений которые все смазаны в одни вероятности. ( Ну это если не делать другую конструкцию не как в GPT а с прикрученной к нейронке внешней базы данных. ) Мы можем интерпретировать текст разными точными способами не буду писать тут а то вообще будет долго. /Движок сразу же точно будет знать что ему добавили к знаниям новый факт, как это бы сделал человек, который узнал об этом факте. соответственно нам не только надо значительно меньших мощностей, но процесс размышления над понятиями будет точный - его можно будет проверить, рассмотреть части - например будет понятный человеку лог вывода результата и изменить любой шаг "размышления" если мы захотим. Смотри, важным требованием у меня является предсказуемость и прозрачность поведения и проверяемость результата человеком .

Кстати несколько лукаво говорить что нейронка учится "сама". В неё данные помещают созданием датасета, который надо тщательно проверить, так же как в моём проэкте я предлагаю напрямую задать базовые понятия. (если ты просто так прогонишь её по любому тексту скорее всего получится вообще белиберда, так как большинство существующих текстов не корректны) при этом результат плохо предсказуем, а в задачах требующих структурного логического мышления,  например хотя бы в следующем предложении не давать утверждение логически противоречащее  предыдущему, у нейросети вообще плохо так как такие данные плохо отражаются в вероятностном векторе.
Изменено: Peter speter - 23.07.2023 19:55:08
Страницы: 1
Читают тему