Сообщений: 604 Просмотров: 39940 | | Вся тема для печати |
Это тема – только для причастных к пониманию модели МВАП и текущим проблемам предметной области «Схемотехника адаптивных нейросетей». Прошу посторонним быть очень корректным и зря не спамить. Здесь будет обсуждаться текущая реализация последовательности развития прототипа индивидуальной системы адаптивности Beast.
Телеграм-канал: https://t.me/thinking_cycles
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons Сообщение № 47806 показать отдельно Апрель 13, 2022, 01:25:46 PM ответ -только после авторизации Идея записывать рефлексы в виде строки диапазоном сначала возникла как стремление упростить формат записи базы рефлексов. Представим базовый параметр на 100 условных единиц, к каждой из которых можно прицепить свой рефлекс, как ответную реакцию на один общий раздражитель. В итоге получаем 100 вариантов реагирования в зависимости от текущего уровня базового параметра. Это можно записать в файле в виде 100 строк типа:
А можно в виде одной строки:
Раздражитель1 || Рефлекс1 | Рефлекс2 | Рефлекс3
На первый взгляд нет принципиальной разницы, просто во втором случае надо еще сделать функцию, которая по текущему значению параметра определяет номер позиции в строке линейки рефлексов. Хотя есть преимущество в виде более короткой записи и меньшего размера файла данных по кол-ву строк. Но есть и более интересные особенности.
Так как нет жесткой привязки к конкретному значению базового параметра, то если мы запишем один рефлекс в строке, он будет активироваться при любом значении. Можно сказать, что его рецептивное поле охватывает весь диапазон значений. Если добавим второй – они разделят диапазон на две части. В простейшем случае пополам, но можно в принципе усложнить и сделать не равномерное разделение. Теперь каждый рефлекс активируется на свой диапазон значений. Добавляя далее рефлексы в линейку, мы все более сужаем их рецептивные поля, делая реагирование все более острым и так до 100, по числу единиц измерения диапазона. Если начнем выкидывать рефлексы, будет обратный эффект – рецептивные поля начнут расширяться, соседние рефлексы начнут «брать на себя» реагирование заблокированного.
Когда такая картинка сложилась в голове, то стало очевидно – это простейший способ, без привлечения заумных алгоритмов, организовать создание нового варианта реагирования путем изменения диапазона активации рефлексов. И в принципе в этом есть даже вполне «разумная логика»: если рефлекс стал неадекватным, то может похожий по стилю реагирования подойдет? Обычно так и есть, по крайней мере в простых случаях: если реакция не сработала как надо, можно попробовать ее усилить или ослабить. Это легко делается простым выкидываем из обоймы неадекватного рефлекса. Потому, что соседние, привязанные к близким значениям базового параметра и есть по сути «усиленный» и «ослабленный» вариант реагирования. Конкретно это может выглядеть так:
Резкий звук || ползти | идти | бежать | скакать
Если реакция на резкий звук «идти» (спокойно отойти) оказалась не удачной, можно попробовать «ползти» (осторожно отползти) или «бежать» (быстро отскочить). Разумеется это только один из вариантов замены рефлекса, самый простой. Он себя удачно зарекомендовал в первой модели, показав, что даже на таком простом уровне можно организовать процедуру подмены рефлексов. Но потом возник вопрос, насколько это универсально и можно ли и дальше использовать этот принцип, например для ассоциаций. Но это оставим на потом, хотя там тоже интересные эффекты возникли, сейчас нужно определиться: это действительно удачная схема в каких то граничных условиях? Мне думается, что она вполне сгодится для схем, где не планируется что то заумное, например для робота-пылесоса в его поиске стратегий уборки. | |||||||||
Метка админа: | |||||||||
nan - админ Род: Сообщений: 12275 личная фото-галерея Оценок: 39 список всех сообщений clons Сообщение № 47807 показать отдельно Апрель 13, 2022, 04:32:53 PM ответ -только после авторизации Буду оппонировать, т.е. мне эта Идея категорически не нравится. 1. А если кроме “обоймы” возникнет еще какой-то признак, который объективно грозит бедой или победой? Что будет с такой схемой? 2. Совершенно не имеет значения какие-то диапазоны параметров для того, чтобы запускать реакцию потому, что реакция должна быть не на число, а на признак, имеющий уже определенную значимость. Совокупность значимостей действующих признаков дает свою уникальную ситуацию, общую значимость которой никакими вычислениями невозможно определить, а только – личным опытом получения последствий от такого воздействия или реакции на такое воздействие. 3. Ты пытаешься найти некие примитивно-простой универсальный алгоритм для решений проблем, что в принципе невозможно (ТРИЗ). Есть такой принцип: чем более ясно удается выделить сигнал, тем более правильно его можно обработать. Поэтому так важно получить распознавания значимостей каждого воздействующего признака и, затем, делать обобщения более сложных комбинаций. 4. Я не считаю эту Идею достаточно прорывной даже для простейших механизмов. Давай обсудим другую Идею из имеющихся. | |||||||||
p.s. Допускаю, что мое утверждение может быть неверно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно. Метка админа: | |||||||||
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons История редактирования (1) Сообщение № 47808 показать отдельно Апрель 13, 2022, 05:02:45 PM ответ -только после авторизации У меня привязка не к внешним раздражителям, а внутренним изменениям, возникшим от воздействия внешних раздражителей. В данном случае изменению базового параметра, который сдвигается от фраз и действий оператора. И тогда получается, без разницы какие комбинации внешних воздействий сдвинули параметр, важно, что он сдвинулся и на это последовала реакция. Я не настаиваю, что надо именно так. Но получается два принципиально разных подхода:
Почему первый предпочтительнее второго? Разве адаптация не строится как стабилизация внутреннего состояния, без разницы, чем она вызвана? Точнее, разница может быть на прогностическом уровне, там уже надо понимать, что конкретно и почему тебя стукнуло, а не просто стукнуло и надо реагировать.
Согласен, этот вариант никак не учитывается схемой привязки к внутренним изменениям. Новый признак теоретически может вызвать те же изменения, что и старый и соответственно ту же реакцию, что и приведет к неадеквату. Но возникает вопрос: что у бота есть новый признак? Если новая фраза - так рефлекс к ним и привязан как один из пусковых стимулов. Тут не может быть дубляжа реагирования. Кроме того, сейчас у меня к пусковым стимулам рефлекса добавлен текущий рисунок контекстной матрицы, в котором намешано: комбинация значений базовых параметров, безусловные/условные рефлексы. Это значит, что к базовому параметру и раздражителю фразе привязана не одна линейка рефлексов, а множество, по числу комбинаций активностей в матрице. То есть на каждый рисунок активируется своя линейка и в итоге на фразу получаем вариабельность реагирования из множества диапазонов. Меня больше всего цепляет в диапазоне возможность подмены рефлекса простой блокировкой/вставкой в диапазон нового. Особенно тот факт, что соседние рефлексы берут на себя реагирование заблокированного. Есть подозрение, что задавать возможность формирования любого нового рефлекса на самом деле не нужно, в подавляющем числе случаев будет удачной попытка просто усилить/ослабить действие заблокированного.
Тут уже интереснее. У тебя значимость забита в виде конкретных чисел в первом справочнике контекстов. Во втором на изменения базовых параметров, фраз и прочих действий оператора забиты активации контекстов. Это безусловные рефлексы. И получается от того, как ты забьешь эти два справочника и зависит какую значимость на бота будут оказывать фразы и действия оператора. Тут возникает очень большой и интересный вопрос, что писать в этих справочниках и почему. Я так и не понял, по какому принципу ты это делаешь и подозреваю, что ты просто сделал схему, позволяющую забивать что угодно, а что забивать оставил как размышление на потом. Поэтому я и решил сделать реверс и переключиться на привязку к внутренним изменениям, раз нет понимания, какие значимости у внешних. Как я понял твою схему: ты забил в этих двух справочниках активацию контекстов, их уникальных сочетаний на какие то воздействия. При каждом шаге диалога с оператором что то из них активируется, что и определит совокупную значимость. Чтобы гарантировано что то было активным, ты сделал активацию чего то на изменения уровней базовых параметров и добавил пульсацию. Теперь даже если оператор будет молчать и ничего не нажимать, все равно суммарная картинка контекстов будет меняться. То есть значимость раздражителя это мгновенный снимок текущего внутреннего состояния бота. Что то на него воздействовало - его внутреннее состояние изменилось, стало быть это воздействие имеет значимость прямо пропорциональную этому изменению. Опять получается, что внутренние изменения всегда соответствуют внешним воздействиям и почему бы тогда прямо к ним не привязаться.
По поводу макросенсоров:
Идея с макросенсорами возникла потому, что на тот момент не было понимания, что такое безусловные/условные рефлексы у бота, контексты и какую роль они играют в его реагировании. Поэтому сложилось упрощенное понимание: если реакция происходит на слово/фразу, которые состоят из первичных сенсоров, логично ввести новое понятие макросенсор и его код использовать. Для рефлекторного реагирования так действительно удобнее, но как дошло до дерева, стало очевидно, что здесь лучше использовать сенсоры (корни, окончания слов), потому, что разбив фразу по сенсорно по узлам получается очевидный выигрыш в скорости поиска. Потому, что например, вместо создания макросенсоров в виде вариантов склонений слова и поиска среди них перебором, быстрее будет искать если структурировать их в виде дерева, где родительский узел корень слова, а подчиненные окончания. Аналогично и с фразами. А поиск по рекурсивному дереву, где в структуре заложена ссылка на саму себя, дает существенный выигрыш в скорости. Поэтому сейчас в раздумье: отказаться от макросенсоров и перейти на сенсоры или оставить рефлекторное реагирование на макросенсорах, а ассоциативное строить уже на сенсорах, потому как там однозначно дерево. | |||||||||
Метка админа: | |||||||||
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons История редактирования (4) Сообщение № 47809 показать отдельно Апрель 13, 2022, 06:36:44 PM ответ -только после авторизации
Потому, что я не понимаю, как у тебя формируется значимость признаков. Ты их просто пишешь в справочник. Если это единственно возможный вариант, то хотя бы должен быть принцип, на основании которого они определяются. Из за этой непонятки и все попытки вывернутся, придумав какой то механизм, из которого этого вытекает как свойство.
Главное отличие моей схемы в том, что я сделал так, чтобы действия оператора, в первую очередь фразы, воздействовали на базовые параметры, изменяя их уровень - и привязал ответные реакции к этим изменениям. У тебя лишь некоторые действия меняют параметры, например для энергобаланса это "накормить бота", а реагирование привязано к конкретным комбинациям признаков воздействия. И вот это ключевой вопрос: почему "реакция должна быть не на число, а на признак", если признак провоцирует изменения числа? Я вижу только один недостаток: невозможность определить, какой именно признак изменил число. Но это критично только для прогностического реагирования. А для рефлекторного вполне сойдет просто реагировать на внутренние изменения, спровоцированные внешним воздействием. Но ты утверждаешь, что не пойдет ни в каких вариантах.
Другой интересный момент: при такой схеме можно обойтись практически без значимостей. У меня для этого только тон сообщения. Такой диалог можно представить как разговор с собакой, когда мы понятия не имеем, что значат её мимика, звуки, а только уверенно определяем : если она рычит - значит наш ответ плохой, если виляет хвостом - хороший, если зевает - ей все равно. И уже на такой базе можно строить достаточно сложные диалоги. Другой пример попугай, который тоже ничего не понимает из нашей речи кроме каких то отдельных признаков, скорей всего интонации, и тем не менее говорит часто в тему. Для таких упрощённый схемы моя компоновка вполне сойдет. В твоем же варианте каждый признак должен иметь какую то значимость, иначе реакции не будет вообще никакой. Но можно предположить, что у примитивных организмов все устроено проще. Они реагируют по попугайской схеме, ориентируясь на внутренние изменения, с минимальным набором значимостей внешних признаков. Ведь такая схема возможна и она проще и главное вариабельнее. | |||||||||
Метка админа: | |||||||||
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons Сообщение № 47810 показать отдельно Апрель 14, 2022, 08:30:35 AM ответ -только после авторизации У только что родившегося детеныша нет базы значимостей внешних раздражителей потому, что нет примитивов для их распознавания. Они должны быть сформированы. При этом значимость к ним может цепляться только на основании внутренних изменений. Увидел что то красное, потрескивающее - сунул туда лапу, обжегся - зафиксировалось: красное, потрескивающее обжигает. И так как ожог согласно внутренней оценке гомеостатических значимостей "плохо", красному-потрескивающему тоже присваивается значимость "плохо" в единицах полученных термических повреждений. Единственно возможный вариант инициализации значимости для распознанных примитивов восприятия - перенос на них гомеостатической значимости. То есть начальная стадия распознавания, осмысления, реагирования строится на принципах привязки к изменениям внутреннего состояния. В этот период как раз и забиваются первые два справочника в твоей схеме бота. И только потом происходит формирование реагирования на основании полученных значимостей распознанных признаков - начало все более углубляющегося абстрагирования от непосредственного реагирования на раздражители в сторону построения более сложных вариантов реакций через построение прогностических моделей. Внутренние признаки изменений по прежнему будут участвовать при выборе реакции, но уже в значительно меньшей степени. Ты эту стадию проскочил и свел к простому забиванию справочников значимостей и ухудшений/изменений состояния. И не обратил внимания, что даже на таком уровне можно организовать подмену рефлексов на более адекватные, хотя конечно в простейшем варианте.
Когда котенок "пробует когти" пытаясь вылезти из коробки это можно понимать двояко: он формирует цель, достигает ее и закрепляет успешный вариант достижения. А можно просто сказать, что он стабилизирует потребность вылезти из замкнутого пространства, без всяких целей и смыслов, не понимая что делает - и тем не менее формирует правильный автоматизм. Такая схема тоже работает как раз для таких простых начальных действий. Потом уже задним числом автоматизмы приобретают смысл и окончательно корректируются. | |||||||||
Метка админа: | |||||||||
nan - админ Род: Сообщений: 12275 личная фото-галерея Оценок: 39 список всех сообщений clons Сообщение № 47811 показать отдельно Апрель 14, 2022, 08:41:03 AM ответ -только после авторизации
Нужно блюсти один принцип в восприятии: распознавание какого-то определенного качества, а не реагирование на величины сигналов. Никакие величины воздействующих сигналов на рецепторы не приводят к их восприятию, а только формируют наиболее часто встречающиеся сочетания, так, в зрительном восприятии это – точки, линии и т.п. примитивы. И они не имеют никакой значимости сами по себе. Если взять рецепторы гомеостаза, то качествами являются критические ухудшения и восстановления параметров, а также сочетания этих базовых качеств. А вот они уже имеют совершенно четкую значимость: плохо, норма, хорошо. И это качество задается безусловно, эволюционной прошивкой связей и никак иначе. Более высокоуровневое сочетание примитивов восприятия в контекстах активных гомеостатических значимостей придают качества примитивов восприятия значимость активного контекста.
Нив коем случае фразы не могут сразу нести в себе какую-то значимость. Она им придается сначала на уровне гомеостатических контекстов, а на уровне психики – произвольно, но с учетом текущего состояния базовых контекстов и их более сложных состояний – эмоций.
Числа постоянно мельтешат в восприятии (шум восприятия), а выделенные качества (распознаватели привычных сочетаний “чисел”) – выделяют из этого фона стандартные признаки свойств реальности – качества в терминах есть такое качество или нет в данный момент. Эволюция вынуждено сделала систему примитивов восприятия, чтобы опираться на выделенные актуальные для данного окружения признаки реальности. И именно такой подход необходимо использовать как уже наиболее выверенных огромным числом экспериментов. Мы предельно упростили восприятия уже данными качествами – словами, но мы их залили с избытком, а не те, которые актуальны для данного окружения, т.е. устроили фоновый шум уже из слов. Но слова, оказавшиеся в базовом контексте принимают на себя значимость данного контекста, а после реагирования – значимость результирующего базового контекста. И тогда, при достаточном числе повторений (чтобы убрать мусор) они входят в словарный запас уже с определенным смыслом для данных условий. | |||||||||
p.s. Допускаю, что мое утверждение может быть неверно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно. Метка админа: | |||||||||
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons Сообщение № 47812 показать отдельно Апрель 14, 2022, 07:19:51 PM ответ -только после авторизации
Если представить базовый параметр как рецептор параметра гомеостаза, то у него только два сигнала: 0 - параметр в норме, 1 - параметр за пределами нормы. И у него соответственно детектируются две значимости: "Норма" и "Плохо", где "Плохо" служит пусковым стимулом для запуска корректирующего безусловного рефлекса. Значимость "Хорошо" более позднее приобретение, нужная для закрепления варианта нового реагирования, что не актуально для не модифицируемых безусловных рефлексов. То есть вместо 100 рефлексов на каждое значение параметра нужен всего один, ну или 2, если сделать различным восстанавливающее реагирование для ситуаций когда параметр выше и ниже нормы. В этом случае базовый параметр реагирует по схеме: -1 (недостаток - Плохо), 0 (норма - Норма), 1 (избыток - Плохо). Если представить несколько базовых параметров и оценить общее итоговое состояние, от получим код типа: 0 | -1 | 1 | 0 |1 показывающий текущие качества каждого параметра. Это итоговый контекст состояния. Но у тебя их 11 (если не считать плохо - норма - хорошо). Видимо ты имеешь в виду, что определенная комбинация типа 01-1101 - это определенный базовый контекст. В справочнике у каждого задана значимость, но уже в виде числа от 0 до 100. Это судя по всему тоже эволюционная прошивка: наиболее часто встречающиеся сочетания активностей параметров гомеостаза выделились как примитивы - базовые контексты, которым опять же эволюционным отбором закрепился вес значимости. Правда тогда не понятно, зачем аналогичный вес для справочника GomeostaWeight - эта значимость по моему у тебя нигде не учитывается.
На вкладке "Значимость" ты формируешь безусловные рефлексы: на диапазоны значений базовых параметров гомеостаза и пусковые фразы активируются сочетания базовых контекстов у которых так же есть значимость, но кроме этого добавился еще признак лучше/хуже в единицах от 1 до 10. Здесь получается эволюционным отбором по тому же принципу выделения повторяющихся сочетаний диапазонов уровней базовых параметров, критически важных для каких то ситуаций подобрались методом тыка сочетания базовых контекстов и так же тыком подобралась значимость. А признак лучше/хуже показывает, насколько и в какую сторону критично такое пусковое сочетание. То есть значимости 0 в этом справочнике не будет по определению. Эти безусловные рефлексы и формируют итоговый динамический фоновый контекст, имеющий какую то итоговую значимость, которая и присваивается выделенному примитиву восприятия. То есть текущие внутренние изменения гомеостаза, подобранные опытным путем эволюцией, в виде значимости присваиваются текущему примитиву восприятия. И тут есть два момента:
То есть фразы, не имеющие значимости, при восприятии с пульта принимают текущую значимость - если она (сочетание базовых контекстов) повторится несколько раз. Если они потом будут использованы в виде ответа, то их значимость наложится на текущую. Опять же как - суммируется, усреднится? Но если безусловных рефлексов, активирующих базовые контексты будет мало, то получится малая вариабельность реагирования - на множество фраз будет одна и та же значимость. Получается, вкладка "Значимость" должна быть забита очень плотно, потому, что она по сути и определяет значимости фраз, на основе которых формируется их смысл. То же самое с определением удачности/не удачности "рефлекса - фразы", которая строится на основе лучше/хуже этого справочника. | |||||||||
Метка админа: | |||||||||
nan - админ Род: Сообщений: 12275 личная фото-галерея Оценок: 39 список всех сообщений clons Сообщение № 47813 показать отдельно Апрель 15, 2022, 08:15:47 AM ответ -только после авторизации Я так понял, что вопрос почему не следует использовать величины параметров, а реагировать только на совокупность выделенных признаков-коррелятов реальности, снят с обсуждения и ты начал углубляться в особенности реализации? Если у тебя еще есть сомнения на этот счет, то нужно бы добить вопрос до полной ясности. Сейчас важно пройтись по пониманию и верификации принципов, а не особенностей реализации. В самом общем плане, важно сначала выделить наиболее характерные для жизненного пространства особи корреляты реальности, потом обнаружить, как они совпадают с изменениями гомеостаза и какое поведение позволяет улучшить контекст в сторону Хорошо или просто Норма (т.е. в контекстах гомеостаза создать условные рефлексы, а в контекстах эмоций - автоматизмы). Т.к. я минимизировал рефлексы и сделал упор на автоматизмы, то роль сложных распознавателей сочетаний слов у меня выполняет ветка Дерева с такой фразой, а у тебя введено понятие макросенсора. Если бы не быдл Дерева, то да, нужно как-то эмулировать сложные распознаватели. Или можно реально создавать коллекцию сложных распознавателей, а Дерево бы могло записывать в одном узле один такой макросенсор. Но в природе формирование примитивов восприятия ограничено ранним критическим периодом, а Дерево лишено таких ограничений. Можно и систему макросенсоров лишить ограничений на создание новых в любое время. Но примитивы организованы очень логично: сначала формируются самые просты достаточно часто повторяющиеся сочетания, и только потом созревает слой сочетаний, уже имеющихся примитив, и так сколько-то раз (несколько слоев все более усложняющихся примитивов). Если бы они формировались одновременно, то возникала бы каша. Так вот Дерево в этом плане обеспечивает отсутствие каши и более сложные фразы возникают только на основе более простых – принципиально. Поэтому на уровне автоматизмов Дерево оказалось предельно эффективным образованием. Но. если я начну делать проект с нуля по уже имеющимся представлениям, то и на уровне рефлексов забубеню дерево – пусть обеспечивает уже там формирование макросенсоров – примитивов восприятия, и тогда дерево на уровне автоматизмов сможет использовать уже такие готовые макросенсоры – как отдельные понятия и окажется сильно упрощено, но тут нужно немало подумать. Главное, что рефлексы станут в самом деле в хорошо наблюдаемой иерархии ветвящихся с каждым новым рефлексом контекстах, что может дать новые возможности.
Компараторы границ приемлемости жизненных параметров, да, именно так и работают: сколько параметров, столько для каждого свой компаратор границы нормы. А вот на их основе формируются значимости – как распознаватели общих состояний Норма, Плохо, Хорошо. Если все параметры оказываются в норме, то это значимость (Неплохо+Нехорошо), или Норма. Величины весов нужны, как для любого персептрона для того, чтобы организовывать профили распознавания этих трех базовых значимостей. Это – уровень безусловных рефлексов (выявляется длительной эволюцией данного вида в данном ареале его обитания), т.е. должно прошиваться редактором заранее перед обучением. На основе трех базовых значимостей формируются базовые контексты реагирования – основные стили поведения, что так же является безусловными прошивками (выявляются эволюцией данного вида в данном ареале его обитания). Базовые контексты оказались практически схожими у всех живых существ, сложнее одноклеточных, настолько они универсальны. А вот с различием дальнейших прошивок безусловных рефлексов возникают уже более уточнение контексты на основе каждого из базовых. А потом на их основе, уже на уровне развития отдельной особи начинают ветвятся условные рефлексы. Так что для каждого узла дерева рефлексов будет один конкретный рефлекс. Но самые поздние рефлексы на имеют преимущество перед предыдущими – это очень важный и общий принцип контекстного реагирования. | |||||||||
p.s. Допускаю, что мое утверждение может быть неверно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно. Метка админа: | |||||||||
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons Сообщение № 47814 показать отдельно Апрель 15, 2022, 05:10:27 PM ответ -только после авторизации
Думаю все же правильнее будет понимание необходимости привязки к выделенным коррелятам реальности по той причине, что иначе не возможно будет развить реагирование до уровня глубоких прогностических моделей. Вся адаптация сведется образно выражаясь к "умению держать удар". То есть буквально: тебя посадили в сурдокамеру с металлическим полом и периодически пускают по нему ток. Удары не стабильны, постоянно меняется время удара и нет никакой возможности понять их причину и соответственно придумать способ как прекратить пытку. Остается только тренироваться терпеть и развивать какие то внутренние резервы. Такое реагирование может быть у самых примитивных организмов типа губок, которые при внутреннем сигнале недостатка энергии расширяют поры для ловли проплывающего мимо корма, а при избытке сужают. Им не нужно выделять корреляты проплывающего корма, потому, что они на него не охотятся и не собирают. А вот как только организмы перешли к подвижному образу жизни, потребовались сенсоры для целенаправленного поиска корма.
Правда у меня более продвинутое реагирование, там все же есть прошитая значимость на уровне оценки тона сообщения: негативный, позитивный, нейтральный. И это даже позволяет при помощи цепочек памяти делать грубый прогноз на шаг вперед, какой тон выберет оператор на такой то ответ исходя из прошлого опыта. Но при попытке развить такую систему до уровня более глубоких прогнозов встала проблема с уже сформированными рефлексами. Когда я добавил к пусковым стимулам кроме уровня базовой потребности и фразы оператора рисунок контекстной матрицы встал вопрос - а зачем тогда привязка к уровню потребности? Если этот уровень отображается на матрице в виде рисунка? Получилось дублирование, когда один и тот же пусковой стимул задан двумя параметрами. И тогда, если использовать контекстные рисунки, привязка к уровню базовой потребности теряет смысл. Вообщем этот путь оказался тупиковым. Я подошел к задаче как технарь: есть входные параметры, надо придумать механизм, который выдает на их основе нужные выходные. Вот я и стал их придумывать.
У меня новый макросенсор возникает по мере обнаружения нового сочетания до определенных стадий развития, потом перестает. Иначе будет все более нарастающее укрупнение до уровня предложений и абзацев. Хотя правильнее будет сделать формирование нового только после нескольких повторений, по тому же принципу, как возникли сенсоры из которых он формируется. И тогда получается, создание макросенсора это условный рефлекс, собирающий временную сборку из сенсоров предыдущего слоя, которая после использования его в рефлексе закрепляется, а если какое то время этого не случилось - стирается. По крайней мере для макросенсоров надо будет ввести такое устаревание, чтобы не загромождать базу.
Когда сделал дерево ассоциаций, то тоже решил перепилить макросенсоры в виде дерева - поиск очевидно быстрее будет. Но это потянуло бы перепиливание почти всего проекта. А раз к этому все равно идет, то видимо тоже сделаю дерево. Кроме того, дерево избавит от надобности формирования вариантов из обрывков воспринятого макросенсора. То есть слово "привет" у меня превращается в: приве - прив - при - пр - ривет - ивет - вет - ет. И на каждый обрывок ищется рефлекс. А так будет просто пробежка по ветке с поиском дочерних узлов, что и быстрее и логичнее. Ищется не все возможное, а только воспринятое когда то многократно и зафиксированное в виде макросенсора.
У меня сейчас безусловные рефлексы:
Условные рефлексы: если есть рефлекс (в основном активация рисунка контекста на матрице) на слово "стой", но нет на слово "ну ка", то после трех кратного повторения подряд "ну ка стой", и при улучшении состояния, на "ну ка" привязывается рефлекс от "стой". Происходит как бы расширение рецептивного поля для "стой" - классика "звонок - выделение слюны". Это думаю самый древний и примитивный способ расширить реагирование не изобретая новый рефлекс, что требует сложных механизмов, а просто используя реагирование от другого при определенных условиях - по сути попытка среагировать заранее, вдруг это окажется удачным. Это кстати опять таки проявление динамических диапазонов реагирования. У меня стойкое ощущение, что я что то такое через них нарыл, только сам еще смутно понимаю что, и еще более смутно, в каком месте их использовать, поэтому вставляю их куда не попадя, авось приклеится. | |||||||||
Метка админа: | |||||||||
nan - админ Род: Сообщений: 12275 личная фото-галерея Оценок: 39 список всех сообщений clons Сообщение № 47815 показать отдельно Апрель 15, 2022, 05:31:50 PM ответ -только после авторизации Сейчас мировая ситуация очень расхолаживает, люди ждут, что будет дальше ведь очень многое может очень сильно измениться. Я – не исключение, но уже сделал плацдарм для начала новой сборки с нуля и начали возникать многие полезные мысли. В частности, сделаю дерево для имитации иерархии распознавания словосочетаний. Это дерево не будет привязано ни к каким условиям, и работает только для слов. Думаю, это позволит избежать необходимости строго последовательного развития усложняющихся примитивов просто потому, что если в дереве есть начало фразы, то нет никакого препятствия добавить в ее конец еще слово или фразу, но при этом сохранится возможность добавлять и отдельные слова на первый уровень. Буду скармливать кучу текстов чтобы система начала выделять сначала наиболее повторяющиеся слова – первый уровень дерева, следующие узлы – продолжение и т.д. без ограничений хоть даже и длинной фразы, раз она столь часто попадается. IDузлов будут использоваться в дереве рефлексов (гомеостатические контексты) и в дереве автоматизмов (эмоциональные контексты). Все становится ясным и чОтким. Так что 1) делаю модернизованный гомеостаз с распознавателями стилей поведения, 2) дерево повторяющихся словосочетаний (базовый сенсор отдельных слов таким и остается.) В таком варианте тебе скину и думаю, что уже не будет возникать вопросов и непоняток. Буду сразу вести подробное описание всех сделанных механизмов. | |||||||||
p.s. Допускаю, что мое утверждение может быть неверно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно. Метка админа: | |||||||||
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons Сообщение № 47816 показать отдельно Апрель 15, 2022, 07:27:17 PM ответ -только после авторизации
Ветка в дереве формируется в последовательности частей слова, то есть сначала предлог, у него дочерний корень, у того дочерний окончание. А распознавание в реальности часто идёт по началу и концу. То есть если итоговый рефлекс будет запускаться только на конечный узел, то будет расхождение с реальностью. Либо дерево надо формировать не в иерархии последовательности частей слова фразы, а в иерархии значимости. Самое часто встречаемое с двигать в конец. То есть дерево макросенсоров должно быть динамическим, постоянно перестраиваемым. Практмчески для слова это будет так: родитель корень, дочерняя пара предлог и окончание. Они сработают в приоритете как пусковые сенсоры. Если будет неопределённость, тогда шаг вверх по дереву, добавляется корень и новое осмысление. Тоже и для фраз. В итоге в дереве в самом низу самые важные обрывки слов и фраз, и далее вверх по дереву по убыванию значимости. Значимость в данном случае это повторяемость, применяемость. Так будет максимально быстрое распознавание при минимуме воспринятого. | |||||||||
Метка админа: | |||||||||
nan - админ Род: Сообщений: 12275 личная фото-галерея Оценок: 39 список всех сообщений clons Сообщение № 47817 показать отдельно Апрель 15, 2022, 07:35:47 PM ответ -только после авторизации Вообще-то не собираюсь делить слово на части, пусть оно работает целиком, с каждой частью это - отдельное слово. Распознаватели работают механически, безыскусно и ребенок воспринимает слова, не деля его на части, это в школе начинается грамматический формализм. Да, такое дерево может получиться очень большим, но не думаю, что очень, ведь там будут запоминаться не слова, а их id. А может и не будет большим как у Эллочки-Людоедки. Возможно не стоит использовать существующий массив корней, окончаний и символов. Пусть базовый сенсор заполняется только повторяющимися словами, а их ID уже войдет в дерево. Т.е. в дереве потенциально должно быть место для любых буквосочетаний. Тогда первым уровнем будут символы. Но спешить не буду, пусть варится. Пока займусь гомеостазом. | |||||||||
p.s. Допускаю, что мое утверждение может быть неверно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно. Метка админа: | |||||||||
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons Сообщение № 47818 показать отдельно Апрель 16, 2022, 10:15:20 AM ответ -только после авторизации Подведем итог по моей схеме. Вот краткое описание ее основных принципов:
Пусть у бота будет один базовый гомеостатический параметр, отображающий текущий уровень энергии. Представим его в виде линейки с делениями от 0 до 100, на которой три зоны: недостатка, нормы и избытка. Цель адаптации – находиться в зоне норма. Выход из нее в любую сторону актирует контекст «Плохо», попадание в зону «Хорошо», который через некоторое время переходит в состояние «Норма».
Оператор при каждом сообщении указывает тон, который может быть негативный, позитивный и нейтральный, который сдвигает текущий базовый параметр на некоторую величину: негативный в минус, позитивный в плюс. Тон единственный значимый для бота воспринимаемый признак, слова оператора просто набор бессмысленных символов, которые служат дополнительным стимулом для запуска рефлексов.
Рефлексы активируются по двум признакам: диапазон базового параметра и слово/фраза оператора. Успешность рефлекса определяется за счет сравнения текущего значения базовой потребности до выполнения рефлекса и после. Если значение приблизилось к зоне комфорта или попало в нее – рефлекс успешный, счетчик статуса увеличивается на 1, если удалилось – не успешный, счетчик статуса уменьшается на 1. При достижении статуса -1, что означает 2 неудачных попытки, рефлекс блокируется и его диапазон реагирования берут на себя два соседних рефлекса, поделив пополам.
Каждый шаг диалога записывается в виде цепочек памяти, состоящих из пар: ответ оператора на предыдущую реплику бота – новая реплика бота. Но записываются они наоборот реплика – ответ, что позволяет формировать цепочки личного опыта: что скажет оператор на такую то реплику. Такой прогноз никак не учитывает контекста разговора на момент его записи, поэтому не точен. Но за неимением лучшего такие «предполагаемые ответы оператора» используются ботом как свои ответы, когда нужно попробовать вставить на место заблокированного новый рефлекс. То есть бот просто использует в простейшем варианте чужой опыт.
Формирование новых вариантов реагирования у бота реализовано тремя способами:
Резюме:
Думаю, это максимум, что можно выжать из этой схемы. Потому, что если значимость для бота имеет только тон сообщения, а фразы бессмысленный набор символов, не получится построить индивидуальные прогностические модели с личной оценкой, только усредненные статистические. Интересный вопрос возникает и по поводу самих макросенсоров. Если это просто фиксация нового сочетания сенсоров, такого же бессмысленного как и все предыдущие, значит вместо них можно записать любое хаотичное сочетание символов, главное, чтобы такие макросенсоры отличались друг от друга. Такой подход делает уже принципиально не возможным дальнейшее развитие адаптации, ведь к хаосу невозможно адаптироваться. Поэтому попытка прикрутить дополнительные контексты закономерно сталкивается с проблемой актуальности наработанных рефлексов. В новом концепте их надо будет переоценивать, заново перетряхивать всю базу, привязывая только к значимым сенсорам. Так же лишние в схеме активации контекстов «Плохо – Норма – Хорошо» потому, что они никак не участвуют в формировании новых, замене старых или оценке существующих рефлексов. Оценка делается при помощи состояний стало лучше/стало хуже. | |||||||||
Метка админа: | |||||||||
nan - админ Род: Сообщений: 12275 личная фото-галерея Оценок: 39 список всех сообщений clons Сообщение № 47819 показать отдельно Апрель 16, 2022, 01:03:02 PM ответ -только после авторизации Очень много людей пытались придумать какие-то свои механизмы, не отталкиваясь от природы, но нифига. Мало того, попытки строить механизмы, частично отталкиваясь от природы – тоже нифига не дают потому, что любой шаг в сторону требует очень много проверять и натыкаться на тупики, которые природа за миллионы лет и миллиарды особей обошла, придя ко вполне определенным схемам. Эти схемы тоже имеют много тупиковых видов, когда адаптивная функциональность ограничивается чем-то мешающим идти в этом направлении. Но все животные, сложнее рыб заимели уже обкатанную универсальную модель иерархии механизмов, лучше которой что-то сделать просто не хватит времени жизни исследователя. Можно улучшить ее возможностям данного метода реализации, но отойти от основных принципов не получится. Поэтому нужно делать все по природному фэншую, данных по которому собрано вполне достаточно, не отклоняясь на. казалось бы, клевые придумки. В программной реализации можно отклониться от использования нейронов как персептронов и многое сделать легче, но что касается принципов, то вряд ли получиться сотворить что-то неприродное, свое. Я уже начал понемногу готовить новый проект и там постараюсь не отходить от природных принципов при тех упрощениях, которые неизбежны. Т.е. любая оптимизация кода должна бы иметь в виду то, насколько это не упрется в попрание природных принципов. Твоя тварь – достаточно простое живое существо, но ты во многом как бы не учитываешь то, что должно быть обязательно. Например:
После базовых контекстов Плохо, Норма, Хорошо должны быть базовые стили поведения типа исследовательское, половое, пищевое, оборонительное и т.п. и далее – следующих уровень уточнения этих контекстов. | |||||||||
p.s. Допускаю, что мое утверждение может быть неверно, поэтому прошу показывать, что именно и почему неверно и запрашивать объяснения, если что-то непонятно. Метка админа: | |||||||||
Palarm - админ Род: Сообщений: 2771 личная фото-галерея Оценок: 6 список всех сообщений clons Сообщение № 47820 показать отдельно Апрель 16, 2022, 04:34:01 PM ответ -только после авторизации Общее состояние гомеостаза определяется на основании состояний его базовых параметров. Если их несколько, то возникает два варианта: оценивать среднее по всем или текущего актуального. У меня сделано по второму варианту, где актуальным становится тот базовый параметр, который больше других выведен из нормы. Если же все окажутся в одном состоянии, то по умолчанию актуальным становится нулевой параметр - энергобаланс. Я приводил пример такого переключения как жонглера, крутящего тарелки на длинных шестах и постоянно бегающего между ними, подкручивая в первую очередь самые неустойчивые. Эти состояния активируют базовые контексты Плохо - Норма - Хорошо, про логику активации уже говорил, так же как и про логику стало лучше/стало хуже. Насколько такая схема адекватна природной реализации? Конкретно:
Третий пункт особенно интересен потому, что пусть это опять получается придуманный механизм, но как мне думается он все таки удачен. Ведь любая динамическая система имеет уровни функционирования, при которых она затухает, идет в разнос или стабильно функционирует. Очевидно, что стремление находиться в стабильной зоне естественный и закономерный, а не кем то выдуманный процесс для адаптационной системы. Так же удачным мне кажется механизм определения лучше/хуже как приближение к зоне стабильности и удаления от нее. Это заодно позволит оценивать успешность рефлекса не только при попадании в зону комфорта, но и при приближении к ней. Иначе будут оцениваться только те, что позволяют вернуться в зону, а все прочие будут считаться неудачными. Что ты скажешь по поводу такой модернизации твоей схемы: по данным справочника "Контексты", при активации определенных контекстов сдвигаются текущие уровни базовых параметров, которые поделены на зоны. Тот параметр, что больше всех отклонится от своей зоны комфорта становится текущим актуальным по нему оценивается общее состоянии с активацией базовых контекстов Плохо-Норма-Хорошо. Думаю это будет выглядеть логично - поддержка баланса гомеостаза через стабилизацию его базовых параметров. Кроме того, оценка лучше/хуже через приближение/удаление от зоны решит проблему учета потенциально удачных рефлексов. И состояние Хорошо будет активировать не только при попадании в зону комфорта, но и при приближении к ней. | |||||||||
Метка админа: | |||||||||
Обнаружен организм с крупнейшим геномом Новокаледонский вид вилочного папоротника Tmesipteris oblanceolata, произрастающий в Новой Каледонии, имеет геном размером 160,45 гигапары, что более чем в 50 раз превышает размер генома человека. | Тематическая статья: Тема осмысления |
Рецензия: Рецензия на статью | Топик ТК: Дисциплина и сила воли |
Из коллекции изречений: >>показать еще... |