Возможности и ограничения перцептронов (Fk[bk'ukvmn n kijguncyunx hyjeyhmjkukf)
Перцептрон является одной из первых моделей искусственной нейронной сети. Несмотря на то, что модель предложена Фрэнком Розенблаттом в 1957 году, о её возможностях и ограничениях до сегодняшнего дня не всё известно. В 1969 году Марвин Минский и Сеймур Паперт посвятили критике перцептрона целую книгу, которая показала некоторые принципиальные ограничения одной из разновидности перцептронов.
Перцептрон способен обучаться и основывается при этом на статистических данных. Информация об образе распределяется по весовым коэффициентам (аналогично коэффициентам системы уравнений), которые в совокупности описывают те или иные фрагменты образа.
Упрощая, можно сказать, что так как перцептрон основывается на статистическом обучении, то для него доступны те задачи, в которых объекты каждого класса имеют общие фрагменты, но могут быть в разных комбинациях, например, задачи распознавания образов. Трудными же для перцептрона окажутся так называемые задачи, связанные с инвариантностью образов, например, задачи чистого обобщения.
Возможности модели
[править | править код]Исследования перцептронов показали, что перцептроны способны обучаться. Справедлива теорема о сходимости перцептрона,[1] согласно которой независимо от начальных значений коэффициентов и порядка показа образцов при обучении, перцептрон за конечное число шагов научится различать два класса объектов, если только существует такая классификация.
Структура, состоящая более чем из одного слоя A-элементов (скрытого слоя), называется многослойным перцептроном. Такой термин предложил ещё Розенблатт [2], но про этот факт почти забыли. Со временем вопросом нейронных сетей заинтересовались математики и на основе поиска градиента разработали метод обратного распространения ошибки. Для них это была задача поиска градиента функций многих переменных. Раньше считалось, что вычислительные затраты на поиск градиента (gradH) составляют: , где — функции n переменных , а T — вычислительные затраты на вычисление одного значения функции n переменных . А теперь стало понятно, что достаточно на порядок меньших вычислительных затрат: , где C — константа, не зависящая от размерности n (в большинстве случаев C~3). Таким образом, исследование искусственных нейронных сетей, побудило обратиться к работам Лагранжа и взглянуть на них с другой точки зрения.[3] Метод обратного распространения ошибки оказывается весьма частным случаем общего принципа двойственности.[4]
После выхода книги[5] Румельхарта начиная с 1986 года, многослойный перцептрон используется уже в другом смысле, его называют многослойными именно потому, что там один алгоритм обратного распространения ошибки учит все слои, а не потому, что там несколько слоёв (так как, несколько слоёв было и у Розенблатта). Но перцептрон Розенблатта и многослойный перцептрон (обучаемый по алгоритму обратного распространения ошибки) достаточно разные модели нейросетей, которые специфичны для разного рода задач. Различие задач хорошо видно с математической точки зрения. Требование безошибочности разделяющего правила на обучающей выборке в случае с перцептроном Розенблатта принципиально отличается от критериев оптимальности в случае многослойного перцептрона. Если взять за основу при построении гиперплоскости, разделяющей классы, отсутствие ошибок на обучающей выборке, то чтобы удовлетворить этому условию, придётся решать систему линейных неравенств.[6]
Но уже с 2000 года начинают обращать внимание именно на оригинальную версию перцептрона, так как обучение многослойного перцептрона с помощью метода обратного распространения ошибки выявило существенные ограничения на скорость обучения. А скорость обучения стала одним из главных критериев пригодности нейронной сети, наравне и даже более важным, чем критерий точности сделанных прогнозов. Поэтому далее будет показано как с помощью перцептрона можно построить систему с достаточно точным прогнозом, и отдельно какими модификациями можно увеличить скорость обучения перцептрона.
Практическое применение перцептрона
[править | править код]Здесь будут показаны только основы практического применения перцептрона, на двух различных задачах. Задача прогнозирования требует высокой точности, а задача управления агентами высокой скорости обучения. Поэтому, рассматривая эти задачи, можно полноценно ознакомиться с возможностями перцептрона, но этим далеко не исчерпываются варианты использования перцептрона.
Любое практическое применение перцептрона предполагает введение больше одного R-элемента. И как показано Розенблаттом [7] характеристики таких систем не отличаются существенно от характеристик элементарного перцептрона, за тем исключением, что теперь оказывается возможным простыми R-элементами вырабатывать классификации, состоящие более, чем из двух классов, или обучать перцептрон реагировать одновременно на несколько различных признаков, принадлежащих возбуждающему образу (стимулу).
Прогнозирование
[править | править код]На практике для прогнозирования важно оптимальное кодирование классов распознаваемых образов. Для этого могут использоваться два вида кодирования реакций — конфигурационное и позиционное кодирование. Позиционное кодирование является предпочтительным, и с его помощью можно добиться хорошего качества прогнозирования. Так, например, в статье «Rosenblatt Perceptrons for Handwritten Digit Recognition»[8] авторы решают задачу распознавания рукописных цифр. Для обучения имеется 60 000 цифр, а для проверки 10 000 цифр. При этом авторы обеспечивают позиционное кодирование, чем добиваются 99,2 % качества распознавания на тесте, что является одной из лучших характеристик по сравнению со всем другими способами распознавания. Позиционное кодирование как правило обеспечивается по принципу конкуренции, когда берётся во внимание только один R-элемент с самой большой степенью возбуждения, а остальные несмотря на то, что они преодолели порог во внимание не берутся.
Но обеспечить позиционное кодирование можно лишь при сравнительно небольшом числе классов, например, как в упомянутой выше работе, где число классов 10 (число цифр), несмотря на то, что самих разнообразных примеров 60 000. Если же число возможных объектов составляет несколько тысяч, то позиционное кодирование применять становится не оптимально, так как требует большое число R-элементов. Поэтому может применяться комбинация конфигурационного и позиционного кодирования, как это было сделано в работе С. Яковлева «Система распознавания движущихся объектов на базе искусственных нейронных сетей»[9]. Так, например, в этой статье объекты кодируются конфигурационно, то есть например, для 256 изображений нужно всего 8 бит (а не 256, как это было бы необходимо при позиционном кодировании). Но число самих перцептронов 16, где каждый из них следит только за 1/16 области видимости, поэтому число связей здесь даже меньше, чем это был бы один перцептрон, но следящий за всей областью видимости. Позиционность же здесь проявляется в том, что за правильный ответ считается только тот ответ, который подтверждается большим числом перцептронов. То есть конфигурационно определяется наиболее затратные признаки — принадлежность каждой части изображения определённому объекту, и позиционно уже по 16 признакам решается какой из объектов наблюдается в данный момент.
Управление агентами
[править | править код]Задача управления интеллектуальными агентами может быть решена на базе перцептрона. С точки зрения коннективизма, в искусственном интеллекте интересны только обучающиеся агенты, которые способны обучаться и развиваться в процессе взаимодействия с окружающей средой. При этом задача прогнозирования уходит на второй план, точность прогноза становится не определяющим критерием, так как в окружающей среде может не существовать объективной информации. Приходится полагаться только на локальную экспертную информацию, и в условиях неопределённости выбирать набор действий для агента, которые в долгосрочной перспективе должны приспособить его к окружающей среде.
В таких задачах становится важным анализировать не только текущую информацию, но и общий контекст ситуации в которую попал агент. Таким образом, становятся необходимы обратные связи, и применение перцептронов с обратной связью. Самим Розенблаттом такие перцептроны были исследованы лишь поверхностно, что не позволяло их применять практически. В то же время известные рекуррентные нейронные сети, такие как Нейронная сеть Джордана использовали для обучения метод обратного распространения ошибки, что делало их очень медленными и не гарантировало сходимости. Поэтому впоследствии были предложены сети объединяющие характеристики быстрого обучения методом коррекции ошибки и возможности обратных связей с внутренними контекстными элементами как у сети Джордана.
Из-за того, что скорость обучения не позволяет в должной мере управлять агентом в режиме реального времени постоянно ведутся способы повышения скорости обучения. Одним из подходов здесь является моделирование рефрактерности. Кроме того, этот принцип позволяет приблизить модель формального нейрона к биологическому нейрону, и увидеть те необходимые принципы, которые необходимы для моделирования рефрактерности.
Теоретические возможности перцептрона
[править | править код]Задача теоретической модели мозга (которой является перцептрон) состоит в том, чтобы показать, как в некоторой физической системе, структура и функциональные свойства которой известны, могут возникать психологические явления. Розенблатт предлагал следующие виды психологических тестов: эксперименты по различению, обобщению, обнаружению геометрических фигур, эксперименты по количественным оценкам, по распознаванию последовательностей, по распознаванию отношений, обучению программам, избирательному вспоминанию, образованию абстрактных понятий, формированию и свойствам «самосознания», творческого воображения.[10] Ряд из этих экспериментов далеки от современных возможностей перцептронов, поэтому их развитие происходит больше философски в пределах направления коннективизма. В то же время, ограничения показаны только для элементарного перцептрона, а более сложные архитектуры перцептронов изучены очень слабо и не последовательно. Поэтому сейчас ещё очень рано говорить о реальных возможностях перцептронных моделей.
Тем не менее, для перцептронов доказаны следующие факты, находящие применение в практических задачах:
- Возможность классификации. Сеть с одним скрытым слоем, содержащим H нейронов со ступенчатой функцией активации, способна осуществить произвольную классификацию Hd точек d-мерного пространства (то есть классифицировать Hd примеров). Одного скрытого слоя нейронов с сигмоидной функцией активации достаточно для аппроксимации любой границы между классами со сколь угодно высокой точностью.[11]
- Возможность аппроксимации. Одного скрытого слоя нейронов с сигмоидной функцией активации достаточно для аппроксимации любой функции со сколь угодно высокой точностью. Более того, такая сеть может одновременно аппроксимировать и саму функцию и её производные.[11]
Выбор непрерывной (монотонной) функции активации (например, сигмоидальной) не влияет на достижение решения. Единственное, для чего имеет смысл усложнять функцию активации по сравнению с пороговой (которая является самой наипростейшей), — это возможность интерпретации выходов нейронов как вероятностей принадлежности к соответствующему классу, что в свою очередь может повлиять на качество прогноза.
Но это имеет проблемы (например, в многослойном перцептроне Румельхарта с алгоритмом обратного распространения ошибки) при сходимости (достижения решения) и существенно понижает скорость обучения, то есть такие методы, как метод обратного распространения ошибки, не гарантируют достижение решения, что было доказано Розенблаттом (см. Детерминистические методы обучения).
Ограничения перцептронов
[править | править код]Первые успехи исследований перцептронов и других нейросетей вызвал взрыв активности и энтузиазма. В течение некоторого времени казалось, что ключ к интеллекту найден, и воспроизведение человеческого мозга является лишь вопросом конструирования достаточно большой сети.
Но эта иллюзия вскоре рассеялась. Возможности перцептронов оказались довольно ограниченными, точнее в пределах модели мозга, а ни как популяризировала пресса — для воссоздания человеческого мозга. Серьёзный математический анализ перцептронов был проведён М. Минским и С. Пейпертом (подробнее см. о традиционных заблуждениях). Впоследствии работа Уоссермена вызвала новый всплеск активности в области искусственных нейронных сетей и применения идей теории перцептронов — на новый лад, с образованием собственной новой терминологии и становлением науки о нейросетях, — но с точки зрения технического их приложения, в противовес построению моделей мозга. Некоторые неточности в его работе (основанные на неточностях самих авторов различных модификаций перцептрона, например, Румельхарда) привели к ряду недоразумений. Так, например, Уоссерменом была предложена классификация искусственных нейронных сетей на основе подсчёта числа обучаемых слоёв связей, а не по числу структурных элементов сети. Но такая классификация проблематична, так как не позволяет говорить об особенностях определённого вида нейросетей. Это вызвало ряд недоразумений в последующие годы при определении перцептрона, так как сам автор всегда говорил о нем, как о трёхслойном, а классификация по числу обучаемых слоёв предполагала называть его однослойным. Но это сказалось не только на терминологии, но и неверном представлении о перцептроне как простейшем пороговом элементе. Так как была не учтена роль первого необучаемого слоя.
Сам Розенблатт выделил несколько фундаментальных ограничений для трёхслойных перцептронов (состоящих из одного S-слоя, одного A-слоя и R-слоя):
- Ограничения для трёхслойных перцептронов
Основные недостатки таких перцептронов состоят в отсутствии у них способности к обобщению своих характеристик на новые стимулы или новые ситуации, не совпадающие в точности с теми, которые имели место при обучении, а также в неспособности анализировать сложные ситуации во внешней среде путём расчленения их на более простые.[12]
Ограничения перцептрона, описанные Минским
[править | править код]Действительно, Минским, после серьёзных экспериментов с перцептроном и его всестороннего анализа, была предпринята критика модели. Здесь нужно отметить тот факт, что на то время все известные ИНС назывались перцептроном, и Минский критиковал именно весь класс искусственных нейронных сетей, а перцептрон Розенблатта был наиболее детально проработан теоретически и имел физическое воплощение в устройстве под названием «Марк-1». В то время была слабо развита теория о параллельных вычислениях, а перцептрон полностью соответствовал принципам таких вычислений. По большому счёту, Минский показал преимущество последовательных вычислений перед параллельным в определённых классах задач, связанных с инвариантным представлением. Ниже мы рассмотрим некоторые следствия анализа Минского. Критику Минского можно разделить на три взаимосвязанные темы:
Ограничения, связанные с инвариантным представлением
[править | править код]Минский описывал специальные задачи такие как «чётность»[13] и «один в блоке»,[13] которые показывают ограничения перцептрона в том, что он не может распознавать инвариантные входные данные (изображения) бесконечного порядка. А в частности, при распознавании чётности конечного порядка первый слой перцептрона вынужден становиться полно связным. В связи с этим есть ограничения на следующие практические типовые задачи.
Типовая задача № 1. Если требуется построить машину для чтения печатных букв или цифр, то возникает естественное желание, чтобы эта машина могла распознавать их независимо от положения на странице, то есть чтобы на решение машины не оказывали влияния элементы группы переносов. Иными словами, восприятие машины должно быть «инвариантно относительно группы переносов», то есть её решение должно быть одним и тем же для каждого представителя какого-либо класса эквивалентности относительно группы переносов.[14] Итак, более точно первую задачу можно определить как нахождение геометрического свойства. Вот как описывает Минский понятие геометрического свойства:
Когда мы говорим геометрическое свойство, мы имеем в виду что-то инвариантное относительно переноса, или вращения, или растяжения. Сочетание первых инвариантностей определяет конгруэнтную группу преобразований, а наличие всех трёх даёт фигуры подобные в евклидовой геометрии.[15]
Типовая задача № 2. Ряд подзадач могут формулироваться различно, например:
- определить, одна или более фигур находятся в видимом пространстве;
- плотная ли видимая фигура или же в ней находится отдельная фигура и т. д.
Независимо от этого они имеют общую суть — нахождение признака, связана ли фигура, то есть предиката «связанность» [16].
Типовая задача № 3. Распознавание фигур в контексте, то есть, например, содержит ли данная фигура прямоугольник или, быть может, что-то ещё.[17]
Приведённые здесь три типа задач распознавания не рекомендуется решать с помощью параллельных способов вычислений, в том числе и с помощью перцептрона.[18] Более того, проблема не в конкретной архитектуре перцептрона, а в необходимости знания всего глобального контекста. Поэтому как перцептрон, так и любые другие виды нейронных сетей неспособны полноценно решить представленные здесь задачи. Мы не приводим здесь довольно сложные доказательства Минского, важно лишь, что они основываются на том, что перцептрон (равно как и любая другая нейронная сеть) не справляется с распознаванием инвариантных входных данных.
Ограничения, связанные с возможностью прогнозирования
[править | править код]Способности ИНС, и в частности перцептрона, не столь велики, как это рекламируется. И это связано даже не с устройством, или алгоритмом, осуществляющим прогноз, а с самим происходящим явлением. Только в том случае, когда во внимание берутся существенные параметры, на основании которых будет строиться прогноз, будет иметь место некоторый успех. Выбором этих параметров занимаются эксперты в определённой области на основании своего опыта и интуиции, и к прогнозирующим машинам это не имеет никакого отношения. Как только такие параметры определены, можно начать статистическую обработку данных и построить модель явления. Но данная модель будет лишь показывать зависимость (корреляцию) выбранных входных параметров от выходных, которые имели место в прошлом.
Минский пытался показать, что перцептрон не имеет в этом отношении серьёзных преимуществ по сравнению с другими статистическими методами прогноза [19] . И, если рассматривать конечный результат, он полностью прав. Единственно, разницу составляет то, что классические статистические методы требуют расчёта многих сложных уравнений, а перцептрон более естественно решает требуемые уравнения, что связано с его устройством. Если на перцептрон посмотреть глазами математика, то окажется, что перцептрон — это по сути способ решения систем уравнений с большим числом неизвестных коэффициентов. Алгоритм поиска этих коэффициентов технически более быстрый, чем у аналогичных классических способов решения уравнений.
Построив систему уравнений, охватывающую наиболее значимые параметры (если нам удастся их найти), можно говорить о том, что мы нашли закон, по статусу близкий к законам физики, но только оперирующий большим числом переменных. Именно такие модели позволяют описывать системы с большим числом состояний — биологические, социальные и т. п. Именно в этом смысле мы и можем говорить о прогнозе.
Качество сделанного прогноза или точность построенной модели зависит от числа знаний, используемых при построении модели. Если мы хотим, чтобы на основании половины всех необходимых знаний модель была способна достроить (спрогнозировать) вторую половину неизвестных нам знаний, то желательно иметь информацию, равномерно распределённую по всему пространству возможных состояний. В таком случае перцептрон способен спрогнозировать неизвестные, но близкие к известным результаты с определённой вероятностью правильности. В противном же случае, мы имеем как раз ситуацию с необходимостью прогнозировать результат задачи «шахматной доски», которая рассматривалась выше. Но тут главное, что выше вопрос был связан с возможностью обучения этой задаче, теперь же идёт речь о необходимости достроить по имеющейся информации — недостающую, то есть сделать прогноз. Человек с такой задачей справляется быстро, так как находит определённую аналогию. Для перцептрона (а также для ряда других ИНС) данная задача в полной мере слишком сложна. Это связано с основным ограничением ИНС — невозможность найти инвариант (см. выше), вследствие этого перцептрон работает только как статистическая машина, он не способен самостоятельно находить инварианты, которые были бы основой для принятия решений.
Технические ограничения по скорости и объёму используемой памяти
[править | править код]Минский показал, что задачи, которые в принципе могут быть решены перцептроном, могут потребовать нереально больших времён [20] или нереально большой памяти [21] . Например, для различения некоторых классов объектов коэффициенты части ассоциативных элементов должны быть столь велики, что для хранения их в вычислительной машине потребовался бы больший объём памяти, чем для того, чтобы просто запомнить все конкретные объекты этих двух классов.[22]
Примечания
[править | править код]- ↑ Розенблатт Ф., с. 102.
- ↑ Розенблатт, Ф., с. 251.
- ↑ см. Горбань А. Н., «Нейроинформатика», 1998. Глава 3: Быстрое дифференцирование, двойственность и обратное распространение ошибки Архивная копия от 8 января 2007 на Wayback Machine
- ↑ Горбань А. Н. Обучение нейронных сетей. — М.: СП ПараГраф, 1990. Архивировано 9 августа 2010 года.
- ↑ Parallel Distributed Processing: Explorations in the Microstructures of Cognition / Ed. by Rumelhart D. E. and McClelland J. L.— Cambridge, MA: MIT Press, 1986.
- ↑ см. Горбань А. Н., «Нейроинформатика», 1998. Глава 2: Решение задач нейронными сетями Архивная копия от 14 июня 2006 на Wayback Machine
- ↑ Розенблатт, Ф., с. 219—224.
- ↑ см. Kussul, Baidyk, Kasatkina, Lukovich, 2001.
- ↑ см. Яковлев С. С., 2004.
- ↑ Розенблатт, Ф., с. 70—77.
- ↑ 1 2 см. Ежов А. А., Шумский С. А. «Нейрокомпьютинг…», 2006. Лекция 3: Обучение с учителем: Распознавание образов Архивная копия от 1 ноября 2011 на Wayback Machine
- ↑ Розенблатт Ф., с. 93.
- ↑ 1 2 Минский М., Пейперт С., с. 62.
- ↑ Минский М., Пейперт С., с. 50.
- ↑ Минский М., Пейперт С., с. 102.
- ↑ Минский М., Пейперт С., с. 76—98.
- ↑ Минский М., Пейперт С., с. 113—116.
- ↑ Минский М., Пейперт С., с. 22—23, с. 99—102, с. 226—227, с. 231—233.
- ↑ Минский М., Пейперт С., с. 192—214.
- ↑ Минский, Пейперт, с. 163—187
- ↑ Минский, Пейперт, с. 153—162
- ↑ Минский, Пейперт, с. 152.
Литература
[править | править код]- Горбань А. Н., Дунин-Барковский В. Л., Кирдин А. Н. и др. Нейроинформатика. — Новосибирск: Наука, 1998. — 296 с. — ISBN 5020314102. Архивная копия от 8 января 2007 на Wayback Machine
- Минский М., Пейперт С. Персептроны = Perceptrons. — М.: Мир, 1971. — 261 с.
- Розенблатт, Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга = Principles of Neurodynamic: Perceptrons and the Theory of Brain Mechanisms. — М.: Мир, 1965. — 480 с.
- Яковлев С. С. Система распознавания движущихся объектов на базе искусственных нейронных сетей // ИТК НАНБ. — Минск, 2004. — С. 230—234.
- Kussul E., Baidyk T., Kasatkina L., Lukovich V. Перцептроны Розенблатта для распознавания рукописных цифр = Rosenblatt Perceptrons for Handwritten Digit Recognition // IEEE. — 2001. — С. 1516—1520. — ISBN 0-7803-7044-9. Архивировано 19 августа 2013 года. (англ.)
- Kussul E., Baidyk T. Improved method of handwritten digit recognition tested on MNIST database // Image and Vision Computing. — 2004. — С. 971—981. Архивировано 21 сентября 2013 года. (англ.)
Ссылки
[править | править код]- Перцептрон . Virtual Laboratory Wiki. Дата обращения: 17 января 2009. Архивировано 19 августа 2011 года.
- Ежов А. А., Шумский С. А. Нейрокомпьютинг и его применения в экономике и бизнесе . ИНТУИТ (2006). Дата обращения: 17 января 2009.