П

Перцептрон

Персептрон, или пер с ептрон (англ. Perceptron от лат. Perceptio — восприятие; нем. Perzeptron) — математическая или компьютерная модель восприятия информации мозгом (кибернетическая модель мозга), предложенная Розенблатт в 1957 году и реализована в виде электронной машины « Марк-1 »в. 1960 году. Перцептрон стал одной из первых моделей нейронных сетей, а «Марк-1» — первый в мире нейрокомпьютером. Несмотря на свою простоту, персептрон способен учиться и решать достаточно сложные задачи. Основная математическая задача, с которой он справляется — это линейное разделение произвольных нелинейных множеств, так называемое обеспечение линейной сепарабельности.

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

  1. с одним скрытым слоем;
  2. с пороговым передаточной функцией;
  3. с прямым распространением сигнала.

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

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

Появление перцептрона

В 1943 году в своей статье «Логическое исчисление идей, касающихся нервной активности» Уоррен Маккалох и Уолтер Питтс предложили понятие искусственной нейронной сети. В частности, ими была предложена модель искусственного нейрона. Дональд Хебб в работе «Организация поведения» 1949 описал основные принципы обучения нейронов.

Эти идеи несколько лет позже развил американский нейрофизиолог Розенблатт. Он предложил схему устройства, моделирующего процесс человеческого восприятия, и призвал «перцептроном». Перцептрон передавал сигналы от фотоэлементов, которые представляют собой сенсорное поле, в блоки электромеханических ячеек памяти. Эти ячейки соединялись между собой случайным образом в соответствии с принципами конективизму. 1957 года в Корнельском лаборатории аэронавтики успешно завершено моделирование работы перцептрона на компьютере IBM 704, а двумя годами позже, 23 июня 1960 в Корнельском университете, был продемонстрирован первый нейрокомпьютер — «Марк-1», который был способен распознавать некоторые из букв английского алфавита.

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

Отчет о первых результатах появился еще в 1958 году — тогда Розенблат была опубликована статья «Персептрон: Предполагаемая модель хранения и организации информации в головном мозге». Но подробнее свои теории и предположения относительно процессов восприятия и перцептронов он описывает 1962 года в книге «Принципы нейродинамики: Перцептроны и теория механизмов мозга». В книге он рассматривает не только уже готовые модели персептрона с одним скрытым слоем, но и многослойных перцептронов с перекрестными (третий раздел) и обратными (четвертый раздел) связями. В книге также вводится ряд важных идей и теорем, например, доказывается теорема сходимости персептрона.

Описание элементарного перцептрона

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

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

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

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

Перцептрон

Обучение элементарного перцептрона состоит в изменении весовых коэффициентов связей AR. Весы связей SA (которые могут принимать значения (-1, 0, 1)) и значение порогов A-элементов выбираются случайным образом в самом начале и потом не меняются.

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

Основные понятия теории перцептронов

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

Описание на основе сигналов

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

  • Простым S-элементом (сенсорным) является чувствительный элемент, который от действия любого из видов энергии (например, света, звука, давления, тепла и т.д.) производит сигнал. Если входной сигнал превышает определенный порог θ, на выходе элемента получаем 1, в противном случае — 0.
  • Простым A-элементом (ассоциативным) называется логический элемент, который дает выходной сигнал 1, когда алгебраическая сумма его входных сигналов равна или превышает некоторую предельную величину θ (говорят, что элемент Активный), в противном случае выход равен нулю.
  • Простым R-элементом (таким, что реагирует, то есть действует) называется элемент, который выдает сигнал 1, если сумма его входных сигналов является строго положительной, и сигнал 1, если сумма его входных сигналов является строго отрицательной. Если сумма входных сигналов равна нулю, выход считается или равным нулю, или неопределенным.

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

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

