Перцептрон
Материал из Википедии — свободной энциклопедии
Перцептро́н (неверно: персептрон[1], англ. perсeptron от лат. perсeptio — восприятие) — математическая и компьютерная модель восприятия информации мозгом (кибернетическая модель мозга), предложенная Фрэнком Розенблаттом в 1957 году и реализованная в виде электронной машины «Марк-1»[2] в 1960 году. Перцептрон стал одной из первых моделей нейросетей, а «Марк-1» — первым в мире нейрокомпьютером. Несмотря на свою простоту, перцептрон способен обучаться и решать довольно сложные задачи.
Перцептрон состоит из трёх типов элементов: поступающие от сенсоров сигналы передаются ассоциативным элементам, а затем реагирующим элементам. Таким образом, перцептрон позволят создать набор «ассоциаций» между входными стимулами и необходимой реакцией на выходе. В биологическом плане это соответствует преобразованию, например, зрительной информации в физиологический ответ от двигательных нейронов. Согласно современной терминологии, перцептроны могут быть классифицированы как искусственные нейронные сети:
- с одним скрытым слоем;[3]
- с пороговой передаточной функцией;
- с прямым распространением сигнала.
На фоне «романтизма» нейронных сетей, в 1969 году вышла книга М. Минского и С. Паперта, которая показала принципиальные ограничения перцептронов. Это привело к смещению интереса исследователей искусственного интеллекта в противоположную от нейросетей область — символьных вычислений. Кроме того, из-за сложности математического анализа перцептронов, а также отсутствия общепринятой терминологии, возникли различные неточности и заблуждения. Впоследствии интерес к нейросетям, и в частности, работам Розенблатта, возобновился.
Содержание |
[править] Появление перцептрона
В 1943 году в своей статье «Логическое исчисление идей, относящихся к нервной активности» У. Мак-Каллок и У. Питтс предложили понятие искусственной нейронной сети. В частности, ими была предложена модель искусственного нейрона. Д. Хебб в работе «Организация поведения»[4] 1949 года описал основные принципы обучения нейронов.
Эти идеи несколько лет спустя развил американский нейрофизиолог Фрэнк Розенблатт. Он предложил схему устройства, моделирующего процесс человеческого восприятия, и назвал его перцептроном. Перцептрон передавал сигналы от фотоэлементов, представляющих собой сенсорное поле, в блоки электромеханических ячеек памяти. Эти ячейки соединялись между собой случайным образом в соответствии с принципами коннективизма. В 1957 году в Корнелльской Лаборатории Аэронавтики успешно были завершено моделирование работы перцептрона на компьютере IBM 704, а два года спустя, 23 июня 1960 года в Корнелльском университете, был продемонстрирован первый нейрокомпьютер — «Марк-1», который был способен распознавать некоторые из букв английского алфавита.[5][6]
Чтобы «научить» перцептрон классифицировать образы, был разработан специальный итерационный метод обучения проб и ошибок, напоминающий процесс обучения человека. Кроме того, при распознании той или иной буквы перцептрон мог выделять характерные особенности буквы, статистически чаще встречающиеся, чем малозначимые отличия в индивидуальных случаях. Тем самым перцептрон был способен обобщать буквы, написанные различным образом (почерком), в один обобщённый образ. Однако возможности перцептрона были ограниченными: машина не могла надежно распознавать частично закрытые буквы, а также буквы иного размера, расположенные со сдвигом или поворотом, нежели те, которые использовались на этапе ее обучения.[7]
Отчёт по первым результатам появился ещё в 1958 году — тогда Розенблаттом была опубликована статья «Перцептрон: Вероятная модель хранения и организации информации в головном мозге».[8] Но подробнее свои теории и предположения относительно процессов восприятия и перцептронов он описывает 1962 году, в книге «Принципы нейродинамики: Перцептроны и теория механизмов мозга». В книге он рассматривает не только уже готовые модели перцептрона с одним скрытым слоем, но и многослойных перцептронов с перекрёстными (третья глава) и обратными (четвёртая глава) связями. В книге также вводится ряд важных идей и теорем, например, доказывается теорема сходимости перцептрона.[9]
Марвин Минский и Сеймур Паперт опубликовали в 1969 г. книгу «Перцептроны», где математически показали, что перцептроны, подобные розенблаттовским, принципиально не в состоянии выполнять многие из тех функций, которые приписывал перцептронам Розенблатт. Эта книга существенно повлияла на пути развития науки об искусственном интеллекте, так как переместила научный интерес и субсидии правительственных организаций США на другое направление исследований — символьный подход в ИИ.
В 80-х годах интерес к кибернетике возродился, так как сторонники символьного подхода в ИИ так и не смогли подобраться к решению вопросов о «Понимании» и «Значении», из-за чего машинный перевод и техническое распознавание образов до сих пор обладает неустранимыми недостатками. Сам Минский публично выразил сожаление, что его выступление нанесло урон концепции перцептронов, хотя книга лишь показывала недостатки отдельно взятого устройства и некоторых его вариаций. Но в основном ИИ стал синонимом символьного подхода, который выражался в составлении все более сложных программ для компьютеров, моделирующих сложную деятельность человеческого мозга.
[править] Математическая модель
Серьезное ознакомление с теорией перцептронов требует знания базовых определений и теорем, совокупность которых и представляет собой базовую основу для всех последующих видов искусственных нейронных сетей.
[править] Модель на основе сигналов
Для начала определим составные элементы перцептрона.
- Простым S-элементом (сенсорным) является чувствительный элемент, который от воздействия какого-либо из видов энергии (например, света, звука, давления, тепла и т. п.) вырабатывает сигнал. Если входной сигнал превышает некоторый порог θ, на выходе элемента получаем +1, в противном случае — 0.[10]
- Простым A-элементом (ассоциативным) называется логический решающий элемент, который даёт выходной сигнал +1, когда алгебраическая сумма его входных сигналов равна или превышает некоторую пороговую величину θ (говорят, что элемент активный), в противном случае выход равен нулю.[10]
- Простым R-элементом (реагирующим, т. е. действующим) называется элемент, который выдаёт сигнал +1, если сумма его входных сигналов является строго положительной, и сигнал −1, если сумма его входных сигналов является строго отрицательной. Если сумма входных сигналов равна нулю, выход считается либо равным нулю, либо неопределённым.[10]
Если на выходе любого элемента мы получаем 1, то говорят, что элемент активен или возбуждён.
Все рассмотренные элементы называются простыми, так как они реализуют скачкообразные функции. Розенблатт утверждал также, что для решения более сложных задач могут потребоваться другие виды функций, например, линейная.[11]
В результате Розенблатт ввёл следующие определения:
- Перцептрон представляет собой сеть, состоящую из S-, A-, R-элементов, с переменной матрицей взаимодействия V (элементы которой ui — весовые коэффициенты), определяемой последовательностью прошлых состояний активности сети.[12][11]
- Перцептроном с последовательными связями называется система, в которой все связи, начинающиеся от элементов с логическим расстоянием d от ближайшего S-элемента, оканчиваются на элементах с логическим расстоянием d+1 от ближайшего S-элемента.[12]
- Перцептроном с перекрестными связями называется система, в которой существуют связи между элементами одного типа (S, A или R), находящиеся на одинаковом логическом расстоянии от S-элементов, причем все остальные связи — последовательного типа.[12]
- Перцептроном с обратной связью называется система, в которой существует связь от логически более удалённого элемента к менее удалённому.[12]
- Простым перцептроном называется любая система, удовлетворяющая следующим пяти условиям:
- в системе имеется только один R-элемент (естественно, он связан всеми A-элементами);
- система представляет собой перцептрон с последовательными связями, идущими только от S-элементов к A-элементам и от A-элементов к R-элементам;
- веса всех связей от S-элементов к A-элементам (S—A связей) неизменны;
- время передачи каждой связи равно либо нулю, либо фиксированной постоянной τ;
- все активирующие функции S-, A-, R-элементов имеют вид Ui(t) = f(ai(t)), где ai(t) — алгебраическая сумма всех сигналов, поступающих одновременно на вход элемента ui [13][11]
- Элементарным перцептроном называется простой перцептрон, у которого все элементы — простые. В этом случае его активизирующая функция имеет вид cij(t) = Ui(t − τ)vij(t).[14]
[править] Модель на основе предикатов
Марвин Минский изучал свойства параллельных вычислений, частным случаем которых на то время был перцептрон. Для анализа его свойств ему пришлось переизложить теорию перцептронов на язык предикатов. Суть подхода заключалась в следующем: [15][16]
- множеству сигналов от S-элементов была сопоставлена переменная X;
- каждому A-элементу был сопоставлен предикат φ(X) (фи от икс), названный частным предикатом;
- каждому R-элементу был сопоставлен предикат ψ (пси), зависящий от частных предикатов;
- наконец, перцептроном было названо устройство, способное вычислять все предикаты типа ψ.
Применительно к «зрительному» перцептрону, переменная X символизировала образ какой-либо геометрической фигуры (стимул). Частный предикат позволял «распознавать» каждый свою фигуру. Предикат ψ означал ситуацию, когда линейная комбинация (ai — коэффициенты передачи) превышала некоторый порог θ.
Учёные выделили 5 семейств перцептронов, обладающих, по их мнению, интересными свойствами: [17]
- Перцептроны, ограниченные по диаметру — каждая фигура X, распознаваемая частными предикатами, не превосходит по диаметру некоторую фиксированную величину.
- Перцептроны ограниченного порядка — каждый частный предикат зависит от ограниченного количества точек из X.
- Перцептроны Гамбы — каждый частный предикат должен быть линейной пороговой функцией, т. е. мини-перцептроном.
- Случайные перцептроны — перцептроны ограниченного порядка, где частные предикаты представляют собой случайно выбранные булевы функции. В книге отмечается, что именно эта модель наиболее подробно изучалась группой Розенблатта.
- Ограниченные перцептроны — множество частных предикатов бесконечно, а множество возможных значений коэффициентов ai конечно.
Хотя такой математический аппарат позволил применить анализ только к элементарному перцептрону Розенблатта, он вскрыл много принципиальных ограничений для параллельных вычислений, от которых не свободен ни один вид современных искусственных нейронных сетей.
[править] Алгоритмы обучения
Классический метод обучения перцептрона — это метод коррекции ошибки.[9] Представляет собой такой метод обучения, при котором вес связи не изменяется до тех пор, пока текущая реакция перцептрона остается правильной. При появлении неправильной реакции вес изменяется на единицу, а знак (+/-) определяется противоположным от знака ошибки.
Кроме того, Розенблатт пытался классифицировать различные алгоритмы обучения, называя их системами подкрепления.[18] Он даёт следующее определение:
Системой подкрепления называется любой набор правил, на основании которых можно изменять с течением времени матрицу взаимодействия (или состояние памяти) перцептрона.
Кроме классического метода обучения перцептрона Розенблатт также ввёл понятие об обучении без учителя, предложив следующий способ обучения:
- Альфа-системой подкрепления называется система подкрепления, при которой веса всех активных связей cij, которые ведут к элементу uj, изменяются на одинаковую величину r, а веса неактивных связей за это время не изменяются.
Описывая эти системы подкрепления Розенблатт основывался на идеях Хебба об обучении, уточняя различные возможные виды. Затем с разработкой понятия многослойного перцептрона альфа-система была модифицирована и её стали называть дельта-правило. Модификация была проведена с целью сделать функцию обучения дифференцируемой, что в свою очередь нужно для применения метода градиентного спуска, благодаря которому и возможно обучение более одного слоя. При этом пришлось отказаться от бинарного сигнала, и пользоваться на входе вещественными числами.
[править] Описание элементарного перцептрона
Элементарный перцептрон состоит из элементов 3-х типов: S-элементов, A-элементов и одного R-элемента. S-элементы это — слой рецепторов. Эти рецепторы соединены с A-элементами с помощью возбуждающих связей. Каждый рецептор может находиться в одном из двух состояний — покоя или возбуждения. A-элементы представляют собой сумматоры с порогом (то есть формальные нейроны). Это означает, что A-элемент возбуждается, если алгебраическая сумма возбуждений, приходящих к нему от рецепторов, превышает определённую величину — его порог. Сигналы от возбудившихся A-элементов передаются в сумматор R, причём сигнал от i-го ассоциативного элемента передаётся с коэффициентом vi.[19]
А- или R-элементы (которые является пороговыми) подсчитывают некоторую линейную форму (как правило, сумму весовых коэффициентов) от своих входов и сравнивает её с заданным значением — порогом. Если у А-элемента n входов, то в нем должны быть заданы n весов v1,v2,...,vn и порог θ. Перцептрон выдаёт 1, если линейная форма от входов с коэффициентами vi превышает θ, иначе −1.
Система связей между рецепторами S- и A-элементами, так же как и пороги A-элементов выбираются некоторым случайным, но фиксированным образом, а обучение состоит лишь в изменении коэффициентов vi. Считаем, что мы хотим научить перцептрон разделять два класса объектов, и потребуем, чтобы при предъявлении объектов первого класса выход перцептрона был положителен, а при предъявлении объектов второго класса — отрицательным. Начальные коэффициенты vi полагаем равными нулю. Далее предъявляем обучающую выборку: объекты (например, круги либо квадраты) с указанием класса, к которым они принадлежат. Показываем перцептрону объект первого класса. При этом некоторые A-элементы возбудятся. Коэффициенты vi, соответствующие этим возбуждённым элементам, увеличиваем на 1. Затем предъявляем объект второго класса и коэффициенты vi тех A-элементов, которые возбудятся при этом показе, уменьшаем на 1. Этот процесс продолжим для всей обучающей выборки. В результате обучения сформируются значения весов связей vi.
После обучения перцептрон готов работать в режиме распознавания[20] или обобщения.[21] В этом режиме перцептрону предъявляются «не знакомые» перцептрону объекты, и перцептрон должен установить, к какому классу они принадлежат. Работа перцептрона состоит в следующем: при предъявлении объекта возбудившиеся A-элементы передают сигнал R-элементу, равный сумме соответствующих коэффициентов vi. Если эта сумма положительна, то принимается решение, что данный объект принадлежит к первому классу, а если она отрицательна — то второму.[22]
[править] Возможности и ограничения модели
Исследования перцептронов показали, что перцептроны способны обучаться. Справедлива теорема о сходимости перцептрона,[9] согласно которой не зависимо от начальных значений коэффициентов и порядка показа образцов при обучении, перцептрон за конечное число шагов научится различать два класса объектов, если только существует такая классификация.
Первые успехи исследований перцептронов и других нейросетей вызвал взрыв активности и энтузиазма. В течение некоторого времени казалось, что ключ к интеллекту найден, и воспроизведение человеческого мозга является лишь вопросом конструирования достаточно большой сети.
Но эта иллюзия вскоре рассеялась. Возможности перцептронов оказались довольно ограниченными. Серьёзный математический анализ перцептронов был проведён М. Минским и С. Пейпертом (подробнее см. ниже). Впоследствии работа Уоссермена вызвала новый всплеск активности в области искусственных нейронных сетей и применения идей теории перцептронов — на новый лад, с образованием собственной новой терминологии и становлением науки о нейросетях, — но с точки зрения технического их приложения, в противовес построению моделей мозга. К сожалению, некоторые неточности в его работе привели к ряду недоразумений. Так, например, Уоссерменом была предложена классификация искусственных нейронных сетей на основе подсчёта числа обучаемых слоев связей, а не по числу структурных элементов сети. Но такая классификация проблематична, так как не позволяет говорить об особенностях определённого вида нейросетей. Это вызвало ряд недоразумений в последующие годы при определении перцептрона, так как сам автор всегда говорил о нем, как о трёхслойном, а классификация по числу обучаемых слоёв предполагала называть его однослойным. Но к сожалению, это сказалось не только на терминологии, но и не верном представлении о перцептроне как простейшем пороговом элементе. Так как была не учтена роль первого не обучаемого слоя.
Сам Розенблатт выделил несколько фундаментальных ограничений для трёхслойных перцептронов (состоящих из одного S-слоя, одного A-слоя и R-слоя):
Основные недостатки таких перцептронов состоят в отсутствии у них способности к обобщению своих характеристик на новые стимулы или новые ситуации, не совпадающие в точности с теми, которые имели мксто при обучении, а также в неспособности анализировать сложные ситуации во внешней среде путём расчленения их на более простые.[23]
Структура, состоящая более чем из одного слоя A-элементов (скрытого слоя), называется многослойным перцептроном. Такой термин предложил ещё Розенблатт,[24] но в связи с тем, что в то время не было эффективного алгоритма обучения многослойного перцептрона, этот тип сети не был теоретически разработан и про него почти забыли. Лишь с появлением алгоритма обратного распространения ошибки, с помощью которого стали обучать (настраивать коэффициенты) более одного слоя, работы в этом направлении продолжились. Такую структуру можно рассматривать как «дальнего потомка» перцептрона Розенблатта. Это достаточно разные модели нейросетей, которые специфичны для разного рода задач.
[править] Традиционные заблуждения
В результате популяризации искусственных нейронных сетей (ИНС) журналистами и маркетологами был допущен ряд неточностей, которые, при недостаточном изучении оригинальных работ по этой тематике, неверно истолковывались молодыми (на то время) учёными. В результате по сей день можно встретиться с недостаточно глубокой трактовкой функциональных возможностей перцептрона по сравнению с другими ИНС, разработанными в последующие годы.
[править] Терминологические неточности
Неточность № 1. Перцептрон — нейронная сеть без скрытых слоев.
Уоссерменом[25] была сделана попытка определенным образом классифицировать различные виды нейронных сетей:
Как видно из публикаций, нет общепринятого способа подсчёта числа слоев в сети. Многослойная сеть состоит из чередующихся множеств нейронов и весов. Входной слой не выполняет суммирования. Эти нейроны служат лишь в качестве разветвлений для первого множества весов и не влияют на вычислительные возможности сети. По этой причине первый слой не принимается во внимание при подсчёте слоев, и сеть считается двухслойной, так как только два слоя выполняют вычисления. Далее, веса слоя считаются связанными со следующими за ними нейронами. Следовательно, слой состоит из множества весов со следующими за ними нейронами, суммирующими взвешенные сигналы.
В результате такого представления перцептрон попал под определение однослойная нейронная сеть. При этом когда говорят, что перцептрон не имеет скрытых слоев, имеют в виду, что у него нет скрытых слоев обучающихся нейронов (веса которых адаптируются к задаче). Поэтому всю совокупность тех выходов системы из S- и A-элементов, которые достигают R-элемента (единственного обучающегося) просто логически заменяют набором (модифицированных по жёсткому правилу) новых входов.
Но обычное игнорирование необучаемых слоев с фиксированными связями (такой имеется в элементарном перцептроне между S- и А-элементами) позволяет делать неправильные выводы о возможностях ИНС. Так, например, Минский поступил очень корректно, переформулировав А-элемент как предикат; наоборот, Уоссермен уже потерял такое представление и у него А-элемент — просто вход (почти эквивалентный S-элементу). Поэтому при такой терминологической неточности упускается из виду тот факт, что в перцептроне происходит отображение рецепторного поля S-элементов на ассоциативное поле А-элементов, в результате чего и происходит преобразование любой линейно неразделимой задачи в линейно разделимую.
[править] Функциональные заблуждения
Большинство функциональных заблуждений сводятся к якобы невозможности решения перцептроном не линейно разделяемой задачи. Но вариаций на это тему достаточно много, рассмотрим главные их них.
№ 1. Перцептрон не способен решить «задачу XOR». Самое несерьёзное заявление. На изображении показано решение и ниже дана таблица поиска соответствующих весов при алгоритме обучения с коррекцией ошибки. Как правило, данное заблуждение возникает из-за того, что неправильно интерпретируют определение перцептрона, данного Минским (см. выше), а именно, предикаты приравнивают входам (параметрам), хотя это разные вещи. Предикат эквивалентен входу только если предикат зависит от одного аргумента. Другая причина возникает из-за того, что перцептрон путают с пороговым элементом Маккалока — Питса.
№ 2. Выбором случайных весов можно достигнуть обучения и линейно неразделимым (вообще, любым) задачам, но только если повезет, и в новых переменных (выходах A-нейронов) задача окажется линейно разделимой. Но может и не повезти.
Теорема сходимости Перцептрона[9] доказывает, что нет и не может быть никакого «может и не повезти»; при равенстве А-элементов числу стимулов и не особенной SA-матрице — вероятность решения равна 100 %. То есть при отображении рецепторного поля на ассоциативное поле большей на одну размерности случайным (нелинейным) оператором нелинейная задача превращается в линейно разделимую. А следующий обучаемый слой уже находит линейное решение в другом пространстве входов.
№ 3. Если в задаче размерность входов довольно высока, а обучающих примеров мало, то в таком «слабо заполненном» пространстве число удач может и не оказаться малым. Это свидетельствует лишь о частном случае пригодности перцептрона, а не его универсальности.
Данный аргумент легко проверить на тестовой задаче под названием «шахматная доска» или «губка с водой»:
Дана цепочка из 2·N единиц или нулей. Если эта цепочка является зеркально симметричной относительно центра, то на выходе +1, иначе 0. Обучающие примеры — все (это важно) 2N цепочек.
Могут быть вариации данной задачи, например:
Возьмём чёрно-белое изображение размером 256×256 пикселей. Обучаем перцептрон всем возможным состояниям, то есть на вход подаём последовательно координаты X, Y и требуем на выходе соответствующий цвет точки. В итоге имеем 65 536 различных пар «стимул—реакция». Обучить без ошибок.
Если данный аргумент справедлив, то перцептрон не сможет ни при каких условиях обучится не делая ни одной ошибки. Иначе перцептрон не ошибётся ни разу.
На практике оказывается, что данная задача очень проста для перцептрона: чтобы ее решить, перцептрону достаточно 1500 А-элементов (вместо полных 65 536, необходимых для любой задачи). При этом число итерациий порядка 1000. При 1000 А-элементов перцептрон не сходится за 10 000 итераций. Если же увеличить число А-элементов до 40 000, то схождения можно ожидать за 30—80 итераций.
Такой аргумент появляется из-за того, что данную задачу путают с задачей Минского «о предикате „чётность“».[26]
№ 4. В перцептроне Розенблатта столько А-элементов, сколько входов. И сходимость по Розенблатту, это стабилизация весов.
У Розенблатта читаем:
Если число стимулов в пространстве W равно n > N (то есть больше числа А-элементов элементарного перцептрона), то существует некоторая классификация С(W), для которой решения не существует.[27]
Отсюда следует, что:
- у Розенблатта число А-элементов равно числу стимулов (обучающих примеров), а не числу входов;
- сходимость по Розенблатту, это не стабилизация весов, а наличие всех требуемых классификаций, то есть по сути отсутствие ошибок.
[править] Ограничения перцептрона, описанные Минским
Действительно, Минским, после серьёзных экспериментов с перцептроном и его всестороннего анализа, была предпринята критика модели. Здесь нужно отметить тот факт, что на то время все известные ИНС назывались перцептроном, и Минский критиковал именно весь класс искусственных нейронных сетей, а перцептрон Розенблатта был наиболее детально проработан теоретически и имел физическое воплощение в устройстве под названием «Марк-1». В то время была слабо развита теория о параллельных вычислениях, а перцептрон полностью соответствовал принципам таких вычислений. По большому счёту, Минский показал преимущество последовательных вычислений перед параллельным в определённых классах задач, связанных с инвариантным представлением. Ниже мы рассмотрим некоторые следствия анализа Минского. Критику Минского можно разделить на три взаимосвязанные темы:
[править] Ограничения, связанные с инвариантным представлением
Минский описывал специальные задачи такие как «четность»[26] и «один в блоке»,[26] которые показывают ограничения перцептрона в том, что он не может распознавать инвариантные входные данные (изображения) бесконечного порядка. А в частности, при распознавании чётности конечного порядка первый слой перцептрона вынужден становиться полно связным. В связи с этим есть ограничения на следующие практические типовые задачи.
Типовая задача № 1. Если требуется построить машину для чтения печатных букв или цифр, то возникает естественное желание, чтобы эта машина могла распознавать их независимо от положения на странице, то есть чтобы на решение машины не оказывали влияния элементы группы переносов. Иными словами, восприятие машины должно быть «инвариантно относительно группы переносов», то есть ее решение должно быть одним и тем же для каждого представителя какого-либо класса эквивалентности относительно группы переносов [28]. Итак, более точно первую задачу можно определить как нахождение геометрического свойства. Вот как описывает Минский понятие геометрического свойства:
Когда мы говорим геометрическое свойство, мы имеем в виду что-то инвариантное относительно переноса, или вращения, или растяжения. Сочетание первых инвариантностей определяет конгруэнтную группу преобразований, а наличие всех трёх даёт фигуры подобные в евклидовой геометрии.[29]
Типовая задача № 2. Ряд подзадач могут формулироваться различно, например:
- определить, одна или более фигур находятся в видимом пространстве;
- плотная ли видимая фигура или же в ней находится отдельная фигура и т. д.
Независимо от этого они имеют общую суть — нахождение признака, связана ли фигура, то есть предиката «связанность» [30].
Типовая задача № 3. Распознавание фигур в контексте, то есть, например, содержит ли данная фигура прямоугольник или, быть может, что-то еще [31].
Приведённые здесь три типа задач распознавания не рекомендуется решать с помощью параллельных способов вычислений, в том числе и с помощью перцептрона. [32] Более того, проблема не в конкретной архитектуре перцептрона, а в необходимости знания всего глобального контекста. Поэтому как перцептрон, так и любые другие виды нейронных сетей неспособны полноценно решить представленные здесь задачи. Мы не приводим здесь довольно сложные доказательства Минского, важно лишь, что они основываются на том, что перцептрон (равно как и любая другая нейронная сеть) не справляется с распознаванием инвариантных входных данных.
[править] Ограничения, связанные с возможностью прогнозирования
Способности ИНС, и в частности перцептрона, не столь велики, как это рекламируется. И это связано даже не с устройством, или алгоритмом, осуществляющим прогноз, а с самим происходящим явлением. Только в том случае, когда во внимание берутся существенные параметры, на основании которых будет строится прогноз, будет иметь место некоторый успех. Выбором этих параметров занимаются эксперты в определённой области на основании своего опыта и интуиции, и к прогнозирующим машинам это не имеет ни какого отношения. Как только такие параметры определены, можно начать статистическую обработку данных и построить модель явления. Но данная модель будет лишь показывать зависимость (корреляцию) выбранных входных параметров от выходных, которые имели место в прошлом.
Минский пытался показать, что перцептрон не имеет в этом отношении серьёзных преимуществ по сравнению с другими статистическими методами прогноза [33] . И, если рассматривать конечный результат, он полностью прав. Единственно, разницу составляет то, что классические статистические методы требуют расчёта многих сложных уравнений, а перцептрон более естественно решает требуемые уравнения, что связано с его устройством. Если на перцептрон посмотреть глазами математика, то окажется, что перцептрон — это по сути способ решения систем уравнений с большим числом неизвестных коэффициентов. Алгоритм поиска этих коэффициентов технически более быстрый, чем у аналогичных классических способов решения уравнений.
Построив систему уравнений, охватывающую наиболее значимые параметры (если нам удастся их найти), можно говорить о том, что мы нашли закон, по статусу близкий к законам физики, но только оперирующий большим числом переменных. Именно такие модели позволяют описывать системы с большим числом состояний — биологические, социальные и т. п. Именно в этом смысле мы и можем говорить о прогнозе.
Качество сделанного прогноза или точность построенной модели зависит от числа знаний, используемых при построении модели. Если мы хотим, чтобы на основании половины всех необходимых знаний модель была способна достроить (спрогнозировать) вторую половину неизвестных нам знаний, то желательно иметь информацию, равномерно распределённую по всему пространству возможных состояний. В таком случае перцептрон способен спрогнозировать неизвестные, но близкие к известным результаты с определённой вероятностью правильности. В противном же случае, мы имеем как раз ситуацию с необходимостью прогнозировать результат задачи «шахматной доски», которая рассматривалась выше. Но тут главное, что выше вопрос был связан с возможностью обучения этой задаче, теперь же идёт речь о необходимости достроить по имеющейся информации — недостающую, то есть сделать прогноз. Человек с такой задачей справляется быстро, так как находит определённую аналогию. Для перцептрона (а также для ряда других ИНС) данная задача в полной мере слишком сложна. Это связанно с основным ограничением ИНС — невозможность найти инвариант (см. выше), вследствие этого перцептрон работает только как статистическая машина, он не способен самостоятельно находить инварианты, которые были бы основой для принятия решений.
[править] Технические ограничения по скорости и объему используемой памяти
Минский показал, что задачи, которые в принципе могут быть решены перцептроном, могут потребовать нереально больших времён [34] или нереально большой памяти [35] . Например, для различения некоторых классов объектов коэффициенты части ассоциативных элементов должны быть столь велики, что для хранения их в вычислительной машине потребовался бы больший объём памяти, чем для того, чтобы просто запомнить все конкретные объекты этих двух классов.[36]
[править] См. также
- Ассоциативная память
- Дельта-правило
- Зима искусственного интеллекта
- История искусственного интеллекта
- Обобщение понятий
- Паттерн (психология)
- Распознавание образов
[править] Примечания
- ↑ Искажение в результате перевода с английского.
- ↑ «Марк-1», в частности, был системой, имитирующей человеческий глаз и его взаимодействие с мозгом.
- ↑ «Трёхслойные» по классификации, принятой у Розенблатта, и «двухслойные» по современной системе обозначений — с той особенностью, что первый слой не обучаемый.
- ↑ Hebb, D. O. The organization of behavior, 1949.
- ↑ Perceptrons: An Associative Learning Network
- ↑ Появление перцептрона
- ↑ Системы распознавания образов
- ↑ The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain
- ↑ 1 2 3 4 Розенблатт Ф., с. 102.
- ↑ 1 2 3 Розенблатт Ф., с. 81.
- ↑ 1 2 3 Розенблатт, Ф., с. 200.
- ↑ 1 2 3 4 Розенблатт Ф., с. 82.
- ↑ Розенблатт Ф., с. 83.
- ↑ Розенблатт Ф., с. 93.
- ↑ Изложение в этом разделе несколько упрощено из-за сложности анализа на основе предикатов.
- ↑ Минский, Пейперт, с. 11—18.
- ↑ Минский, Пейперт, с. 18.
- ↑ Розенблатт, Ф., с. 85—88.
- ↑ Фомин, С. В., Беркинблит, М. Б. Математические проблемы в биологии
- ↑ Розенблатт, Ф., с. 158—162.
- ↑ Розенблатт, Ф., с. 162—163.
- ↑ Брюхомицкий Ю. А. Нейросетевые модели для систем информационной безопасности, 2005.
- ↑ Розенблатт Ф., с. 93.
- ↑ Розенблатт, Ф., с. 251.
- ↑ Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика, 1992.
- ↑ 1 2 3 Минский М., Пейперт С., с. 59.
- ↑ Розенблатт, Ф., с. 101.
- ↑ Минский М., Пейперт С., с. 50.
- ↑ Минский М., Пейперт С., с. 102.
- ↑ Минский М., Пейперт С., с. 76—98.
- ↑ Минский М., Пейперт С., с. 113—116.
- ↑ Минский М., Пейперт С., с. 22—23, с. 99—102, с. 226—227, с. 231—233.
- ↑ Минский М., Пейперт С., с. 192—214.
- ↑ Минский, Пейперт, с. 163—187
- ↑ Минский, Пейперт, с. 153—162
- ↑ Минский, Пейперт, с. 152.
[править] Литература
- Брюхомицкий, Ю. А. Нейросетевые модели для систем информационной безопасности: Учебное пособие. — Таганрог: Изд-во ТРТУ, 2005. — 160 с.
- Мак-Каллок, У. С., Питтс, В. Логическое исчисление идей, относящихся к нервной активности = A logical calculus of the ideas immanent in nervous activity // Автоматы : Сб.. — М.: 1956. — С. 363—384.
- Минский М., Пейперт С. Персептроны = Perceptrons. — М.: Мир, 1971. — 261 с.
- Розенблатт, Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга = Principles of Neurodynamic: Perceptrons and the Theory of Brain Mechanisms. — М.: Мир, 1965. — 480 с.
- Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика = Neural Computing. Theory and Practice. — М.: Мир, 1992. — 240 с. — ISBN 5-03-002115-9
- Хайкин, С. Нейронные сети: Полный курс = Neural Networks: A Comprehensive Foundation. — 2-е изд. — М.: «Вильямс», 2006. — 1104 с. — ISBN 0-13-273350-1
[править] Внешние ссылки
- Появление перцептрона Проверено 3 мая 2008 г.
- Редько В. Г. (1999) Искусственные нейронные сети Проверено 1 мая 2008 г.
- Яковлев С. С. (2006) Линейность и инвариантность в искусственных нейронных сетях (pdf) Проверено 1 мая 2008 г.
- Estebon, M. D., Tech, V. (1997) Perceptrons: An Associative Learning Network(англ.) Проверено 3 мая 2008 г.
Эта статья входит в число хороших статей русского раздела Википедии. |