На форум
  Автор

Нейросимулятор

(Просмотров: 7869)
Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
1. « Сообщение №46310, от Декабрь 05, 2019, 11:16:47 AM»

Попробовал сделать простейшую однослойную сеть по аналогии с природной реализацией. Сеть состоит из сенсорной матрицы 3х3 и одного слоя нейронов.

 

Пока что реализовано:

  1. Установка чувствительности сенсоров
  2. Установка порога срабатывания нейрона
  3. Установка логики нейрона И/ИЛИ

еть настроена на распознавание простейших примитивов типа «прямой отрезок» - 6 видов: 3 горизонтальных и 3 вертикальных. Возможно расширить функциональность сети простым добавлением данных (без перепрограммирования):

  1. Увеличить размерность матрицы – теоретически до бесконечности
  2. Научить ее распознавать оставшиеся начальные примитивы (наклонные линии, дуги) – в принципе что угодно, но начального уровня, потому как сеть однослойная

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

Дальнейшее предполагаемое развитие:

  1. самообучение
  2. многослойная сеть
  3. автоматический рост сети

Среда разработки - MSSQLServer. Просто он был под рукой и не хотелось заморачиваться с визуализацией. Кроме того, данные по весам синапсов и настройкам надо где то хранить, а сама СУБД кроме хранения подразумевает и обработку данных на сервере через T-SQL и триггеры. Я изначально предполагал минимум кода на клиенте, кроме отправки данных (внешних воздействий) и получение отклика – как оно и есть в реальности. Пока что клиентского кода вообще нет, удалось простейшую логику реализовать на одном триггере и свойствах таблиц.

 

Таблицы

Sensor_layer_1 - сенсорная матрица. В ней кодируются данные сенсоров.

Поля таблицы:

  • ID_R(int) – внутренний ключ таблицы
  • R(smallint)рецептор. Принимает значение внешнего сигнала в виде целочисленных положительных и отрицательных значений.
  • Limit_sensor(smallint) – задает чувствительность сенсора в виде целочисленных положительных и отрицательных значений.
  • AKS_sensor(bit) – выдает реакцию сенсора в виде двух значений: 0 – нулевой сигнал, 1 – не нулевой сигнал.

 

Neuro_synapse – данные по весам синапсов нейронов и ключи для связи с сенсорной матрицей и нейроном. Эта таблица вместе с таблицей Neuron реализуют функционал нейрона. Сделал 2 таблицы из соображений оптимизации схемы БД, можно было нейрон реализовать в одной, но это не совсем по фэншую было бы (повторяющиеся данные).

Поля таблицы:

  • ID_S (int) – внутренний ключ таблицы
  • ID_R (int) – внешний ключ таблицы для связи с Sensor_layer_1
  • ID_N (int) – внешний ключ таблицы для связи с Neuron
  • Snp (smallint) – вес синапса в виде целочисленных положительных и отрицательных значений.

Neuronнейрон, вернее та его часть, что реагирует на внешние воздействие.

Поля таблицы:

  • ID_N (int) – внутренний ключ таблицы
  • Limit_neuro (smallint) – задает порог срабатывания нейрона в виде в виде целочисленных положительных значений.
  • AKS_neuro (bit) – выдает сигнал с нейрона в виде двух значений: 0 – нулевой сигнал, 1 – не нулевой сигнал.

Проверить работу сети можно при помощи скрипта SQLQuery_1. Он подает сигналы на матрицу на ее рецепторы 1, 2, 3 что означает примитив «горизонтальная прямая». Так же обнуляет все остальные рецепторы сенсора. Потом через «Select…» выводит данные по таблицам. В итоге видим, что если подать на эти три входа сигнал в 2 единицы, что соответствует предустановленной чувствительности сенсоров – сработает нейрон с ID_N=1 - на выходе (AKS_neuro) получим 1. Это работа логики И. А вот если поставить порог срабатывания нейрона ID_N=1 не 3, а 1 – то получим логику ИЛИ, так как для срабатывания будет достаточно потенциала от одного синапса, а не трех.

То есть порог срабатывания нейрона (Limit_neuro) задается исходя из суммы получаемых на его синапсы весов, что позволяет легко переобувать его с И на ИЛИ просто меняя его порог. А количество синапсов нейрона задается в таблице Neuro_synapse –здесь через связь «многие ко многим» задаются отношения таблиц синапсов и сенсоров к нейронам, то есть их связи. Так как одна запись в таблице сенсоров, синапсов и нейронов формирует соответственно один рецептор, синапс, нейрон – то простым добавлением записей можно легко масштабировать сеть.

 

PS:

В описании много непонятного для тех, кто не работал с СУБД, но объяснение терминологии слишком далеко увело бы от сути. Если будут вопросы, постараюсь перевести с птичьего на человечий. А пока для начала интересно, что думает Nan по этому поводу – насколько правильное попадание в его фэншуй.

Nyeyrosimulyator.rar

Syensornaya_matritca___svyazi.png



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
2. « Сообщение №46312, от Декабрь 05, 2019, 12:17:02 PM»

Народ затруднится с запуском... У меня тоже нет оболочки MSSQLServer и не хочу ее ставить. По тексту вижу sql-запросы :)




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
3. « Сообщение №46313, от Декабрь 05, 2019, 12:24:02 PM»

Тогда придется больше картинок и видео с захватом экрана. Вот так выглядят забитые таблицы для распознавания примитива линия (1-2-3 сенсоры).

 

А вообще появилась наконец возможность более предметно разговаривать. Видимо придется переводить БД на локальную версию кодить логику и прикручивать визуализацию.

 

Sensor_layer_1 - в записях 1-2-3 (поле ID_R) видим, что на рецепторы (R) поступили сигналы с уровнем 3, что равно порогу срабатывания сенсора (Limit_sensor) и он сработал, выдав True (AKS_sensor). Это срабатывание выполнил триггер, реагирующий на изменение данных в поле (R) - он записал уровень 1(True) в поле выхода сенсора. И он же отправил в таблицу синапсов (Neuro_synapse) этот же уровень с весом 1 (пока не заморачиваемся дроблеными весами) в ее поле (Snp). Там он нашел нужные записи для обновления по кодам ID_N и ID_R - это таблица связей. ID_R - код записи таблицы сенсоров, ID_N - нейронов. И после этого тот же тригер сложив эти три веса и сравнив их с уровнем порога нейрона (Limit_neuro) в его таблице прописал на его выходе (AKS_neuro) уровень 1(True) - вот и вся примитивная логика. Но уже она позволяет играться с чувствительностью сенсоров, порогами нейронов и связями между нейронами и матрицей - и тем самым настраивать сеть на распознавание примитивов.

 

Реализация переключения режима нейрона (И/ИЛИ) делается очень просто: нужно лишь поставить его порог 1 - тогда сумма весов синапсов всегда будет его открывать - стало быть это ИЛИ. А если порог больше 1 - тогда нужно соответствующее кол-во синапсов с весами не меньше 1.

 

Nyeyrosimulyator_1.rar




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
4. « Сообщение №46314, от Декабрь 05, 2019, 03:11:02 PM»

Да, в таком виде это никого не затронет, а визуализировать лучше всего средствами серверного формирования html Если ты всерьез захочешь написать демо, я помогу его так реализовать и выложить на сайте.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
5. « Сообщение №46315, от Декабрь 05, 2019, 04:53:50 PM»

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

автор: nan сообщение № 46314:
Если ты всерьез захочешь написать демо

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

автор: nan сообщение № 46314:
лучше всего средствами серверного формирования html

Да пофигу. Я думал, что можно в принципе к удаленному серваку подрубаться, как мы это делали с нашими магазинами, но это не камильфо - открывать сервак. Можно было бы локальную БД юзать, тот же Access через ADO, но если можно сделать симулято на сайте с интерактивным интерфейсом - будет еще прикольнее. Только насчет БД не понял - ты имеешь в виду перевести ее на MySQL?

автор: nan сообщение № 46312:
По тексту вижу sql-запросы :)

Это скрипт БД. Если есть MS SQL - открываешь в ней скрипт, жмешь выполнить - он генерит БД с таблицами и триггером.

Я зацепился за БД потому как ассоциация с нейросетью прям таки бросается в глаза, хотя возможно лишь в мои дилетантские.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
6. « Сообщение №46316, от Декабрь 05, 2019, 05:52:44 PM»

С сервером нет проблем, у меня - выделенный, очень мощный сервер.

Да, mysql, если вообще есть смысл тормозиться запросами к БД вместо использования массивов. В БД можно записывать исходные и конечные конфигурации.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
7. « Сообщение №46317, от Декабрь 05, 2019, 06:22:13 PM»

автор: nan сообщение № 46316:
Именно поэтому я не покушался на столь объемную модель.

Можно ведь и меньшую по объемам попробовать. Кстати, подумалось, что моя идея задавать логику нейрона через установку порога его срабатывания не только простая, но и близка к реальности. Только тут порог в не совсем моем привычном понимании, как сумма потенциалов на входе. Иначе получится, что скажем пришли на 10 входов по +5V - и тогда порог срабатывания +50V? Имхо бред. А если на каждом входе по 0,5V - это уже по сути нули - опять фигня. Если бы это была цифровая микросхема, тогда понятно, что просто комбинация 0 и 1 - а тут одни 1 да еше и с весами. Это сбивало с толку.  А сейчас думаю так:

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

Так и в моей схеме: надо сделать "И" для пяти синапсов нейрона - ставим порог 5, надо сделать "ИЛИ" при тех же синапсах - ставим 1.

 

А еще основная мотивация сделать относительно простой симулятор - понять, как собираются примитивы более высокого уровня. Ведь если просто сложить в кучу пару горизонтальных и вертикальных линий - получим кроме прямоугольника еще и варианты разных крестиков. Стало быть, нужно концы с концами соединять. Но в моей схеме я специально сделал не принципиальным нумерацию синапсов, она только для схемы в БД нужна. То есть в моей реализации сети у палки нет понятия конец и начало - есть просто палка. А складывать то их как то надо. И я подозреваю в природной нейросети так же происходит, потому как нейрон в принципе не может определить какой конкретно синапс получил сигнал - у него же нет bat-таблицы синапсов, там просто сумма весов без разницы в каком порядке и каких. Значит эти концы определяются потом, видимо на других слоях. Я думаю, что в многослойном персептроне как раз присутствует нумерация связей, что естественно для программиста - какой же дурак будет вычислять номер записи если уже изначально есть ее код в таблице. А потом начинаются пляски с бубном как из этой кучи получить распознавание. И это резко уводит в сторону от природной реализации и как результат - к затупу дальнейшего развития. Это моя гипотеза такая.

автор: nan сообщение № 46316:
если вообще есть смысл тормозиться запросами к БД вместо использования массиво

Все равно ведь где то надо хранить схему связей, пороги срабатывания - тут однозначно таблицы просятся, они на это заточены. А бегать циклами по массивам - имхо моветон для БД-шника, мужики не поймут :). 

автор: nan сообщение № 46316:
В БД можно записывать исходные и конечные конфигурации.

Ты про логи? Оно прикольно, но память ведь иначе работает, не как прямая запись всего подряд. Если только для нужд исследований, историю модификации сети - тогда да.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
8. « Сообщение №46318, от Декабрь 05, 2019, 07:06:11 PM»

>>понять, как собираются примитивы более высокого уровня

Вот подумай над одним из вариантв: если по ИЛИ собрать выходы разных детекторов линий (разные наклоны, толщины, длины, цвета), то получим один детектор: “Это - линия”. – уже абстракций вне масшатов и т.п. Такой детектор может возникнуть не в случае автогенерации созревшего нейрона, а в случае, если нейрон уже установил связи с неким контекстным параметром необходимости детекции линий и, возбудясь им, начинает устанавливать связи по ИЛИ со всеми случаями активности линий. Это – реальный механизм контекстного формирования детекторов абстракций примитивов.

>>где то надо хранить схему связей, пороги срабатывания

Статически заданный массив для данной эмуляции.

>>бегать циклами по массивам - имхо моветон для БД-шника, мужики не поймут :).

Это, может, у вас в анклаве БД-шников такие понятия, а у более безграничных программеров этого прикола нет :) Если массив более эффективен, то он используется.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
9. « Сообщение №46319, от Декабрь 05, 2019, 07:47:31 PM»

автор: nan сообщение № 46318:
Вот подумай над одним из вариантв:

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

автор: nan сообщение № 46318:
Статически заданный массив для данной эмуляции.

В смысле? Сервак понятно дело молотит не переставая. Ты предлагаешь загрузить в оперативку массив? А потом ВЫКЛ - и сеть сдохла до уровня начальных параметров. В моем понимании статические параметры хранятся в файлах, но никак не в динамике. 

автор: nan сообщение № 46318:
а у более безграничных программеров этого прикола нет

Однажды мне довелось допиливать за таким умником прогу. Делал ее какой то VB-шник, судя по всем никогда не имевшим дело с БД. Там у него сплошные массивы вместо таблиц, которые получали данные из форм-редакторов и каких то модулей с константами и пробежки циклами вместо селектов. Все работало, пока эта виртуальная БД не раздулась и не стала колом. И даже на Аксе она взлетела соколом, потому как реально данных там всего на тьфу было. Ведь в массиве нет индексов, поиск самый тупой - перебором.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
10. « Сообщение №46320, от Декабрь 05, 2019, 08:43:37 PM»

автор: Palarm сообщение № 46319:
Ты предлагаешь загрузить в оперативку массив?

Да нет же :) html выдается сервером на основе скриптов, скажем, на PHP. И вот там может быть записн какой угодно массив или куча массивов. БД так же на сервере находятся в виде файлов, но,учитывая огромную нагроможденность интерфейса, обращение к фалу скрипта всегда быстрее и эффективнее. Я часто разгружаю mysql вставками на файлах и это не моветон, хотя в любом находятся те, кто считает иначе :)




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
11. « Сообщение №46321, от Декабрь 06, 2019, 03:27:04 AM»

автор: nan сообщение № 46318:
Вот подумай над одним из вариантв

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

 

Например мы видим нечто, что провоцирует активность признаков группы прямая, наклонная - они в свою очередь объединены в группу ломанная. Возникает уверенность, что мы видим что то ломанное. Начинаем уточнять, рассматривая фрагмент объекта - активируются группы наклон 35, 45, 55 градусов - среди них наиболее активна группа 45. Смотрим на объект еще внимательнее - активируются группы длина 9, 10, 11 см - с наиболее активной среди них 10 группой - и вот мы получили параметры для отрисовки прямой в полярных координатах, методом приближения среди выборки многоуровневых группировок объекта.

 

При этом понятия градус, мм - тоже группировки созданные при сравнении с неким внутренним эталоном, начальным примитивом меры длины и угла. Дискретность групп зависит от этой "внутренней линейки", от нее зависит что считать кучей, 1, 2 или 3 ореха, какая куча больше или меньше и насколько. Мы можем уверенно отличить какой отрезок больше/меньше, но вот с понятием длины уже намного хуже - отличить метровую палку от двухметровой легко, но по факту, после измерения рулеткой окажется, что к примеру метровая это 1,25м а двухметровая 2,33м.

 

Выходит, действительно можно распознавать объекты не заморачиваясь где у палки начало, конец или координаты опорных точек. На самом деле начало, конец, координата - это тоже группы признаков объекта. Сами по себе эти параметры не нужны для распознавания, это просто наши условности, по которым делается группировка.

 

PS:

если головастики в своих многослойных персептронах действительно шаманят с координатами опорных точек - они страшно далеки от реальности и ясень пень не имеют ни малейшего понятия, что там у них в слоях распознается (и что они имеют в виду под "слоем"?). А тут все более чем очевидно. Можно легко выгрузить логи, показывающие точные шаги активации группировок



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
12. « Сообщение №46322, от Декабрь 06, 2019, 06:36:40 AM»

автор: nan сообщение № 46320:
Да нет же :) html выдается сервером на основе скриптов, скажем, на PHP. И вот там может быть записн какой угодно массив или куча массивов.

Мой опыт работы с тырнетом ограничивается парой сайтов, один на html, где через "инклуды" вставлял местами динамические фрагменты, другой на php. И вот там обратил внимание, что в шапке php прописываются вызовы других php, где например сидят глобальные функции. Ты видимо так грузишь свои массивы в страницу?

Есть такая мысля: если я тебе дам в личку строку подключения к БД на серваке, то ты тогда сможешь параллельно лабать интерфейс а я буду своим серваком заниматься. Тебе пока что надо просто в таблицу сенсоров втыкать данные самым примитивным инсертом - вся обработка будет на серваке.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
13. « Сообщение №46323, от Декабрь 06, 2019, 09:10:08 AM»

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




usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
14. « Сообщение №46324, от Декабрь 06, 2019, 12:12:13 PM»

автор: Palarm сообщение № 46310:
Среда разработки - MSSQLServer. Просто он был под рукой и не хотелось заморачиваться с визуализацией.

MS SQL Server - не лучший выбор. У меня его нет на Linux-е. Завтра я посмотрю твою работу. Уверен, что её можно портировать под разные среды.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
15. « Сообщение №46325, от Декабрь 06, 2019, 01:22:38 PM»

Конечно можно, просто он под рукой был на работе. Я ее перекачаю на MySQL, там продолжу, Nan поможет.


usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
16. « Сообщение №46326, от Декабрь 08, 2019, 03:12:04 PM»

Зачем ты пронумеровал нейроны 5 и 6 номерами 7 и 8?

INSERT [dbo].[Neuron] ([ID_N], [Limit_neuro], [AKS_neuro]) VALUES (7, 3, 0)
INSERT [dbo].[Neuron] ([ID_N], [Limit_neuro], [AKS_neuro]) VALUES (8, 3, 0)


Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
17. « Сообщение №46327, от Декабрь 08, 2019, 03:43:26 PM»

Это поле счетчик. Пару записей удалил, каскадным удалением снеслись связанные с ними, новые сделал. Этот код для связей между таблицами, для юзера никакой смысловой нагрузки не несет. Если нужен номер, тогда отдельное поле надо.


usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
18. « Сообщение №46331, от Декабрь 08, 2019, 05:21:28 PM»

Разобрал работу тестового примера: там должен активироваться нейрон №1, у которого будет превышен порог возбуждения от сигналов, поступающих от рецепторов 1, 2, 3.

Схема, конечно, самая простая. Какое развитие я вижу в дальнейшем:

1. Переписать код на более распространенном языке программирования, чем язык процедур SQL Server-а. В самом простом виде можно сделать страницу с javascript-ом. Пока настольно мало данных, что всё поместится в оперативку.

2. Не просто устанавливать выход синапса в выход аксона рецепторав, а хранить вес, на который его умножать.

3. Создать функцию обучения такой сети, чтобы она могла реагировать на заданную комбинацию входных сигналов определенным образом.

4. Не знаю, как надо соединять нейроны с рецепторами. Сейчас ты сделал 3 нейрона связаны со строками матрицы, 3 - со столбцами. Но это не догма.

5. Желательно код выкладывать на github, хранить архивами на форуме - неудобно. Могу создать репозиторий для нас.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
19. « Сообщение №46332, от Декабрь 08, 2019, 06:09:47 PM»

1. Это уже делается

2. Сейчас пока просто дублируется 1 от выхода рецептора в поле Snp таблицы синапсов. Но потом думаю в этом поле хранить вес синапса, а срабатывание нейрона делать как раз после умножение сигнала от рецептора на значение в этом поле - и только потом их складывать. Хотя вообще это может и не понадобиться, потому как в самом первом посте я описал свое понимание "веса" синапса: это не величина заряда, которую он получил или пропустил - а:

Ws = Up/Ns, где Ws - вес синапса, Up - порог срабатывания нейрона, Ns - число синапсов.

На вход синапса теоретически всегда поступает 1, и "внутрь нейрона" он не часть от 1 пропускает, как это делало бы сопротивление, а всю эту 1. Но: если для срабатывания нейрона нужно 5 таких синапсов, то вес их будет 0,2 согласно формуле. Хотя получать и "пропускать" сквозь себя они будут полноценный сигнал без потерь. Ведь они не ток пропускают, чтобы "зарядить" нейрон как конденсатор, а получив раздражающий импульс впрыскивают через синаптические пузырьки нейромедиаторы, которые служат катализаторами для электро-хим. реакции нейрона. Это мое понимание, может и не верное.

3. Это тоже планируется. Обучение предполагаю делать по принципу: задается параметр - кол-во повторений проекции примитива на матрицу за единицу времени. При достижении этого порога прописывается соответствующая связь в таблице синапсов. То есть это имитирует процесс запечатления, экспозиции часто повторяющихся примитивов. Этот параметр по сути имитирует заданную геномом предрасположенность специализации нейрона. То есть смотря по тому, с какой скоростью будут фиксироваться связи зависит куда успеют прицепиться отростки.

4. Соединение через таблицу синапсов нейрона с матрицей собственно и есть процесс обучения. Сейчас она уже как бы заранее обучена. Но в реальности такие связи должны прописаться сами - см. п.3

5. Кода пока как такового нет, но я думаю имеет смысл не только код, но и структурное описание как ТЗ для реализации делать. Тогда можно подключиться и попробовать совместно реализовывать проект. Здесь ведь есть более продвинутые программисты.

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




usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
20. « Сообщение №46350, от Декабрь 14, 2019, 03:47:06 PM»

Сделал базовую версию симулятора в HTML/Javascript.

https://github.com/usr345/neuro

Реализована та же функциональность, что и у тебя в SQL. Но даже javascript больше подходит для программирования, чем язык хранимых процедур SQL Server-a. Сенсорное поле линеаризуется в вектор, который умножается на матрицу синапсов. После чего получаемый вектор проверяется на превышение порога и выводится как выход нейронов.

По идее, можно запилить обучение сети: сейчас веса синапсов задаются статически через интерфейс. Также сейчас порог срабатывания нейронов равен порогу сенсоров. Можно их разнести.

Ваши комментарии?




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
21. « Сообщение №46352, от Декабрь 14, 2019, 07:53:51 PM»

Выложу завтра или послезавтра. А пока думаю надо утрясти некоторые спорные моменты по принципам построения однослойной сети.

1. Изначально закладывался порог чувствительности сенсора, но в итоге думается лучше сделать просто: сенсор True/False на раздражитель. Сигнал на выходе всегда просто 1. Если нужно ловить мощность регистрируемого сигнала, то думаю надо просто учитывать кол-во активных сенсоров на единицу площади. Так можно повысить чувствительность до регистрации одним сенсором условно одного фотона. А размытость контура будет означать не бледность сенсоров по краям, а их рассеивание.
2. Так же предполагалось закладывать переменный порог срабатывания нейрона, но в итоге правильнее порог задать как константу для всех нейронов, а веса задавать только для синапсов. Устанавливая веса можно менять логику работы нейрона: если порог нейрона=1, то три синапса по 0,4 приведут к его срабатыванию (И), или любой из них по отдельности (ИЛИ), если поставить веса 1,1 и выше. Была идея еще попытать смешанную логику, типа пучок связей по И + несколько связей по ИЛИ. Но думается, это приведет к глюкам распознавания, потому как будет множество вариантов срабатывания на частично активные входы от "пучка" и отдельных "мощных".
3. Срабатывание нейрона определяется по принципу: если сумма весов всех его синапсов, получивших сигнал от сенсоров превысит порог - нейрон выдает 1. Лучше именно превышение а не >=. Это отсечет неустойчивые состояния. Но тогда надо бы по идее параметр погрешности - на сколько надо превысить порог, чтобы сработал нейрон.

4. В дальнейшем нужно будет прикручивать конфигурации нейрона, а именно: меняя веса группы нейронов (имитация нейромедиаторного фона) тем самым перестраивается логика распознавания элементов сети: какие то И становятся ИЛИ и наоборот.

Самообучение однослойной сети я вижу так:
1. Сенсорная матрица показывает покадрово разные примитивы в виде фигур с определенной частотой и выдержкой или группа примитивов показывается на экране в динамике: перемещаясь, вращаясь с определенной частотой и скоростью. В любом случае нужен параметр "тактовая частота".
2. Нейрон специализируется на распознавании только близлежащего от него участка сенсорной матрицы, стало быть нужен параметр, задающий область "видимых" нейроном сенсоров и по нему уже определять, реагировать ли нейрону на сигнал. Иначе получится каша одновременной специализации всего ко всему. В природной реализации это не получится ввиду невозможности нейрону физически дотянуться до всех сенсоров матрицы.
3. Вес определяется так: 1/(Nsnp*Npls) - где:
Nsnp - ко-во синапсов нейрона, получивших одновременно (за один такт) импульсы
Npls - кол-во импульсов, необходимых для фиксации веса. В итоге, если к примеру нужно 3 импульса для фиксации, и все три раза они пришли на один синапс нейрона со своей частотой - он получит вес 1. А если бы три импульса пришли разом на три синапса - 0,33. В первом случае будет логика ИЛИ, во втором И. Проще говоря синхронные сигналы формируют логику И, асинхронные - ИЛИ.
4. Слой должен закрываться после специализации нейронов для самообучения - это критически важно при многослойной логике распознавания. Признаком закрытия слоя можно например считать кол-во специализировавшихся нейронов от их общего кол-во в слое - и это тоже надо задать параметром.


Думаю, имеет смысл тщательно обсудить логику работы сети и прийти к общему пониманию еще на берегу, чтобы не перекраивать все по многу раз.

« Последнее редактирование: 2019-12-15 07:03:36 Palarm »



usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
22. « Сообщение №46353, от Декабрь 14, 2019, 09:13:49 PM»

автор: Palarm сообщение № 46352:
Выложу завтра или послезавтра.

Сделай pull request, я тебя добавлю как collaborator-а.

автор: Palarm сообщение № 46352:
Если нужно ловить мощность регистрируемого сигнала, то думаю надо просто учитывать кол-во активных сенсоров на единицу площади.

Сейчас у нас математическая модель без площади. К физике пока рано переходить. Мы еще обучение толком не построили.

автор: Palarm сообщение № 46352:
Устанавливая веса можно менять логику работы нейрона: если порог нейрона=1, то три нейрона по 0,4 приведут к его срабатыванию (И), или любой из них по отдельности (ИЛИ), если поставить веса 1,1 и выше.

Что-то здесь нелогично. Ты уверен, что говоришь про 3 нейрона, а не про 3 синапса? Как я тебя понял, в простейшем случае мы имеем: 1 нейрон, 2 синапса.

  • Порог нейрона равен нулю: вечная единица.
  • Порог нейрона меньше веса каждого из синапсов, но больше нуля - логическое ИЛИ.
  • Порог нейрона больше веса каждого из синапсов, но меньше суммы весов - логическое И.
  • Порог нейрона больше суммы весов синапсов - вечный ноль.

Я думаю, из этого ясно, почему на нейроне нельзя реализовать исключающее или.

автор: Palarm сообщение № 46352:
Лучше именно превышение а не >=. Это отсечет неустойчивые состояния. Но тогда надо бы по идее параметр погрешности - на сколько надо превысить порог, чтобы сработал нейрон.

Это можно прикрутить. Плюс в математических моделях я видел разные функции срабатывания: у нас сейчас ступенчатая, можно другую взять или переключать их интерактивно.

Я могу сделать разные виды функций активации нейронов: после суммирования входов от синапсов, передавать значение в функцию.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
23. « Сообщение №46354, от Декабрь 15, 2019, 07:03:12 AM»

автор: usr сообщение № 46353:
Ты уверен, что говоришь про 3 нейрона

Пардон, конечно синапсы

Вот нейросимулятор, но он в демо-режиме, можно только тыкать ссылки внизу  таблицы связей, чтобы посмотреть варианты распознавания. Демо-режим потому, что сделано на массивах и там проблемно организовать многопользовательский режим. Если открыть кнопку сохранения изменений, возможны конфликты записи данных при одновременной работе нескольких пользователей.

Nan практически весь код запилил, я лишь немного поправил.

Нейросимулятор



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
24. « Сообщение №46355, от Декабрь 15, 2019, 11:34:29 AM»

автор: usr сообщение № 46350:
Ваши комментарии?

Думаю чувствительность рецептора надо убрать, лишнее. А вообще, я буду переделывать под БД, и там видятся всего 2 таблицы вместо 3: Нейроны и Связи. В первой будут рецепторы и эффекторы, потому как уже со второго слоя нейроны предыдущего слоя становятся рецепторами для текущего. В таблице  связей коды из таблицы нейронов, показывающие их зависимости - классическая "многие ко многим". Чтобы задать первичные рецепторы надо просто в таблице связей поставить в поле кода родителя 0 - это значит что эти нейроны первичные рецепторы.



Спасибо за это сообщение! Благодарность от: nan

usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
25. « Сообщение №46356, от Декабрь 15, 2019, 12:38:48 PM»