В результате Розенблат ввел следующие определения:

  • Персептрон представляет собой сеть, состоящую из S-, A- и R-элементов, с переменной матрицей взаимодействия W (элементы которой — весовые коэффициенты), что определяется последовательностью прошлых состояний активности сети.
  • Перцептроном с последовательными связями называется система, в которой все связи, которые начинаются от элементов с логической расстоянием d от ближайшего S-элемента, заканчиваются на элементах с логической расстоянием d + 1 от ближайшего S-элемента.
  • Простым перцептроном называется любая система, удовлетворяющая следующие пять условий:
  1. в системе есть только один R-элемент (естественно, он связан со всеми A-элементами);
  2. система представляет собой перцептрон с последовательными связями, идут только от S-элементов к A-элементов, и от A-элементов к R-элементов;
  3. веса всех связей от S-элементов к A-элементов (SA связей) неизменны;
  4. время передачи каждого связи равна либо нулю, либо постоянной величине;
  5. все активирующие функции S-, A-, R-элементов имеют вид, где — алгебраическая сумма всех сигналов, поступающих одновременно на вход элемента
  • Элементарным перцептроном называется простой персептрон, у которого все элементы — простые. В этом случае его активирующее функция имеет вид.

Дополнительно можно указать на такие концепции, предложенные в книге, и позже развитые в рамках теории нейронных сетей:

  • Персептрон с перекрестными связями — это система, в которой существуют связи между элементами одного типа (S, A или R), находящихся на одинаковом расстоянии от S-элементов, причем все остальные связи — последовательного типа.
  • Перцептрон с обратной связью — это система, в которой существует хотя бы одна связь от логически отдаленного элемента в менее отдаленного. Согласно современной терминологии такие сети называются рекуррентными нейронными сетями.
  • Персептрон с переменными SA связями — это система, в которой сняты ограничения на фиксированность связей от S-элементов к A-элементов. Доказано, что путем оптимизации SA связей можно достичь значительного улучшения характеристик перцептрона.

Описание на основе предикатов

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

  • множестве сигналов от S-элементов была поставлена ​​в соответствие переменную X;
  • каждому A-элементу поставлена ​​в соответствие предикат φ (X) (фи от икс), названный частных предикатом;
  • каждому R-элементу поставлена ​​в соответствие предикат ψ (пси), зависит от частных предикатов;
  • наконец, перцептроном было названо устройство, способное вычислять все предикаты типа ψ.

В «зрительном» перцептроны переменная X символизировала образ любой геометрической фигуры (стимул). Частное предикат позволял каждому А-элементу «распознавать» свою фигуру. Предикат ψ означал ситуацию, когда линейная комбинация (- коэффициенты передачи) превышала определенный порог θ.

Ученые выделили 5 классов перцептронов, обладающих, по их мнению, интересными свойствами:

  1. Перцептроны, ограниченные по диаметру — каждая фигура X, распознается частных сущностями, не превышает по диаметру некоторую фиксированную величину.
  2. Перцептроны ограниченного порядке — каждый частное предикат зависит от ограниченного количества точек с X.
  3. Перцептроны Гамба — каждый частное предикат должен быть линейной пороговой функцией, то есть мини-перцептроном.
  4. Случайные перцептроны — перцептроны ограниченного порядка, когда частные предикаты представляют собой случайно выбранные булевы функции. В книге отмечается, что именно эту модель подробное исследовала группа Розенблатта.
  5. Ограниченные перцептроны — множество частных предикатов бесконечна, а множество возможных значений коэффициентов конечна.

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

Историческая классификация

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

