Перцептрон является одной из первых моделей искусственной нейронной сети. Несмотря на то, что модель предложена Фрэнком Розенблаттом в 1957 году, о её возможностях и ограничениях до сегодняшнего дня не всё известно. В 1969 году Марвин Минский и Сеймур Паперт посвятили критике перцептрона целую книгу, которая показала некоторые принципиальные ограничения одной из разновидности перцептронов.
Перцептрон способен обучаться и основывается при этом на статистических данных. Информация об образе распределяется по весовым коэффициентам (аналогично коэффициентам системы уравнений), которые в совокупности описывают те или иные фрагменты образа.
Упрощая, можно сказать, что так как перцептрон основывается на статистическом обучении, то для него доступны те задачи, в которых объекты каждого класса имеют общие фрагменты, но могут быть в разных комбинациях, например, задачи распознавания образов. Трудными же для перцептрона окажутся так называемые задачи, связанные с инвариантностью образов, например, задачи чистого обобщения.
Возможности модели Исследования перцептронов показали, что перцептроны способны обучаться. Справедлива теорема о сходимости перцептрона,Розенблатт Ф., с. 102. согласно которой независимо от начальных значений коэффициентов и порядка показа образцов при обучении, перцептрон за конечное число шагов научится различать два класса объектов, если только существует такая классификация.
Структура, состоящая более чем из одного слоя A-элементов (скрытого слоя), называется многослойным перцептроном. Такой термин предложил ещё Розенблатт Розенблатт, Ф., с. 251., но про этот факт почти забыли. Со временем вопросом нейронных сетей заинтересовались математики и на основе поиска градиента разработали метод обратного распространения ошибки. Для них это была задача поиска градиента функций многих переменных. Раньше считалось, что вычислительные затраты на поиск градиента (gradH) составляют: , где — функции n переменных , а T — вычислительные затраты на вычисление одного значения функции n переменных . А теперь стало понятно, что достаточно на порядок меньших вычислительных затрат: , где C — константа, не зависящая от размерности n (в большинстве случаев C~3). Таким образом, исследование искусственных нейронных сетей, побудило обратиться к работам Лагранжа и взглянуть на них с другой точки зрения.см. Горбань А. Н., «Нейроинформатика», 1998. Глава 3: Быстрое дифференцирование, двойственность и обратное распространение ошибки Метод обратного распространения ошибки оказывается весьма частным случаем общего принципа двойственности.
После выхода книгиParallel Distributed Processing: Explorations in the Microstructures of Cognition / Ed. by Rumelhart D. E. and McClelland J. L.— Cambridge, MA: MIT Press, 1986. Румельхарта начиная с 1986 года, многослойный перцептрон используется уже в другом смысле, его называют многослойными именно потому, что там один алгоритм обратного распространения ошибки учит все слои, а не потому, что там несколько слоёв (так как, несколько слоёв было и у Розенблатта). Но перцептрон Розенблатта и многослойный перцептрон (обучаемый по алгоритму обратного распространения ошибки) достаточно разные модели нейросетей, которые специфичны для разного рода задач. Различие задач хорошо видно с математической точки зрения. Требование безошибочности разделяющего правила на обучающей выборке в случае с перцептроном Розенблатта принципиально отличается от критериев оптимальности в случае многослойного перцептрона. Если взять за основу при построении гиперплоскости, разделяющей классы, отсутствие ошибок на обучающей выборке, то чтобы удовлетворить этому условию, придётся решать систему линейных неравенств.см. Горбань А. Н., «Нейроинформатика», 1998. Глава 2: Решение задач нейронными сетями
Но уже с 2000 года начинают обращать внимание именно на оригинальную версию перцептрона, так как обучение многослойного перцептрона с помощью метода обратного распространения ошибки выявило существенные ограничения на скорость обучения. А скорость обучения стала одним из главных критериев пригодности нейронной сети, наравне и даже более важным, чем критерий точности сделанных прогнозов. Поэтому далее будет показано как с помощью перцептрона можно построить систему с достаточно точным прогнозом, и отдельно какими модификациями можно увеличить скорость обучения перцептрона.
Практическое применение перцептрона Здесь будут показаны только основы практического применения перцептрона, на двух различных задачах. Задача прогнозирования требует высокой точности, а задача управления агентами высокой скорости обучения. Поэтому, рассматривая эти задачи, можно полноценно ознакомиться с возможностями перцептрона, но этим далеко не исчерпываются варианты использования перцептрона.
Любое практическое применение перцептрона предполагает введение больше одного R-элемента. И как показано Розенблаттом Розенблатт, Ф., с. 219—224. характеристики таких систем не отличаются существенно от характеристик элементарного перцептрона, за тем исключением, что теперь оказывается возможным простыми R-элементами вырабатывать классификации, состоящие более, чем из двух классов, или обучать перцептрон реагировать одновременно на несколько различных признаков, принадлежащих возбуждающему образу (стимулу).
Прогнозирование
На практике для прогнозирования важно оптимальное кодирование классов распознаваемых образов. Для этого могут использоваться два вида кодирования реакций — конфигурационное и позиционное кодирование. Позиционное кодирование является предпочтительным, и с его помощью можно добиться хорошего качества прогнозирования. Так, например, в статье «Rosenblatt Perceptrons for Handwritten Digit Recognition»см. Kussul, Baidyk, Kasatkina, Lukovich, 2001. авторы решают задачу распознавания рукописных цифр. Для обучения имеется 60 000 цифр, а для проверки 10 000 цифр. При этом авторы обеспечивают позиционное кодирование, чем добиваются 99,2 % качества распознавания на тесте, что является одной из лучших характеристик по сравнению со всем другими способами распознавания. Позиционное кодирование как правило обеспечивается по принципу конкуренции, когда берётся во внимание только один R-элемент с самой большой степенью возбуждения, а остальные несмотря на то, что они преодолели порог во внимание не берутся.
Но обеспечить позиционное кодирование можно лишь при сравнительно небольшом числе классов, например, как в упомянутой выше работе, где число классов 10 (число цифр), несмотря на то, что самих разнообразных примеров 60 000. Если же число возможных объектов составляет несколько тысяч, то позиционное кодирование применять становится не оптимально, так как требует большое число R-элементов. Поэтому может применяться комбинация конфигурационного и позиционного кодирования, как это было сделано в работе С. Яковлева «Система распознавания движущихся объектов на базе искусственных нейронных сетей»см. Яковлев С. С., 2004.. Так, например, в этой статье объекты кодируются конфигурационно, то есть например, для 256 изображений нужно всего 8 бит (а не 256, как это было бы необходимо при позиционном кодировании). Но число самих перцептронов 16, где каждый из них следит только за 1/16 области видимости, поэтому число связей здесь даже меньше, чем это был бы один перцептрон, но следящий за всей областью видимости. Позиционность же здесь проявляется в том, что за правильный ответ считается только тот ответ, который подтверждается большим числом перцептронов. То есть конфигурационно определяется наиболее затратные признаки — принадлежность каждой части изображения определённому объекту, и позиционно уже по 16 признакам решается какой из объектов наблюдается в данный момент.
Управление агентами
Задача управления интеллектуальными агентами может быть решена на базе перцептрона. С точки зрения коннективизма, в искусственном интеллекте интересны только обучающиеся агенты, которые способны обучаться и развиваться в процессе взаимодействия с окружающей средой. При этом задача прогнозирования уходит на второй план, точность прогноза становится не определяющим критерием, так как в окружающей среде может не существовать объективной информации. Приходится полагаться только на локальную экспертную информацию, и в условиях неопределённости выбирать набор действий для агента, которые в долгосрочной перспективе должны приспособить его к окружающей среде.
В таких задачах становится важным анализировать не только текущую информацию, но и общий контекст ситуации в которую попал агент. Таким образом, становятся необходимы обратные связи, и применение перцептронов с обратной связью. Самим Розенблаттом такие перцептроны были исследованы лишь поверхностно, что не позволяло их применять практически. В то же время известные рекуррентные нейронные сети, такие как Нейронная сеть Джордана использовали для обучения метод обратного распространения ошибки, что делало их очень медленными и не гарантировало сходимости. Поэтому впоследствии были предложены сети объединяющие характеристики быстрого обучения методом коррекции ошибки и возможности обратных связей с внутренними контекстными элементами как у сети Джордана.
Из-за того, что скорость обучения не позволяет в должной мере управлять агентом в режиме реального времени постоянно ведутся способы повышения скорости обучения. Одним из подходов здесь является моделирование рефрактерности. Кроме того, этот принцип позволяет приблизить модель формального нейрона к биологическому нейрону, и увидеть те необходимые принципы, которые необходимы для моделирования рефрактерности.
Теоретические возможности перцептрона
Задача теоретической модели мозга (которой является перцептрон) состоит в том, чтобы показать, как в некоторой физической системе, структура и функциональные свойства которой известны, могут возникать психологические явления. Розенблатт предлагал следующие виды психологических тестов: эксперименты по различению, обобщению, обнаружению геометрических фигур, эксперименты по количественным оценкам, по распознаванию последовательностей, по распознаванию отношений, обучению программам, избирательному вспоминанию, образованию абстрактных понятий, формированию и свойствам «самосознания», творческого воображения.Розенблатт, Ф., с. 70—77. Ряд из этих экспериментов далеки от современных возможностей перцептронов, поэтому их развитие происходит больше философски в пределах направления коннективизма. В то же время, ограничения показаны только для элементарного перцептрона, а более сложные архитектуры перцептронов изучены очень слабо и не последовательно. Поэтому сейчас ещё очень рано говорить о реальных возможностях перцептронных моделей.
Тем не менее, для перцептронов доказаны следующие факты, находящие применение в практических задачах: Возможность классификации. Сеть с одним скрытым слоем, содержащим H нейронов со ступенчатой функцией активации, способна осуществить произвольную классификацию Hd точек d-мерного пространства (то есть классифицировать Hd примеров). Одного скрытого слоя нейронов с сигмоидной функцией активации достаточно для аппроксимации любой границы между классами со сколь угодно высокой точностью.см. Ежов А. А., Шумский С. А. «Нейрокомпьютинг…», 2006. Лекция 3: Обучение с учителем: Распознавание образов Возможность аппроксимации. Одного скрытого слоя нейронов с сигмоидной функцией активации достаточно для аппроксимации любой функции со сколь угодно высокой точностью. Более того, такая сеть может одновременно аппроксимировать и саму функцию и её производные. Выбор непрерывной (монотонной) функции активации (например, сигмоидальной) не влияет на достижение решения. Единственное, для чего имеет смысл усложнять функцию активации по сравнению с пороговой (которая является самой наипростейшей), — это возможность интерпретации выходов нейронов как вероятностей принадлежности к соответствующему классу, что в свою очередь может повлиять на качество прогноза.