автор: Palarm сообщение № 46354:
Nan практически весь код запилил, я лишь немного поправил. Нейросимулятор

Удивительно, что независимо друг от друга мы с nan-ом сделали нечто даже внешне похожее. Где он сам кстати?

Давайте сейчас распределим задачи. Я бы хотел написать математическую модель того, что сделал nan (или он сам напишет).




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
26. « Сообщение №46357, от Декабрь 15, 2019, 02:18:13 PM»

автор: usr сообщение № 46356:
 

Предлагаю тебе, usr, актуальную прикладную мат. задачу для вывода результатов активности.

Есть рад нейронов в количестве Nштук.

Подсчитаны потенциалы на их сходах P[n], где n- текущий номер нейрона.

Активируются те нейроны, у которых P[n]> К, где К – порог срабатывания.

НО. Каждый активный нейрон тормозит соседние (до него и после него) с потенциалом = Т, где Т  где Т - вес воздействия тормозного синапса = 0.5.

Задача: найти формулу для подсчета конечного состояния потенциалов на входах всех нейронов, с учетом тормозного влияния соседей. Это – равновесный процесс.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
27. « Сообщение №46358, от Декабрь 15, 2019, 03:20:02 PM»

Есть биржи помогаторов для студентов типа Автор24. Там даже преподы вузов калымят. Можно туда скидывать сложные задачи, только надо четко растолковать с картинками, чего от них надо. Берут по слухам не дорого.


usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
28. « Сообщение №46359, от Декабрь 15, 2019, 04:00:56 PM»

автор: nan сообщение № 46357:
Задача: найти формулу для подсчета конечного состояния потенциалов на входах всех нейронов, с учетом тормозного влияния соседей.

Я не понял топологию сети, есть ли возможность привести рисунок с примером?




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
29. « Сообщение №46360, от Декабрь 15, 2019, 04:30:14 PM»

автор: usr сообщение № 46359:
Я не понял топологию сети, есть ли возможность привести рисунок с примером?

Просто линейка нейронов, один за другим. Соседи влияют друг на друга, если они активны. Понятно, что если нейрон_1 подавил активность следующего своим торможением, нейрон_2 то нейрон_2 сам уже перестает влиять на нейрон_1.

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

Сомневаюсь что просто формулой можно решить задачу. Приемлемо будет дать алгоритм итерации, скажем, 10 проходов, чтобы устаканить значения входных потенциалов на телах всех нейронов в цепочке.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
30. « Сообщение №46361, от Декабрь 16, 2019, 09:35:45 AM»

А как образуются такие связи? У меня было предположение, что изначально все связи тормозные, потом при активации становятся возбуждающими. Или нейтральная связь при отсутствии или недостаточности раздражения становится тормозной. Или это заложено в геноме, какая связь какой будет.
При симуляции самообучения ведь это тоже надо заложить. Может так: на момент созревания нейрона все его синапсы с весом меньше какого то значения начинают преобразовываться в тормозные. Думаю это вполне может быть в реальности - все связи, вносящие малый процент веса в суммарный инвертируются.

Можно еще по другому сказать: имеет место инертность созревания синапса, он как бы затухает при отсутствии раздражения, и наоборот - все больше активируется при его повторяемости. Это можно сравнить такой аллегорией: если начать стучать по пластинке ксилофона, то в зависимости от частоты ударов мы получим определенной величины средний по мощности звук: чем чаще бьем - тем громче и чище он звенит и наоборот. То есть имеет место коэфф. снижения веса синапса нейрона обратно пропорциональный частое его раздражения. При большой частоте он разгоняет вес, а при небольшой понижает вплоть до смены знака. Или можно его назвать вектором, задающим направление роста веса синапса: + или -. В зависимости от частоты сигналов он крутится как стрелка компаса на 180 град.

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
31. « Сообщение №46362, от Декабрь 16, 2019, 11:45:07 AM»

автор: Palarm сообщение № 46361:
У меня было предположение, что изначально все связи тормозные, потом при активации становятся возбуждающими.

У тормозного синапса - свой медиатор, у возбуждающего - свой. Синапс не может изменить свою сущьность.

автор: Palarm сообщение № 46361:
При симуляции самообучения ведь это тоже надо заложить.

Взаимное торможение соседей в слое - очень важно.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
32. « Сообщение №46363, от Декабрь 16, 2019, 12:06:10 PM»

А как ты предполагаешь определять, где какой синапс будет?
Это ведь должно происходить автоматически при созревании нейрона. Я предположил, что тип синапса формируется при созревании, и это зависит от частоты его раздражения.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
33. « Сообщение №46364, от Декабрь 16, 2019, 01:24:36 PM»

соседние нейроны в слое соединены через взаимно тормозящие (точнее там вставочные тормозные нейроны) это - обязаловка. Больше тормозного влияния нет в распознавании, - принцип сита.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
34. « Сообщение №46367, от Декабрь 17, 2019, 06:52:31 PM»

Если вставочные нейроны в одном слое с основными - значит они соединены не аксон с дендритом, а дендрит с дендритом? Такое разве возможно? Иначе получится, что вставочный нейрон детектирует нейрон слоя словно буфер, если будет связь аксон-дендрит.
И на что реагирует вставочный нейрон - на те же рецепторы, что основные? То есть он отличается только тем, что передает в связанный с ним нейрон тормозной нейромедиатор а не возбуждающий? Сам возбуждается как и все - но тормозит остальные?
А что тогда значит взаимное торможение? Обычный нейрон выхолит тоже тормозит тормозной такими же тормозными нейромедиаторами?

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


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
35. « Сообщение №46368, от Декабрь 17, 2019, 08:12:52 PM»

автор: Palarm сообщение № 46367:
 

Нет, рассматривай вставочные нейроны как случачяно оказавшиеся доп. нейроны в слое. И они тоже созревают и генерят. Отличие - в тормозных синапсах, которые устанавливаются при ветвлении нейронов слоя к их аксону.

Для наглядности представим вертикальный слой нейронов.

Возбудился нейрон слоя (может тоже только что созрел) и начинает укрепляться тормозная связь. А, с другой стороны, дендриты тормозного нейрона ветвятся в направлении активности другого соседа в слоя и с ним устанавливается тоже связь. В идеале между двумя соседними нейронами слоя расположены два вставочных, один из которых повернут аксоном к верхнему нейрону слоя, а другой - к нижнему. И они обеспечивают взаимное торможение.

Ну, может где-то будет два повернуты к верху, а где-то ни одного.

В общем, нужно исходить из того, что боковое торможение в слое есть реально.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
36. « Сообщение №46369, от Декабрь 18, 2019, 11:17:13 AM»

Shyema_lat.png

Тормозные нейроны Т1, Т2, Т3 своим отрицательным воздействием снижают суммарный вес входов у нейронов N1, N2, N3. В итоге активным остается только N2. Хотя N1 и так бы не включился, но так он уже наверняка будет заглушен. Но где тут "взаимное торможение"? Здесь только T(i) тормозят N(i) - а вот наоборот, от N(i) к T(i) никаких тормозов нет. Тоже самое во второй группе связей.

автор: nan сообщение № 46368:
один из которых повернут аксоном к верхнему нейрону слоя, а другой - к нижнему

А дендриты тормозных нейронов к чему прицеплены?




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
37. « Сообщение №46371, от Декабрь 18, 2019, 03:28:59 PM»

автор: Palarm сообщение № 46369:
Но где тут "взаимное торможение"?

Прочитай про латеральное торможение. Сейчас некогда искать конкртыне примеры...




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
38. « Сообщение №46377, от Декабрь 20, 2019, 05:27:17 PM»

Задачу с реализацией тормозного взаимовлияния в слое решил и уже реализовал. Но если предложите свой вариант, было бы интересно.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
39. « Сообщение №46409, от Декабрь 29, 2019, 09:28:27 AM»

Запилил графическое отображение нейросетки пока по типу шестигранника. Потом думаю добавить еще варианты. Потом объясню, что имею в виду.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
40. « Сообщение №46410, от Декабрь 29, 2019, 11:30:59 AM»

Выглядит красиво, но концепция мне пока непонятна: как выглядят сенсоры первого слоя? или они все - первого слоя? Еще вопрос: как задавать веса связей? хотя если использовать только режим самообучения, то они сами будут формироваться.

Чисто технические моменты. Ты используешь обновление страницы (а не AJAX), но тогда можно не использовать графику HTML5, а прямо рисовать клиенту как элементы страницы, с подсказками, реакцией на щелчки и т.п. в этом был бы плюс, а минус в том, что при самообучении придется перезагружать страницу и возможно блинкование.

Как ты считаешь, возможно ли такое представление в случае матриц рецепторов и эффекторов с таблицей связей, внизу, вместо вертикальных слоев со связями?




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
41. « Сообщение №46411, от Декабрь 29, 2019, 02:32:54 PM»

 2 главных момента, почему именно такая отрисовка мне кажется оптимальной:

 

1. рисование вертикальной/горизонтальной линейками очень плохо читабельно, так как связи перепутаны, значений весов практически не видно. В сотовой схеме все связи и все цифры весов видны. При желании можно легко масштабировать схему (я закомментил пока установку параметров, но как можешь посмотреть в коде страницы - можно очень гибко настраивать рисунок. Туда еще можно добавить настройку длины/ширины области рисования и координаты опорной точки)

2. ты сделал перекрывание связей только между 2 рецепторами, хотя на самом деле нейрон охватывает рецепторы не только сбоку, но и сверху/снизу. То есть рисунок ромашкой, где в центре аффектор, а по периметру, рецепторы - так оно и есть в реальности.

 

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

автор: nan сообщение № 46410:
а прямо рисовать клиенту как элементы страницы, с подсказками, реакцией на щелчки и т.п.

Я планировал в будущем вообще убрать таблицы с экрана, оставив только такую сетку. Тогда можно сделать интерфейс активации рецептора щелчком по нему, смену веса ДБ-кликом по цифре и вводом в появившемся поле. Можно и смену связей сделать, например щелкнув один элемент, потом другой и выбрать пункт меню "установить связь". Я вообще поначалу думал сделать просто конструктор, где из меню выбираешь элемент (рецептор/аффектор или даже готовый блок со связями) - кидаешь его драг-дроп на экран, потом рисуешь связь. Но потом подумал: правильнее все же отталкивать от того, чтобы связи рисовать сразу и окончательно как оптимизированную решетку и менять только веса. В самом деле - зачем собственно иметь возможность устанавливать связь между любым рецептором/аффектором? Ведь нейрон в реальности все равно устанавливает связи только с близлежащими а не с любыми рецепторами. И так же не вижу особого смысла программировать создание связи по аналогии с реальностью: когда отросток нейрона тянется к ближайщему активному рецептору. Потому как в реальности думаю на 2/3 получается просто каша бестолковых связей - ведь соединение происходит в динамике, при постоянном мерцании рецепторов. Имхо: лучше (повторюсь) создать изначально идеализированную решетку связей, какой она была бы при идеальных условиях - и потом менять веса. Тем более, что решеток ведь может быть много вариантов.

Вообщем, думаю надо определиться с концептом: стоит ли переходить на такую структуру или оставить старую линейчатую.

 

автор: nan сообщение № 46410:
Ты используешь обновление страницы (а не AJAX)

Я лишь пару недель как более менее въехал в тему графики php, пришлось еще вспоминать свои старые наработки - а ты меня уже Аяксами пугаешь :) Я и с первой то дороги волочу насилу ноги :) Пока этот чертов алгоритм нарисовался - кстати зацени как я его через 2 процедуры на серваке закодил, а поначалу там такой писец был... Мне только вчера торкнуло: надо не из центра, а построчно рисовать, и не один элемент - а пару. Тогда все встало на свои места - и тут же появилась возможность использовать параметры сетки для рисования. Например вместо шестигранника подставить треугольник или квадрат - вообщем решеток может быть много и очень интересных. Думается, каждая из них будет задавать предрасположенность к определенной специализации, например выделять какие то частотные полосы.

автор: nan сообщение № 46410:
Как ты считаешь, возможно ли такое представление в случае матриц рецепторов и эффекторов с таблицей связей, внизу, вместо вертикальных слоев со связями?

Я тебе с самого начала про это толковал :). Но ты тогда меня не понял.

 

автор: nan сообщение № 46410:
как выглядят сенсоры первого слоя? или они все - первого слоя?

Сейчас да - это все первый слой. Зеленые аффекторы, красные рецепторы. Только надо их чуть бледнее показывать, а активные существенно ярче, чтобы выделялись. Или может не активные оттенками серого, а активные уже красный/зеленый. А второй слой думаю надо рисовать на другой странице. Имхо, отражать сразу все слои на одном листе не целесообразно - слишком много места займет. А вот на другой странице будет очень просто: зеленые кружки станут красными, а с ними уже свяжутся новые зеленые кружки второго слоя - по точно такой же решетке. А можно и по другой - тут кстати тоже поле для размышлений: стоит ли на всех слоях одну решетку использовать? Правда при такой компоновке (слои на отдельных страницах, а внизу решетки сделать например ссылки перехода по страницам типа: >) придется отказаться от нумерации элементов для каждого слоя, теперь номера будут "сквозные", то есть 10 рецептор на первом слое становится эффектором с тем же 10 номером. Иначе будет не понятно, с чем связаны аффекторы второго слоя. То есть мы просто переносим часть элементов (аффекторы) с предыдущего слоя на последующий и меняем им статус (на рецепторы). При это понятно, что решетка второго слоя будет существенно меньше, в данном случае в 6 раз, чем первого. И аффекторы с первого слоя в ней будут отражаться вокруг нового рецептора второго слоя.

автор: nan сообщение № 46410:
как задавать веса связей?

Изначально они все нулевые, при самообучении установятся конкретные значения. Потом можно их "подкрутить". То есть тут тоже концептуальный вопрос: стоит ли настраивать сеть перед обучением? Имхо не стоит, кроме как задав ей решетку. Фишка создаваемого нами симулятора (и его реального прототипа - природной нейросети) что тут ничего не задается изначально кроме некоторой предопределенности (решетка связей, параметры нейронов). Никто не может сказать точно, что получится при обучении - но в этом весь прикол. Это не программирование в привычном понимании, а развертывание сети. Про это я говорил в дневнике.

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

PS:

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
42. « Сообщение №46412, от Декабрь 29, 2019, 04:33:32 PM»

автор: Palarm сообщение № 46411:
Я лишь пару недель как более менее въехал в тему графики php, пришлось еще вспоминать свои старые наработки - а ты меня уже Аяксами пугаешь

Ты круто все схватываешь, а аякс - очень прост в реализации, у тебя есть примеры.

Очень интересно, что у тебя получится в итоге. 




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
43. « Сообщение №46413, от Декабрь 31, 2019, 06:28:12 PM»

Добавил тормозные связи между аффекторами (красным цветом), ведь вес синапса рассчитывается с их учетом и надо их так же жестко прописать, чтобы потом не париться с поиском что чего тормозит. Данные в той же таблице связей. И тоже при помощи новой процедуры на сервере. Как и планировал изначально - все буду там колошматить, у клиента только графика и интерфейс ввода.

Чтобы совсем по умному, надо бы аналогичные связи между рецепторами - они ведь тоже взаимно тормозятся. Но пока не буду, а то схема сильно загромоздится связями. Хотя подумалось, что выводить на экран нужно не весь слой, а его фрагмент - задавать диапазон вывода в настройках отображения. Тогда можно небольшой клочок вывести как образец (сеть ведь строго однородна, в любом месте схема одинакова, только веса разные) - и там уже можно по полной программе все перелинковать, увеличив до нужного размера масштаб отображения.

Так же думаю, нет смысла показывать в динамике формирование весов синапсов. Имхо, мерцания цифр мало информативно кроме как показать, что процесс идет. Правильнее обучение проводить без отображения, на максимальной скорости - а потом показывать сетку и графики/таблицы и т. п. - чтобы можно было поковырять логи, как там чего в какой последовательности самообучалось.

Вообщем может статься, что в итоге на экране от сети будет небольшой фрагмент и доп. служебная инфа.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
44. « Сообщение №46421, от Январь 02, 2020, 02:35:42 PM»

автор: Palarm сообщение № 46413:
думаю, нет смысла показывать в динамике формирование весов синапсов.

Надеюсь, от цикла итерации ты не уйдешь, он оказывается достаточно важен дял обучения 1) в случае прерывания обучения после критерия окончания специализации данного нейрона (в случаен если он бы автоактивен) и 2) балансирования состояния взаимного торможения.

Конечно, можно и поступиться тем, что при постепенном визуальном показе будет видно как взаимно влияют нейроны, это - для чисто исследовательский интереса.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
45. « Сообщение №46423, от Январь 03, 2020, 07:06:33 PM»

Я предполагаю, что прописывание тормозных связей в таблице сделает проще алгоритм расчета взаимного торможения. Ведь не надо определять, кто кого тормозит - это уже жестко определено.
Кстати придется таки действительно от простого php на js + ajax переходить, а то даже считать введенные юзером данные из поля без перегрузки страницы не выходит. Давно руки чесались web заняться, но то лень, то неохота, а теперь повод появился интригующий.


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
46. « Сообщение №46424, от Январь 03, 2020, 07:13:07 PM»

автор: Palarm сообщение № 46423:
придется таки действительно от простого php на js ajax переходить

Это - очень просто. Если вдруг тормознешься, пиши в чате, помогу.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
47. « Сообщение №46470, от Февраль 25, 2020, 08:40:19 PM»

Вроде как получилось сделать взаимное торможение в сетке. Каждый аффектор тормозит связанные с ним аффекторы пропорционально суммарному весу на своих входах и весу тормозной связи. То есть в связке например А1(0,9) и А2(0,3) с весом тормозной связи 0,2 влияние А1 на А2 будет: А1 * 0,2 = 0,9*0,2 = 0,18. А влияние А2 на А1 соответсвенно: А2 * 0,2 = 0,3 * 0,2 = 0,06.

 

Суть торможения - контрастирование. Это видно на картинке прицепа - при полной фоновой засветке матрицы мы имеем активность только на краях (красные - рецепторы, зеленые - аффекторы). В итоге проецируя на нее пятно мы получаем контур - и это, как мне думается критически важная часть распознавания и оценки примитива - повышение активности аффекторов на границах примитива. По такому же принципу выделяется новизна, значимость на других шагах - так подсказывает интуиция, если не врет.

 

Плохо только, что приходится пересчитывать в хранимке всю сетку. Пока она небольшая - оно и ладно. Но если сгенерить слой на 1 000 000 элементов - тормоза будут не хилые, при каждом чихе колошматить такой массив, тем более что планируется потом туда проецировать примитивы в динамике. Но вот если сделать микросхему, где соединение сделано по такой же схеме сот, вместо программного расчета весов провести реальные связи в виде проводящих дорожек и транзисторных ключей - тогда получим действительный прототип природной нейросети. Меня вообще удивляет, почему никто не пытался вместо выдумывания сложнейших алгоритмов расчета многослойных персептронов просто взять и эмулировать нейрон в виде транзисторной схемы (как это показал Nan) а потом соединить их в сетку. И ничего не надо рассчитывать - заряды сами распределятся нужным образом как это и происходит в мозге.

Хотя слышал, что есть какие то нейристоры - может это оно и есть.

2020_02_25_23_19_11.png



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
48. « Сообщение №46471, от Февраль 26, 2020, 07:41:34 AM»

Рассчитывать на большое число элементов не стоит. Это всегда упрется в предел как в пузырьковой сортировке :) Вот и видна сразу разница централизованного контроля и самостоятельности работы элементов. Конечно никакой центрально-процессорный ресурс с этим не справится.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
49. « Сообщение №46472, от Февраль 26, 2020, 10:52:13 AM»

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

Идея с ползунком интересная - попробую их прикрутить ко всем настройкам для плавной одиночной и возможно для групповой смены параметров. И вот кстати подумалось: контрастирование отрезка означает определение его конечных точек - ведь на концах меньше всего будет влияние торможения. Так можно определять длины, толщины. То есть подрубаем два параллельных слоя к сенсорной матрице с разным тормозным влиянием аффекторов: на одной распознаем примитив (где минимум торможения и все аффекторы активны), на другой считываем его конечные точки (где больше торможение).




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
50. « Сообщение №46473, от Март 02, 2020, 07:47:41 AM»

автор: nan сообщение № 46471:
Конечно никакой центрально-процессорный ресурс с этим не справится.

Проблема не только в том, что нужно делать пересчет всей сетки, но и то, что приходится делать несколько прогонов - и все равно результат не точен. Подозреваю, что математически задача решаема очень тяжело если вообще решаема. Или мне просто не хватает математики в мозгах - но тогда выходит я лузерством занимаюсь, пытаясь решить методом приближения школьную задачу про пару поездов идущих навстречу другу другу с известными скоростями. Только поездов много больше чем два и взаимосвязаны они тоже более чем парой. Может есть какая то формула или теория расчета таких задач?

 

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

автор: nan сообщение № 46471:
Вот и видна сразу разница централизованного контроля и самостоятельности работы элементов

Это да - тут очень наглядно видна потребность в очень мощном компе - или хитрой математике.

 

Однако радует: идея сотовой структуры действительно оказалась удачной в плане наглядности, все веса и связи видны + взаимохват сенсоров/аффекторов ближе к реальности. И то, что в качестве инструмента была выбрана СУБД - тоже правильно: выборки, группировки, суммирование весов лучше и правильнее делать запросами. Хотя в идеале тут наверное нужен специальный тип СУБД, заточенный под нейросети.

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
51. « Сообщение №46474, от Март 02, 2020, 10:10:44 AM»

автор: Palarm сообщение № 46473:
приходится делать несколько прогонов - и все равно результат не точен. Подозреваю, что математически задача решаема очень тяжело если вообще решаема.

Да, без и тераций не решаема. Я делал 10 прогонов до отрисовки рещультата. Для небольшой сетки - ерунда, а на большую нефиг замахиваться :)

автор: Palarm сообщение № 46473:
Может есть какая то формула или теория расчета таких задач?

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

автор: Palarm сообщение № 46473:
сейчас сетка даже в относительно грубом приближении работает примерно так, как я себе представлял - эффект контрастирования ярко выражен

Это же чудесно, что еще нужно?

автор: Palarm сообщение № 46473:
Для большей уверенности стоило бы спаять ее реальный прототип из светодиодов, транзисторов

Ты не сможешь все потянуть сам... Придется на чем-то остановиться пока не заинтересовал других настолько, что тебе дали достаточный грант на такую работу (что - далекая фантазия).




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
52. « Сообщение №46475, от Март 02, 2020, 05:43:01 PM»

автор: nan сообщение № 46474:
Это же чудесно, что еще нужно?

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
53. « Сообщение №46476, от Март 02, 2020, 06:48:29 PM»

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

Но не хочу тебе мешать идти так, как тебя ведет твоя эвристика.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
54. « Сообщение №46480, от Март 03, 2020, 12:36:10 PM»

автор: nan сообщение № 46476:
Сначала понимание, потом формализация.

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

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

автор: nan сообщение № 46476:
А у тебя получается, что ты делаешь предположения вне какой-то конкретной модели понимания

В рамках текущей, неполной, не проверенной модели - она еще формируется. И ты тут ничем не поможешь и не ускоришь.



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
55. « Сообщение №46490, от Март 04, 2020, 09:04:45 AM»

Удалось сделать одним прогоном, но возникло сомнение: по видео видно, что при максимально длинном отрезке по идее должны активироваться аффекторы по центру (27 и 32) так как по бокам у них погасшие аффекторы, и на них теперь нет тормозного влияния. Но по сути состояние, когда центральные аффекторы взаимно гасят друг друга на пределе порога (как качеля балансирует в среднем положении) - неустойчивое и стоит дополнительно активировать рецептор в их охвате то они уверенно активируются (как потом на видео и показано) и переведут сетку в одно из устойчивых состояний. И может так и надо оставить. А может все таки сделать еще прогон чтобы активировать 27 и 32 потому как они вообще то должны быть активны.

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

Aapis_akrana__04_03_2020_10_48_15_.rar




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
56. « Сообщение №46491, от Март 04, 2020, 10:27:22 AM»

т.е. у тебя есть формула расчета (точнее алгоритм вычисления) результата взаимного торможения при данном профиле возбуждения?




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
57. « Сообщение №46492, от Март 04, 2020, 11:12:51 AM»

Формулы нет. Просто сначала включаю все аффекторы как если бы не было торможения, потом одной пробежкой по каждому вычисляю его вес с учетом воздействия соседних активных (выключенные не учитываются) и выключаю те, что оказались задавленными. Получается почти похоже на правду. Потом по идее надо бы еще пробежаться по включенным и поднять их вес - ведь те что выключились теперь на них не воздействуют. И тут то я и встрял, потому как при тупой пробежке опять включаются те что были задавлены, а хитрую еще не придумал. Чувствуется, тут просто надо просто головой тряхнуть - отвлечься. Тут не математика, а просто грамотный алгоритм. Но в первом приближении работает уже очень похоже на правду. Можешь сам потыкать рецепторы.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
58. « Сообщение №46493, от Март 04, 2020, 12:22:22 PM»

Думаю полный алгоритм должен быть такой (после воздействия на рецептор):

1. Меняем статус рецептора на противоположный.
2. Расчет весов связанных с активными рецепторами аффекторов без учета бокового торможения. Если вес > порога то включаем аффектор.
3. Расчет весов всех аффекторов с учетом бокового торможения. Если вес < порога то выключаем аффектор.
4. Расчет весов оставшихся включенных аффекторов с учетом бокового торможения – он подрастает, так как пропало тормозное влияние выключенных.
5. Расчет весов выключенных аффекторов с учетом бокового торможения – у одних он еще больше падает, так как увеличилось тормозное влияние включенных, а у других возрастает, так как выключенные в п.3 перестали их тормозить. При этом если вес > порога то включаем аффектор.
6. Далее прогоны пп. 4-5 по условию, что хотя бы один вес у кого то изменился либо просто задать кол-во прогонов.

Сейчас только п. 1-3. И вот задумался - а нужно ли прогоны делать? Это точно будет соответствовать работе реальной физической нейросети? И еще: в этих схемах есть торможение рецепторов (CRT) - их учета в алгоритме нет. Потому как тоже сомневаюсь, что оно надо. Это ведь по сути аналогично поднятию тормозного влияния между аффекторами.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
59. « Сообщение №46494, от Март 04, 2020, 04:57:49 PM»

Мне кажется (я так реализовал), что суть алгоритма может быть такой:

делаем цикл 10 проходов. В каждом проходе добавляем 10% от воздействющих потенциалов торможения. Результат используем в следующем проходе. Так получает как бы имитация постепенного увеличения взаимовлияния без прыжком значений.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
60. « Сообщение №46495, от Март 05, 2020, 03:45:19 AM»

В постепенном увеличении веса тормозной связи есть смысл если учитывать тормозное влияние только от активного аффектора. Тогда можно одной процедурой прогонять расчет несколько раз - и чем меньше шаг (и соответственно больше кол-во прогонов) тем точнее будет итоговое распределение. Но если начать учитывать тормозное влияние при первом же прогоне от еще не активировавшихся аффекторов, то получится, что тормозная связь реализуется не через вставочные нейроны (условно не показанные на схеме, чтобы ее не загромождать), а как то иначе: не через связку дендрит - аксоны, а например через аксоны - аксоны, что резко усложняет модель нейрона. Вряд ли природа пошла по пути создания дополнительных типов связей.

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

ОК, попробую по схеме постепенного повышения.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
61. « Сообщение №46496, от Март 05, 2020, 07:57:44 AM»

автор: Palarm сообщение № 46495:
Но если начать учитывать тормозное влияние при первом же прогоне от еще не активировавшихся аффекторов, то получится, что тормозная связь реализуется не через вставочные нейроны

Вставочные тормозные нейроны есть всегда, они уже готовы к моменту начала специализации слоя.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
62. « Сообщение №46497, от Март 05, 2020, 09:47:47 AM»

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

 

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

 

Возникает вопрос: как правильнее? Тормозные нейроны активировать параллельно/независимо аффекторам сигналами сенсоров, чтобы они постоянно давили их, или активировать их сигналами включенных аффекторов?




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
63. « Сообщение №46498, от Март 05, 2020, 10:18:09 AM»

Нет, никакой активации от рецепторов или других слоев. Только - от соседних нейронов. Все.



Спасибо за это сообщение! Благодарность от: Айк

Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
64. « Сообщение №46500, от Март 09, 2020, 06:32:11 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
65. « Сообщение №46501, от Март 09, 2020, 08:48:26 PM»

>>Если элемент в правой матрице активен (оттенок зеленого), то он оказывает активирующие воздействие на связанный с ним рецептор, но соседние активные рецепторы оказывают тормозящее влияние и могут не позволить возбудить данный рецептор