Персептрон с одним скрытым слоем
Это классический персептрон, что ему посвящено большую часть книги Розенблатта, и рассматривается в этой статье: у него есть по одному слою S-, A- и R-элементов.
Однослойный персептрон
Это модель, в которой входные элементы непосредственно соединены с выходными с помощью системы весов. Есть простой сетью прямого распространения — линейным классификатором, и частным случаем классического перцептрона, в котором каждый S-элемент однозначно соответствует одному A-элементу, SA связи имеют вес 1, и все A-элементы имеют порог θ = 1. Однослойные перцептроны фактически являются формальными нейронами, то есть пороговые элементами Мак-Каллока — Питтса. Они имеют множество ограничений, в частности, они не могут идентифицировать ситуацию, когда на их входы представлены различные сигналы («задача XOR», см ниже).
Многослойный персептрон Розенблатта
Это персептрон, в котором присутствуют дополнительные слои A-элементов. Его анализ провел Розенблат в третьей части своей книги.
Многослойный персептрон Румельхарта
Это персептрон, в котором присутствуют дополнительные слои A-элементов, причем обучение такой сети производится по методу обратного распространения ошибки, и учатся все слои персептрона (включая SA). Есть частным случаем многослойного персептрона Розенблатта.

В настоящее время в литературе под термином «персептрон» чаще всего понимают однослойный персептрон (англ. Single-layer_perceptron), причем существует распространенное заблуждение, что именно этот самый тип моделей предложил Розенблат. В противоположность однослойном, ставят «многослойный персептрон» (англ. Multilayer perceptron), опять же, чаще всего имея в виду многослойный персептрон Румельхарта, а не Розенблатта. Классический персептрон в такой дихотомии относят к многослойным.

Алгоритмы обучения

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

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

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

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

Обучение с учителем

Классический метод обучения персептрона — это метод коррекции ошибки. Он представляет собой такой вид обучения с учителем, при котором вес связи не изменяется до тех пор, пока текущая реакция перцептрона остается правильной. При появлении неправильной реакции вес изменяется на единицу, а знак (+/-) определяется противоположным от знака ошибки.

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

  1. Случайно выбираем пороги для A-элементов и устанавливаем связи SA (далее они не будут меняться).
  2. Начальные коэффициенты считаем равными нулю.
  3. Предъявляем обучающую выборку: объекты (например, круги или квадраты) с указанием класса, к которому они принадлежат.
    • Показываем перцептроны объект первого класса. При этом некоторые A-элементы пробудятся. Коэффициенты, соответствующие этим возбуждением элементов, увеличиваем на 1.
    • Предъявляем объект второго класса, и коэффициенты тех А-элементов, которые возбудились при этом показе, уменьшаем на 1.
  4. Обе части шага 3 выполним для всей обучающей выборки. В результате обучения сформируются значения весов связей.

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

Обучение без учителя

Кроме классического метода обучения персептрона, Розенблат также ввел понятие об обучении без учителя, предложив следующий способ обучения:

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

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

Метод обратного распространения ошибки

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

Традиционные ошибки

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

Терминологические неточности

Самой распространенной ошибкой, связанной с терминологией, является определение перцептрона как нейронной сети без скрытых слоев. Эта ошибка связана с недостаточно проработанной терминологии в области нейронных сетей на раннем этапе их разработки. Ф. & nsp; Уоссерменом была предпринята попытка определенным образом классифицировать различные виды нейронных сетей:

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

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

Поэтому простое игнорирование слоев с фиксированными связями которые не учатся (в элементарном перцептроны это SA связи) приводит к неправильным выводам о возможности нейросети. Так, Минский поступил очень корректно, переформулювшы А-элемент как предикат (то есть функцию); наоборот, Уоссермен уже потерял такое представление и у него А-элемент — просто вход (почти эквивалентен S-элемента). При такой терминологической путаницы не принимается во внимание тот факт, что в перцептроны происходит отражение рецепторного поля S-элементов на ассоциативное поле А-элементов, в результате чего и происходит превращение любой линейно неразделимой задачи на линейно разрешение.

Сбои

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

Задача XOR

Персептрон не способен решить «задачу XOR».

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

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

Способность к обучению решения линейно неразделимых задач

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

