Cybernetics Wiki
Регистрация
Advertisement
Файл:Perceptron.svg

Логическая схема перцептрона с тремя выходами.

Перцептро́н (неверно: персептрон[1], англ. perсeptron

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

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

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

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

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

Файл:Single layer perceptron.png

Схема искусственного нейрона — базового элемента любой нейронной сети.

Файл:Rosenblatt.jpg

Фрэнк Розенблатт со своим творением — «Марк-1».

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

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

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

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

Так же Розенблатт Ф. в предисловии к книге «Принципы нейродинамики: Перцептроны и теория механизмов мозга», отметил три важных момента о теории перцептронов, отвечая на критику:

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


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

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

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

Файл:Perceptron2.svg

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

Элементарный перцептрон состоит из элементов 3-х типов: S-элементов, A-элементов и одного R-элемента. S-элементы это — слой рецепторов. Эти рецепторы соединены с A-элементами с помощью возбуждающих связей. Каждый рецептор может находиться в одном из двух состояний — покоя или возбуждения. A-элементы представляют собой сумматоры с порогом (то есть формальные нейроны). Это означает, что A-элемент возбуждается, если алгебраическая сумма возбуждений, приходящих к нему от рецепторов, превышает определённую величину — его порог. Сигналы от возбудившихся A-элементов передаются в сумматор R, причём сигнал от i-го ассоциативного элемента передаётся с коэффициентом .[10]

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

Файл:Simple perceptron.svg

Логическая схема элементарного перцептрона. Веса S—A связей могут либо 1, либо 0. Веса A—R связей W могут быть любыми.

Система связей между рецепторами S- и A-элементами, так же как и пороги A-элементов выбираются некоторым случайным, но фиксированным образом, а обучение состоит лишь в изменении коэффициентов . Считаем, что мы хотим научить перцептрон разделять два класса объектов, и потребуем, чтобы при предъявлении объектов первого класса выход перцептрона был положителен, а при предъявлении объектов второго класса — отрицательным. Начальные коэффициенты полагаем равными нулю. Далее предъявляем обучающую выборку: объекты (например, круги либо квадраты) с указанием класса, к которым они принадлежат. Показываем перцептрону объект первого класса. При этом некоторые A-элементы возбудятся. Коэффициенты , соответствующие этим возбуждённым элементам, увеличиваем на 1. Затем предъявляем объект второго класса и коэффициенты тех A-элементов, которые возбудятся при этом показе, уменьшаем на 1. Этот процесс продолжим для всей обучающей выборки. В результате обучения сформируются значения весов связей .

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

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

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

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

Файл:Threshold function.svg

Пороговая функция, реализуемая простыми S- и A-элементами.

Файл:Signum.svg

Пороговая функция, реализуемая простым R-элементом.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кроме того, Розенблатт пытался классифицировать различные алгоритмы обучения, называя их системами подкрепления.[22] Он даёт следующее определение:

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

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

Файл:Logo arte.jpg Альфа-системой подкрепления называется система подкрепления, при которой веса всех активных связей , которые ведут к элементу , изменяются на одинаковую величину r, а веса неактивных связей за это время не изменяются.

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

Традиционные заблуждения[]

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

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

Неточность № 1. Перцептрон — нейронная сеть без скрытых слоев.

Уоссерменом[23] была сделана попытка определенным образом классифицировать различные виды нейронных сетей:

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

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

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

Функциональные заблуждения[]

Файл:Perceptron XOR3.jpg

Решение элементарным перцептроном «задачи XOR»

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

№ 1. Перцептрон не способен решить «задачу XOR». Самое несерьёзное заявление. На изображении показано решение и ниже дана таблица поиска соответствующих весов при алгоритме обучения с коррекцией ошибки. Как правило, данное заблуждение возникает из-за того, что неправильно интерпретируют определение перцептрона, данного Минским (см. выше), а именно, предикаты приравнивают входам (параметрам), хотя это разные вещи. Предикат эквивалентен входу только если предикат зависит от одного аргумента. Другая причина возникает из-за того, что перцептрон путают с пороговым элементом Маккалока — Питса.

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

Теорема сходимости перцептрона[9] доказывает, что нет и не может быть никакого «может и не повезти»; при равенстве А-элементов числу стимулов и не особенной SA-матрице — вероятность решения равна 100 %. То есть при отображении рецепторного поля на ассоциативное поле большей на одну размерности случайным (нелинейным) оператором нелинейная задача превращается в линейно разделимую. А следующий обучаемый слой уже находит линейное решение в другом пространстве входов.

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

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

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

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

Возьмём чёрно-белое изображение размером 256×256 пикселей. Обучаем перцептрон всем возможным состояниям, то есть на вход подаём последовательно координаты X, Y и требуем на выходе соответствующий цвет точки. В итоге имеем 65 536 различных пар «стимул—реакция». Обучить без ошибок.

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

На практике оказывается, что данная задача очень проста для перцептрона: чтобы ее решить, перцептрону достаточно 1500 А-элементов (вместо полных 65 536, необходимых для любой задачи). При этом число итерациий порядка 1000. При 1000 А-элементов перцептрон не сходится за 10 000 итераций. Если же увеличить число А-элементов до 40 000, то схождения можно ожидать за 30—80 итераций.

Такой аргумент появляется из-за того, что данную задачу путают с задачей Минского «о предикате „чётность“».[24]

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

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

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

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

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

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

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

Такое заблуждение происходит от следующей фразы Минского:

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

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

Поэтому такие задачи ограничивают возможности всех нейронных сетей и перцептронов в частности, но это никак не связанно с фиксированными связями первого слоя. Так как во-первых, речь шла о величине коэффициентов связей второго слоя, а во-вторых, вопрос только в эффективности, а не принципиальной возможности. Т.е. перцептрон можно обучить и этой задаче, но емкость памяти и скорость обучения требуемые для этого, будет больше и длительнее, чем при применении простого последовательного алгоритма. Введение же обучаемых весовых коэффициентов в первом слое, лишь ухудшит положение дел, т.к. в этих задачах потребует большего времени обучения, т.к. переменные связи между S и A скорее препятствуют чем способствуют процессу обучения [26], и нужны особые условия стохастического обучения, чтобы это было бы полезно при подготовке перцептрона к задаче распознавания стимулов особого типа [27]. Это и было показано Розенблаттом в экспериментах с перцептроном с переменными S-A связями.

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

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

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

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

Файл:Logo arte.jpg Ограничения для трёхслойных перцептронов
Основные недостатки таких перцептронов состоят в отсутствии у них способности к обобщению своих характеристик на новые стимулы или новые ситуации, не совпадающие в точности с теми, которые имели место при обучении, а также в неспособности анализировать сложные ситуации во внешней среде путём расчленения их на более простые.[28]


Ограничения перцептрона, описанные Минским[]

Файл:Marvin Minsky.jpg

Марвин Минский, 2006 год.

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

Ограничения, связанные с инвариантным представлением[]

Минский описывал специальные задачи такие как «четность»[24] и «один в блоке»,[24] которые показывают ограничения перцептрона в том, что он не может распознавать инвариантные входные данные (изображения) бесконечного порядка. А в частности, при распознавании чётности конечного порядка первый слой перцептрона вынужден становиться полно связным. В связи с этим есть ограничения на следующие практические типовые задачи.

Типовая задача № 1. Если требуется построить машину для чтения печатных букв или цифр, то возникает естественное желание, чтобы эта машина могла распознавать их независимо от положения на странице, то есть чтобы на решение машины не оказывали влияния элементы группы переносов. Иными словами, восприятие машины должно быть «инвариантно относительно группы переносов», то есть ее решение должно быть одним и тем же для каждого представителя какого-либо класса эквивалентности относительно группы переносов [29]. Итак, более точно первую задачу можно определить как нахождение геометрического свойства. Вот как описывает Минский понятие геометрического свойства:

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

Типовая задача № 2. Ряд подзадач могут формулироваться различно, например:

  1. определить, одна или более фигур находятся в видимом пространстве;
  2. плотная ли видимая фигура или же в ней находится отдельная фигура и т. д.

Независимо от этого они имеют общую суть — нахождение признака, связана ли фигура, то есть предиката «связанность» [31].

Типовая задача № 3. Распознавание фигур в контексте, то есть, например, содержит ли данная фигура прямоугольник или, быть может, что-то еще [32].

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

Ограничения, связанные с возможностью прогнозирования[]

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

Минский пытался показать, что перцептрон не имеет в этом отношении серьёзных преимуществ по сравнению с другими статистическими методами прогноза [34] . И, если рассматривать конечный результат, он полностью прав. Единственно, разницу составляет то, что классические статистические методы требуют расчёта многих сложных уравнений, а перцептрон более естественно решает требуемые уравнения, что связано с его устройством. Если на перцептрон посмотреть глазами математика, то окажется, что перцептрон — это по сути способ решения систем уравнений с большим числом неизвестных коэффициентов. Алгоритм поиска этих коэффициентов технически более быстрый, чем у аналогичных классических способов решения уравнений.

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

Качество сделанного прогноза или точность построенной модели зависит от числа знаний, используемых при построении модели. Если мы хотим, чтобы на основании половины всех необходимых знаний модель была способна достроить (спрогнозировать) вторую половину неизвестных нам знаний, то желательно иметь информацию, равномерно распределённую по всему пространству возможных состояний. В таком случае перцептрон способен спрогнозировать неизвестные, но близкие к известным результаты с определённой вероятностью правильности. В противном же случае, мы имеем как раз ситуацию с необходимостью прогнозировать результат задачи «шахматной доски», которая рассматривалась выше. Но тут главное, что выше вопрос был связан с возможностью обучения этой задаче, теперь же идёт речь о необходимости достроить по имеющейся информации — недостающую, то есть сделать прогноз. Человек с такой задачей справляется быстро, так как находит определённую аналогию. Для перцептрона (а также для ряда других ИНС) данная задача в полной мере слишком сложна. Это связанно с основным ограничением ИНС — невозможность найти инвариант (см. выше), вследствие этого перцептрон работает только как статистическая машина, он не способен самостоятельно находить инварианты, которые были бы основой для принятия решений.

Технические ограничения по скорости и объему используемой памяти[]

Минский показал, что задачи, которые в принципе могут быть решены перцептроном, могут потребовать нереально больших времён [35] или нереально большой памяти [36] . Например, для различения некоторых классов объектов коэффициенты части ассоциативных элементов должны быть столь велики, что для хранения их в вычислительной машине потребовался бы больший объём памяти, чем для того, чтобы просто запомнить все конкретные объекты этих двух классов.[37]

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

Исследования перцептронов показали, что перцептроны способны обучаться. Справедлива теорема о сходимости перцептрона,[9] согласно которой не зависимо от начальных значений коэффициентов и порядка показа образцов при обучении, перцептрон за конечное число шагов научится различать два класса объектов, если только существует такая классификация.


Структура, состоящая более чем из одного слоя A-элементов (скрытого слоя), называется многослойным перцептроном. Такой термин предложил ещё Розенблатт [38], но про этот факт почти забыли. Со временем вопросом нейронных сетей заинтересовались математики и на основе поиска градиента разработали метод обратного распространения ошибки. Для них это была задача поиска градиента функций многих переменных. Раньше считалось, что вычислительные затраты на поиск градиента (gradH) составляют: , где - функции n переменных H(x1 ,...,xn), а T - вычислительные затраты на вычисление одного значения функции n переменных H(x1 ,...,xn). А теперь стало понятно, что достаточно на порядок меньших вычислительных затрат: , где C - константа, не зависящая от размерности n (в большинстве случаев C~3). Таким образом, исследование искусственных нейронных сетей, побудило обратится к работам Лагранжа и взглянуть на них с другой точки зрения [39].

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

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

Практическое применение перцептрона[]

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

Любое практическое применение перцептрона предполагает введение больше одного R - элемента. И как показано Розенблаттом [41] характеристики таких систем не отличаются существенно от характеристик элементарного перцептрона, за тем исключением, что теперь оказывается возможным простыми R - элементами вырабатывать классификации, состоящие более, чем из двух классов, или обучать перцептрон реагировать одновременно на несколько различных признаков, принадлежащих возбуждающему образу (стимулу).

Прогнозирование[]

На практике для прогнозирования важно оптимальное кодирование классов распознаваемых образов. Для этого могут использоваться два вида кодирования реакций - конфигурационное и позиционное кодирование. Позиционное кодирование является предпочтительным, и с его помощью можно добится хорошего качества прогнозирования. Так, например, в статье [42] авторы решают задачу распознования рукописных цифр. Для обучения имеется 60000 цифр, а для проверки 10000 цифр. При этом авторы обеспечивают позиционное кодирование, чем добиваются 99.2% качества распознования на тесте, что является одной из лучших характеристик по сравнению со всем другими способами распознавания. Позиционное кодирование как правило обеспечивается по принципу конкуренции, когда берется во внимание только один R - элемент с самой большой степенью возбуждения, а остальные несмотря на то, что они преодолели порог во внимание не берутся.

Но обеспечить позиционное кодирование можно лишь при сравнительно не большом числе классов, например, как в упомянутой выше работе, где число классов 10 (число цифр), несмотря на то, что самих разнообразных примеров 60000. Если же число возможных объектов составляет несколько тысяч, то позиционное кодирование применять становится не оптимально, т.к. требует большое число R-элементов. Поэтому может применяться комбинация конфигурационного и позиционного кодирования, как это было сделанно в работе [43]. Так, например, в этой статье объекты кодируются конфигурационно, т.е. например, для 256 изображений нужно всего 8 бит (а не 256, как это было бы необходиом при позиционном кодировании). Но число самих перцептронов 16, где каждый из них следит только за 1/16 области видимости, поэтому число связей здесь даже меньше, чем это был бы один перцептрон, но следящий за всей областью видимости. Позицонность же здесь проявляется в том, что за правильный ответ считается только тот ответ, который подтверждается большим числом перцептронов. Т.е. конфигурационно определяется наиболее затранные признаки - принадлежность каждой части изображения определенному объекту, и позиционно уже по 16 признакам решается какой из объектов наблюдается в данный момент.

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

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

В таких задачах становится важным анализировать не только текущую информацию, но и общий контекст ситуации в которую попал агент. Таким образом, становятся необходимы обратные связи, и применение перцептронов с обратной связью. Самим Розенблаттом такие перцептроны были исследованы лишь поверхностно, что не позволяло их применять практически. В то же время известные рекуррентные нейронные сети, такие как Нейронная сеть Джордана использовали для обучения метод обратного распространения ошибки, что делало их очень медленными и не гарантировало сходимости. Поэтому в последствии были предложены сети объединяющие характеристики быстрого обучения методом коррекции ошибки и возможности обратных связей с внутреними контекстными элементами как у сети Джордана. Примером такой сети является рекуррентный перцептрон Yak-1 [1].

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

Теоритические возможности перцептрона[]

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

Поэтому здесь будут рассмотрены только некоторые математические выводы.

Классифицирование[]

Файл:Logo arte.jpg Сеть с одним скрытым слоем (слоем A-элементов), содержащим нейронов с пороговой функцией активации, способна осуществить произвольную классификацию n примеров (пар стимул-реакция). [44]

Аппроксимация[]

Файл:Logo arte.jpg Одного скрытого слоя нейронов с сигмоидной функцией активации теоритически достаточно для аппроксимации любой границы между классами со сколь угодно высокой точностью. [44]

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

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

См. также[]

Примечания[]

  1. Искажение в результате перевода с английского.
  2. «Марк-1», в частности, был системой, имитирующей человеческий глаз и его взаимодействие с мозгом.
  3. «Трёхслойные» по классификации, принятой у Розенблатта, и «двухслойные» по современной системе обозначений — с той особенностью, что первый слой не обучаемый.
  4. Hebb, D. O. The organization of behavior, 1949.
  5. Perceptrons: An Associative Learning Network
  6. Появление перцептрона
  7. Системы распознавания образов
  8. The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain
  9. 9,0 9,1 9,2 9,3 Розенблатт Ф., с. 102.
  10. Фомин, С. В., Беркинблит, М. Б. Математические проблемы в биологии
  11. Розенблатт, Ф., с. 158—162.
  12. Розенблатт, Ф., с. 162—163.
  13. Брюхомицкий Ю. А. Нейросетевые модели для систем информационной безопасности, 2005.
  14. 14,0 14,1 14,2 Розенблатт Ф., с. 81.
  15. 15,0 15,1 15,2 Розенблатт, Ф., с. 200.
  16. 16,0 16,1 16,2 16,3 Розенблатт Ф., с. 82.
  17. Розенблатт Ф., с. 83.
  18. Розенблатт Ф., с. 93.
  19. Изложение в этом разделе несколько упрощено из-за сложности анализа на основе предикатов.
  20. Минский, Пейперт, с. 11—18.
  21. Минский, Пейперт, с. 18.
  22. Розенблатт, Ф., с. 85—88.
  23. Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика, 1992.
  24. 24,0 24,1 24,2 Минский М., Пейперт С., с. 59. Ошибка цитирования Неверный тег <ref>: название «chetnost» определено несколько раз для различного содержимого
  25. Розенблатт, Ф., с. 101.
  26. Розенблатт, стр. 239
  27. Розенблатт, стр. 242
  28. Розенблатт Ф., с. 93.
  29. Минский М., Пейперт С., с. 50.
  30. Минский М., Пейперт С., с. 102.
  31. Минский М., Пейперт С., с. 76—98.
  32. Минский М., Пейперт С., с. 113—116.
  33. Минский М., Пейперт С., с. 22—23, с. 99—102, с. 226—227, с. 231—233.
  34. Минский М., Пейперт С., с. 192—214.
  35. Минский, Пейперт, с. 163—187
  36. Минский, Пейперт, с. 153—162
  37. Минский, Пейперт, с. 152.
  38. Розенблатт, Ф., с. 251.
  39. Горбань, А.Н. Быстрое дифференцирование, двойственность и обратное распространение ошибки, глава 3, В кн.: Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296 с.
  40. Горбань, А.Н. Решение задач нейронными сетями, глава 2, В кн.: Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296 с.
  41. Розенблатт Ф., с. стр. 219-224.
  42. E. Kussul, T. Baidyk, L. Kasatkina, V. Lukovich Rosenblatt Perceptrons for Handwritten Digit Recognition // IEEE 0-7803-7044-9. — 2001. — С. 1516 – 1520
  43. С. Яковлев Система распознования движущихся объектов на базе искусственных нейронных сетей // ИТК НАНБ. — Минск: 2004. — С. 230-234.
  44. 44,0 44,1 А.А. Ежов, С.А. Шумский (2008) "Нейрокомпьютинг и его применения в экономике и бизнесе" Курсы для ВУЗОВ

Литература[]

  • Хайкин, С. Нейронные сети: Полный курс = Neural Networks: A Comprehensive Foundation. — 2-е изд. — М.: «Вильямс», 2006. — 1104 с. — ISBN 0-13-273350-1

Внешние ссылки[]


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



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


Advertisement