1. Эффектор оказывает воздействие на рецептор? Или все таки наоборот?

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

3. Боковое торможение в твоей схеме позволяет "потушить" слабые сигналы, тем самым выделив из всех активных только самые активные. И это будет центр размытого пятна, где максимальная мощность эффекторов. А если это будет одинаковая по яркости фигура - то активность останется на границах, где минимум торможения.

4. У тебя связь без перекрытия? Один рецептор связан с одним эффектором. Это не позволит разбивать сложные примитивы на более простые на первом же слое детектирования.

5. У тебя реализован эффект "выстреливания" эффектора, когда тормозящие его боковые эффекторы при увеличении уровня торможения гаснут и он лишенный противодействия резко активируется еще более придавливая их? Это как качели в неустойчивом состоянии, когда стоит чуть толкнуть одну из перекладин - как одна тут же падает вниз а другая вверх.

 

Это то что сразу бросилось в глаза, исходник завтра посмотрю.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
66. « Сообщение №46502, от Март 09, 2020, 09:42:11 PM»

автор: Palarm сообщение № 46501:
Раскрашены с разной степенью интенсивности, что видимо показывает мощность их реагирования. Но если мы исходим из цифровой логики, то рецептор имеет только два состояния Вкл/Выкл - стало быть оттенков там быть не может.

Нет, не так и в тексте это описано. Если левая матрица - сенсоры, то интенсивность цвета показывает силу воздействующего фактора. Если - нейроны, то показывает число активных связей, действующий на эффектор (т.е. тогда это не одна связь квадратика с кружком, а равная числу в квадратике).

автор: Palarm сообщение № 46501:
А если это будет одинаковая по яркости фигура - то активность останется на границах, где минимум торможения.

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

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
67. « Сообщение №46503, от Март 10, 2020, 12:04:23 PM»

>> Если элемент в правой левой матрице активен (оттенок зеленого), то он оказывает активирующие воздействие на связанный с ним рецептор эффектор, но соседние активные рецепторы эффекторы оказывают тормозящее влияние и могут не позволить возбудить данный рецептор эффектор.

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

автор: nan сообщение № 46502:
Если левая матрица - сенсоры, то интенсивность цвета показывает силу воздействующего фактора

Это то я понял. Но при этом у тебя эффектор в правой матрице срабатывает на активность рецептора больше 1. То есть будет он с интенсивностью 1 или 9 - эффектор одинаково сработает. Тогда выходит он никак не различает интенсивность рецепторов. Понятно, что оттенок означает либо силу воздействия на рецептор либо число связей из этого участка с эффекторами - то есть в этом случае там не один квадратик а несколько и все они прицеплены к одному эффектору. Но это вовсе не самоочевидно - такое графическое упрощение схемы.

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

 

А вторая мысль, что приходит сразу в голову: а если мы просто повысим порог срабатывания - не то же самое разве будет? Так же отвалятся "слабые" эффекторы. И вот тут как мне думается в описании надо подчеркнуть: оно похоже сработает но только до того момента, пока не останутся только примерно одинаковые по мощности воздействия эффекторы. При дальнейшем повышении порога они все разом погаснут. А вот при боковом торможении картина будет принципиально иной: начнет проявляться эффект "задавливания" тех что по середине и "освобождение" тех что по краям. И финальным аккордом центральные выключившись резко упадут а боковые резко взлетят - как стороны качелей. Такого эффекта невозможно добиться играясь с порогом срабатывания или уровнем внешнего сигнала (которые скорей всего сильно "гуляют" в реальной нейросети) - это более четкое контрастирование и стало быть более точное выделение актуального признака примитива. Потому и закрепилась такая находка эволюционным отбором.

 

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
68. « Сообщение №46504, от Март 10, 2020, 02:44:53 PM»

И все таки логика работы торможения у тебя не совсем правильно показана. Если нарисовать прямую на матрице рецепторов (квадратики 22...26), активировать их весом 3, поставить пожестче торможение (например 5) - и начать двигать ползунок. Когда кружки эффекторов 23 и 25 погаснут, то оставшиеся 22, 24, 26 должны вернуть себе начальный вес 3 и дальнейшее увеличение коэфф. торможения уже не будет на них влиять - ведь тормозящие их эффекторы погасли. А у тебя они продолжают терять в весе при увеличении торможения.

То есть в реальности при определенном торможении матрица эффекторов переходит в устойчивое состояние и перестает реагировать на дальнейшее увеличение торможения. Хотя можно допустить, что при большем тормозном влиянии одномоментно (а не последовательно) гасятся все попавшие под раздачу пендалей эффекторы (если пинок был достаточен для гашения), но все равно в конце надо вернуть исходный вес оставшимся не погашенными - ведь их уже никто не тормозит.

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
69. « Сообщение №46505, от Март 10, 2020, 07:02:25 PM»

автор: Palarm сообщение № 46503:
будет он с интенсивностью 1 или 9 - эффектор одинаково сработает. Тогда выходит он никак не различает интенсивность рецепторов.

Да, перобор и недобор фильтруется. Сенсор будет выдавать один и тот же сигнал при любой силе его освещения.

автор: Palarm сообщение № 46503:
НО: тогда можно подумать, что от рецепторной матрицы от каждого рецептора к эффектору идет сигнал разной мощности - это первое, что приходит в голову уверен большинству.

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

автор: Palarm сообщение № 46503:
а если мы просто повысим порог срабатывания - не то же самое разве будет? Так же отвалятся "слабые" эффекторы.

Не то же самое, а, важно, учитываются соседи, а не просто уровень на входе, вот что контрастирует.

автор: Palarm сообщение № 46503:
я все таки рано радовался, что перенес логику работы матрицы на сервер. У меня все сильно тормозит, а у тебя летает.

У меня многослоная модель тоже рисуется на сервере, но при обучении запрос идет раз в секунду. А вот если бы я привинтил там ползунок, то совершенно недопустимо было бы посылать запросы на сервер со скоростью его смещения. Тут нужно ловить сообщения от ползунка чисто на клиентском скрипте и рулить уже без обращения на сервер. У тебя все элементы div имеют свои id, к ним можно оперативно обращаться из js а так же перерисовывать холст канвы со стрелками. И это будет происходить очень быстро.

автор: Palarm сообщение № 46504:
Если нарисовать прямую на матрице рецепторов (квадратики 22...26), активировать их весом 3, поставить пожестче торможение (например 5) - и начать двигать ползунок. Когда кружки эффекторов 23 и 25 погаснут, то оставшиеся 22, 24, 26 должны вернуть себе начальный вес 3 и дальнейшее увеличение коэфф. торможения уже не будет на них влиять - ведь тормозящие их эффекторы погасли. А у тебя они продолжают терять в весе при увеличении торможения.

Это же имитатор только эффекта контрастирования. Если бы принять не только одну связь как буд-то это несколько (какое число - столько связей), а было бы веерное перекрытие профилей соседей, то этой бы побочки не было.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
70. « Сообщение №46506, от Март 12, 2020, 02:05:06 PM»

Сделал ползунки - работает и вправду шустро, при том что число элементов довел почти до 500.

автор: nan сообщение № 46505:
Тут нужно ловить сообщения от ползунка чисто на клиентском скрипте и рулить уже без обращения на сервер.

Я это и имел в виду, говоря, что надо делать что то вроде буферных таблиц на клиенте (скорей всего массивы, как ты обычно делаешь в таких случаях), а на сервак отправлять уже результат манипуляций с сеткой. Мне по сути придется продублировать алгоритм расчета весов на клиенте или даже вообще перевести их сервака на клиент. Иначе получается, что я гоняю тяжелый многотонный самосвал для перевозки пригоршней песка. И когда я говорил, что у тебя логика работы с нейросетью подразумевает расчеты на клиенте через циклы, а не на серваке через хранимки как сейчас у меня - то получается, что клиент у тебя это уже не просто оболочка для интерфейса а часть модели. А может тут правильное решение будет 3-звенная архитектура: данные на сервере, оболочка на клиенте, расчеты в отдельном модуле. Вот тогда все будет по уставу: и скорость - и не зависимость от реализации.

 

Может статься, что придется вообще отказаться от таблиц связей, если рисовать просто одинарные прямоугольные сетки как в твоем примере. И тогда не надо ничего грузить - просто по номеру элемента справа, слева, снизу, сверху - вот и все связи. Ведь если представить сенсорный экран в виде пикселов монитора - то там их будет сотни тысяч. Ворочать таким массивом, а тем более запросом будет очень тяжко. Если же определять элемент просто по номеру + - вертикально/горизонтально - то их может быть хоть миллион, скорость реакции будет та же. Сдается мне что моя идея с SQL-запросами приведет к закономерному затупу и придется все переделывать. Сервак будет хранить только снимок последнего состояния матрицы для первой загрузки и который потребуется для передачи результата манипуляций с ней на следующий слой.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
71. « Сообщение №46507, от Март 12, 2020, 04:18:07 PM»

Ты не правильном пути, прогресс налицо! 

База нужна только чтобы запоминать состояние, а текущие операции уже выполнять на основе сохраненного и всех делов.




watts
Имеет права модератора этой темыFull Poster

Сообщений: 66
72. « Сообщение №46607, от Апрель 19, 2020, 03:02:27 PM»

Но вот если сделать микросхему, где соединение сделано по такой же схеме сот, вместо программного расчета весов провести реальные связи в виде проводящих дорожек и транзисторных ключей - тогда получим действительный прототип природной нейросети. Меня вообще удивляет, почему никто не пытался вместо выдумывания сложнейших алгоритмов расчета многослойных персептронов просто взять и эмулировать нейрон в виде транзисторной схемы (как это показал Nan) а потом соединить их в сетку.

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

Собственно что я хотел сказать - физики из Тюмгу уже не первый год пытаются освоить производство мемристоров которые изначально позиционировались как элемент энергонезависимой памяти и как модель синапсов. С первым применением возникли проблемы , кажется касающиеся быстродействия. Со вторым экспериментируют и сейчас ( вернее в 19м году). 

https://ria.ru/20190911/1558497777.html 

Можно ли промоделировать латеральное торможение на их схемах ? 

 

 




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
73. « Сообщение №46608, от Апрель 19, 2020, 04:01:13 PM»

Если они добавят тормозные связи между эффекторами в топологию микросхем - то почему бы и нет. Без латерального торможения не получится выделять важно-значимые признаки - а это как мне думается основа принятия решения в природной нейросети.

 

Схема такого нейропроцессора предполагает входное и выходное устройства для обработки сигналов, запоминающую матрицу, блок нейронов и маршрутизатор на основе логической матрицы.

 

Слой рецепторов + слой эффекторов, матрица весов и матрица связей. Может у них там и тормозные связи есть. Это возможно близко к тому что мы тут пытаемся моделировать. Обнадеживает, когда одна и та же идея приходит в голову разным людям - значит в этом что то есть.




watts
Имеет права модератора этой темыFull Poster

Сообщений: 66
74. « Сообщение №46609, от Апрель 19, 2020, 06:20:42 PM»

автор: Palarm сообщение № 46608:
Без латерального торможения не получится выделять важно-значимые признаки - а это как мне думается основа принятия решения в природной нейросети.

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

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
75. « Сообщение №46642, от Май 03, 2020, 07:30:27 PM»

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

Оказалось, что Nan был совершенно прав по поводу итераций - это действительно единственный метод расчета торможения (а точнее вырубания задавленных им эффекторов), если нет формулы. Так же окончательно пришел к выводу, что идея вести всю логику на серваке провальная. Тормоза будут дикие. И вообще в принципе можно без сервака, а через файловые массивы. Если потом пилить DLL то там точно не будет никаких SQL а свой источник дл сохранения промежуточных данных в виде например спец. файла с определенной структурой. Хотя до этого еще очень далеко.



Спасибо за это сообщение! Благодарность от: Айк

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
76. « Сообщение №46643, от Май 03, 2020, 09:02:22 PM»

автор: nan сообщение № 46505:
Не то же самое, а, важно, учитываются соседи, а не просто уровень на входе, вот что контрастирует

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

Может это глюк, а может свойство заторможенной сети. Думается, это торможение еще подкинет неожиданностей. При определенных значениях параметров она выкидывает интересные кувырки.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
77. « Сообщение №46644, от Май 04, 2020, 07:16:33 AM»

Смотрел в http://p-mvap.ru/index.php?mn_id=4 не понял интерфейса, точнее не вижу описанного эффекта. Или это - не тот адрес?




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
78. « Сообщение №46645, от Май 04, 2020, 07:21:10 AM»

Интересное поведение сетки. На первом примитиве она ведет себя стабильно - увеличиваем торможение, растет контрастирование. Но стоит добавить еще ряд активных рецепторов - и начинается мельтешение. Потом я наоборот убавил ряд от начального - снова стабильное поведение. Стало быть сетка при определенном состоянии очень не стабильна. Это интересный вывод - получается некоторые примитивы уверенно не распознаются?

Syetka.rar

автор: nan сообщение № 46644:
Или это - не тот адрес?

Тот. Там только не прикрутил сохранение параметров. И еще одна накладка: у меня заложена возможность сохранения основных и тормозных весов для каждой связи. Но тогда не получится интерактивно крутить ползунки - это же опять дербанить БД и кроме того, уравнивать веса к одному значению из поля ползунка. Вообще тут вопрос, как правильнее: общий вес (тормозной и основной) на все элементы или каждому свой? Распознавать в принципе можно по общему значению, но по факту веса устанавливаются в момент созревания разные.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
79. « Сообщение №46646, от Май 04, 2020, 07:35:42 AM»

автор: Palarm сообщение № 46645:
Syetka.rar

Понятно, спасибо!

 

автор: Palarm сообщение № 46645:
как правильнее: общий вес (тормозной и основной) на все элементы или каждому свой?

Думаю, что тормозной вес должен быть общий.для данного образа.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
80. « Сообщение №46647, от Май 04, 2020, 07:53:23 AM»

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

А что ты думаешь по поводу мелькания? Может это как то использоваться в системе распознавания или это просто штатный глюк, вроде того, когда мы смотрим на черную решетку на белом фоне и видим ореол вокруг узлов? Если нарисовать просто прямую - там все четко контрастирует, а вот если какие то большие пятна, то начинается мельтешение на определенном уровне торможения. Может так и получается, что именно простые примитивы в итоге становятся шаблонами распознавания, потому что большие из за их нестабильного детектирования просто не фиксируются.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
81. « Сообщение №46648, от Май 04, 2020, 08:59:58 AM»

Сложные и взаимновлияют сложно. Если правильно выполнена итерация взаимного торможения, то как раз по этому демо и можно предсказывать разные эффекты.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
82. « Сообщение №46649, от Май 04, 2020, 09:51:39 AM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
83. « Сообщение №46650, от Май 04, 2020, 12:49:09 PM»

Возникла такая гипотеза: меняя через нейромедиаторы порог возбуждения основного и тормозного нейронов (тормозная связь ведь через специальные вставочные нейроны сделана) в природной нейросети реализуется механизм создания конфигураций сетки. То есть возможность создавать множество эффекторных рисунков при детектировании одного и того же объекта - и выстраивать от них свои специфические рефлекторные цепочки.

 

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
84. « Сообщение №46652, от Май 04, 2020, 03:40:33 PM»

Но с другой стороны нейромедиаторы регулируют возбуждение (чувствительность) в синаптической щели, а не порог возбуждения всего нейрона. Стало быть правильнее все же менять пропорционально веса синапсов, а не порог. И изменение тормозного влияния тоже по сути регулирование весов синапсов тормозных нейронов, которые на схеме условно не показаны.


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
85. « Сообщение №46653, от Май 04, 2020, 04:14:26 PM»

автор: Palarm сообщение № 46650:
меняя через нейромедиаторы порог возбуждения основного и тормозного нейронов

Это и есть древний способ разделния стилей восприятия-поведения, который исчерпывает себя уже во вторичных зонах неокортекса.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
86. « Сообщение №46654, от Май 04, 2020, 04:41:36 PM»

Хочешь сказать что все таки порог менять надо, а не веса синапсов? Или что изначально менялся порог, а потом уже появились более продвинутые механизмы?


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
87. « Сообщение №46655, от Май 04, 2020, 05:53:31 PM»

Нейромедиаторы специфичны к синапсу (точнее наоборот) и на порог не влияют..А позже разделение распознавательных структур начало осуществляться общим подвозбуждением нужным и торможением ненужных.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
88. « Сообщение №46656, от Май 04, 2020, 06:42:23 PM»

Я понимаю так: если нет тормозных нейронов, то единственный способ организовать смену эфекторного рисунка (модели восприятия) - изменение порога или весов синапсов. Веса меняются нейромедиаторами (они задают чувствительность синапса). А как менять порог?
Выше я предположил, что его проще изменить чем веса, но точно ли так? По идее, это константа для нейрона, она может закладываться в геноме. Но возможно порог может чем то регулироваться, и это наследие от древних нервных систем.

То есть вопрос стоит на что дальше ориентироваться, что забить как константу, а что оставить как ручку регулятора/переключателя в симуляторе. Сейчас имеем три параметра: веса синапсов, устаканенных при созревании нейрона, тормозное влияние, порог срабатывания. Все они по отдельности в разной степени способны конфигурировать эфекторный рисунок. А их комбинации тем более. Эволюционно проверялись самые причудливые сочетания, и я подозреваю, что есть некоторые области значений этих параметров, при которых сетка наиболее стабильно, в смысле не хаотично, а предсказуемо переключается. Значит ли это, что такой механизм так и остался в первичных слоях? При этом торможение более молодой механизм, значит до него переключение стилей поведения делалось только изменением порога и весов? А самый древний механизм? В каком порядке ты бы расставил их по времени возникновения?


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
89. « Сообщение №46657, от Май 04, 2020, 06:47:36 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
90. « Сообщение №46658, от Май 04, 2020, 07:16:24 PM»

А контекст задается сначала гомеостазом, а потом уже внутренними моделями. Стало быть вторичные структуры надо симулировать создав для начала симулятор гомеостаза. То есть модель живого организма имеющего базовые потребности. Нужно же как то модулировать (направлять) переключение моделей поведения. В первичных слоях ручки регуляторов крутит гомеостазНо вот какие ручки оставить, какие вывести в константы? Что выбрано в природной реализации ?




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
91. « Сообщение №46659, от Май 04, 2020, 07:39:26 PM»

Это ты замахнулся на очень сложную систему, там немало нюансов. 




Род: Мужской
Клон
Имеет права модератора этой темыInfra Real

Сообщений: 1160

92. « Сообщение №46660, от Май 06, 2020, 09:18:02 AM»

автор: nan сообщение № 46659:
Это ты замахнулся на очень сложную систему, там немало нюансов. 

Нан , хотел спросить .Как относиться к гомеостату У.Эшби?

Гомеостат может действовать двумя способами. Об одном мы уже говорили выше: устройство «свободно» адаптируется к среде. Во втором варианте схема его действий чётко задана. Эшби экспериментировал с двумя видами сетей - симметричной, в которой все устройства адаптируются друг к другу, и асимметричной, в которой внутренние параметры одного устройства фиксированны и все прочие устройства должны приспособиться к нему.

Источник: https://vikent.ru/enc/7220/   Это философия или подходящая для моделирования схемотехника ?




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
93. « Сообщение №46661, от Май 06, 2020, 04:42:47 PM»

Это никак не относится к реальный природным нейросетям.



Спасибо за это сообщение! Благодарность от: Клон

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
94. « Сообщение №46663, от Май 09, 2020, 08:25:18 AM»

Добавил  график состояний эффекторов. Теперь можно наглядно в динамике наблюдать как скачут веса. Дальше попробую определить область значений параметров, при которых сетка устойчиво работает в некотором диапазоне. Под устойчивостью имею в виду, что двигая ползунки в некотором диапазоне картинка эффекторного рисунка не меняется - значит сетка имеет помехоустойчивость реагирования. Это думаю важно, иначе не получится получить стабильные переключения моделей поведения - нужен участок "плато" реагирования. Как я предположил, а nan вроде как подтвердил, механизм смены стилей поведения в древних системах делался путем смещения параметров сетки (у симулятора это порог и основной и тормозной вес). И судя по всему, этот механизм так и остался в качестве рабочего в наследие от них - для первичных структур.

 

Но для получения нескольких переключений нужно иметь несколько "плато" - и это предстоит выяснить, сколько их на самом деле и при каких условиях может быть. А если выяснится, что разные рисунки дают разные возможности конфигураций стилей поведения? То есть один детектируемый образ позволяет создать несколько моделей реагирования, а другой нет? Не окажется ли это объяснением, почему одни реакции способны модифицироваться а другие нет? Природа однозначно игралась с параметрами, закрепляя удачные находки. Но очевидно, что такой механизм ограничен в плане масштабирования реакций.

Grafik.rar




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
95. « Сообщение №46664, от Май 09, 2020, 04:45:54 PM»

Похоже я дал не верное определение устойчивого состояния сети, которое можно использовать как вариант реагирования. Нужно только, чтобы при определенном рецепторном рисунке сеть давала в виде отклика один и тот же эффекторный рисунок. Это значит, что она предсказуемо стабильно реагирует на раздражитель. Однако мне попадались ситуации, когда при отжатии/нажатии рецептора рисунка сеть давала по 2 и даже 3 варианта отклика. Возможно она была в состоянии неустойчивого равновесия, когда при итерациях расчета весов практически равно-вероятны были несколько вариантов переключения рисунка. То есть чувствительность была сравнима с погрешностью расчета. В реальной природной сети такое тоже может быть, ведь нейроны имеют некоторый диапазон флуктуации своих параметров, вроде "дрейфа нуля" или "ток утечки" у электронных компонентов. Но скорей всего такие хаотичные реагирования просто не фиксировались ввиду отсутствия необходимого для закрепления числа повторяемости, отчего сетки с такими параметрами выбраковывались.

 

То есть предварительно такой вывод:

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
96. « Сообщение №46665, от Май 11, 2020, 07:38:20 AM»

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

 

Обычно стабилизация параметра делается по схеме использования 2 датчиков конечных состояний. Один сигналит при выходе за нижний предел, другой - за верхний. А если оба молчат - то параметр в норме. Сигналы с датчиков запускают программы возращения в норму: нижний детектор запускает повышающую параметр программу, верхний понижающую. То есть тут стабилизация подразумевает 2 типа сигнала, что ограничивает ее функциональность. Сетка же позволяет выдавать больше 2 сигналов на один раздражитель - через настройку ее параметров. А это соответственно больше вариантов реагирования. Это как если бы не один концевик, а несколько по концам диапазона поставить, что даст дополнительные варианты реагирования.

 

В прицепе "№ конфигурации" показывает, сколько переключений сетки происходит - столько возможных реакций возможно при данных весах и тормозном влиянии. Можно по идее график составить в виде 3D кривой (три параметра уравнения кривой) для каждого рецепторного рисунка - как его характеристику в плане реагирования. "№ конфигурации" - это просто номера активных эффекторов собранных как строка - уникальный идентификатор эффекторного рисунка.

Konfiguratcii.rar




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
97. « Сообщение №46666, от Май 11, 2020, 12:22:05 PM»

Gashyeniye_bokovyh_affyektorov.rar

На видео показано, как происходит гашение боковых эффекторов при активации самого нагруженного (весомого). Добавляя ползунком основного веса на синапсы видно, что суммарный вес центрального и связанных с ним тормозными связями других эффекторов, на которые тоже воздействуют активные рецепторы, сначала пропорционально растут. Но как только самый нагруженный достигает порога срабатывания - он начинает их тормозить, вплоть до того, что задавливает в минус. Я специально поставил коэфф. тормозного влияния 0,6, чтобы после активации центральный заминусовал боковые. Происходит как бы резкий его "отрыв" от остальных - контрастирование возбуждения одиночного эффектора. Самый нагруженный "выстреливает", недогруженные "притапливаются".

 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
98. « Сообщение №46676, от Май 16, 2020, 06:45:43 PM»

Пока что не очень наглядно и как бы неинтересно поэтому. Все же нужен какой-то более узнаваемый образ для демонстрации. Если показывать подавление помех, то сделать эти помехи вместе с полезным образом. Если контрастирование -то чтобы видно было как увеличивается контрастность и т.п.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
99. « Сообщение №46677, от Май 17, 2020, 06:09:20 AM»

Я сейчас как раз делаю подробное описание симулятора взаимного торможения, потом добавлю видео. По сеткам уже сделал.

Макет изменил с целью размещения на экране без прокрутки матрицы и графика, чтобы сразу было видно, как интерактивно меняется график при изменении состояния матрицы.

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

автор: nan сообщение № 46676:
Пока что не очень наглядно и как бы неинтересно поэтому

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
100. « Сообщение №46680, от Май 17, 2020, 09:23:28 AM»

Впал я так сказать в глубокую задумчивость по поводу адекватности расчета весов методом итераций. Речь о расчете неопределенных ситуаций, когда например три эффектора одинаково нагружены весами от рецепторов и по идее должны равномерно притормозить друг друга. Так и происходит, но лишь в случае, если итоговый вес все еще больше порога. А вот если ниже - тут возникает интересный момент, кто кого придушит первым. Строго математически, если три ковбоя стали в круг и направили друг на друга револьверы - погибнут все, так как шансы у всех равны. Но в реальности кто то обычно оказывается проворнее и выживает. То же самое и с сеткой. По картинке, все три эффектора должны получить вес 0,48 (при параметрах: порог 0,4, веса основной и тормозной 0,2) равномерно придушив друг друга. А на деле №27 выбыл из игры. В данном случае потому, что при расчете идет последовательный опрос эффекторов по возрастанию номеров - вот ему первому и прилетела пули от остальных.

 

И возникает вопрос: а в реальном прототипе, например на микросхемах, где веса не итерациями а физическими взаимодействиями устанавливаются - там как будет? С одной стороны там ведь все равно будут какие то флуктуации и стало быть кто то так же окажется ловчее и выстрелит первым. А строго по математике, если бы например веса считались по формуле - все равны. Вот и думаю: понятно, что в таких примитивах при таких параметрах кто то будет гаситься - но строго по теории то не должен! То есть в симуляторе примитив прямая разваливается на пунктирную линию - а при расчете по формуле веса просто равномерно понизятся - вплоть до того, что при достаточно сильном тормозном воздействии примитив вообще погаснет, весь целиком! А в симуляторе прямая распадется на отрезки и там уже сколько не крути ручки тормозов - они так и останутся отрезками. Не сходняк однако. Но он интересен тем, что... так и должно быть. То есть строгая формула не годится. И вот думаю - по этому поводу будет сильное бодание с оппонентами. Как так - правильная формула не правильна?!




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
101. « Сообщение №46682, от Май 17, 2020, 10:52:14 AM»

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

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

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
102. « Сообщение №46684, от Май 17, 2020, 11:27:41 AM»

автор: Palarm сообщение № 46680:
Речь о расчете неопределенных ситуаций, когда например три эффектора одинаково нагружены весами от рецепторов и по идее должны равномерно притормозить друг друга.

Это - не типичный случай в нейросети. Даже если такое вдруг случиться, то это будет очень частный глюк. Лучше не входить в разные варианты возможностей, а находиться в контексте системной модели нейросети.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
103. « Сообщение №46686, от Май 17, 2020, 12:39:23 PM»

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

 

Вот если бы №21, 31, 30 передавали бы вес не 0,2 а 0,15 - тогда эффектор №27 получил бы от них суммарный вес 0,45 а №117, 126 - по 0,5. Взаимное торможение с весом 0,2 тогда распределилось бы так:

 

на №27 пришло бы 0,05*2=0,1 а на №117, 126 0,05+0,045=0,095. В итоге их суммарные веса бы стали:

 

№27: 0,45-0,1=0,35 - ниже порога 0,4

№117, 126: 0,5-0,095=0,405 - выше порога 0,4

 

И тогда уже без всяких флуктуаций №27 закрылся бы, его торможение пропало  и веса №117, 126 пересчитались бы как от только взаимного влияния №117, 126 = 0,48.

 

Теперь понятно, зачем ты в своем примере вводил статусы рецепторов не просто ВКЛ/ВЫКЛ (как у меня) а градацией от 1 до 10 - так ты симулировал реальное проецирование примитива на рецепторное поле в виде уровней сигналов от рецепторов, которое практически никогда не бывает равномерным, что собственно и устраняет не однозначность расчета. Придется и мне их вводить, чтобы объяснять состояние нейросети без привлечения стреляющих друг в друга ковбоев.

 