Теорема сходимости персептрона доказывает, что нет и не может быть никакого «может и не повезти»; при равенстве А-элементов количества стимулов и не особой G-матрицы — вероятность решения равна 100%. То есть при отражении рецепторного поля на ассоциативное поле, размерности большей на друга, случайным (нелинейным) оператором, нелинейная задача превращается в линейно разрешение. А следующий слой, учится, уже находит линейный решение в другом пространстве входов.
Например, обучение перцептрона для решения «задачи XOR» проводится следующими этапами:
Весы Итерации
1 2 3 4 5
w1 0 1 1 1 1 2 2 2 2
w2 0 0 1 1 1 1 1 2 2
w3 -1 0 1 0 -1 0 -1 0 -1
Входные сигналы (x, y) 1, 1 0, 1 1 0 1, 1 1, 1 0, 1 1, 1 1 0 1, 1

Способность к обучению на малом количестве примеров

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

Этот аргумент легко проверить на тестовой задачи под названием «шахматная доска» или «губка с водой»:

Дано цепочку из 2 · Nодиниць или нулей, параллельно поступают на входы персептрона. Если эта цепочка является зеркально симметричным относительно центра, то на выходе будет 1, иначе — 0. Учебные примеры — все (это важно) цепочек.

Могут быть вариации данной задачи, например:

Возьмем черно-белое изображение размером 256 × 256 элементов (пикселей). Входными данными для перцептрона будут координаты точки (8 бит + 8 бит, вместе нужно 16 S-элементов), на выходе требовать получить цвет точки. Учим перцептрон всем точкам (всему изображению). В результате имеем 65536 различных пар «стимул». Научить без ошибок.

Если этот аргумент справедлив, то персептрон не сможет ни при каких условиях научиться, не делая ни одной ошибки. Иначе персептрон не прогадает ни разу.
На практике оказывается, что данная задача является очень простой для перцептрона: чтобы ее решить, перцептроны достаточно 1500 А-элементов (вместо полных 65536, необходимых для любой задачи). При этом количество итераций является порядке 1000. При 1000 А-элементах персептрон не сходится по 10000 итераций. Если же увеличить количество А-элементов в 40000, то восхождение можно ждать по 30-80 итераций.
Такой аргумент появляется из-за того, что данную задачу путают с задачей Минского «о предикат» парность «».

Стабилизация весов и сходимость

В перцептроны Розенблатта столько А-элементов, сколько входов. И сходимость по Розенблат — это стабилизация весов.

В Розенблатта читаем:

Если количество стимулов в пространстве W равна n> N (то есть больше количества А-элементов элементарного персептрона), то существует некоторая классификация С (W), для которой решения не существует.

Отсюда следует, что:

  1. в Розенблатта количество А-элементов равно количеству стимулов (учебных примеров), а не количества входов;
  2. сходимость по Розенблат — это не стабилизация весов, а наличие всех необходимых классификаций, то есть по сути отсутствие ошибок.

Экспоненциальное увеличение количества скрытых элементов

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

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

При исследовании предикату «парность» мы видели, что коэффициенты могут расти с ростом R (количества точек на изображении) экспоненциально.

Кроме того, Минский исследовал и другие предикаты, например, «равенство». Но все эти предикаты достаточно специфическими задачами на обобщение, а не на распознавание или прогнозирования. Так, например, чтобы перцептрон мог выполнять предикат «парность» — он должен сказать, парная или нет количество черных точек на черно-белом изображении, а для выполнения предиката «равенство» — сказать, равная или нет правая часть изображения левой. Ясно, что такие задачи выходят за рамки задач распознавания и прогнозирования, и представляют собой задачи на обобщение или просто на подсчет определенных характеристик. Это и было убедительно показано Минским и является ограничением не только перцептронов, но и всех алгоритмов, которые не способны скорее последовательные алгоритмы вычислить такие предикаты.
Поэтому такие задачи ограничивают возможности всех нейронных сетей и перцептронов частности, но это никак не связано с фиксированными связями первого слоя; потому что, во-первых, речь шла о величине коэффициентов связей второго слоя, а во-вторых, вопрос только в эффективности, а не в принципиальной возможности. То есть, персептрон можно научить и этой задачи, но объем памяти и скорость обучения будут большими, чем при применении простого последовательного алгоритма. Введение же в первом слое весовых коэффициентов, обучающихся только ухудшит положение дел, поскольку потребует большего времени обучения, поскольку переменные связи между S и A скорее препятствуют, чем способствуют процессу обучения. Причем, при подготовке персептрона к задаче распознавания стимулов особого типа, для сохранения эффективности понадобятся особые условия стохастического обучения, было показано Розенблат в экспериментах с перцептроном со сменными SA связями.

