Ознакомьтесь с Условиями пребывания на сайте Форнит Игнорирование означет безусловное согласие. СОГЛАСЕН
ВХОД
 
 
Короткий адрес: fornit.ru/node654

Раздел «Тема 3. Персептрон»

Модель произвольной адаптивности МВАП

Доступ для всех
Темактика: Лекторий для «Модель произвольной адаптивности МВАП»

 Лекторий школы «Модель произвольной адаптивности МВАП»

 

Тема 3. Персептрон

 

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

 

Рецепторами будем называть преобразователи какого-то вида элементарного воздействия в сигнал типа: “есть” или “нет”.

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

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

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

Рассмотрим схему соединения разных рецепторов прямыми возбуждающими связями.

 

 

Представим, что есть три рецептора, специализированные на детекцию наличия-отсутствия 1-звука, 2-света, 3-запаха.

За ними есть два рецептора 4 и 5, которые специализированы срабатывать, если к ним по имеющейся связи приходит хотя бы один из сигналов детекции. Так, 4 будет выдавать на выходе сигнал, если активен 1 или 2, а 5 сработает по активности 1 или 3.

Далее за ними есть слой рецепторов 6 и 7, специализированных аналогично имеющимися связям.

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

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

 

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

 

 

Тогда элемент 7 сможет сработать только в случае, если молчит элемент 4, иначе через тормозное влияние элемента Т 5 не сможет возбудить семерку. Это уже другая логика, исключающая логику ИЛИ для данной связи, так и называющаяся “исключающее ИЛИ” (т.к. ИЛИ в логике обозначается OR, то новая логика называется XOR).

Сам же тормозной элемент в логике управления можно было бы назвать “НЕ” или инвертором. Но в логике нейросетей этот элемент стоит особняком потому, что не просто инвертирует сигнал, а является детектором отсутствия активности 4, но с инвертированием такой активности. Если 4 неактивен, то Т не оказывает никакого влияния, а элемент “НЕ” оказывал бы, имея высокий уровень (инвертируя низкий уровень на входе). т.е. в отличие от булевой логики в природной нейросети неактивные элементы как бы отсутствуют. Названия для такой логики нет, а она есть в природной нейросети.

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

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

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

 

В данном случае между входными рецепторами и 4 включен элемент разрыва связи с коэффициентом передачи 0,4. Понятно, что теперь 4 сработает только в случае активности всех рецепторов света 1,2 и 3, что реализует логику “И”.

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

 

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

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

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

 

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

 

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

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

 

Впервые такое утверждение сделал Розенблатт, чем вызвал повышенное внимание к суммирующим компараторам в сочетании с синапсами на входе, которые он назвал персептронами. Но скоро было показано, что сам по себе один такой элемент, все же, обладает ограничением на реализацию одной из базовых логических функций: “Исключающее ИЛИ” (схемотехническое обозначение “=1” - xOR). После этого интерес к персептрону начал стремительно угасать, в том числе и из-за того, что в деятельности нейрона, синапсов и других элементов мозга нашли множество “нелогических” особенностей, многие из которых напрямую влияли на выполнение управляющей фикции мозга. Появлялись самые разные теории работы мозга и функции нейрона в нем, в том числе очень витиеватые, даже почти мистические теории из-за своей сакраментальной неопределенности используемых слов, зато достаточно привлекательные и академически импозантные. А Розенблатт не смог ничего поделать с этим просто потому, что вскоре погиб в автокатастрофе.

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

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

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

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

Вот в таком, суррогатном смысле, есть еще одно применение “алгебры логики” в мозге: контрастирование профиля активностей на входе нейрона (см. 1, 2, 3): т.е. выделение более контрастной составляющей с подавлением фоновых шумов. Это очень напоминает использование XORдля получения прозрачности в изображениях. И при контрастировании, можно сказать, выполняется нечто, напоминающее XOR, когда общий массив приходящих сигналов подавляется, если они одинаковые и не выдающиеся среди других. И проделывается это не одним нейроном-персептроном, а с помощью вставочных тормозных нейронов, располагающихся между нейронами данного слоя распознавателей. И тогда активность какого-то нейрона вызывает подавление активности соседей так, что в конечном итоге активным остается только наиболее возбужденный, а остальные молчат. Возникает контраст, настолько просто, эффективно и полезно, что это становится характерным для всех слоев нейронов мозга: подавление боковых (латеральных) соседей, что биологи назвали латеральным торможением.

 

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

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

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

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

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

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

Или же если бы управление было программным, то большие управляющие куски программ активировались бы ветвлением оператором IF (логика: ЕСЛИ это, то сделать то).

Например, IFувидел самку в позе -> программа полового поведения, IFпоявилась еда -> программа пищевого поведения, IFхищник -> валим нафиг или притворяемся мертвыми.

Первый “искусственный интеллект” в интерактивных играх делался на ветвлениях IF. В зависимости от ситуации персонаж что-то спрашивал (первый уровень ветвлений), игрок выбирал из списка вариант ответа, в зависимости от выбора (второй уровень ветвлений) игра получала дальнейшее развитие. Большие блоки программы зависели от того, по какому пути пойти и чем больше было ветвлений IF, тем труднее было ориентироваться в такой программе, выискивая, где начинается тот или иной вариант в коде.

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

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

 

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

 

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

 

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

 

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

Есть и самодельные поясняющие анимации: Работа распознавателей простых примитивов и Работа более сложных распознавателей.

 

На схемах мы будем условно изображать персептрон в таком виде:

 

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

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

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

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

 

Итак, K=-1 значит, что ток передается весь, но его действие - обратное, в схеме персептрона - тормозное. Введя понятие весов (весовых коэффициентов), К=1 означает, что тока достаточно для срабатывания персептрона. Если на одном входе 1, а на другом -1, эти токи (веса) взаимно компенсируются и никак не влияют

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

 

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