Хотя тогда придется все равно объяснять, почему при одинаковых уровнях из тройки эффекторов выключается тот что с наименьшим номером, а при неодинаковых - с наименьшим весом. Это уже результат опроса по возрастанию при расчете сети. Но и в реальной сети тоже один из трех одинаково нагруженных вырубится - но уже из за флуктуаций. Получается, строго говоря есть две причины, почему искусственная нейросеть так распределяет веса: из за особенностей расчета и неравномерности рецепторного поля. А в природной то же самое происходит из за флуктуаций параметров и неравномерности рецепторного поля. Не будет ли это слишком сложным для понимания? Можно конечно тупнем прикинуться и просто показывать только не равновесные примитивы, и на них уже объяснять контрастирование исключительно по причине неравного распределения весов. Но вот кто нибудь нажмет одинаковые веса и ткнет пальцем: а тут тогда почему контрастирование происходит? Метод итераций  ведь не позволит избавиться от этого эффекта. А тот же самый эффект на физическом симуляторе вызовет аналогичный вопрос: тут же нет итераций, возбуждение рецепторов равномерное - откуда тогда "контрастирование"? И вот как тут объяснить, что на самом деле имеет место довольно сложный эффект из флуктуаций, особенностей расчета и собственно самого контрастирования? Когда в разных ситуациях работают их разные комбинации - но выглядит все похоже.

автор: nan сообщение № 46684:
Лучше не входить в разные варианты возможностей, а находиться в контексте системной модели нейросети.

Это значит кое что не договаривать, чтобы не сбивать с толку. В смысле не врать, а не усложнять.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
104. « Сообщение №46693, от Май 17, 2020, 06:08:52 PM»

   

Сделал возможность задавать разные веса для рецепторных связей. Точнее оно и раньше было, но сделал как у Nan - через клик по рецептору: левой кнопкой вес растет до 0,9 - правой опускается до 0. В итоге равновесие вернулось :) На первом рисунке эффекторы при равномерной нагрузке равно напряглись, на втором - задавили центральный, так как на него меньший вес пришел от рецепторов. Итерации, флуктуации - выходит нет этой проблемы, или скорей всего постепенное наращивание весов ее ослабило. Если она и будет вылазить, то при достаточно больших тормозных влияниях. Ссори...




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
105. « Сообщение №46741, от Май 20, 2020, 07:34:04 PM»

Добавил описание модели латерального торможения

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



Спасибо за это сообщение! Благодарность от: Айк

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
106. « Сообщение №46769, от Май 23, 2020, 10:54:48 PM»

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

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

« Последнее редактирование: 2020-05-24 07:17:33 Palarm »



Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
107. « Сообщение №46774, от Май 24, 2020, 07:47:51 PM»

 

Подумалось, что вообще то число рецепторов (розовый) должно быть равно числу эффекторов (зеленый) - так получается максимально плотный равномерный охват эффекторами рецепторов. И тогда при этом один эффектор охватывает 7 рецепторов, а не 6, как сейчас в симуляторе, аналогично каждый рецептор связан с 7 эффекторами. Схема 7х7 для шестигранной  упаковки получается. При этом так же максимально плотны тормозные связи - на рисунке слева они показаны. А вот основные связи на виде сверху (лев. рисунок) не видны - они под тормозными. И центральная основная вообще не видна - она перпендикулярно вниз направлена. То есть все таки идею отражения всех связей на одной матрице придется забыть - при такой плотной упаковке не получится, разве только в 3D.

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

Придется теперь делать новую решетку, там думается кол-во конфигураций будет больше.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
108. « Сообщение №46775, от Май 24, 2020, 07:53:58 PM»

Мне кажется,ты зря придаешь такое внимание числам рецепторов и эффекторов. Это - очень условно для подобных моделей. Хотя можно было бы ввести коээфициент разветвления типа под одним кружком рецептора подразумевается, 1,2,3 ... 20 рецепторов,  и тогда учитывать такое число в итогах работы модели.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
109. « Сообщение №46776, от Май 24, 2020, 08:30:26 PM»

Возможно ты прав. В самом деле, можно прописать какие угодно связи в таблице связей эффектор/рецептор, даже такие, которые графически очень сложно отобразить, и получить варианты реакций. Но суть останется прежней. Текущая сетка просто очень наглядно и просто показывает принцип передачи сигнала от рецептора к эффектору. И на ней остановимся. Есть задачи поинтереснее, чем перебирать бесконечные варианты их соединений. Например, можно приступить к самообучению.

У меня уже возникли кое какие соображения по этому поводу, сформулирую и выложу. Там походу тоже вылезут интересные моменты.


Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
110. « Сообщение №46780, от Май 25, 2020, 07:44:13 PM»

1. В самом простейшем случае (мало имеющем общего с реальной ситуацией - но про это пока думаю преждевременно) обучение сети происходит простым проецированием на нее неподвижного примитива. Нужно просто выдержать его какое то время, чтобы закрепились веса или вместо времени использовать параметр "кол-во" обучающих проекций. По сути это тоже самое - но намного быстрее, чтобы не тратить время попусту глядя как секундный счетчик неспешно отсчитывает например 100 сек.

Но даже при таком идеализированном самообучении возникает вопрос по поводу настроек сенсорной матрицы - какими их выставлять? Минимальными/максимальными? И модуль гомеостатической значимости, управляющий настройками (его еще нет, но когда будет, надо будет решить) так же пока отключен, иначе он только хаос будет вносить?

 

2. Объект по идее должен позиционироваться всегда по центру сенсорной матрицы, иначе потом придется как то объединять одинаковые проекции в разных частях экрана. Вообще это в какой то мере должно получиться автоматически уже потому, что какой бы примитив не рисовали, максимальная засветка будет ближе к центру и именно центральные рецепторы быстрее всего созреют. Чтобы позиционировать по центру нужно подключение следящего модуля к еще сырой, не созревшей матрице. Это как бы "магнитная рамка", захватывающая и удерживающая объект по центру через поворот головы, движения глаз, шевеления ушами  и т.д. - для разного типа рецепторов. Мы пока просто подразумеваем его, поэтому примитив всегда по центру.

 

3. Модуль гомеостатической значимости, влияющий на настройки созревающего слоя и задающий контекст реагирования - он вроде как должен быть временно отключен. Иначе о каком переключении может идти речь, если еще нет уверенного распознавания.

 

4. На вопрос о признаке созревшего слоя ты помню говорил, что у тебя только предположения есть по этому поводу (в смысле, как это конкретно в природной нейросети реализовано). Стало быть тут можно просто выбрать что проще и эффективнее для реализации в симуляторе. Вроде как очевидно просто задать временной  интервал (или например общее кол-во проекций на матрицу) после чего самообучение прекращается.

 

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

 

Получается, я правильно заметил, что изменения параметров сети меняет ее эффекторный рисунок. Но не правильно интерпретировал это свойство, приписав такое регулирование уже самому первому слою. Но там взаимное торможение эффекторов просто контрастирует детектируемые примитивы, разбивая их на более простые (линии - на более короткие отрезки, пятна - на контуры). Тут контрастирование статическое, постоянное. А вот на втором слое уже динамическое.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
111. « Сообщение №46781, от Май 25, 2020, 07:59:54 PM»

>>модуль гомеостатической значимости, управляющий настройками

Наработка коллекции примитивов иерархически усложняющихся распознавателей, включая подключение сенсорики другой модальности (кроме зрительной) – никак не касается развития примитивов распознавания сочетаний рецепторов гомеостатических параметров. И только на позднем этапе возникает контекстная иерархия, при развитии третичных зон, там, где сочетаются не только модальности органов восприятия, но и примитивы значимости, а также концы уже наработанных примитивов моторных реакций.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
112. « Сообщение №46782, от Май 25, 2020, 08:39:19 PM»

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

Звучит логично уже хотя бы по тому, чтобы среагировать на чью то "зловещую" тень, или "злобный" блеск чьих то глаз в темноте, через резкое контрастирование признаков предполагаемого хищника (есть ли он там) - нужно чтобы в какой то более высокоуровневой зоне свелись в "общую картину" сигналы от наружных сенсорных датчиков, концы рефлекторных заготовок реагирования и какие то управляющие сигналы, чтобы в зависимости от общей рецепторной картины запускать подходящую рефлекторную цепочку. В данном случае управляющие сигналы - это данные гомеостаза. Тут действительно, пока все очень сложно даже представить, как это работает, а не то что смоделировать. Стало быть заморачиваться кто и как крутит регуляторы первичных слоев пока что преждевременно. Потому как сначала нужно построить дерево примитивов, создать модуль модификации условных рефлексов, модуль гомеостатического балланса, свести все это как то в одну кучу - и только потом уже тянуть линии обратной связи на первичные зоны. Звучит так же "просто", как построить первую, вторую, третью ступень ракеты и полететь на луну.

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
113. « Сообщение №46783, от Май 25, 2020, 08:47:28 PM»

автор: Palarm сообщение № 46782:
тогда от них подключается обратная связь на первичные и начинает воздействовать на параметры слоев, контрастируя из уже уверенно детектируемых примитивов "нужные".

Нет. Никакой такой обратной связи. Но есть обратные связи через вторичные зоны через гиппокамп для удержания стимула в памяти.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
114. « Сообщение №46784, от Май 25, 2020, 09:11:01 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
115. « Сообщение №46801, от Май 28, 2020, 07:52:00 PM»

На этот раз решил пойти от обратного: сначала тщательно расписать "справку" по модели самообучения, а уже потом закодить. По сути переоткрыл для себя банальность, которые все старые кодеры уже охрипли повторять молодым: сначала расчерти блок-схему на бумаге, потом топчи клаву! Но как водится, их никто не слушает до какого то момента, как та обезьяна с пальмой и бананом на ней: кули думать, трясти надо!

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

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


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
116. « Сообщение №46802, от Май 28, 2020, 08:16:29 PM»

В отличие от нейросетевиков задачи одним распознавателем обучить различать несколько примитивов нет. Вообще нет никакой аналогии с их проблемами.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
117. « Сообщение №46804, от Май 29, 2020, 03:49:22 AM»

Ты видимо не понял суть интриги или я не понял тебя. Представь рецепторную матрицу скажем 4х4, на которую проецируются цифры от 0 до 9. Цифра 1 включает в себя пиксели от цифры 4 и 7, 8 - от 6 и 0 и т. д. То есть один и тот же рецептор детектирует разные примитивы. А теперь представим что мы обучили распознавать цифру 1, что означает - все эффекторы, которые участвуют в ее распознавании созрели и больше не обучаются. И если мы начнем теперь обучать эту же матрицу цифре 4, то получится, что некоторые уже обученные эффекторы начнут реагировать на нее, потому как попадают в область охвата рецепторов предыдущей цифры 1 ("ножка" обоих цифр). И вот тут встает вопрос: получается это уже не обучение с нуля, а дообучение, частично цифра уже распознана.

 

А следующий логический вывод - с каждым новым обучением/дообучением все больше пикселов будет "засвечиваться" и в конечном итоге при показе какого то примитива там вообще никто ничему не будет обучаться (наращивать веса) - все уже обучено, засвечено - будет просто реагирование согласно расставленным весам.

 

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

 

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

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
118. « Сообщение №46805, от Май 29, 2020, 07:29:25 AM»

1. Сразу распознаванию цифры природная нейросеть не специализируется. Сначала - разные элементы цифры.

2. Если данному эффектору за время его специализации показывать части от 1 на 90% чаще, чем другие, то возникнет детектор 1, который будет еще срабатывать и от других цифр, похожих на 1 (как результирующее изображение на фотопластинке за время экспозиции). То, что распознавание неверно на этом уровне никак не определяется. 

автор: Palarm сообщение № 46804:
А может ли так случиться, что пара созревающих нейронов свяжется между собой как рецептор с эффектором?

Все эффекторы слоя созревают примерно одинаково и начинают тянуть свои дендриты именно к предыдущему слою туда, где появляется активность.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
119. « Сообщение №46806, от Май 29, 2020, 09:26:08 AM»

автор: nan сообщение № 46805:
Сначала - разные элементы цифры

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

 

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

Скорей всего есть какая то байда с разлиновкой сетки, иначе не стало бы преимуществом случайно-коряво-глючное распределение весов и связей при самообучении. Или есть нюансы при дальнейшем иерархическом детектировании, которые сводят на нет преимущества сетки с фоновой засветкой.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
120. « Сообщение №46807, от Май 29, 2020, 10:14:26 AM»

Нужно выбрать: это модель природной реализации или какая-то версия искусственной. Если природной, то нужно бы устроить обучение как именно протягивания связей к наиболее часто активным рецепторам (или протягивание связи к каждому активному рецептору и добавление еще одной при следующей его активности).




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
121. « Сообщение №46808, от Май 29, 2020, 10:26:52 AM»

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


Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
122. « Сообщение №46809, от Май 30, 2020, 07:51:40 PM»

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

 

Возможно, именно так в основном и функционирует нервная система насекомых. Спорным будет вопрос о степени вариабельности таких систем, чтобы объяснить наблюдаемое разнообразие рефлексии насекомых, от простейших поведенческих навыков до сложных взаимоотношений муравьев, пчел и т.п. Для этого нужно построить работающий по такой схеме полноценный прототип нервной системы муравья, который покажет, так ли это. Однако представляя ее как построение однотипных решеток связей с регулировкой слоев через их параметры, можно представить, как передаются по наследству такие сложные модели поведения насекомых вроде пчел. А никак они не передаются. Слои строятся «по одному чертежу», фрактальной структуре решеток связи, закодированной в геноме. Уникальные для каждого вида лишь параметры слоев, которые и определяют особенности рефлексии - вот они и идут довеском к "чертежам" в геноме, как сопроводительная записка. Это можно сравнить со сложными, иерархически структурируемыми функциями с параметрами, изменяя которые можно получать различные области решений. Гипотеза весьма смелая и мало обоснованная, кроме наблюдений за поведением слоя при изменении его параметров.

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
123. « Сообщение №46810, от Май 30, 2020, 08:22:41 PM»

Насекомые от простейших как бабочка со всего лишь считанными цепочками реагирования в зависимости от обстоятельств, выбивались в более продвинутые с каждым новым совершенно случайным мутнтным приобретением еще какой-то цепочки. И у мух-муравьев этого накручивалось очень, очень много на многие случаи. Автоматизм ЛЮБОЙ сложности можно собрать из таких цепочек, проверяя жизнями огромного числа особей за огромное количество времени.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
124. « Сообщение №46811, от Май 31, 2020, 05:36:25 AM»

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

Ведь строгого разделения уровней на рецепторный/детекторный нет. Даже на сетчатке, которая вроде как чисто рецепторный орган имеются тормозные взаимодействия между рецепторами, позволяющие уже на уровне детекторов контрастировать воспринимаемые сигналы, например выделять цвета. Фасеточные глаза насекомых вдохновили меня на схему дуплексных решеток, и глядя на них не могу отделаться от мысли, что не могла природа не наткнуться и не использовать такую компоновку рецептор/эффектор в одном слое. Обычно представляют фасеточное видение насекомых в виде мозаичной картинки - просто разрезали изображение на участки и типа так видит мир насекомое. Но я думаю не так. Оно не видит никаких "картинок", это ведь сложные субъективные образы, для "видения" которых нужны соответствующие зоны, которых у насекомых просто нет, ввиду не надобности. Не нужны они им потому, что фасеты имеют смешанную функциональность: они возбуждаются внешними сигналами и в какой то мере возбуждают соседние фасеты, которые специализированы в большей степени как "эффекторы" и возможно даже тормозят друг друга. В итоге получается вложенные друг в друга рецептор-эффекторные слои. Это все делается слоем специальных клеток под ними, связанных с фасетами. Все это работает так же как дуплексная матрица в симуляторе латерального торможения, разбивая, выделяя, контрастируя примитивы, с гомеостатическим подруливанием. Думаю, природа выжала по максимуму из этой схемы, вплоть до способности детектировать динамические примитивы типа скорости объектов. У насекомых распознавание образов происходит в первичных структурах в большей степени за счет свойств самих этих структур: схемы компоновки элементов, схемы связей между ними и т. д. Но это конечно все предположения. Кажется невероятным, что можно построить такие сложные цепочки рефлексов да еще и как то закодировать в геноме. Но никто же не проверял, насколько вычурные каскады доминошек способна выстроить схемотехника за миллионы лет эволюции.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
125. « Сообщение №46812, от Май 31, 2020, 07:55:00 AM»

автор: Palarm сообщение № 46811:
сли возникают длительные закольцовки активностей

На рассматриваемом нами уровнях нет никаких закольцовок, а просто тупо активность отражает воздействие.

автор: Palarm сообщение № 46811:
Кажется невероятным, что можно построить такие сложные цепочки рефлексов да еще и как то закодировать в геноме.

В геноме они не закодированы. Никакой емкости бы не хватило. Как и не закодирован мозг человека. Об этом было: Наследование признаков




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
126. « Сообщение №46813, от Май 31, 2020, 08:56:25 AM»

По поводу расчета весов связей (это выдержка из будущего хелпа):

Сами по себе рецепторы не фиксируют заряда, их задача среагировать на него возбуждением, если внешний сигнал превысил их порог срабатывания, и передать свое возбуждение эффектору. Чтобы он среагировал возбуждением, между ними должна быть связь и уровень передаваемого сигнала так же должен превышать порог срабатывания эффектора. В природной нейросети процесс самообучения нейрона включает в себя вытягивание отростка к активному рецептору и установление веса передаваемой от рецептора связи. При этом нейрон должен находиться в режиме готовности к обучению (пейсмекерной активности), который должен быть выключен после завершения обучения, чтобы процесс не длился вечно. В данной модели, симулирующей природную нейросеть, связи так же устанавливаются только между активным рецептором и эффектором в стадии созревания. Вес связи при этом устанавливается не сразу, а постепенно увеличиваясь с каждым шагом цикла обучения, что симулирует временную задержку в установлении веса синапса. Формула расчета веса следующая:

We = (Ur – Sum(Wtr))/Nr, где

• Ur – уровень сигнала получаемого от рецептора. В модели он установлен по умолчанию и равен 1 (?)

• Nr – номер шага цикла наращивания
• Wtr – тормозное влияние от соседних активных эффекторов

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

 

И вот тут вопрос по поводу единицы. Чтобы связать вес синапса с уровнем сигнала рецептора, можно привязаться напрямую к его величине, то есть по шагам наращивать вес синапса, где на каждый шаг идет прибавление Ur/10 (при 10 циклах обучения). Но тогда получается, рецептор - аналоговый датчик выдающий разный уровень сигнала в зависимости от уровня раздражителя. А он вроде как пороговый должен быть - выдавать только 1 или 0. Но тогда если нужна зависимость между уровнем возбуждения рецептора и выращиваемым весом - остается привязаться к частоте сигнала рецептора. Чем более он возбужден, тем больше шаг наращивания веса синапса. Этот вопрос вроде бы поднимали: что там у рецептора - аналоговая или частотная выдача? Я думаю что частотная. Рецептор генерит серию импульсов с большей частотой и/или продолжительностью - что и служит фактором определяющим скорость наращивания веса связанного с ним синапса.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
127. « Сообщение №46814, от Май 31, 2020, 09:36:45 AM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
128. « Сообщение №46815, от Май 31, 2020, 03:51:24 PM»

В самом деле, привязываться к уровню сигнала рецептора имеет смысл только в случае, если бы и после обучения сохранялась такая зависимость. То есть вес синаптической связи менялся бы пропорционально уровню сигнала рецептора. Но по факту он фиксируется на каком то значении. Видимо так устаканилось потому, что нет никакого преимущества реагировать на уровень сигнала от рецептора. При обучении это просто ускорит созревание связи, что не очень то и важно. А при детектировании создаст проблемы - один и тот же нейрон будет возбуждаться при разных уровнях активности рецептора, что обессмыслит попытку одним нейроном определять уровень мощности: лампочка горит и при 180, 220, 240 W - и ориентируясь только на ВКЛ/ВЫКЛ невозможно будет понять, какое там напряжение.
Поэтому если рецептор даже и генерит импульсы разной частоты и длительности - на логику работы нейрона-эффектора это никак не влияет. Хотя вполне возможно, что в ходе эволюции возникали попытки это как то использовать, но в любом случае это были дополнительные, малозначимые механизмы. Основной - простое пороговое реагирование при активации рецептора: ВКЛ/ВЫКЛ.

А насколько критично, чтобы нейроны слоя примерно одинаково созревали? Если созревший нейрон будет просто реагировать, а рядом несозревший созревать, тем самым включая созревший в свою цепочку эффекторного рисунка.


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
129. « Сообщение №46816, от Май 31, 2020, 04:03:01 PM»

автор: Palarm сообщение № 46815:
Видимо так устаканилось потому, что нет никакого преимущества реагировать на уровень сигнала от рецептора.

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

автор: Palarm сообщение № 46815:
А насколько критично, чтобы нейроны слоя примерно одинаково созревали?

Новый слой - новая заплатка эволюции, которая появляется в череде других и поэтому ее функция разворачивается  в таком же порядке и примерно в одно и то же время.

 




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
130. « Сообщение №46819, от Май 31, 2020, 06:50:32 PM»

Сможешь прокоментировать этот блок

 Начало скрываемого блока



Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
131. « Сообщение №46820, от Май 31, 2020, 07:14:04 PM»

>>необходимо условие: образ должен быть «неподвижен» относительно рецепторов в течение некоторого времени. 

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

>>для того, чтобы нейроны могли зафиксировать связи с активными рецепторами, что не может произойти мгновенно

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

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

Вряд ли есть основание считать взаимное торможение поздним приобретением. Тут вопрос спорный.

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

Не стоит делать акцент на шестигранниках.

>>Природная нейросеть обучается послойно, формируя постепенно иерархическую структуру распознавания.

Есть качественная разница между развитием первичных нейросетей и новой коры. Первичные, наследуемые сети развиваются в последовательности приобретения новой заплатки, а эти заплатки могут быть какими угодно в мутирующей вариабельности. Развитие новой коры идет последовательно, так же отражая новые приобретения (появление нового слоя), но здесь есть определенный порядок расположения эффекторных матриц в слое (перекрытие друг друга профилями активностей и равномерная структура взаимного торможения).



Спасибо за это сообщение! Благодарность от: Palarm

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
132. « Сообщение №46821, от Май 31, 2020, 08:03:30 PM»

автор: nan сообщение № 46820:
Конечно, более повторяющиеся и неподвижные получат преимущество.

я предполагаю сделать несколько режимов обучения: статический, когда один образ неподвижен, динамический - когда он дергается, мультирежим - когда мелькают несколько. Думаю, надо в итоге еще выводить кол-во показов каждого образа - а потом смотреть что зафиксировалось.

автор: nan сообщение № 46820:
Предшествующий рост дендритов уже многое предопределяет.

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

автор: nan сообщение № 46820:
Не стоит делать акцент на шестигранниках.

ОК, уберу, чтобы глаз не замылился этими сотами

автор: nan сообщение № 46820:
Есть качественная разница между развитием первичных нейросетей и новой коры

Плохо конечно, что я делаю частичные модели нейросети не имея четкой картины в голове как оно все работает. Скорей всего многое потом придется переписывать и переделывать. Твой курс по моим ощущения дал только общие представления. Это как узнать правила, стилистику языка, выучить какие то слова - но до бегло говорить, читать и тем более писать без ошибок еще очень далеко. Собственно обучение только сейчас и началось.

 

А что ты думаешь по поводу 3 свойств нейросети - это просто философия или действительно что то в этом есть?




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
133. « Сообщение №46822, от Май 31, 2020, 08:12:58 PM»

автор: Palarm сообщение № 46821:
что ты думаешь по поводу 3 свойств нейросети - это просто философия или действительно что то в этом есть?

Это не столько свойства нейросети, как принципы формирования ее звеньев.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
134. « Сообщение №46830, от Июнь 03, 2020, 07:01:41 AM»

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

« Последнее редактирование: 2020-06-05 08:26:19 Palarm »



Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
135. « Сообщение №46831, от Июнь 03, 2020, 07:17:23 AM»

Выглядит менее сумбурно, чем гексагональная.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
136. « Сообщение №46832, от Июнь 03, 2020, 07:34:30 AM»

Мысли постепенно выравниваются


Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
137. « Сообщение №46833, от Июнь 03, 2020, 09:54:14 AM»

Однажды прочитал в статье, что немцы сделали спец. покрытие для роботов, имитирующее сенсорную чувствительность кожи. В кратком описании говорилось о неких микро-датчиках с встроенным чипом, которые как то обрабатывают сигнал и передают результат на центральный процессор. Испытания прошли успешно и теперь работают над следующей версией с гибкой подложкой, чтобы "кожу" можно было буквально натягивать на каркас робота. Тогда сразу подумалось - если бы сделать компоновку дуплексной на гибкой подложке - то такая "кожа" запросто могла бы детектировать не просто прикосновения, но "запоминать" конкретный сенсорный рисунок. Например, робот мог бы запоминать хозяина через рукопожатие или обнимашку - инициализация "протокола служения" при первом включении. Ведь первичная обработка (разбиение, контрастирование) происходит прямо в сенсорном слое, без всяких центральных процессоров. А если сделать "кожу" многослойной, добавив несколько слоев для группировки примитивов первого слоя - останется только подключить рефлекторные заготовки для реагирования. Это существенно разгрузит центральный процессор и увеличит скорость реакции, не говоря о том, что отпадет надобность в написании сложных самообучаемых алгоритмов распознавания.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
138. « Сообщение №46834, от Июнь 03, 2020, 10:14:27 AM»

При таком подходе вообще не нужен центральный процессор, только как дополнительный математический модуль. Людям бы таой имплант тоже был бы полезен: считать в уме, сохранять картинки и файлы и т.п.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
139. « Сообщение №46835, от Июнь 03, 2020, 06:01:35 PM»

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


Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
140. « Сообщение №46838, от Июнь 09, 2020, 01:59:44 PM»

Перелинковал сетку на ортогональную 4х4 и погонял в ней примитивы. Прямые вертикальные/горизонтальные линии не разрываются при контрастировании, потому как детектирующие их эффекторы не связаны друг с другом. А вот фигуру типа крест уже корежит при смене уровня торможения. В принципе все ожидаемо оказалось. Из новой схемы можно сделать вывод, что разрывание примитива на части это частный случай, зависящий от схемы основных/тормозных связей. Здесь ортогональные линии просто контрастируются не теряя основные активные эффекторы, только боковые. Связи на сетке пока изначально установлены, но при обучении они удалятся и должны будут "прорасти" - и тут видимо картина эффекторного рисунка тоже изменится.

 

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

Syetka_4h4.rar




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
141. « Сообщение №46839, от Июнь 09, 2020, 02:56:17 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
142. « Сообщение №46840, от Июнь 09, 2020, 03:47:02 PM»

Думал об этом. В плане наглядности схемы связей дуплексная компоновка предпочтительнее. Но для демонстрации спец. эффектов детекторных рисунков при изменении свойств сетки лучше показывать 2 матрицы отдельно. Сделаю 2 режима. Первый как сейчас + график справа, второй - две матрицы: слева рецепторная, справа эффекторная.


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
143. « Сообщение №46841, от Июнь 09, 2020, 05:24:04 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
144. « Сообщение №46842, от Июнь 09, 2020, 06:54:37 PM»

Можно в принципе сделать ячейки с белым фоном, тогда будет просто пустой экран. Тыкаешь на него - загорается рецептор, а на соседней матрице эффектор, если веса превысили его порог.

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

 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
145. « Сообщение №46843, от Июнь 09, 2020, 07:18:57 PM»

Ты же элементы делаешь в виде div, так можно для лишних задать стиль display:none; и они исчезнут.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
146. « Сообщение №46844, от Июнь 10, 2020, 01:41:12 PM»

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

 

Получается, для двухматричного режима отображения придется менять линковку элементов. Но это опять собьет с толку, когда при переключении с одного режима на другой будет меняться эффекторный рисунок - там ведь связи, в том числе тормозные будут другими.

 Dvye_matritcy.rar

Хотя если нарисовать квадрат более "толсто" - то расхождение рисунков при разных режимах уже не столь выражено.

Tolstyy_kvadrat.rar




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
147. « Сообщение №46847, от Июнь 10, 2020, 04:30:56 PM»

Есть такое подозрение, что если просто взять два параллельных слоя рецептор/эффектор и залинковать их тупо как они смотрят друг на друга и до ближайшего элемента, куда могут дотянуться - то получим максимально плотную из возможных решетку, только уже не дуплексную, а простую парную, где один эффектор линкуется с 9 рецепторами, и рецептор аналогично с 9 эффекторами. Схема 9х9, + тормозных связей 8. И может статься, вся эта свистопляска с генерациями, мерцаниями пропадет. Возможно дуплексная вундервафля вовсе не такая уж чудная, как мне хотелось бы ее видеть. Точнее она просто более глючная из за более слабого охвата связями элементов. Но в то же время более дешевая в исполнении.