Возможности и ограничения модели

Возможности модели

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

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

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

Ограничения модели

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

В 1969 году Марвин Минский и Сеймур Пейперт опубликовали книгу «Перцептроны», где математически показали, что перцептроны, подобные розенблативських, принципиально не в состоянии выполнять многие из тех функций, которые хотели бы получить от перцептронов. К тому же, в то время теория параллельных вычислений была слабо развитой, а перцептрон полностью отвечал принципам таких вычислений. По большому счету, Минский показал преимущество последовательных вычислений перед параллельными в определенных классах задач, связанных с инвариантные представлением. Его критику можно разделить на три темы:

  1. Перцептроны имеют ограничения в задачах, связанных с инвариантным представлением образов, то есть независимым от их положения на сенсорном поле и положение относительно других фигур. Такие задачи возникают, например, если нам нужно построить машину для чтения печатных букв или цифр так, чтобы эта машина могла распознавать их независимо от положения на странице (то есть чтобы решения машины не влияли переноса, вращения, растяжение-сжатие символов) или если нам нужно определить из скольких частей состоит фигура; или находятся две фигуры рядом или нет. Минским было доказано, что этот тип задач невозможно полноценно решить с помощью параллельных вычислений, в том числе — персептрона.
  2. Перцептроны не имеют функционального превосходства над аналитическими методами (например, статистическими) в задачах, связанных с прогнозированием. Тем не менее, в некоторых случаях они представляют простой и производительный метод анализа данных.
  3. Было показано, что некоторые задачи в принципе может быть решена перцептроном, но они могут требовать нереально большого времени или нереально большой оперативной памяти.

Книга Минского и паперть существенно повлияла на развитие науки об искусственном интеллекте, потому что сместила научный интерес и субсидии правительственных организаций США на другое направление исследований — символьный подход в ИИ.

Применение перцептронов

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

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

Приближение функций

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

  • — Весы между входными нейронами и нейронами скрытого слоя
  • — Весы между связями от нейронов скрытого слоя и выходным нейроном
  • — Коэффициент «предвзятости» для нейронов скрытого слоя.

Прогнозирование и распознавания образов

В этих задачах перцептроны нужно установить принадлежность объекта к определенному классу по его параметрам (например, по внешнему виду, форме, силуэту). Причем точность распознавания во многом будет зависеть от представления исходных реакций персептрона. Здесь возможны три типа кодирования: конфигурации, позиционное и гибридное. Позиционное кодирования, при котором каждому классу соответствует свой R-элемент, дает более точные результаты, чем другие виды. Такой тип использовано, например, в работе Э. Куссуль и др. «Перцептроны Розенблатта для распознавания рукописных цифр». Однако оно является неприменимым в тех случаях, когда количество классов является значительным, например, несколько сотен. В таких случаях можно применять гибридное конфигурационный-позиционное кодирование, как это было сделано в работе Яковлева «Система распознавания подвижных объектов на базе искусственных нейронных сетей».

Управление агентами

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

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

Показать больше

Похожие статьи

Добавить комментарий

Кнопка «Наверх»
Закрыть
Закрыть