Nan в своей демонстрашке так примерно и сделал - две отдельных матрицы без всяких линий связей, и два отдельных массива для каждой. Это показалось мне слишком банальным, но по факту выходит так и надо делать, без всяких выкидонов. Попробую это реализовать в симуляторе. А то что есть пойдет как пример поведения матрицы при различных вариантах линковки элементов. Теперь уже два есть: гексогональная и ортогональная. Осталось сделать просто нормальную

Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
148. « Сообщение №46857, от Июнь 12, 2020, 02:08:58 PM»

Ожидания стабильности не оправдались. Двойная решетка 9х9 слишком заторможена. Если изменение порога просто выключает постепенно эффекторы, то изменение торможения выдает намного большую свистопляску. А из за большого охвата эффекторами рецепторов (и наоборот) - эффекторный рисунок при минимальном пороге и торможении получается тоже слишком мощный. Вообщем надо видимо какое то раздумье - какая схема оптимальна. Мало связей - вялая реакция, много - слишком бурная. И в обоих случаях искажения и пляски эффекторов. Я ведь исхожу из того, что параметры в природной нейросети "плавают", стало быть если сетка так чувствительна к изменению порога или торможения, то и детектирование будет такое же глючное. Все таки дуплексы показывали лучшие показатели в плане стабильности, особенно гексогональная. 

Ryeshyetka_9h9.rar




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
149. « Сообщение №46858, от Июнь 12, 2020, 02:16:20 PM»

При большом числе боковых участников эффект должен быть более плавным. Это можно смоделировать на https://scorcher.ru/neuronet/lateral_braking.php




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
150. « Сообщение №46862, от Июнь 12, 2020, 07:04:32 PM»

У тебя там связь между рецептор-эффектор как 1:1, то есть нет охвата рецептор/эффектор. Только торможение использует охват ближайших эффекторов. Поэтому и нет такого шалмана как у меня.

Я думаю надо просто выявить факторы, влияющие на стабильность детектирования решетки и найти оптимум. Сейчас я пока вижу 4 таких параметра: порог срабатывания, уровень торможения, радиус охвата, диапазон значений параметров, при которых не меняется пара рецепторно-эффекторных рисунков. Причем еще вопрос - делать ли одинаковым например охват для рецептор/эффекторной линковки и тормозных связей. Может все три типа связей надо делать по разному, в смысле не 4х4х4 а 6х4х3 к примеру. На 1 рецептор 4 эффектора, на 1 эффектор 3 рецептора, тормозные связи между эффекторами как триады. Это просто пример от балды. И при каждых комбинациях эффекторная реакция будет сильно отличаться - это уже очевидно из опытов с гексогонально-ортогональными дуплексами и двойной 9х9. Главное свойство решетки, показывающее ее качество - способность генерировать уникальную пару РЭ-рисунков в некотором диапазоне плавания параметров. Чем уже диапазон - тем менее помехоустойчива и стало быть более глючная решетка. И есть подозрение, что чем больше охват, тем больше итераций надо на вычисление веса при торможении, потому как решетка становится более чувствительна к изменению параметров. Это как если толкнуть простую качелю или сложно связанные между собой кучи маятников - там все начнет ходуном ходить.

Понятно, что в реальности при самообучении связи вытянутся не равномерно с разными весами и может быть эффект взаимовлияния будет не так глючно выражен. Можно было бы и не заморачиваться по поводу почему эффекторные рисунки так пляшут. Но если мы говорим об искусственном прототипе распознавателя, причем о его реальном воплощении например в виде интегральной микросхемы или программного модуля - тогда нужно четкое понимание, как влияют вышесказанные свойства на качество детектирования. Иначе как ее улучшать, если не понимаешь в полной мере как и почему она именно так работает?




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
151. « Сообщение №46864, от Июнь 12, 2020, 07:28:33 PM»

Вот для примера как детектируют три решетки квадрат при изменении уровня торможения. Шестигранник и квадратная 4х4 просто контрастируют контур с небольшими вариациями, а вот последняя решетка 9х9 отжигает по полной, выдавая целую  серию рисунков. Разница между решетками - в схеме связей и кол-во охвата. Причем в схеме 9х9 охватываются только ближайшие элементы, хотя я предполагаю, в реальной нейросети это может быть и второй, и третий круг охвата. Там будет уже много больше комбинаций рисунков.

Кстати в конце видео я показал, что решетка 9х9 не видит разницы между точкой и крестом из 4 пикселов - это таки серьезный залет. Получается увеличение связей (охвата) вовсе не улучшает качество распознавание, точнее лишь до какого то момента улучшает, а потом наоборот приводит к глюкам.

 

И ты еще говорил в этой теме, что тормозные связи устанавливаются изначально перед обучением. Но по какой схеме? С каким охватом?

Sravnyeniye_ryeshyetok.rar

« Последнее редактирование: 2020-06-13 12:37:17 Palarm »



Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
152. « Сообщение №46866, от Июнь 12, 2020, 08:28:12 PM»

автор: Palarm сообщение № 46864:
тормозные связи устанавливаются изначально перед обучением. Но по какой схеме? С каким охватом?

Вставочные нейроны с тормозными синапсами созревают в слое наравне с остальными, проявляют свою пейсмеккерную активность и образуют связи с другим активными элементыми. Без какого-то особого порядка. Видимо, их концентрация в слове как-то оптимизируется эволюционным отбором.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
153. « Сообщение №46873, от Июнь 13, 2020, 07:07:49 AM»

автор: nan сообщение № 46866:
Видимо, их концентрация в слове как-то оптимизируется эволюционным отбором.

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

 

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

 

в ней изначально проведены все дорожки связей, как основные так и тормозные, но с разрывом, который заполнен спец. веществом, которое в "сыром виде" работает как диэлектрик. При подаче напряжения оно "спекается" и становится проводником с определенным сопротивлением, зависящим от величины напряжения. Процесс не мгновенный, что симулирует время прорастания дендритов. А напряжение на каждый "разрыв" симулирует частоту/уровень сигнала от рецептора. В итоге  когда все дорожки "спекутся" получим связи с разными весами.

 

Поэтому нужна конкретика, если речь о фактической реализации: если прорисовывать дорожки - то по какой схеме, если не прорисовывать - то как соединять элементы? Программным блоком, какими то мудреными нано-веществами, которые буквально "тянутся" как отростки? Имхо, практичнее простой разлиновкой и активацией разрыва, чем ветвить непонятно каким образом. Дуплексная схема будет экономичнее и проще, двухслойная чуть сложнее. Осталось только придумать параметры искусственного слоя, по которым его можно оценивать, и обосновать оптимальный для определенных задач тип решетки. Может это будет отступление от природной реализации, а может природная реализация это просто невозможность в виду ограниченных ресурсов построения изначально разлиновать нужную решетку.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
154. « Сообщение №46875, от Июнь 13, 2020, 08:01:55 AM»

автор: Palarm сообщение № 46873:
Вопрос только - почему они не тянутся к настоящим рецепторам.

То, куда ветвятся аксоны определяется только генетически, вот как задано у предком данной твори,плюс некая мутационная вариабельность для самых поздних эволюционных структур (ранние очень точно воспроизводятся).

автор: Palarm сообщение № 46873:
надо будет определиться: прописывать ли тормозные связи изначально в виде решетки или так же проращивать при самообучении

А вот дендриты - да, растут в сторону локальной активности.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
155. « Сообщение №46891, от Июнь 21, 2020, 08:42:30 AM»

Причина слишком активных переключений сетки при изменении уровня торможения - расчет весов через последовательный обход. На первом рисунке эффекторы 136,147,157,148 активны уже на пороге (0,1) переключения (суммарный вес 0,114). И при повышении торможения они должны были выключиться все 4, но выключились только 2, исказив тем самым эффекторный рисунок. Потому, что расчет весов происходит через последовательный опрос элементов матрицы по возрастанию их номеров, в данном случае это эффекторы в порядке: 136,137,138,146,147,148,156,157,158. И при каждом шаге происходит пересчет веса текущего элемента.  В итоге 137 как первый в списке вырубается, оставшиеся элементы лишившись его тормозного влияния подрастают в весах, 146,148 уже не выключаются, а последний из группы 157 вырубается потому, что подросшие в весе 146,148 его задавливают, не смотря на то, что он тоже подрос после выключения 137 (двое против одного). То есть правильнее надо не включать/выключать эффекторы на каждом шаге опроса матрицы, а на шаге итераций: выключать их группами а не по одному.

В гексогональной решетке этот эффект слабо проявлялся, а здесь, при таком массированном охвате основных/тормозных связей вылез более явно. Это поправлю. Но опять же это интересно как пример, как легко повестись на множество спец. эффектов, возникающих при сложном взаимодействии нейросети. У меня косяк программный, а там тоже самое может быть из за нестабильности параметров нейронов, ложных связей. Тут тебе и переключения рисунков, и даже генерации колебаний - от всего этого можно напридумывать множество вполне рабочих схем, и вполне может быть, в природной реализации они даже имеются, но... идут в никуда. То есть что то прицепилось к мельтешению эффекторного рисунка, возникла рефлекторная цепочка, которая ни с чем не связана, просто генерит вхолостую. И это отражается на энцефалограмме и вводит в ступор исследователей - чтобы это значило? А ничего это не значит, как свисты и хрипы приемника при настройке волны. Не зная принципа передачи радиосигнала можно легко насочинять "правдоподобных" объяснений, связывающих например свисты с настройкой на частоту. Типа раз всегда чистому звучанию предшествует шипения и хрипы - значит они играют какую то важную роль и без них никак не получится попасть на волну. Вот и получается, что не имея теории, где четко показано, что есть главное, что второстепенное, принципиально не возможно понять принцип действия устройства, и тем более смоделировать и развить его. Исследователи которые этого не понимают подобны обезьяне трясущей пальму.



Спасибо за это сообщение! Благодарность от: nan, Клон

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
156. « Сообщение №46894, от Июнь 29, 2020, 01:12:33 PM»

Решил более наглядно проследить, что происходит при активации нейрона, вернее как она происходит в «замедленной съемке». Ведь расчет методом итераций по сути и показывает как бы по кадрам этот процесс, с некоторой погрешностью конечно. И выяснилось, что там такие же «скачки напряжения» как и в самой сетке. То есть суммарный вес эффектора растет не линейно, а в виде колебаний. Это означает, что он несколько раз превышает/падает порог, пока окончательно не устанавливается итоговое значение. Как маятник покачался и успокоился. Это потому, что по мере роста веса меняется равновесие решетки, что им вызывает колебания ВКЛ/ВЫКЛ. То есть эффектор не мгновенно получает итоговый вес, а за некоторый промежуток времени, за который он разряжается серией импульсов. Может в этом причина, почему нейроны реагируют не простым ВКЛ/ВЫКЛ, а короткими сериями колебаний? Потому, что они связаны тормозными связями. Или правильнее сказать нейроны, как генераторы колебаний, разряжаются серией импульсов модулированной по амплитуде частотой, которая зависит от схемы тормозных связей между ними.

 

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

 

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

 

Еще пришла такая мысль: в квантовом компьютере вместо понятия "Бит" используется "Кубит", который означает не 0 и 1, а все бесконечно возможные значения между ними. То есть логика квантового компьютера заточена как раз на работу с областями решений, "неоднозначностями", которых как все больше выясняется, полно в нейросетях. Правда я не очень понял, как квантовый компьютер выдает в итоге решение, но возможно именно на нем можно будет замутить полноценный ИИ в чисто виртуальном исполнении.

Vyes_ityeratciy.rar




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
157. « Сообщение №46895, от Июнь 29, 2020, 04:48:46 PM»

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

Т.е. попробуй составить список таких выводов и их обоснование конкретным поведением модельных нейросетей. Это было бы очень полезно и круто.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
158. « Сообщение №46896, от Июнь 29, 2020, 06:01:18 PM»

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

Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
159. « Сообщение №46897, от Июнь 30, 2020, 12:42:34 PM»

Более наглядная схема пульсаций эффектора при наращивании им суммарного веса. При изменении значения порога и уровня торможения меняется расстановка весов в сетке. На примере эффектора №112 видно как его при этом корежит. В матрице эффекторов что справа мы видим только его ВКЛ/ВЫКЛ, а на самом деле практически перед каждым переключением он выдает серию из 1-2-3 импульсов, то есть он "мерцает". Для общей схемы латерального торможения важны лишь его конечные состояния, но возможно при дальнейшем изучении эти мерцания позволят глубже понять, как происходит решение "неопределенных состояний" переключения. А может и нечего не даст - просто флуктуации, которые гасятся инертностью нейрона и ни на что не влияют.

 

Интересно, что аллегория с настройкой приемника оказалась достаточно близкой к реальности. Нейросеть действительно шипит и свистит при "настройке на волну" - изменении ее параметров до устойчивого состояния. Ведь щелчки пульсаций модулируют собственную частоту разряда нейрона при его активации.

Pulsatciya_affyektora.rar



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
160. « Сообщение №46899, от Июль 06, 2020, 05:01:07 AM»

Оказывается идея "разрывов" в соединениях микросхем, которую я толкал как вариант реализации нейроплат, не новая. Уже давно пытаются сделать оптические соединения




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
161. « Сообщение №46905, от Июль 15, 2020, 05:37:13 PM»

Посмотрел на твой пример закольцовки в конструкторе - и сразу вопрос: если 4 нейрона образующих закольцовку лежат в разных слоях, то как образовалась обратная связь между 4 и 1? Разве возможно прицепиться снизу вверх к созревшем слою? Думаю что нет. Стало быть должен быть специальный коммутатор, который это делает и который не показан на схеме. И думаю что зря. Иначе возникает ложное представление, что нейроны могут как угодно связываться, хотя на самом деле они вяжутся строго по слоям по мере их созревания. Или это не везде и не всегда? Вообщем, если коммутатор условно не показан, то думаю имеет смысл подумать, как его ввести в схему. Может в виде специального элемента.
Хотя возможно это уже излишне для упрощенных схем, где показывается логика работы, а не конкретная схема связей. Это как КМ и КМД чертежи: в первом схема, во втором деталировка.

Но самый интригующий вопрос: а как вообще возникают такие закольцовки? Почему нейроны разных слоев связываются в определенной последовательности?




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
162. « Сообщение №46906, от Июль 15, 2020, 05:58:33 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
163. « Сообщение №46907, от Июль 15, 2020, 06:12:50 PM»

Получается, что твоя, что моя модель показывают простейшую организацию нервной системы 1 уровня. В них принципиально невозможно показать ни вторичные, ни тем более третичные зоны новой коры. Для этого нужно вводить специальные модули типа гиппокамп, лобные доли и т.д. И потом еще раскрывать их устройство, которое для меня сейчас совершенно не ясно, в смысле конкретной внутренней схемы соединений.
Хотя на первый взгляд кажется, что просто создавай слой за слоем и на каком то слое организуется чего там. Если бы это было так, не пришлось бы в мозге выделять отдельные специфические зоны.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
164. « Сообщение №46908, от Июль 15, 2020, 07:49:45 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
165. « Сообщение №46909, от Июль 16, 2020, 08:39:58 AM»

Я их скорее воспринимаю как эскиз механизма, где показана его принципиальная схема работы. На его основе нужно спроектировать "рабочий чертеж". Сложность тут в том, что связи и веса должны "протянуться и расставиться сами". То есть инженер-нейротехник создает многослойную матрицу-заготовку и определяет какими внешними воздействиями прошить в ней нужные связи и веса. Так надо делать потому, что иначе не получится встроить модуль в уже готовую нейросистему как апгрейд. Он должен после рецепторной активации "развернуться" и приобрести нужный функционал. Иначе придется всю нейросеть перепроектировать при каждой модернизации. Потому, что в ней заложен принцип послойного созревания и встраивание нового модуля по сути имитирует созревание и специализацию новой группы нейронов на базе существующих слоев.


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

 

Интересно, насколько такое предположение окажется близким к реальному и по какой методике будут проектироваться нейроплаты? Ясно, что не методом тыка и не простым разведением дорожек "как надо". Потому, что никто не сможет сказать как конкретно в этой нейросети "надо", чтобы заработало и не конфликтовало с предыдущими модулями - стало быть встраиваемые модули должны как то самонастраиваться.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
166. « Сообщение №46910, от Июль 16, 2020, 08:57:38 AM»

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

Сделать эмулятор таких этапов развития - значит сделать модель мозга. Это - очень круто, неподъемно круто. Но можно сделать имитатор только нескольких или даже одного такого периода развития. Он может немало прояснить практически работающей моделью особенностей и принципов организации ветвления дендритов в сторону активностей рецепторов, установления синапсов и формирование их проводимости. У меня пока нет потенции делать такой эмулятор по очень многим причинам, в частности недостаточно оптимизма по востребованности.




usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
167. « Сообщение №46911, от Июль 17, 2020, 04:02:16 PM»

nan, почему ты не выложишь симулятор на github? Мы могли бы улучшать код.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
168. « Сообщение №46912, от Июль 17, 2020, 05:03:51 PM»

Могу тебе дать исходный код, если хочешь. Но не обещаю, что буду обновлять версии на сайте, разве что сделаешь что-то очень полезное.

На внешние ресурсы распыляться не буду.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
169. « Сообщение №46913, от Июль 17, 2020, 07:28:43 PM»

Я думаю, дальнейшее развитие конструктора такое:

1. сделать ортогональную разводку линий связей вместо косых по принципу: движение по Х, потом по Y, или наоборот. Это ИЛИ определяется по принципу чтобы линии связей не пересекались и между ними было минимальное расстояние (задается константой). Вообщем сделать так, как в схеме данных СУБД MS SQL - там нет хаоса линий, хотя схемы могут быть очень сложными.
2. Сделать возможность создания блоков. То есть рисуешь схему, объявляешь ее блоком. В итоге создается элемент (например в виде прямоугольника с надписью внутри как имя блока) с входами - первичными рецепторами, и выходами - конечными эффекторами. Его потом можно в другую схему вставить. Ее так же можно объявить блоком и т. д. - до какого то уровня вложения. По сути это будет одна общая схема, но графически просто разбитая на модули.

Так можно рисовать очень сложные и подробные читабельные схемы.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
170. « Сообщение №46914, от Июль 17, 2020, 07:53:53 PM»

Что-то я не загорелся... :)




usr
Имеет права модератора этой темыScorcher God

Сообщений: 520
171. « Сообщение №46915, от Июль 17, 2020, 10:18:35 PM»

автор: nan сообщение № 46912:
Могу тебе дать исходный код, если хочешь.

Давай, я посмотрю, как всё устроено.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
172. « Сообщение №46916, от Июль 18, 2020, 08:58:26 AM»

Вот  neuronet_designer.zip




Род: Мужской
linuxoid
Sr. Poster


Сообщений: 106
173. « Сообщение №46917, от Июль 18, 2020, 03:41:54 PM»

автор: Palarm сообщение № 46913:
Сделать возможность создания блоков.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
174. « Сообщение №46918, от Июль 18, 2020, 05:54:12 PM»

Блок это как бы условное обозначение, типа значка микросхемы. Например, ты нарисовал схему с элементом XOR, обозначив его как кружок. А внутри него по идее, должна быть другая схема, вроде этой, где заложена определенная логика работы, по которой на выходах появляются соответствующие уровни. Это просто для меньшего загромождения чертежа элементами. Стало быть вместо кружка в текстом XOR можно было бы вставить из библиотеки базовый элемент XOR с двумя входами и одним выходом. Аналогично можно насочинять множество типовых решений-нейросхем, которые потом применять в виде библиотечного элемента.

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

Конструктор - это просто модель для изучения типовых схем, как сам Nan и сказал. Там нельзя ничего "выращивать", только рисовать готовое. Но можно это сделать более удобным и наглядным, где введение блоков и ортогональной разводки связей может этому помочь.



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
175. « Сообщение №46919, от Июль 19, 2020, 08:08:44 AM»

Сделал пример моего понимания принципов построения самоадаптирующихся нейросхем. Принципиальное отличие от привычного рисования блок-схем - построение нового слоя только после созревания предыдущего. То есть строится первый фрагмент "Сытость-Голод" и запускаем симулятор реальности, чтобы он прокачал веса связей. Так как он согласно сценарию будет возбуждать их поочередно, сформируется логика ИЛИ. Аналогично для второго блока "Съедобно-Не Съедобно". Оба блока возникли путем случайных мутаций, в нашем случае - их просто нарисовали, сэкономив тем самым несколько миллионов лет случайных тыков. Потом добавляем блокирующую и новую связующую связь между блоками (которые тоже случайно-эволюционно возникли) и запускаем симулятор, прокачивая связи. Теперь уже рецепторы Голод/Съедобно должны активироваться одновременно, тогда возникнет связь И. Симулятор пока виртуальный, в голове, но думаю, если прокачивать веса у простейших блоков и их связок - так оно и будет в реальности. Чем проще блок, тем больше вероятность его случайного возникновения - это ведь тоже важно учитывать при ответе на вопрос: как такое могло нарисоваться само? И этого же правила надо придерживаться конструируя нейросхемы - прокачивание весов у сложной схемы приведет к множеству вариантов ее адаптации. Так происходит развертывание схемы - ее постепенное усложнение. Это похоже на проращивание семени - положил в подходящий грунт, создал нужные условия - оно начало само расти. Нейроинженер периодически вмешивается, имитируя процесс эволюции и раскручивание ДНК, добавляет связи, меняет внешние условия - задает векторы разворачивания фракталов нейросети.

 

Проблему графической запутанности связей можно пока решить просто разбивая схему на фрагменты.  Но тогда надо обязательно указывать имя элемента с идентификатором, то есть не просто R, а R1, R2 и т. д. Потому что в разбитых на части схемах будут дублироваться элементы с одинаковым номером, что показывает, что на самом деле это один и тот же элемент показанный в разных частях. Их можно соединить дополнительной связью, которой на самом деле нет, это как бы связь разрыва схемы. Может ввести такое понятие и изображать ее в виде пунктирной линии - то есть при создании связи дать возможность выбора: основная или разделительная.

Еще простое дополнение при такой разбивке: добавить возможность ввода надписей над фрагментом, чтобы пояснять разделение слоев и фрагментов.



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
176. « Сообщение №46920, от Июль 19, 2020, 11:37:16 AM»

Надо будет внимательно посмотреть, когда освобожусь...




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
177. « Сообщение №46921, от Июль 19, 2020, 12:56:59 PM»

Вот пример схемы с разбивкой на слои-фрагменты. Получается вполне читабельно даже без ортогональных связей. Осталось только добавить симулятор реальности в виде последовательности активации рецепторов - и получится уже настоящий полигон для испытаний нейросхем. Чтобы уж совсем замкнуть жизненный цикл и по настоящему начать оживлять химер, нужно добавить сценарий активаций слоев (в какой последовательности они подключаются) и для каждого слоя свой сценарий активации рецепторов при самообучении - какими рецепторными рисунками ее засвечивать. Это позволит наглядно-экспериментально определить, при каких условиях какую схему можно прокачать, а какую только зашить в геноме. Но это можно на далекое потом. Хотя я пока что смутно представляю, как через геном можно задать нужное ветвление - там же только белки кодируются.

 

А пока, на примере этой схемы тут просятся две несложных доработки:

  1. сделать таблицу-сценарий внешних воздействий с кнопкой запуска. В ней 3 поля:
    1. № шага
    2. Список рецепторов через пробел, которые активируются на этом шаге
    3. Время активации в мсек
  2. в карточке нейрона рядом с полем "короткое название" добавить поле "код связи". Оно заполняется автоматически и не доступно для ручного ввода. Работает так: ввожу короткое имя R1 - и если элемент с таким именем в схеме уже есть, тогда вылетает мессага с вопросом: "Установить связь между созданным ранее R1?" Если "Да" - то втыкает его код (ID). И поправить код - теперь все элементы, где в доп. поле стоит одинаковый код будут считаться  элементом, чей код туда воткнули.

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
178. « Сообщение №46922, от Июль 19, 2020, 04:59:33 PM»

Добавил возможность вставки из сенса-заготовки схемы в текущий сеанс.

Чтобы вставить содержимое какого-то сеанса (заготовки) в текущий сеанс, нужно выбрать из выпадающего списка сеанс заготовки и нажать OK. Будет вставка схемы сразу внизу самого последнего элемента.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
179. « Сообщение №46923, от Июль 19, 2020, 05:38:47 PM»

Это хорошо, теперь можно делать вставку типовых схем типа И, ИЛИ, НЕ, ХОR - из них и собирать как из кирпичей новые схемы. Только по идее, надо еще придумать как их можно делать публичными, чтобы любой мог воткнуть их в свою схему.

В старых схемах косяк вылазит

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
180. « Сообщение №46924, от Июль 19, 2020, 05:50:54 PM»

автор: Palarm сообщение № 46923:

адо еще придумать как их можно делать публичными, чтобы любой мог воткнуть их в свою схему

Поначалу в выпадающий список загонял вообще все сеансы, но потом ограничил только своими. Если нужно можно скопировать чужую схему себе и использовать ее. 

автор: Palarm сообщение № 46923:
А сложно сделать перемещение поля с весом так, чтобы общая линия разламывалась бы?

Ничего не понял...




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
181. « Сообщение №46925, от Июль 19, 2020, 05:55:47 PM»

автор: Palarm сообщение № 46923:
В старых схемах косяк вылазит

Исправил.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
182. « Сообщение №46926, от Июль 19, 2020, 06:09:30 PM»

автор: nan сообщение № 46924:
Ничего не понял..

Чтобы линии связей можно было "разламывать" потянув за поле веса

 




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
183. « Сообщение №46927, от Июль 19, 2020, 06:13:21 PM»

автор: nan сообщение № 46925:
Исправил.

теперь в другом месте

 

 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
184. « Сообщение №46928, от Июль 19, 2020, 06:18:32 PM»

автор: Palarm сообщение № 46927:
теперь в другом месте

У меня не воспроизводится. Попробуй обновить кэш.

автор: Palarm сообщение № 46926:
Чтобы линии связей можно было "разламывать" потянув за поле веса

Понятно, поставлю в очередь, подумаю... но это не просто.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
185. « Сообщение №46930, от Июль 19, 2020, 06:35:55 PM»

автор: Palarm сообщение № 46927:
теперь в другом месте

Исправил.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
186. « Сообщение №46951, от Август 02, 2020, 06:57:05 PM»

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

Например, ты пишешь в своем примере распознавания цифры:

Хотя, в принципе, такой распознаватель и мог появиться в ходе эволюции простейших нейросистем, но настолько специфичные распознаватели формируются по другому принципу, в ходе индивидуального развития организма, на уровне новой коры мозга.

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

Это даже самому можно наблюдать, когда видим какой то непонятный объект, то сначала детектируем его какой то общий грубый признак, например форму, чувствуем тревожность или любопытство, а потом (при подключении лобных долей) понимаем, что в нем что то "угловатое", "кругловатое" - или сразу находим нужный образ. То есть предварительная оценка делается еще при помощи мыслительных автоматизмов.

А то получается, образ объекта без новой коры вообще не возможно воспринять.

« Последнее редактирование: 2020-08-03 03:52:34 Palarm »



Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
187. « Сообщение №46952, от Август 03, 2020, 08:36:09 AM»

автор: Palarm сообщение № 46951:
получается, образ объекта без новой коры вообще не возможно воспринять

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
188. « Сообщение №46953, от Август 03, 2020, 05:35:10 PM»

С этим теперь более менее ясно. Другой вопрос: геном и внешние факторы определяют свойства организма. Цвет глаз, волос и т.п с этим все понятно. Но вот как через геном синхронизируется в каком месте тела какие клетки появляются и правильно связываются. Когда стал искать на эту тему, то пришел к выводу, что нет устоявшегося понимания. Безусловно геном в этом учавствует, но по поводу конкретных механизмов есть много теорий. Я так понял, что основная идея - клетки как то взаимодействуют друг с другом, споры о механизмах такого взаимодействия. Напрашивается теория децентрализованной нервной системы, которая скорей всего идет от древнейших сообществ клеток, предтеч многоклеточных. То есть колонии клеток постепенно синхронизируя свою жизнедеятельность и отрабатывая механизмы такой синхронизации постепенно формировали устойчивые колонии, а впоследствии многоклеточный организм, который вобрал в себя удачные наработки синхронизации - предтечи нервной системы. Она была не только децентрализованной, но и с динамическими связями. То есть клетки выделяют какие то вещества, которые через водную среду попадая к другим клеткам провоцируют их специфическую реакцию, например включают/блокируют гены. Это пара рецептор-эффектор. Такая "динамическая нейросеть" способна детектировать простейшие примитивы, через дефрагментацию и контрастирование. И она вполне может синхронизировать деление клеток. И множество других функций, например формировать иммунный ответ.

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

 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
189. « Сообщение №46954, от Август 03, 2020, 05:43:40 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
190. « Сообщение №46955, от Август 03, 2020, 05:55:56 PM»

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

 

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

 

С позиции эволюции все очень даже логично выглядит. И то что клетки продолжили развивать свою "коммуникабельность" в уже многоклеточном тоже думаю ничего криминального не содержит. Я собственно почему вопрос поставил: вот если я соберу решетку типа 100х100, имитирующую связи всех со всеми, как если бы какие то вещества выделялись клеткой и служили бы катализаторами/деактиваторами для каких то процессов в других клетках, и такая схема выдала бы мне сотни уникальных пар РЭ рисунков, при движении  ползунков параметров, что имитировать бы разные химические вещества выделяемые клеткой - что бы это значило? То что такая вроде бы суммбурная нейросеть действительно может быть в реальности и функционирует?




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
191. « Сообщение №46956, от Август 03, 2020, 06:48:34 PM»

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

 

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

 

Можно конечно все привычно списать на миллионы лет эволюции и случайные удачные мутации. Но мне такой подход не нравится, потому как похож на уход от ответа: что заставило клетки объединяться, в чем была фора?

 

Но все эти мысли могут иметь смысл, если решетка 100х100 покажет себя так, как я предполагаю. А если это будет какой то хаос - тады ой.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
192. « Сообщение №46957, от Август 03, 2020, 07:15:35 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
193. « Сообщение №46958, от Август 03, 2020, 07:31:48 PM»

Клетка выделила вещество, оно воздействует одинаково на другие клетки. Получается связь один рецептор на условно 100 эффекторов. Подвергнувшиеся воздействию клетки в ответ тоже выделили вещества и они так же воздействуют на другие клетки. Вещества могут чего то запускать или блокировать. По сути это схема связей 1 ко многим между клетками, где как таковой связи в жестком соединении нет. Поэтому я и назвал ее динамической решеткой. Гормональные регулирование это уже позднее приобретение для многоклеточных и это централизованное управление, где не клетки между собой, а нервная система через гормоны их регулирует. А в простейшем и думаю более древнем исполнении это была децентрализованная система регуляции между клетками. Как то же им надо было взаимно реагировать. Я предположил, что именно это была главная причина, зачем они вообще объединились - совместная синхронизированная реакция. Объединенные активно-тормозными связями клетки способны более сложно реагировать, в этом их фора.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
194. « Сообщение №46959, от Август 03, 2020, 07:52:00 PM»

Ты говоришь так, как будто может быть возможна организация связи все со всеми через зим. вещество, но для этого 1) нужно столько уникальных веществ, сколько клеток, иначе связь будет неспецифической и 2) у всех клеток должны быть рецепторы, настроенные на все эти вещества и так же специфический ответ на каждое из них. Этого в природе нет.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
195. « Сообщение №46960, от Август 04, 2020, 07:09:03 AM»

Под специфическим реагированием я имел в виду, что клетки все одинаково специфически реагируют на хим. вещество, а не каждая своим особым образом.

 

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

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
196. « Сообщение №46961, от Август 04, 2020, 07:24:51 AM»

автор: Palarm сообщение № 46960:
как гены задают сценарий построения организма

Вполне таки есть

автор: Palarm сообщение № 46960:
как конкретно удается закодировать рост аксонов в нужном направлении

вот как: 1, 2, 3 

автор: Palarm сообщение № 46960:
наверное не стоит углубляться в эти механизмы

да, не стоит погружаться в конкретику природной реализации, хотя она многое подсказывает.



Спасибо за это сообщение! Благодарность от: Palarm

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
197. « Сообщение №46962, от Август 11, 2020, 08:08:18 PM»

Я все более склоняюсь к мысли, что в модели послойного самообучения первый слой не нужно обучать. Потому, что его задача - просто разбить рецепторный рисунок на фрагменты, чтобы потом их можно было сгруппировать на втором слое, начав тем самым определять признаки детектируемого объекта. А для этого оптимальным будет просто сделать его в виде равновесной решетки (с одинаковыми весами связей) - как если бы слой был обучен фоновой засветкой. Я подозреваю, что в природной реализации происходит нечто подобное, например рецепторы при созревании тоже имеют стадию "пейсмейкерной активности", когда они просто хаотично возбуждаются вынуждая созревающие нейроны первого слоя выстраивать к ним связи, которые в конечном итоге все более структурируются и выравниваются. Я уже приводил аллегорию по этому поводу: если начать красить забор шлепая по нему хаотично кистью, то итоговый результат будет сплошной закрашенный забор. И возникает вопрос - а не проще было бы просто выплеснуть ведро краски на забор? Я думаю, примерно так и устаканилось эволюцией.

 

Но это касается только первого слоя. На втором уже никаких решеток и равновесных связей - там уже происходит группировка тех активностей первого слоя, которая возникает как отражение реальности. А первый слой - это просто "разлиновка на сектора" рецепторного рисунка, которую лучше сделать равномерной. Возможно конечно, что ничего такого нет, может просто потому, что это довольно сложно и глючно, закодировать не предрасположенность, а конкретное ветвление дендритов. Но все равно, при искусственной реализации лучше сделать так - такое вот ИМХО.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
198. « Сообщение №46965, от Август 12, 2020, 08:17:42 PM»

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

 

Я представляю себе это так: в момент созревания второго слоя должны быть поочередно показаны в разных местах сенсорной матрицы вертикальные объекты. Чтобы при установке связей с созревающим нейроном второго слоя каждая из них была прокачана до уровня выше порога. Но никто ведь не будет специально расставлять швабры - оно должно получиться как то само. Стало быть, нужно чтобы был механизм привлечения внимания именно к ним, к вертикальным предметам. Он в свою очередь так же не может кем то направляться (мы ведь рассматриваем самообучение без учителя). Остается только один вариант: первая швабра должна быть зафиксирована для экспозиции просто как первый в жизни объект, выделяющийся на общем фоне. Когда попадется вторая, частично активируются уже установленные связи, возбудив обучаемый нейрон, который должен запустить рефлекс привлечения внимания. То есть активация на созревающем втором слое нейрона должна означать "увидел что то знакомое" - и автоматическую фиксацию для "уточнения" - протягивания новой связи к тому же нейрону, что возбудился. И так постепенно должно установиться, что активация в разном месте рецепторного поля групп нейронов должна активировать один и тот же нейрон (или группу) на втором слое - что и будет означать выявление общего признака.

 

Для искусственной реализации можно поступить проще: показывать специальные настроечные таблицы, чтобы четко зафиксировать варианты группировок примитивов. А может и в природной нейросети что то похожее происходит на стадии внутриутробного развития? Может там тоже каким то образом при созревании второго слоя ему "показывают" какие то простые примитивы путем возбуждения сенсорной матрицы по определенной схеме? (Первый слой тогда должен быть обучен фоновой засветкой). И тогда распознавание вертикальных линий после рождения будет происходить сразу на более высоком уровне.

 

Вообщем вопрос в том, как обучать второй слой для группировки признаков: через спец. таблицы или с подключением механизма захвата внимания, который еще надо придумать?




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
199. « Сообщение №46966, от Август 12, 2020, 09:09:42 PM»

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

Да, слои первичных распознавателей новой коры вообще обходятся без учителя и без привлечения внимания к формирующимся примитивам. Хотя цепочки удержания образов уже тоже начинают формироваться.

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

Помнишь проследовательность: до глаз были даже не фасеты, а просто несколько светочувствительных точкек. Они давали достаточно важные корреляты действтельности типа затемнение со стороны данной точки. Потом появились дополнения сенсоров в виде фасет, потом сетчатка глаза с фокусировкой - чт позволяло строить управления по вполне четким контурам на сетчатке. Потом пошли дополнения уже на уровне самой нейросети в виде распознавателей примитивов.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
200. « Сообщение №46967, от Август 13, 2020, 06:03:12 PM»

автор: nan сообщение № 46966:
Первый специализированный слой, каким бы хаотичным он не получился, уже отвечает коррелировано на поступающие сенсорные сигналы.

Я предполагаю, что первый слой формируется в виде решетки потому, что создать такую решетку не представляет сложности. Это же простой фрактал: если каждый нейрон будет тянуть пару связей под 90 град - получим ортогональную решетку, если под 60 - гексагональную. Если добавить сюда фоновую засветку как стадию формирования слоя вместо обучения - первый слой можно создать быстро и практически сразу со слоем рецепторов. В этом  может быть эволюционное преимущество. Раз ты говоришь, что тут даже хаотичные связи ничего принципиального не рушат (с чем я в принципе согласен), значит у тебя тоже нет принципиальных возражений к такому подходу: сделать первый слой решеткой и засветить ее, выставив равномерные связи?

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

автор: nan сообщение № 46966:
На основе первого слоя корреляторв действительности, так же ворзникет еще более специлизированные, более укрупненные корреляты, всякий раз, когда есть то,повторяющееся, что может быть зафиксировано.

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

 

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

 

Возможно это происходит так: вертикально стоящая швабра на первом слое разбивается на фрагменты - вертикальные отрезки. На втором слое они все захватываются одним нейроном. Другая швабра, другого размера, так же разбивается на фрагменты и они так же должны захватиться тем же нейроном. Это будет возможно, если как то спровоцировать рост связей от новых активностей первого слоя к нему, например за счет его подвозбуждения. Этого можно добиться, если активировать его через поворот головы, глаз так, чтобы активировались уже прицепленные от первой швабры нейроны первого слоя. То есть зафиксировав первый раз объект, во втором случае нужно проверить проекцией образа на всю область сетчатки - активируется ли на втором слое что то из ранее привязавшегося. Если вторая швабра тоже будет вертикальной, активируются фрагменты на первом слое от первой швабры, они активируют нейрон на втором, его активность поддержится некоторое время закольцовкой - к нему и потянутся новые отростки.

автор: nan сообщение № 46966:
У тебя возникает много вопросов.

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

автор: nan сообщение № 46966:
Потом пошли дополнения уже на уровне самой нейросети в виде распознавателей примитивов.

Ты хочешь сказать, что максимум, что возможно в первичных зонах - это выделить контрастированием контур, а все прочее, начиная с группировки активностей - происходит уже в новой коре? Но что мешает сделать хотя бы группировку уже на втором слое первичной зоны?

 

По моему я предложил очень простой способ группировки свойств объекта: при детектировании первого объекта фиксируются его фрагменты как "свойства", и затем при детектировании следующих объектов ищется, есть ли среди них зафиксированные ранее. Если да - фрагменты помещаются в эту группу, если нет ничего - создается новая. Собственно группировка происходит потому, что "вертикальный" объект содержит большей частью вертикальные фрагменты, поэтому складывание всех его свойств в одну кучу вносит не слишком много ошибок группировки.

 

А какой твой вариант организации группировки активностей без учителя? Я не очень понимаю, что ты имеешь в виду говоря об укрупнении коррелятов. Вот смотрю я на свой симулятор. Первый слой генерит эффекторный рисунок, второй его детектирует и разбивает на фрагменты - получаем тот же рисунок, только еще более разорванный. Потом следующий слой. И так пока не останется в теории один нейрон. И в чем тут прикол? Это по сути то же самое, если к каждому первичному рисунку прицепить свой уникальный нейрон, что значит просто запоминать каждый образ и выстраивать от него свои цепочки. Так это можно сделать на первом же слое. Вот группировка активностей на втором слое - качественно другой уровень распознавания, который дает очевидное преимущество, возможность сравнивать объекты и строить дополнительные уточняющие цепочки реагирования, а не просто реагировать на них по отдельности. Это первый шаг к контекстному реагированию.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
201. « Сообщение №46968, от Август 13, 2020, 06:53:59 PM»

>>если каждый нейрон будет тянуть пару связей под 90 град - получим ортогональную решетку, если под 60 - гексагональную. … у тебя тоже нет принципиальных возражений к такому подходу: сделать первый слой решеткой и засветить ее, выставив равномерные связи?

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

 

>>еще довод в пользу такого подхода: технически проще сделать симулятор в виде структурированных связей,

Вот это – вообще не довод. То как проще природе – может быть совершенно не так, как проще тебе.

 

>>на втором слое как я понимаю должна происходить группировка активностей первого слоя, что означает формирование распознавателей по логике ИЛИ.

Слои данной зоны мозга однотипны, и число слоев – вариации версии для данного вида. Логика или возникает на другом качестве слоев распознавателей. Т.е. слои зоны могут быть все по И а слои зоны рядом могут быть все по ИЛИ, что дает разное качество распознавателей. Я точно не знаю как это организовано, возможно – это свойство “колонок”, где слои по И (распознаватели примитивов) позже сходятся в слои по ИЛИ (распознаватели одного примитива разных версий).

>>Возможно это происходит так: вертикально стоящая швабра на первом слое разбивается на фрагменты - вертикальные отрезки. На втором слое они все захватываются одним нейроном. Другая швабра, другого размера, так же разбивается на фрагменты и они так же должны захватиться тем же нейроном. 

Мне кажется наиболее правдоподобным то, что ассоциации по ИЛИ возникают уже в третичной зоне (хотя отдельные качества по ИЛИ могут быть и в первичных, вот почему.

То, что данный образ относится к варианту одного класса примитивов (швабра, палка, колонная, дерево) – дело уже рефлекторного и даже осознанного обучения. Мы постепенно узнаем, что вот эти виды палок относятся к классу швабр, а эти – измерительные линейки.

Т.е. нет необходимости сразу на уровне первичных зон пытаться решать проблему инвариантности образа.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
202. « Сообщение №46969, от Август 13, 2020, 07:51:06 PM»

автор: nan сообщение № 46968:
Вот это вообще не довод. То как проще природе может быть совершенно не так, как проще тебе.

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

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

автор: nan сообщение № 46968:
Я точно не знаю как это организовано, возможно – это свойство “колонок”, где слои по И (распознаватели примитивов) позже сходятся в слои по ИЛИ (распознаватели одного примитива разных версий).

Если на втором слое сводить логику к одному нейрону, то уже там придется объединять связи в пучки. Иначе как связать активности в разных частях первого слоя. Вообщем если у тебя нет уверенного ответа, имеет смысл попытаться придумать какой то способ группировки на втором слое, вдруг получится. Или что нибудь неожиданное придет в голову.

автор: nan сообщение № 46968:
Мы постепенно узнаем, что вот эти виды палок относятся к классу швабр, а эти – измерительные линейки. Т.е. нет необходимости сразу на уровне первичных зон пытаться решать проблему инвариантности образа.

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

 

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

 

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

« Последнее редактирование: 2020-08-14 04:09:14 Palarm »



Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
203. « Сообщение №46970, от Август 14, 2020, 07:09:14 AM»

автор: Palarm сообщение № 46969:

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

Вот жаль, что ты не вкурил ключевой принцип организации распознавателей, о котором я писал. Он отсеивает все лишние сущности. Суть в том, что любое дополнение к сенсорной системе, позволяющее выделять определенное сочетание признаков восприятия, может быть использовано с пользой видового и индивидуального преимущества, т.е. для адаптивности. И в этом смысле инвариантность образа не имеет никакого практического значения, т.е. можно рефлексировать на любой конкретный вид швабры или другого образа, не обязательно заготавливать полный набор всех воспринимаемых версий швабры. Главное – чтобы в ключевой момент реагирования была та версия, на которой построена реакция.

Это потом появляются модели понимания, в которые постепенно включаются все виды воспринимаемой швабры и то, могут быть случаи, когда ты ее не распознаешь и разные иллюзии, требующие, опять-таки, нового процесса адаптивности к новой ситуации.

Никакие механизмы более низкого уровня не могут обеспечить полный набор инвариантов образа.

Напомню то, что я писал:

 слои первичных распознавателей новой коры вообще обходятся без учителя и без привлечения внимания к формирующимся примитивам. Хотя цепочки удержания образов уже тоже начинают формироваться.

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

Помнишь последовательность: до глаз были даже не фасеты, а просто несколько светочувствительных точек. Они давали достаточно важные корреляты действительности типа затемнение со стороны данной точки. Потом появились дополнения сенсоров в виде фасет, потом сетчатка глаза с фокусировкой - чт позволяло строить управления по вполне четким контурам на сетчатке. Потом пошли дополнения уже на уровне самой нейросети в виде распознавателей примитивов.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
204. « Сообщение №46971, от Август 14, 2020, 09:25:52 AM»

То есть ты хочешь сказать, что в первичной зоне распознавания возникновение новых слоев это просто продолжение ветвления рефлекторной дуги. Рядом с конечным эффектором появляется новый нейрон, который связывается аксоном с ним и дендритами с активными нейронами последнего слоя, образуя новое ветвление. По какой логике связь - без разницы. На конечный эффектор в итоге приходит новый конец рефлекторной дуги. Они могут все поочередно или вместе его активировать, или какие то старые ветвления дезактивируются если будут редко использоваться. Но вся эта паутина, какой бы сложной она не была, это по прежнему нейросеть первичной зоны реагирования. В ней нет никаких группировок в смысле классификации активностей, просто тупая рефлексия по каким то смешанным И/ИЛИ логикам связей, смотря что образовалось.

 

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

 

Второй слой не означает новый уровень распознавания, это просто ветвление того же уровня. Слоев в первичной зоне может быть сотни, но они не меняют логики ее работы.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
205. « Сообщение №46973, от Август 14, 2020, 05:17:38 PM»

автор: Palarm сообщение № 46971:

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

Первичные зоны работают только на свой специфический сенсор: глаза, слух, обоняние, осязание и т.п., формируя всякие дополнительные заготовки сочетаний признаков реальности – как бы дополнительные фасеты – рецепторы. И все. Только со вторичных начинают подключаться другие сенсорные модальности и, главное – значимость от распознавателей гомеостаза (что и обеспечивает потом замыкание образов в циклы Иваницына). Вот отсюда только и возможно сфокусировать внимание на каком-то примитиве восприятия потому, что значимость как раз и обеспечивает выделение контекста.

 




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
206. « Сообщение №46974, от Август 14, 2020, 06:38:03 PM»

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

 

 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
207. « Сообщение №46975, от Август 14, 2020, 06:51:39 PM»

Если под эффектором ты имеешь в виду моторные нейроны, то все дело обстоит вот как. Моторные зоны (так же первичная и вторичная) сосредоточены между теменной и лобной частями мозга. Самые первые наслественно предрасположенеы связи идут туда. Но не с первичной или вторичной новой коры. Связь новой коры с мотонейронами идет на уровне третичной ассоциативной зоны, где сходятся все сенсорные образы с выходами на моторные программы действий (безусловные рефлексы). Дополнение в виде ветвлений в третичной ассоциативной образует условные рефлексы. А ветвления в третичной лобной коре – автоматизмы (моторные и мыслительные).




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
208. « Сообщение №46977, от Август 17, 2020, 08:58:45 PM»

автор: nan сообщение № 46973:
формируя всякие дополнительные заготовки сочетаний признаков реальности как бы дополнительные фасеты рецепторы

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

Вот пример соединения первичной зоны со вторичной (гомеостаз тут не подключается) и их общее воздействие на конечные эффекторы. Получается, что моторные нейроны получают воздействие от 2 нейросетей: первичной и вторичной. Видимо изначально подключается первичная и происходит рефлекторное подергивание мышц, как реакция на активность созревающий нейросети. А когда созревает вторичная - она начинает модулировать активность мотонейронов, синхронизируя ее с гомеостатической значимостью.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
209. « Сообщение №46978, от Август 17, 2020, 09:31:14 PM»

автор: Palarm сообщение № 46977:
Это означает, что от каждого слоя первичной зоны идет связь на вторичную. Эти слои ведь и есть "заготовки  сочетаний". То есть аксоны слоя первичной зоны тянутся к дендритам следующего слоя первичной зоны, а так же к слою вторичной - как бы 2 параллельных выхода получается: один на следующий слой, другой на вторичную зону.

Не значит. Хотя и могут быть выходы отдельных примитивов во вторичную, а не только самых уже сложно-сложившихся.

 

автор: Palarm сообщение № 46977:
Получается, что моторные нейроны получают воздействие от 2 нейросетей: первичной и вторичной.

Непонятно, откуда это получается. Со вторичной нет выходов сразу на моторные нейроны, они есть с третичной, ассоциавтиной зоны.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
210. « Сообщение №46979, от Август 18, 2020, 10:11:36 AM»

Если в первичной зоне будет такая схема связей, то будет происходить постепенное укрупнение ассоциаций пока в и итоге не останется один нейрон, реагирующий на все. Стало быть схема строго послойных связей не имеет смысла, если не считывать с каждого слоя активности и где то в другом месте их перемешивать/группировать.

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

Тогда схему из трех зон я представляю так  Aona_3.rar




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
211. « Сообщение №46980, от Август 18, 2020, 10:31:03 AM»

автор: Palarm сообщение № 46979:
Если в первичной зоне будет такая схема связей, то будет происходить постепенное укрупнение ассоциаций пока в и итоге не останется один нейрон, реагирующий на все.

Кроме нарисованных двух нейронов в конце среднего блока, могут быть еще один, связанный с первым и последним предыдущим и еще один, связанный со всеми предыдущими.

автор: Palarm сообщение № 46979:
Но возможны ли такие соединения, между нейронами разных слоев? Или может это на самом деле один слой, где нейроны связаны с рецепторами и между собой, что в принципе вполне может быть?

В принципе возможны, но как именно это происходит в природе, пока не выяснено.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
212. « Сообщение №46981, от Август 18, 2020, 12:23:11 PM»

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

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

2. при помощи специального механизма организовать "связанный с первым и последним предыдущим и еще один, связанный со всеми предыдущими". Если ты про него говоришь, стало быть он есть? Это данные исследований?

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
213. « Сообщение №46982, от Август 18, 2020, 05:13:54 PM»

Перемешивание - не самоцель. Важно фиксировать те сочетания, которые реально воздействуют и, значит, могут использоваться. И какие это будут сочетания сильно зависит от того, как организована последовательность созреваний слоев и позволяется ли дендритам последующего слоя проникать сквозь предыдущий к еще более раннему. Но по-любому все это несущественно: важно чтобы была возможность опираться в реагировании на какие-то детекторы признаков. Даже если бы у тебя был единственный рецептор - красная точка, ты бы использовал его. А тут гораздо большее разнообразие.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
214. « Сообщение №46983, от Август 18, 2020, 06:50:26 PM»

автор: nan сообщение № 46982:
А тут гораздо большее разнообразие.

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

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
215. « Сообщение №47043, от Сентябрь 26, 2020, 05:18:29 PM»

Решил собрать в Солиде 3D-модель искусственной кортикальной колонки. Она конечно не работает как симулятор, это просто модель, но визуально лучше видно связи. С другой стороны, в принципе так можно и физический конструктор сделать, например из пластмассы, чтобы можно было из модулей собирать схемы. А если сделать это по аналогии с радио-конструктором, где соединяются между собой кубики с деталями внутри - получился бы реальный физический прототип.

 

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

 

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

По ссылкам архивы E-Drawings в виде экзешника, чтобы запускались 64-разрядных компах без установки солида. Это стандартный формат для обмена моделями между клиентом/заказчиком, у которых нет лицензий на покупку проги, но показать модель как то надо.

Колонка

Фрагмент коры




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
216. « Сообщение №47048, от Сентябрь 27, 2020, 07:22:20 PM»

Как в бинарной системе сетчатки глаза можно определять яркость? Если исходить из того, что светочувствительные элементы пороговые, то есть не передают никакой информации об интенсивности воздействия на них кроме как ВКЛ/ВЫКЛ. Очевидно, что только по распределению на единицу площади активных рецепторов. Но смущало то, что иногда попадались упоминания о специфических детекторах, способных реагировать на разные уровни воздействия. Получалась сложная система, где надо как то равномерно распределять по матрице россыпь детекторов с разной чувствительностью - и как то потом сводить их показания, для чего нужно будет определять топологию датчиков на сетчатке, а не просто их активность.

 

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

 

Стало быть детектирование колонкой фрагмента  сетчатки делается по принципу: RGB-триада рецепторов (цветочувствительные колбочки) + специфические рецепторы реагирующие в черно-белом диапазоне (палочки). Их концентрация в активном состоянии на единицу площади и размер самого активного пятна (или просто кол-во активных палочек на сетчатке) и создает ощущение яркости. Если сравнить с матрицей фотоаппарата, то там яркость передается величиной сигнала ячейки, то есть аналогового рецептора.



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
217. « Сообщение №47050, от Сентябрь 27, 2020, 08:01:11 PM»

автор: Palarm сообщение № 47048:
Но оказалось, что сетчатка глаза все же устроена именно как бинарный датчик. Интенсивность определяется по величине пятна освещенности на ней, которое регулируется зрачком. То есть строго говоря есть понятие "субъективно воспринимаемой яркости", которая определяется по числу задействованных рецепторов. А то что рецепторы могут иметь разную чувствительность - это уже вторично.

Регулировка диафрагмой зрачка не обеспечивает огромный динамический диапазон восприятия яркости. Все сложнее в природе.

Есть понижение чувствительности фоторецептора при повышенной яркости и есть, конечно же взаимное торможение.

В статье описаны первые два механизма:

Но от самого маленького размера до самого широкого зрачка ваш зрачок может увеличить свою площадь всего лишь в 16 раз. Вы можете хорошо видеть поперечные изменения уровня освещенности гораздо больше, чем в миллион раз. Так что здесь должно быть что-то еще происходит.

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

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
218. « Сообщение №47057, от Октябрь 02, 2020, 06:02:53 PM»

Модель 3- слойной колонки для сетчатки. Выше ссылки на 3D  модель тоже обновил. В схеме пока не показаны тормозные связи, которые есть в 3D модели.

 

Становится все более очевидным, что в природной реализации колонка используется в качестве "пикселя" фотоматрицы, но так как рецептор яркости не может выдавать коды уровня напряжения, приходится использовать комбинации их активностей, для чего и пришлось создавать колонку. Это делает природную матрицу более дефрагментированной. А в случае получения 256 уровней яркости для каждой составляющей цвета по схеме RGB придётся ещё и сами колонки объединять, что делает природный пиксель уж совсем большим. И тогда возникает два вопроса: почему природа пошла по бинарной схеме и точно ли нужно кодировать по 256 уровней яркости по каждому базовому цвету?

 

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

По второму получается, что если использовать связки колонок и контрастирование - нет нужды глубоко кодировать каждый пиксель-колонку. Рецепторный рисунок получится как результат взаимодействия нейронов колонок. Но остаётся вопрос с размерами такого пикселя - он все таки слишком большой выходит.

 

Ещё такая мысль пришла в голову: в природной колонке есть особые клетки, которые как стержни прошивают её насквозь и связаны со всеми слоями. Подумалось, что кроме образования специфических межслойных связей у них есть ещё функция служить в буквальном смысле стержнем колонки, задавать вектор роста нейронов. Иначе они будут делиться не в виде колонки, а во все стороны как попало.

 

Еще остаётся вопрос по тормозным связям: если подвести к тормозным нейронам связи от нейросети гомеостаза, то так можно модулировать их активность. Это тот эффект с движением ползунков регуляторов торможения сетки в модели нейросимулятора как простейший способ связи активности колонки с гомеостазом. Тогда на выход колонки надо ещё тянуть входы от них (см. 3D схему с выходами от слоев). Колонки ведь интересны тем, что имеют связи слоев с разными отделам, что позволяет модулировать активность слоя например гомеостатической значимостью.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
219. « Сообщение №47058, от Октябрь 02, 2020, 08:06:40 PM»

автор: Palarm сообщение № 47057:
Модель 3- слойной колонки для сетчатки.

Слишком быстрая смена, нет времени понять происходящее. Наверное, нужно рядом с пуском сделать задатчик масштаба скорости показа...




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
220. « Сообщение №47059, от Октябрь 03, 2020, 03:57:53 AM»

Сначала думал все 28 вариантов перебрать, но подумалось, что это растянется на очень длинное время, особенно если сделать нормальные паузы по 5-6 сек, поэтому сделал короткие по 2 сек. А вот если сделать ползунок промотки или поле ввода для коэф. скорости - то можно по ходу дела притормаживать/разгонять просмотр. И тогда уже лепить хоть часовые фильмы.

 

Смысл схемы в том, что она реагирует разным рецепторным рисунком на разные комбинации RGB и рецепторов яркости. В итоге получается по 4 уровня яркости для каждой составляющей RGB. Например:

  1. R + 1 рецептор яркости
  2. R + 2 рецептора яркости
  3. R + 3 рецептора яркости
  4. R + 4 рецептора яркости

То же самое для G и B, R+B, R+G, G+B, R+B+G. В итоге: 4х7=28 вариантов. Вроде бы мало по  сравнению с 256 вариантами для каждой составляющей RGB. Но если объединить 3 колонки, то получим уже 3 по 24 варианта - по моему тут уже где то около полумиллиона комбинаций выходит. Если добавить к этому управляемое гомеостазом контрастирование - еще на порядок больше. Вроде как нормально в смысле различения вариантов оттенков цветов. Кроме одного: в фото-матрице это делается тремя пикселами яркости, на которые положены фильтры RGB и с которых потом снимается уровень активности (аналоговым или цифровым кодом), а тут их целая куча - в итоге суммарный пиксель RGB выходит слишком большим, что скажется на качестве распознавания.

Это пока смущает больше всего, потому, что в бинарной схеме, когда уровни яркости детектируются через кол-во рецепторов иначе не получится.

 

Колонка_avi




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
221. « Сообщение №47060, от Октябрь 03, 2020, 06:48:43 AM»

С тормозными нейронами есть еще одна интересная особенность. Их связи должны быть равновесными, чтобы равномерно затормаживать связанные через них нейроны. Но в конструкторе такая схема приведет к "колебаниям" - начнет переключаться, словно генератор. Потому, что это равновесное, неопределенное состояние - типа суперпозиции. Прикол однако в том, что в реальной природной нейросети такие состояния практически исключены потому, что:

  1. порог нейронов не стабилен, плавает
  2. скорость активации их так же не одинакова

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

 

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
222. « Сообщение №47061, от Октябрь 03, 2020, 09:48:13 AM»

Интересная иллюзия. Если смотреть на точку по центру картинки, то после переключения на черно-белый вариант она покажется на короткое время "в цвете".

 

Сначала подумал, что это из за инертности активации цветовых рецепторов. Но тогда получалось бы, что они довольно сильно инертны, ведь иллюзия длится примерно 1-2 сек. Скорей всего дело в том, что восприятие нами цветного изображения происходит путем сложения активностей рецепторов яркости и цвета. То есть изначально мы воспринимаем цвет и яркость по отдельности, формируются отдельные образы и затем складываются в общий образ восприятия. И вот эти высокоуровневые наложения уже намного медленнее происходят, чем реакция рецепторов. В данном случае происходит задержка в переключении суммарного образа: цветовой образ не активен, но итоговый суммарный еще не успел погаснуть и какое то время 1-2 сек продолжает выдавать старый вариант из двух образов. То есть мы "видим" не рецепторами, а возникающими на основе их активностей образами.



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
223. « Сообщение №47062, от Октябрь 03, 2020, 09:54:16 AM»

автор: Palarm сообщение № 47061:
Если смотреть на точку по центру картинки, то после переключения на черно-белый вариант она покажется на короткое время "в цвете".

Если не моргнуть и не отводить взгляд, то эффект сохраняется :) 

автор: Palarm сообщение № 47061:
Скорей всего дело в том, что

Это - не на уровне работы рецепторов глаза, а на уровне удержания образа.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
224. « Сообщение №47063, от Октябрь 03, 2020, 10:11:46 AM»

автор: nan сообщение № 47062:
а на уровне удержания образа.

Точно. Тут сразу три важных свойства восприятия демонстрируются:

  1. рецепторы нужны только для активации подходящего образа
  2. образ остается активным пока не сработает детектор новизны контекста восприятия, в данном случае пока не моргнешь, не отведешь взгляд и т. д.
  3. данные рецепторов могут игнорироваться, если текущий активный образ считается подходящим ситуации

И похоже, что иллюзия "стереокартинок" происходит по тому же принципу удержания образа. Обычно образы с каждого глаза собираются в один. При этом происходит оценка "на что это похоже" и активация подходящего образа. При рассматривании привычным образом через "разглядывание" элементов рисунка, мозг быстро определяет, что это плоское изображение и включает соответствующий контекст. Но если глядеть отрешенно, не фокусируясь, и тем самым не давая подобрать нужный образ, то в случае, если каждый глаз поймает свою смещенную картинку, они могут сложиться и определиться как 3D - и активировать объемный контекст восприятия.

 

Прикол тут в том, что колонки воспринимая и предварительно оценивая сигналы от глаз, исправно выдают свою активность в вышестоящий структуры. Но пока там не найдется подходящий образ, мы "видим" лишь бессмысленный хаос пятен. И лишь при нахождении "удачного решения" внезапно "прозреваем" и видим 3D.

Еще интересный момент: если поймав стерео изображение начать медленно поворачивать лист картинки перед собой - тут же почувствуешь сильное напряжение в мышцах глаз и в какой то момент их заклинит. Ощущение, как будто они выкручиваются по резьбе из глазниц. Видимо потому, что подключенный контекст восприятия управляет не только оценкой поступающих сигналов, но и движениями мышц глаза и вообще всем, что связано с распознаванием зрительных образов. То есть "поймав волну" (положение глаз для восприятия своего смещенного рисунка), система включает стабилизатор их положения, чтобы поступающий от сетчатки сигнал соответствовал активному образу. И лишь когда рассогласование становится чрезмерным, происходит сброс образа и сопутствующих ему стабилизаторов и поиск нового устойчивого состояния восприятия.

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
225. « Сообщение №47065, от Октябрь 03, 2020, 06:15:06 PM»

Сделал слайдер задатчика ускорения-замедления. Если регулировать во время прохода, то данный цикл пройдет с прежней скоростью, а следующий с новой заданной.



Спасибо за это сообщение! Благодарность от: Palarm

Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
226. « Сообщение №47066, от Октябрь 04, 2020, 04:28:17 AM»

автор: Palarm сообщение № 47060:
Их связи должны быть равновесными, чтобы равномерно затормаживать связанные через них нейроны.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
227. « Сообщение №47094, от Ноябрь 01, 2020, 06:05:52 PM»

автор: Palarm сообщение № 47063:
То есть природа не стала заморачиваться созданием сверхчувствительных датчиков, выдающих миллионы кодов сигнала, а стала развивать структуры анализа того что есть.

Судя по тому, что нарыл, картина вырисовывается следующим образом:

 

В фотоматрице над каждым пикселом установлен фильтр одной из составляющих RGB, что позволяет снимать с него сигнал составляющей соответствующего уровня. И получая тем самым для каждой составляющей диапазон от 0 до 256 значений. В природной реализации нет возможности снимать уровень активности с отдельного рецептора, природа выкрутилась иначе, создав более сложную систему контрастирования активностей колбочек и антагонистического взаимодействия центральной и периферической областей рецепторного пятна. То есть цвет определяется для области, причем довольно обширной, а не отдельного пиксела как в фотоматрице. Но мы однако можем довольно точно определять мелкие "цветовые переливы" объекта, что хорошо объяснялось бы именно цветовой градацией по одному пикселу, а не пятну. Ответ думаю в том, что итоговая цветная "картинка" возникает не в сетчатке, а последующих отделах мозга, где она складывается из отдельных картинок-снимков, получаемых при циркадных движениях глаз. Кроме того, там же сравниваются и близлежащие области соседних рецепторных полей, которые перекрываются.

 

Как все уляжется, сделаю более обширное обобщение.

автор: Palarm сообщение № 47057:
Модель 3- слойной колонки для сетчатки

Это как оказалось модель искусственной сетчатки, а не колонки. Правда еще не полная.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
228. « Сообщение №47095, от Ноябрь 01, 2020, 06:45:53 PM»

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

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
229. « Сообщение №47096, от Ноябрь 01, 2020, 07:11:27 PM»

Это я уже заметил, что в природной реализации многие ухищрения делаются ввиду скудности и корявости элементной базы. Например то, что сетчатка инвертированный орган, где фотонам приходится пронзать 8 слоев чтобы добраться до рецепторов во многом лишь потому, что только так получается наиболее успешно быстро регенерировать чувствительность палочек/колбочек. Они быстро истощаются и потому должны быть максимально близко расположены к пигментному слою и его кровеносной системе. А вот то, что попиксельная детализация производится в центральной ямке, а не по всей сетчатки - уже принципиально. Так же как и не равномерное распределение палочек/колбочек, с максимальной концентрацией колбочек в ямке и практическим их отсутствием на периферии. Так получается уже на уровне сетчатки разлагать сигналы рецепторов на группы: точная детализация, общий уровень цвета, освещённости. Это позволяет детектировать простейшие сигналы типа потемнело, посветлело, что то там мелькнула - и создавать максимально быстрые (короткие) рефлекторные цепочки реагирования. Если просто снимать попиксельно сигнал с матрицы, пришлось бы создавать алгоритмы распознавания с использованием аппаратных мощностей, что сказалось бы на скорости реагирования.

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
230. « Сообщение №47097, от Ноябрь 01, 2020, 07:28:26 PM»

автор: Palarm сообщение № 47096:
Так получается уже на уровне сетчатки разлагать сигналы рецепторов на группы: точная детализация, общий уровень цвета, освещённости. Это позволяет детектировать простейшие сигналы типа потемнело, посветлело, что то там мелькнула - и создавать максимально быстрые (короткие) рефлекторные цепочки реагирования. Если просто снимать попиксельно сигнал с матрицы, пришлось бы создавать алгоритмы распознавания с использованием аппаратных мощностей, что сказалось бы на скорости реагирования.

Воистину. Можно сказать, что глаз - не просто фотоматрица, а сразу несколько разного назначения сенсорных систем.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
231. « Сообщение №47100, от Ноябрь 06, 2020, 01:12:44 PM»

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

 

Значение электротонического проведения состоит в том, что оно позволяет проводить сигналы, градуированные по силе. Так, для палочек и колбочек величина их гиперполяризации прямо зависит от интенсивности освещенности; сигнал не подчиняется закону «все или ничего», как было бы в случае развития потенциала действия.

 

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

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
232. « Сообщение №47101, от Ноябрь 06, 2020, 05:59:38 PM»

пока особого смысла не видно, какое-то вырванное из системы наблюдение.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
233. « Сообщение №47102, от Ноябрь 06, 2020, 06:27:56 PM»

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

 

С другой стороны, электрический синапс означает простое перетекание заряда по связям как ток по проводам. Это получается, что все связи по логике ИЛИ и они по сути получаются просто дублирующие. О каких тогда рецепторных полях говорится, если любой из связанных с биполяром нейронов способен его активировать? Я пока сложно представляю, какие вообще схемы можно построить на электрических синапсах кроме как простое распространение затухающего возбуждения. А в сетчатки все клетки связаны такими синапсами, только ганглиозные работают как привычные нейроны. 




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
234. « Сообщение №47103, от Ноябрь 06, 2020, 07:14:55 PM»

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
235. « Сообщение №47104, от Ноябрь 06, 2020, 07:42:22 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
236. « Сообщение №47105, от Ноябрь 07, 2020, 07:01:19 PM»

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

 

Залил обобщение. Теперь стало немного понятнее, что там происходит.



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
237. « Сообщение №47106, от Ноябрь 07, 2020, 07:41:19 PM»

Проанонсировал в новостях.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
238. « Сообщение №47115, от Декабрь 07, 2020, 10:29:02 AM»

Собирая аксиоматику по фасеточному зрению насекомых нашел вполне адекватный ресурс. Но что удивило - практически все источники, это учебники советского периода 60-70 годов. На сайте это специально подчеркивают. Сначала это удивило, но роясь в интернете нахожу практически только их перепечатки. Получается, что действительно наиболее адекватная инфа без воды и лабуды, именно в старых советских учебниках. И возникает вопрос: неужели за более чем 40 лет так и не прояснился например вопрос кодирования информации? Впечатление такое, словно заморозили исследования, ударившись в разработку распознавателей на основе сверточных сетей, который по сути грубо имитируют первичную обработку на первых слоях с использованием латерального торможения. Но почему не пытаются создать прототип действительного контрастирования, а не псевдо через фильтры и пляски с бубном - так как это происходит в реальной сетчатке? Точнее, такие работы ведутся, но на порядок более вяло.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
239. « Сообщение №47116, от Декабрь 07, 2020, 10:55:14 AM»

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

Современная наука - это Грета Тунберг!

Надежда только за теми, кто потянет альтернативный подход, вне закоренелых догм продвигателей данной предметной области.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
240. « Сообщение №47117, от Декабрь 07, 2020, 05:39:28 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
241. « Сообщение №47119, от Декабрь 20, 2020, 03:06:04 PM»

Добавил обобщение по фасетчатому глазу. Оказалось, что там так же как в сетчатке имеется функциональная неоднородность омматидиев, рамбдомеры которых специализируются на определенной части спектра или направлению  поляризации. Стало быть подтверждается первоначальное предположение на примере сетчатки, что такая неоднородность не случайна, а принципиальна - иначе просто не получится создать параллельные потоки данных от глаза для организации комплексного реагирования. Мы сначала шарахаемся в сторону от внезапно выпрыгнувшей из кустов опасности, и только потом, с расстояния начинаем ее более подробно изучать. Если бы реагирование возникало только после окончательного определения объекта - нервная система так и осталась бы на уровне простейших реакций, достаточных по времени выполнения,чтобы тебя не съели.

 

В сетчатке позвоночных больше всего заинтриговал электротонический способ передачи возбуждения. Как мне думается - это успешная попытка создания аналоговой схемы связей, необходимой для снятия уровня возбуждения с рецептора. Если сравнивать с фотоматрицей, там мы имеем массив рецепторов с определенным уровнем заряда, что необходимо для получения итогового кода цвета. Но если попытаться собрать такую схему на бинарных элементах, как это сделано в статье "Сетчатка" - то получим проблему: как снимать многоуровневый потенциал с рецептора? Я для этой цели сделал 3 рецептора яркости, в итоге получаем 4 уровня для каждого рецептора RGB: рецептор при выключенных яркостях, и рецептор при последовательно включенных 1, 2, 3. Это с одной стороны сильно увеличивает размер пикселя, что соответственно уменьшает разрешающую способность глаза. А с другой - ограничивает диапазон яркостей.

 

Природа выкрутилась иначе использовав полноценный аналоговый способ связи в сетчатке. В итоге контрастирование в ее слоях работает так, как гексагональная решетка DK6-3 из соответствующей статьи, если крутить ползунок коэфф. усиления веса. В это случае веса связей пропорционально изменяются, меняя тем самым итоговый эффекторный рисунок решетки. Стало быть очередное "понимание", что есть решетки, про которые ты меня подкалывал - это модель децентрализованной нейросети первых слоев сетчатки позвоночных с электротоническим способом связей. Причем гексагональная ближе всех к модели фовеолы - центральному пятну. Там действительно гексагональная плотная упаковка колбочек. В одном дуплексном слое модели решетки сведены горизонтальные нейроны и колбочки. И получается, что черт его знает, может это в правду оказался корявый прототип искусственной фовеолы? :)

 

По фасетчатом глазу, когда наткнулся на вопросы в сети, почему природа выдумала такой странный глаз, а не снабдила насекомых нашим камерным, сразу пришло в голову, что главная причина - более примитивная нейросеть насекомых. Она тупо не сможет работать с таким уровнем детализации и макрообъектами. А техническая сторона, касаемая повышенной дифракции при таких микроразмерах и сводящей на нет все преимущества камерного глаза - уже вторична. Богомолу не к чему разбираться в видах и подвидах его жертв, он хватает и жрет все что может схавать и удержать, поэтому все что ему нужно знать о жертве - сможет ли он это сделать. А для этого достаточно лишь несколько простейших признаков размеров и способность различать живое от неживого.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
242. « Сообщение №47120, от Декабрь 20, 2020, 04:55:19 PM»

автор: Palarm сообщение № 47119:
Добавил обобщение по фасетчатому глазу

Ты ставь ссылки сразу чтобы люди понимали, о чем речь :)

автор: Palarm сообщение № 47119:
есть решетки, про которые ты меня подкалывал

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

Я вообще, если решусь на какие-то прагматичные действия, то вообще отмету эту часть сенсорики, о чем сегодня написал в дневнике.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
243. « Сообщение №47121, от Декабрь 20, 2020, 05:18:00 PM»

Я уже говорил, что с самого начала думал не в общем и целом - а как конкретно сделать распределенную нейросеть. А это значит уже конкретная топология, а не пространные рассуждения, как где то что то как то связывается. Кроме того, строгая решетка вовсе не означает строгую компоновку. Если рассматривать ее как матрицу-шаблон для создания нового слоя, то изначально там все связи нулевые и по мере обучения прожигаются нужным весом. В конце концов можно представить хоть сто-мерную виртуальную решетку с миллионами связей в одном узле. В любом случае, если ты создаешь новый слой - изначально это пустой массив с заданной размерностью (1-2-3 мерный и т.д.) и надо задать параметры: между какими элементами можно делать связи, а между какими нельзя - в самом простом случае исходя из того, что рецептивное поле это круговой охват каким то радиусом вокруг точки возбуждения. Это особенно касается сенсорной матрицы типа сетчатки, на которую проецируется изображение, так как связи будут формироваться вокруг областей рецепторной активности, а не где попало.

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




Род: Мужской
linuxoid
Sr. Poster


Сообщений: 106
244. « Сообщение №47122, от Декабрь 20, 2020, 10:39:54 PM»

Помнится, где-то в этой теме обсуждалось латеральное торможение (ЛТ). Сейчас не буду всё читать и рыться в аксиоматике, просто изложу мысль.

Во-первых, меня интересует сила ЛТ, а именно её свойство: статичность или динамичность в зависимости от приложенного к основному нейрону потенциала. Сила определяется синаптическими весами на аксонах тормозных нейронов, а веса постоянны, так ведь? То есть не зависят от того, какая сила сигнала на нейроне, а просто срабатывают, если нейрон активен, и молчат в противном случае. Имею ввиду, что при пороге срабатывания 1 независимо от того, какой сигнал на нейроне больше 1 (2, 3, 7, 9), тормозной нейрон будет действовать на соседний с одной и той же силой (будет приложен одинаковый потенциал), которая определена синаптическим весом от него. Вес синапса меняется не мгновенно, причём пластичность в первичных зонах нивелируется по завершении специализации слоя. Таким образом, сила ЛТ не зависит от приложенного к нейрону потенциала, а роль играет только то, возбуждён нейрон или нет. Если нет опровергающих фактов, идём дальше.

Можно сделать алгоритм псевдопараллельной обработки сигнала. Мат. модель я не представляю, так что сделаем циклом, но здесь у нас появилось обстоятельство -- сила ЛТ не меняется. Это значит, надо просто вычесть значения весов, умноженные на 0 или 1 из сигналов из каждого нейрона, чтобы создать иллюзию параллельности процессов, а затем проверить, изменилось ли состояние: если да, пересчитать с учётом включенных и выключенных нейронов, иначе выйти из цикла. Если нейроны примерно одинаковой силы и гасят друг друга, надо отловить такую ситуацию, обнулить ЛТ для данных нейронов и установить на них сигнал, равный порогу срабатывания, как на транзисторе в случае тока смещения на базе поддерживается напряжение, предельно близкое к напряжению отсечки. Таким образом, получается даже не цикл, а простое ветвление.

Примерный псевдокод:

если (примерно_равны(1,2)) {

сигнал_1 = порог;

сигнал_2 = порог;

} иначе {

сигнал_1 -= активность_2 * ЛТ;

сигнал_2 -= активность_1 * ЛТ;

активность_1_пред = активность_1;

активность_2_пред = активность_2;

активность_1 = проверить_активность(1);

активность_2 = проверить_активность(2);

если (активность_пред_1 == 1 и активность_1 == 0) сигнал_2 += ЛТ;

если (активность_пред_2 == 2 и активность_2 == 0) сигнал_1 += ЛТ;

}

 

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
245. « Сообщение №47123, от Декабрь 21, 2020, 05:14:05 AM»

В статье про решетки подробно по шагам показан расчет методом итераций, но он тоже не дает точного расчета состояний узлов сети. Нужна параллелизация расчета, как если бы процессор имел число ядер по числу узлов решетки. Либо бесконечный цикл как у Nan в конструкторе. Оба варианта означают серьезные вычислительные мощности, потому мне более целесообразным видится создание нейроплат-шаблонов, с программируемыми связями, как это делается в ПЗУ

автор: linuxoid сообщение № 47122:
Сила определяется синаптическими весами на аксонах тормозных нейронов, а веса постоянны, так ведь?

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
246. « Сообщение №47124, от Декабрь 21, 2020, 07:11:50 AM»

автор: Palarm сообщение № 47123:
более целесообразным видится создание нейроплат-шаблонов, с программируемыми связями

да, только дисретные элементы, а не эмуляция.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
247. « Сообщение №47125, от Декабрь 25, 2020, 01:44:08 PM»

Вот думаю самая простая нервная система с адаптацией к внешним воздействиям. Адаптация к изменяемым условиям происходит за счет высокой плодовитости и мутаций.

 

Схема показывает простейшую реализацию коррекции внутреннего состояния (гомеостаза) при внешнем воздействии. Один единственный рецептор "Р" воспринимает внешнее воздействие и запускает эффектор "Э" организма, который оказывает влияние на ее внутреннее состояние. У организма свой собственный цикл существования, включающий колебания внутренних состояний, которые отслеживаются датчиками гомеостаза Г+ и Г-, показывающими соответственно положительное и отрицательное состояние. При отрицательном состоянии запускается действие "Д1" запускающее коррекцию гомеостаза до нормы, при положительном тормозное действие "Б1", гарантировано блокирующее запуск действия "Д2", чтобы не было выхода за норму.

 

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

 

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
248. « Сообщение №47126, от Декабрь 25, 2020, 04:38:26 PM»

Более продвинутая схема показывает уже простейшую реализацию выбора эффекторной реакции в зависимости от текущего состояния гомеостаза и как в прежней схеме его последующей коррекции, при выходе из нормы в отрицательные значения. Для реализации такой схемы необходим выбор из минимум 2 возможных эффекторных реакций "Э" на активность рецептора "Р". Для этого вес связи от активного рецептора составляет лишь половину необходимого для активации эффектора. Оставшуюся половину он получит от одного из рецепторов гомеостаза "Г", показывающих текущее состояние организма. В данном простейшем случае это либо "хорошо", либо "плохо".

При отрицательном состоянии запускается действие "Д" запускающее коррекцию гомеостаза до нормы, при положительном тормозное действие "Б", гарантировано блокирующее запуск действия "Д", чтобы не было выхода за норму.

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

 

Таким образом я пытаюсь обосновать, что для адаптационной схему можно назвать лишь при условии:

1. Система реагирует на внешние воздействия внутренними изменениями.

2. В системе присутствует постоянный внутренний процесс, который выходит из равновесия при внешнем воздействии

3. Система имеет механизм коррекции своего внутреннего процесса - приведение его в равновесное состояние

Не будет хотя бы одного из пунктов - систему нельзя назвать адаптационной. То есть самообучаемость (интеллект) - не обязательное свойство адаптационных систем. Оно может быть зашито изначально как в вышеприведенных схемах.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
249. « Сообщение №47127, от Декабрь 25, 2020, 04:46:15 PM»

автор: Palarm сообщение № 47125:
можно ли при таком раскладе считать такую нервную систему самоадаптирующейся, или все же для этого обязательно наличие влияния гомеостатических рецепторов на выбор эффекторной реакции?

У тебя - самоадаптирующаяся схема, но для узких условий. Такая тварь или может регулироваться в данной среде или выходит из игры жизни. В более общем плане любая причинно-следственная связь или срабатывает, т.е. оказывается адаптированной к среде, или если условия не позволяют, ее компоненты пассивны. - она неадаптирована




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
250. « Сообщение №47128, от Декабрь 25, 2020, 04:53:34 PM»

автор: nan сообщение № 47127:
У тебя - самоадаптирующаяся схема, но для узких условий.

Я это подчеркнул, пытаясь опуститься до самой простейшей схемы, которую можно назвать адаптационной. Потому, что как то привычно считается, что адаптация == интеллект. Строго говоря это не так.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
251. « Сообщение №47129, от Декабрь 25, 2020, 05:15:07 PM»

автор: Palarm сообщение № 47128:
привычно считается, что адаптация == интеллект. Строго говоря это не так.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
252. « Сообщение №47130, от Декабрь 25, 2020, 05:33:09 PM»

Согласен. И тогда думаю можно сказать так: интеллекта не может быть без личной адаптации, но адаптивность в узких границах может быть без интеллекта.

Рассуждая далее о гомеостазе можно сказать, что его график не может быть в виде горизонтальной прямой, должны быть хоть небольшие колебания, которые могли бы отклоняться в какую то сторону. Это значит, что норма гомеостаза подразумевает колебания ниже какой то амплитуды. То есть это всегда колебания. Стало быть вопрос по сабжу из дневника, к чему привязывать нейробота, если никакого гомеостаза у него нет, вообще не стоит. Потому что процесс, который подразумевается регулировать, всегда колебательный, поэтому у бота он тоже должен быть. В простейшем случае это одночастотная синусоида смены состояний, даже если в такой системе нет ни одного рецептора и эффектора. А если есть хотя бы один эфектор, то он однозначно влияет на эти колебания, усиливая/ослабляя их амплитуду.

 

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

 

Думаю при таком подходе теоретически нет проблем от чего отталкиваться при создании нейробота.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
253. « Сообщение №47131, от Декабрь 26, 2020, 06:50:25 PM»

Следующий вариант схемы.

 

В схеме показана связь между рецепторами гомеостаза и эффектором внешних рецепторов опосредовано, через тормозные нейроны "Т". Дело в том, что модель гомеостаза изначально представляет собой замкнутый на себя простейший цикл внутренних реакций организма, не реагирующий на внешние воздействия - как в инкубаторе. Это необходимо для формирования связей системы между датчиками Г, блокираторами Б и реакторами действий Д. Система считывания/реагирования на внешние воздействия так же изначально не взаимодействует с системой гомеостаза, что так же необходимо для формирования связей между рецептором Р и эффекторами Э. В начальный период они существуют и развиваются параллельно и не зависимо друг от друга. Затем, после созревания, происходит их сцепление. Чтобы связать их между собой для выбора реагирования на внешнее воздействие, зависящее от текущего состояния гомеостаза, нужен промежуточный элемент. Это тормозной нейрон, блокирующий один из вариантов реагирования, оставляя другой.

 

Связь с ним устанавливается в 2 этапа:

1. первой в организме возникает система гомеостаза, в данной схеме представленной в виде поочередной активности датчиков Г+ и Г-. Они показывают равномерную ритмичную пульсацию системы - ее простейший вариант. При появлении тормозного нейрона он связывается с одним из датчиков, который начинает управлять его активностью.

2. второй возникает система считывания/реагирования на внешние воздействия. Тормозной нейрон уже связан своим входом с системой гомеостаза, и теперь он свой выход связывает с системой считывания/реагирования. Возникает тормозная связь между гомеостатической и эффекторной активностью.

 

Процесс создания связи подразумевает следующие условия:

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

2. связь устанавливается между периодически активирующимся созревшим нейроном, (рецептором), и созревающим нейроном (эффектором).

3. связь ограничена рецептивным полем - областью активных рецепторов, с которыми она устанавливается. Созревающий эффектор не может свободно связываться со всеми активными рецепторами, иначе это в конечном итоге приведет к связи всех со всеми. Поэтому нужно ограничить его некоторой областью. Графически на плоскости это будет окружность, в 3D пространстве сфера с заданными радиусами. Фактически же это массив доступных элементов, который задается либо просто списком, либо функцией определения. В любом случае должна присутствовать какая то система в задании таких массивов, чтобы избегать бессмысленных хаотичных связей. Особенно это касается зрительных сенсорных систем, где важна топология активностей эффекторов относительно рецепторов, иначе просто не получится распознавать зрительные примитивы.

 

На схеме визуально не показан процесс формирования связей между двумя системами. Подразумевается, что это связи между Т1-Э1, и Т2-Э2, то есть рецептивные поля тормозных нейронов включают в себя по одном эффектору. При вышеописанных правилах формирования связей возникают ситуации:

 

1. если при состоянии гомеостаза (активен Г-) несколько раз активируется эффектор Э2 - возникнет отрицательная связь между Г- и Э2 через Т2. При этом оставляется возможность активации Э1, так как он не входит в рецептивное поле Т2.

2. если при состоянии гомеостаза (активен Г+) несколько раз активируется эффектор Э1 - возникнет отрицательная связь между Г+ и Э1 через Т1. При этом оставляется возможность активации Э2, так как он не входит в рецептивное поле Т1.

 

Таким образом подразумевается определение "правильной" реакции для двух возможных состояний гомеостаза исходя из того, что внешнее воздействие, которое детектирует рецептор Р, возбуждает или угнетает гомеостаз. Следовательно, если выполнение эффекторного действия не меняет состояние гомеостаза - оно либо нейтрально к нему, либо усиливает внешнее воздействие и его нужно заблокировать. Причем это касается как положительного, так и отрицательного состояния гомеостаза. Это значит, что правильнее говорить не о плохом-хорошем состоянии, а о слишком плохом-хорошем, то есть о выходе за пределы амплитуды колебаний, требующей коррекции. Поэтому на каждый тип отклонения гомеостаза должно быть свое внутреннее корректирующее действие Д, возвращающее гомеостаз в норму его амплитуды колебаний.

 

Однако схема по прежнему не является полностью законченной, так как в ней не показано схематически, каким образом действие эффекторов Э1, Э2 влияет на состояние гомеостаза - лишь подразумевается. Можно даже сказать, если судить строго по схеме, что оно вообще никак на него не влияет, а просто внешние воздействия связываются с колебаниями гомеостаза. А это принципиально важно, иначе нельзя строго утверждать, что эффекторное действие возбуждает или угнетает гомеостаз. И самое главное - такие влияния начнут вносить в изначально строго ритмичные колебания дополнительные гармоники, которые в свою очередь будут все более предопределять выбор очередной реакции как правильной-неправильной. То есть наличие обратной связи между эффекторным действием и состоянием гомеостаза приведет схему к настоящей адаптации.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
254. « Сообщение №47132, от Декабрь 26, 2020, 07:21:48 PM»

Суть утверждения о том, что гомеостатическая регуляция – просто некие самостоятельные колебания я не понимаю.

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

Мало того в случае, если регуляция возможна только через повеление (утоление жажды), то вообще о пульсациях говорить нечего.

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
255. « Сообщение №47133, от Декабрь 27, 2020, 04:01:31 AM»

Я исходил из того, что адаптация означает наличие внутреннего процесса, который нужно синхронизировать с внешним. Внешнее воздействие на процесс может быть тормозным или активирующим. Синхронизация означает, что каким то образом к внутреннему процессу добавляется корректирующий, что не позволяет ему из за внешнего воздействия пойти вразнос или окончательно прекратиться. А это в свою очередь означает что мы говорим о каких то пределах отклонения, превышая которые считается что процесс стал слишком активным или слишком угнетенным. Процесс, имеющий пределы активности/пассивности - это колебательный процесс. А норма - колебания, не выходящее за пределы.

автор: nan сообщение № 47132:
Но если сделать задержку в регуляции (повысить плавность управляющего нагревателем напряжения больше, чем постоянная времени нагревателя, то пульсации исчезнут (закон появления колебаний в любой системе)).

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

автор: nan сообщение № 47132:
Суть утверждения о том, что гомеостатическая регуляция – просто некие самостоятельные колебания я не понимаю.

Я не говорю, что гомеостаз это внутренние колебания. Это зависимые от внешнего воздействия внутренние колебания. Голод - что то съел - сытость - переварил - опять голод - это разве не колебания состояний? Другое дело - как связать внутренние колебания с внешними изменениями? Поэтому предложил считать, что сначала нужно создать независимые системы внутреннего процесса и внешнего реагирования, а потом их связать. То есть сначала просто запускаем "тактовый генератор", который будет колебать гомеостаз, чтобы можно было потом начать это колебание регулировать. Потом создаем систему реагирования на внешнее воздействие. А потом связываем их вместе. Но связь должна быть двусторонней: гомеостаз должен влиять на выбор реагирования, а реагирование должно влиять на состояние гомеостаза. По схеме выше связь пока что односторонняя, и действие эффектора никак не влияет на состояние гомеостаза. Он все так же колеблется сам по себе и это конечно не правильно, с позиции адаптационной схемы. Тут еще надо думать.

 

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




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
256. « Сообщение №47134, от Декабрь 27, 2020, 07:37:08 AM»

автор: Palarm сообщение № 47133:

Но если сделать задержку в регуляции (повысить плавность управляющего нагревателем напряжения больше, чем постоянная времени нагревателя, то пульсации исчезнут (закон появления колебаний в любой системе)).

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

Есть понятие равновесного состояния, там нет колебаний, нео есть обратная связь. Вот как в усилителе низкой чатсоты (частота изменения хомеостатического параметра) с обратной связью - нет колебаний регулировки, если тракт усилителя более высокочастотен, чем максимальная гармоника сигнала. ПОдадим идеальный меандр на вход и на выходе увидим по каждому фронту затухающие колебания с частотой быстродействия тракта. Но в организме таких быстрых изменений параметров, которые бы не мог бы отследить нейросеть  и ее эффекторы без затухающих колебаний регулировки, нет.

автор: Palarm сообщение № 47133:
у каждого внешнего воздействия должно быть свойство, влияющее на гомеостаз. Например касаемо бота: его простейший гомеостаз - цикличные колебания "бодрость-усталость".

Если такие изменения ты и называешь колебаниями, то нет возражений.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
257. « Сообщение №47135, от Декабрь 27, 2020, 09:37:31 AM»

Я представляю себе процесс оживления нейро-бота следующим образом:

  • эмулируется простейший гомеостаз в виде циклических колебаний двух состояний бодрость/усталость
  • Создается сеть рецепторов-эффекторов, детектирующая внешние воздействия.
  • Формируется виртуальный мир из объектов, наделенных свойствами, которые влияют на гомеостаз, изменяя амплитуду его колебаний в какую то из сторон.
  • связываются тормозными связями рецептивно-эффекторная сеть и система гомеостаза.

В результате воздействия объектов начинают влиять на гомеостаз, ускоряя/замедляя его в разной степени, смотря по своим свойствам. Это вносит гармоники в изначально ритмичные колебания гомеостаза, превращая их в сложные и уже зависящие от внешних воздействий. Так как гомеостаз теперь связан с эффекторами, он начинает участвовать в выборе реагирования. Так формируется простейшая адаптивность.

Для бота это выглядит так:

  1. создаем таблицу объектов-слов (или букв) с идентификаторами и свойством длина (высота тона).
  2. запускаем у бота тактовый генератор "бодрый/усталый".
  3. создаем матрицу рецепторов, способную определять свойство объекта в виде активности матрицы эффекторов
  4. Эмулируем связь между активностью эффекторов и колебаниями гомеостаза по правилу: амплитуда колебаний прямо пропорциональна длине слова (или высоте тона буквы).
  5. задаем параметры для формирования связей между гомеостазом и эффекторами через тормозные нейроны: время обучения (или кол-во циклов активностей эффекторов) и размер рецептивного поля. Активируем обучение.

В результате должны сформироваться связи, обеспечивающие регулирование дисбаланса колебаний гомеостаза. Потому, что согласно п.4 создана связь между активностью эффекторов и колебаниями гомеостаза - они начинают его разгонять/успокаивать, внося дисбаланс в изначально ритмичные колебания. А возникающие тормозные связи блокируют эти возмущения в разной степени, смотря по свойствам объектов, возбудивших рецепторы, которые активировали эффекторы. То есть система пытается вернуться к прежним равномерным колебаниям. Связь же устанавливается потому, что с одной стороны имеется активный эффектор, а с другой активный тормозной нейрон в стадии обучения.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
258. « Сообщение №47136, от Декабрь 27, 2020, 10:08:49 AM»

Можно в принципе и без начальных колебаний гомеостаза, просто назначив какой то уровень его состояния как норма и диапазон отклонений в обе стороны, выход за который означает дисбаланс. Но тогда встанет вопрос: что будет делать бот, когда он не воспринимает раздражители. Получается, что замрет в состоянии крайней активации эффекторов. Может оно и ладно.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
259. « Сообщение №47137, от Декабрь 27, 2020, 11:25:27 AM»

автор: Palarm сообщение № 47135:
эмулируется простейший гомеостаз в виде циклических колебаний двух состояний бодрость/усталость

это при накопленных активностях или прямо задавать циркадный ритм?

автор: Palarm сообщение № 47135:
Формируется виртуальный мир из объектов, наделенных свойствами, которые влияют на гомеостаз, изменяя амплитуду его колебаний в какую то из сторон.

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

автор: Palarm сообщение № 47135:
Эмулируем связь между активностью эффекторов и колебаниями гомеостаза по правилу: амплитуда колебаний прямо пропорциональна длине слова (или высоте тона буквы).

вот это мне решительно не нравится.. :) не вижу вообще корреляции значимостей с длиной слова.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
260. « Сообщение №47138, от Декабрь 27, 2020, 01:00:34 PM»

автор: nan сообщение № 47137:
это при накопленных активностях или прямо задавать циркадный ритм?

Просто колебания ни к чему не привязанные

автор: nan сообщение № 47137:
что некоторое из словосочетаний в определенном контексте имеют уже привязанную к ним значимость и она, конечно, будет влиять на текущий контекст гомеостатической значимости

Для бота слова просто буквы, ничего не значащие. А ты пытаешься свою сформированную значимость навязать ему.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
261. « Сообщение №47139, от Декабрь 27, 2020, 01:06:15 PM»

автор: Palarm сообщение № 47138:
ты пытаешься свою сформированную значимость навязать ему.

период воспитания (2-4 года у людей) должен же быть.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
262. « Сообщение №47140, от Декабрь 27, 2020, 01:58:51 PM»

Я так далеко пока еще не смотрю. Меня сейчас интересует начало начал. У развивающегося организма формируются органы, обслуживающая их нервная система - и вот какие там распознаватели, на что реагируют, как образуются связи? Животное рождается уже с частично, а местами и с полностью сформированными системами жизнеобеспечения, реагирования. А те, что не сформированы, подготовлены так, чтобы максимально быстро прошиться параметрами. Думаю, только понимание с чего все начинается, как развертывается нервная система, позволит понять как оживлять нейро-ботов. И тогда уже можно какие то этапы пропустить, просто прошив сразу нужным образом распознаватели.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
263. « Сообщение №47141, от Декабрь 27, 2020, 02:10:39 PM»

автор: Palarm сообщение № 47140:
понимание с чего все начинается, как развертывается нервная система, позволит понять как оживлять нейро-ботов

У меня нет с этим проблем. Но по-любому нужно организовать третичную зону дял контекстно-зависимых (условных) рефлексов, а для этого, да, нужно уже вшитая система безусловных, которая и обеспечивает регуляцию гомеостаза. Потому как только на основе безусловных могут возникать условные рефлексы, а на их основе- автоматизмы. И первый уровень условных - воспитание в авторитатрной среде. Чтобы оживить - нужно будет организовывать второй уровень - уже контекстов понимания которые определяют условия автоматизмов. Уровень, связанный с первым единственным каналом внимания - осознания наиболее актуального и поэтому совершенно обособленный, самостоятельный уровень с эффектом гомункулуса.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
264. « Сообщение №47142, от Декабрь 27, 2020, 02:48:07 PM»

То есть вопрос формирования безусловных рефлексов ты не рассматривал, когда в очередной раз задумался об реализации ИИ? Хотя с них все и начинается. Предлагаешь не заморачиваться этим а просто прошить нужные рефлексы и сразу начать с момента рождения, когда начинается импритинг, авторитарное обучение? 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
265. « Сообщение №47143, от Декабрь 27, 2020, 04:10:18 PM»

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




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
266. « Сообщение №47145, от Декабрь 27, 2020, 05:50:26 PM»

автор: nan сообщение № 47141:
а для этого, да, нужно уже вшитая система безусловных, которая и обеспечивает регуляцию гомеостаза. Потому как только на основе безусловных могут возникать условные рефлексы, а на их основе- автоматизмы

Получается, ты в принципе не возражаешь, что сначала нужно эмулировать у бота гомеостаз, создать схему безусловных рефлексов для его регуляции, создать схему рецепторов и условных рефлексов - и связать безусловные гомеостатические с условными рецептивными так, чтобы гомеостатические влияли на ветвления условных рецептивных, которые в свою очередь активируют (используют)  эти сами безусловные.

Я только так и не понял - что ты представляешь под гомеостазом бота? Мне подумалось, что раз изначально у него ничего нет, то можно просто создать простейший процесс ритмичных колебаний, который затем превратится в неритмичный из за влияния эффекторов условных рефлексов. То есть сначала гомеостаз строго стабилен, но как только внешние рецепторы начнут считывать активности, он будет становиться все более сложно закрученным. Поэтому

автор: nan сообщение № 47137:
Но привязывать только состояния устал или бодр - это оставить многие слова без значимости

такой проблемы не будет - ведь колебания гомеостаза будут становиться все более сложными. Начнется процесс взаимного усложнения: рецепторы и эффекторы, формируя условные рефлексы, воздействуют на гомеостаз, который усложняясь от этого, все более сложно воздействует на эффекторы.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
267. « Сообщение №47146, от Декабрь 27, 2020, 05:52:18 PM»

автор: Palarm сообщение № 47145:
Я только так и не понял - что ты представляешь под гомеостазом бота?

Я тоже пока смутно это представляю. В этом - главнfz стратегическая проблема :)

Скорее всего нужно будет создать вируальный организм со всеми его особенностями и имитировать удовлетворение потребностей, иначе не получится должного взаимпонимания с людьми. Ну, хотя бы как между человеком и другими животными, тут примерно схожие потребности.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
268. « Сообщение №47147, от Декабрь 27, 2020, 07:12:49 PM»

Тогда уж скорее между одомашненным животным, в случае нейробота ближайший аналог медоносная пчела. Она собирает мед не для того, чтобы кто то его ел, а чтобы выжить самой. Но кто то ловко это использует, предоставляя ей улей, кормовую базу и оберегая от некоторых проблем. Пчела об этом не подозревает, воспринимая регулярный отъем части меда как досадные неприятности, с которыми пытается безуспешно бороться. Видимо именно такая модель взаимоотношений между нейроботом и его оператором должна быть. Вариантов можно придумать бесконечно много.

 

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

 

То есть мало придумать гомеостаз, придется изобретать целый мир с правилами игры для бота. Чтобы он воспринимал реальность через нужную оператором призму. Может даже появится профессия дизайнера, архитектора виртуальных вселенных, законодателя правил и т. д. - создающих специальные прошивки под конкретные задачи для простых виртуальных существ с ИИ, вроде насекомых.




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
269. « Сообщение №47148, от Декабрь 27, 2020, 07:29:34 PM»

Прикольно :)

Но виртуальный гомеостаз это не целый мир и организм в нем, в всего лишь десяток ключевых параметров, имеющих в словах некий отклик: есть воздух - нет его (и градации какой чистый крпкий воздух), есть-нет воды, еды, секса, сна, и т.п. (в отличие от параметров концетрации со2 в крови, глюкозы, кислотность крови и т.п.). И такой виртуал можно организовать запросто самыми малыми ресурсами.

А по ходу жизки управть им: уменьшить доступ воздуха, чтобы задергалось, жрать не давать и т.п. а временами - наоборот. 

Но все это у меня пока очень недостаточно прорисовывается в общей картине.




Род: Мужской
Palarm
Имеет права модератора этой темыInfra Real

Сообщений: 2458
270. « Сообщение №47149, от Декабрь 27, 2020, 07:44:02 PM»

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

 

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




Род: Мужской
66andr
Имеет права модератора этой темыNewbie

Сообщений: 9

E-Mail
271. « Сообщение №47306, от Февраль 26, 2021, 01:17:17 PM»

Здравствуйте.

Меня зовут Андрей и я только-что зарегистрировался на вашем сайте.

Ещё не во всём успел разобраться. Скажите, где находится ваш нейросимулятор,

а также есть ли к нему инструкция?

 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
272. « Сообщение №47307, от Февраль 26, 2021, 02:20:18 PM»

Приветствую вас!

https://scorcher.ru/neuronet/net.php 

Демо латерального торможения для контрастирования

https://scorcher.ru/neuronet/lateral_braking.php 

конструктор нефросхем

https://scorcher.ru/neuronet_designer/newro_scheme_designer.php 

 



Спасибо за это сообщение! Благодарность от: 66andr

Род: Мужской
66andr
Имеет права модератора этой темыNewbie

Сообщений: 9

E-Mail
273. « Сообщение №47308, от Февраль 26, 2021, 04:37:34 PM»

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


Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
274. « Сообщение №47309, от Февраль 26, 2021, 05:41:17 PM»

автор: 66andr сообщение № 47308:
метод компьютерного моделирования, который позволяет создавать модели управления поведением робота любой сложности

Это - очень круто. Мы с активистами пытаемся реализовать такую систему на ГО (в силу его высокой производительности) на основе уже имеющихся моделей. Реализация показывает, насколько конкретика воплощения меняет проблему реализации, казалось бы, хорошо понимаемых моделей. Только реализованная модель оказывается достаточно убедительной.




Род: Мужской
66andr
Имеет права модератора этой темыNewbie

Сообщений: 9

E-Mail
275. « Сообщение №47310, от Февраль 26, 2021, 07:00:23 PM»

 Я посмотрел ваши схемы на нейросимуляторе. Они, конечно, простенькие и на них, наверняка, не построишь схемы управления роботом. Как, впрочем, и на современных пакетах компьютерного моделирования UML, Simulink, Anylogic и других. Они все работают на пересчёте дифференциальных уравнений, а мой метод построен на другом принципе. Кстати, ему не нужны высокопроизводительные машины.

 

 

 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
276. « Сообщение №47311, от Февраль 26, 2021, 07:05:21 PM»

Я заинтригован, на конкретику можно рассчитывать?




Род: Мужской
66andr
Имеет права модератора этой темыNewbie

Сообщений: 9

E-Mail
277. « Сообщение №47312, от Февраль 26, 2021, 07:49:06 PM»

У вас стоит ограничение  на 30 минут для новичков, поэтому не сразу ответил... И пока не разобрался как вставлять цитаты в текст. Если Вам действительно интересна эта тема, я готов о ней подробно рассказать и предоставить работающие схемы и модели. По образованию я инженер электронщик, а не программист, поэтому все мои схемы состоят из компараторов, триггеров, мультивибраторов и т.д. Впрочем, всё  работает! И метод своей работоспособностью подтверждает свою правильность. Я ещё не разобрался как вставлять в текст картинки, чтобы показать какие есть рабочие схемы... 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
278. « Сообщение №47313, от Февраль 26, 2021, 08:15:08 PM»

Снял новичковое ограничение

Картинки и файлы можно просто перетаскивать в окно ввода на место курсора.

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

 




Род: Мужской
66andr
Имеет права модератора этой темыNewbie

Сообщений: 9

E-Mail
279. « Сообщение №47315, от Февраль 26, 2021, 09:00:54 PM»

6.pdf  Для примера здесь показана рядовая схема на иканах, на которых строятся исключительно все рабочие модели динамических систем. Инкан - это универсальный динамический элемент, с помощью которого можно строить любые динамические схемы. Инкан -представляет собой прямоугольник, от которого отходят Верхнее Плечо сверху и Нижнее Плечо снизу. На инканах можно строить: компараторы, схемы задержки, таймеры, усилители, схемы совпадения и др. Но для того, чтобы научиться строить сложные схемы, нужно изучить свойства инкана на простых моделях. У меня на эту тему написана книга: "Самообучение автономного робота с использованием метода компьютерного моделирования высокой детализации КМВД". Сайт, на котором можно скачать её: https://66andr.wixsite.com/inkan. Сайт создан только для скачки книги.

По сравнению с отечественными и зарубежными пакетами моделирования КМВД самый простой и эффективный для построения динамических моделей.




Род: Мужской
linuxoid
Sr. Poster


Сообщений: 106
280. « Сообщение №47316, от Февраль 26, 2021, 11:27:51 PM»

Я ознакомился с интересующими меня разделами из книги, т. к. пока не располагаю временем для чтения всей. Признаюсь честно, включил скептицизм на максимум и выискивал лажи :) Однако из тех тем, что я прочитал, всё довольно доказательно описывается, за исключением мелких, незначительных придирок. Пока первое впечатление, что книга способна внести новое понимание в схемотехническое моделирование природной нейросети, что позволит решить множество сопутствующих проблем, например, здесь при создании бота на Го, который, гипотетически, сможет обладать более продвинутыми механизмами, чем искусственные нейронные сети.

 

Тем не менее, попался момент, который вызывает "протест очевидности" (с. 143 п. 1): боль присутствует всегда. Как в поговорке: если у тебя ничего не болит, значит, ты уже умер. Слишком категорично или многозначительно, на мой взгляд :) Я сейчас могу сказать, что у меня ничего не болит, учитывая, что боль не была строго определена в этом разделе, чтобы можно было разграничивать, что вот это боль, а вот это уже к боли не относится. Если речь идёт о сильной боли, которая постоянно переводит внимание на себя, то возникает иллюзия, будто она непрерывна, в силу того, что мы не способны заметить, как прерываемся на что-то. У человека только один канал осознанного внимания, поэтому только один образ одновременно может быть подключён к лобным долям. Само внимание управляется ориентировочным рефлексом, который переводит его на наиболее актуальное, где актуальность условно равна произведению новизны на значимость. Если внимательно понаблюдать за собой во время сильной и, казалось бы, непрерывной боли, то можно заметить, что стоит только появиться в голове неожиданной и важной мысли или вдруг во внешнем мире появится новый и значимый стимул, который по силе превзойдёт боль, то в это время боль исчезнет из восприятия, будто её нет. По возвращении фокуса внимания на боль может показаться, что она никуда не девалась. Это происходит потому, что ориентировочный рефлекс очень быстро переключается на наиболее актуальное.

 

Описанное является огромным пластом знаний, так что если есть желание говорить более обстоятельно конкретно по этой теме, то я могу каждому из своих утверждений привести обоснования из местной аксиоматики системной нейрофизиологии.




Род: Мужской
66andr
Имеет права модератора этой темыNewbie

Сообщений: 9

E-Mail
281. « Сообщение №47317, от Февраль 27, 2021, 12:55:40 AM»

Здравствуйте, linuxoid. Сразу хочу оговориться, что я не писатель, а инженер-электронщик, поэтому большого опыта написания книг у меня ещё нет. В этой книге я постарался  показать как с помощью нового метода КМВД можно строить схемы управления виртуальным роботом ("нервную систему" робота). Впрочем, инкан, как универсальный динамический элемент можно рассматривать как "нейрон". Я давно работаю на тему управления виртуальным роботом. Сейчас застрял на вопросе: "и хочется и колется". Это когда робот двигается в направлении запаха "пищи" и заходит в область холода, из которой его выгоняют неприятные ощущения холода. Так он может туда-сюда ходить до бесконечности... Пытался связаться с нейробиологами беспозвоночных, но пока безрезультатно. Возможно, в моей книге много категоричности, как Вы правильно заметили, но это, скорее, от невозможности "впихнуть" свои мысли в ограниченный объём книги, иначе книга была бы вообще неподъёмная.

Что касается тезиса: "...боль присутствует всегда...если у тебя ничего не болит, значит ты уже умер", то был мне нужен инженерный, схемотехнический провокатор к действию. И такой универсальный драйвер, задающий поведение я разработал (для робота, конечно!)  У робота "нервные процессы" гораздо примитивнее, чем у человека, и понятие "боль" скорее неуместно для него, но так уж исторически сложилось.  Кроме этого, я хотел как-то "оживить" своего робота, а ведь каждый живой организм обладает болью, это ещё одна отличительная особенность живого от неживого! У боли есть одно универсальное свойство: она тормозит текущее действие (высших животных не рассматриваем). Поэтому в моей категоричности есть свой резон: любое понятие должно работать в схеме, иногда эти понятия для робота - очень похожи на человеческие, но я моделирую поведение простого робота и не рассматриваю психологию человека...

 

 

 




Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
282. « Сообщение №47318, от Февраль 27, 2021, 07:38:13 AM»

автор: 66andr сообщение № 47315:
У меня на эту тему написана книга: "Самообучение автономного робота с использованием метода компьютерного моделирования высокой детализации КМВД". Сайт, на котором можно скачать её: https://66andr.wixsite.com/inkan.

Я обязательно найду время для прочтения этой книги и выскажу свое мнение по ключевым пунктам. Так что на этот период беру таймаут в общении (думаю, не более недели).

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




Род: Мужской
linuxoid
Sr. Poster


Сообщений: 106
283. « Сообщение №47320, от Февраль 27, 2021, 11:22:35 AM»

автор: 66andr сообщение № 47317:
"и хочется и колется". Это когда робот двигается в направлении запаха "пищи" и заходит в область холода, из которой его выгоняют неприятные ощущения холода.

Это можно реализовать с помощью латерального торможения, суть которого -- подавление более слабых соседних нейронов с целью контрастирования. Вот у вас глава посвящена гомеостазу: для его поддержания необходимы рецепторы, которые будут передавать показания важных жизненных параметров, и эффекторы, которые в зависимости от состояния первых будут реагировать так, чтобы восстановить норму. Ещё нужно ввести такое понятие как "сила значимости", что будет сравнительной характеристикой для различных параметров гомеостаза. Это можно реализовать, используя множество датчиков одинаковой силы или добавить для этих первичных рецепторов градацию, как это (вроде бы) сделано в сетчатке. Не принципиально, на мой взгляд. Если рассмотреть первый вариант, то вручную задаём (у животных -- наследственно предопределено) зависимость активности рецепторов от отклонения параметров -- получаем возможность конкуренции. Вот здесь для лучшего контрастирования, чтобы робот не метался, а чётко выбирал один вариант поведения, понадобится латеральное торможение. Его нетрудно организовать схемотехнически: нужно от выхода каждого нейрона поставить к соседним инверторы, проводимость которых в 2-3 раза меньше (также может варьироваться на разных участках нейросети), чем у обычных нейронов, чтобы не вызывали гистерезис чрезмерным разрядом. Есть и вариации, как именно подключать, но мне кажется, вы уже посетили демо-моедль и легко сможете разобраться. Более основательно: 1, 2, 3.

 

Рассмотрим, как это будет работать на вашем примере. Пусть есть датчики температуры и заряда, а в качестве эффекторов -- печка и переключатель на резервную батарею. В случае холода и голода латеральное торможение будет усиливать разницу так, чтобы выбиралось что-то одно. Настанет момент, когда голод окажется сильнее, и тогда контекст холода будет игнорироваться -- роботу удастся добраться до еды. Правда, это в том случае, если мы предусмотрели, что голод важнее. Этот пример несовершенный, потому что робот так будет доводить себя до сильного голода, но у вас много написано про обучение, так что здесь можно что-то сделать. У высших животных это реализовано с использованием более сложных механизмов: прогнозов, субъективных моделей, ориентировочного рефлекса, творческого решения проблем. Если предложенную мной модель можно запросто сделать на конструкторе нейросхем, то природную схему уже не получится туда втиснуть.

автор: 66andr сообщение № 47317:
я хотел как-то "оживить" своего робота

Мы здесь в соответствующей теме как раз этим и занимаемся. Я думаю, будет здорово, если вы присоединитесь и выскажете свои соображения: вместе наверняка удастся сделать больше.



Спасибо за это сообщение! Благодарность от: nan, 66andr

Род: Мужской
66andr
Имеет права модератора этой темыNewbie

Сообщений: 9

E-Mail
284. « Сообщение №47323, от Февраль 27, 2021, 01:20:05 PM»

Спасибо, linuxoid, за такой подробный комментарий. Обязательно рассмотрю все Ваши замечания и предложения. Готов присоединиться к вам и помочь советом...




Род: Мужской
Клон
Имеет права модератора этой темыInfra Real

Сообщений: 1160

285. « Сообщение №47326, от Февраль 27, 2021, 08:26:44 PM»

автор: 66andr сообщение № 47317:
Кроме этого, я хотел как-то "оживить" своего робота, а ведь каждый живой организм обладает болью, это ещё одна отличительная особенность живого от неживого! У боли есть одно универсальное свойство: она тормозит текущее действие (высших животных не рассматриваем).

Мелочь, а всё равно приятно сделать важное замечание :) Не все живые организмы обладают ощущением боли.Даже дети не знают некоторые  виды боли.

Но если только  для того , чтобы придать роботу " человеческий вид" для наглядности.

Но здесь для наличия боли как раз нужно рассматривать высших животных и человека.

Улитке всё равно подают ей на хвост ток или внезапно чем либо соприкасаются с её кожей .Оборонительное поведение с выбросом серотонина в мозг - последует незамедлительным втягиванием - пропорционально силе сигнала. 

Простые переключатели между четырьмя классами основных нейронов :сенсорные нейроны, моторные нейроны, премоторные (командные)интернейроны и модуляторные нейроны.

Никакой боли , никакого испуга - улитка простой биоробот.

 



Спасибо за это сообщение! Благодарность от: nan

Род: Мужской
nan
Имеет права полного администратора сайта - админ

Сообщений: 11785


E-Mail
286. « Сообщение №47337, от Март 02, 2021, 09:16:30 AM»

Книгу прочел.

 Резюме

 



Спасибо за это сообщение! Благодарность от: 66andr

Род: Мужской
66andr
Имеет права модератора этой темыNewbie

Сообщений: 9

E-Mail
287. « Сообщение №47338, от Март 02, 2021, 02:03:10 PM»

Спасибо, nan за такой подробный анализ книги. Конструктивная критика ещё никому не мешала. Я, действительно, разрабатываю своего робота с нуля, но в этом и заключается весь интерес. Сделать собственную работу и ответить на собственные вопросы!..