Перцептро́н, или персептрон (англ. perceptron от лат. perceptio — восприятие; нем. perzeptron) — математическая и компьютерная модель восприятия информации мозгом (кибернетическая модель мозга), предложенная Фрэнком Розенблаттом в 1957 году и реализованная в виде электронной машины «Марк-1» в 1960 году. Перцептрон стал одной из первых моделей нейросетей, а «Марк-1» — первым в мире нейрокомпьютером. Несмотря на свою простоту, перцептрон способен обучаться и решать довольно сложные задачи. Основная математическая задача, с которой он справляется, — это линейное разделение любых нелинейных множеств, так называемое обеспечение линейной сепарабельности.
Перцептрон состоит из трёх типов элементов, а именно: поступающие от сенсоров сигналы передаются ассоциативным элементам, а затем реагирующим элементам. Таким образом, перцептроны позволяют создать набор «ассоциаций» между входными стимулами и необходимой реакцией на выходе. В биологическом плане это соответствует преобразованию, например, зрительной информации в физиологический ответ от двигательных нейронов. Согласно современной терминологии, перцептроны могут быть классифицированы как искусственные нейронные сети:
• с одним скрытым слоем;
• с пороговой передаточной функцией;
• с прямым распространением сигнала
Персептрон - это сеть из элементов трех видов, распределенных по трем слоям. Их принято обозначать буквами S, A и R:
Рис.1 Простой персептрон с шестью рецепторами.
S-слой: рецепторы
Наглядный пример матрицы чувствительных рецепторов - фасеточные глаза насекомых.
В этом слое находятся элементы, через которые в персептрон поступает входная информация. Они образуют чувствительную матрицу, как рецепторы в сетчатке глаза. Каждый активизируется тем сильнее, чем сильнее внешний раздражитель на него действует, например, свет. Далее сигналы от каждого рецептора уходят в следующий A-слой. Чем сильнее активизирован рецептор, тем сильнее он "сигналит".
|
Для примера, у стрекоз каждый глаз состоит из нескольких тысяч светочувствительных рецепторов.
A-слой: нейроны
Нейрон суммирует силу сигнала, приходящего по всем входным связям, синапсам, и если сумма превышает определенный порог L, выдает положительный сигнал не выходящий аксон - и наоборот, не выдает его, если сумма входящих сигналов мала.
В этом слое находятся нейроны. Это название пришло в кибернетику из нейрофизиологии - изначально нейронами назывались нервные клетки, из которых сложен живой мозг.
В кибернетике нейрон это сумматор с пороговым эффектом (см. рис 2). У него много входных связей и всего лишь одна выходная. Нейрон постоянно суммирует все сигналы, которые в него поступают через входные связи, и если сумма достигает определенного порога, нейрон активизируется и передает сигнал по выходной связи.
В персептроне каждый элемент в S-слове связан попарно с каждым нейроном в A-слое. То есть, на каждый нейрон поступают сигналы от каждого рецептора. Важно, что сила связей между рецепторами и нейронами может быть разной. Эту силу характеризует определенный коэффициент. Чем он выше, тем лучше связь проводит сигнал от рецептора к нейрону. Если коэффициент близок к нулю, то связь слабая и сигналы от рецептора до нейрона по ней не доходят. Сила связей и соответствующие коэффициенты в процессе обучения персептрона изменяются - одни усиливаются, другие ослабляются.
|
Сигналы от нейронов поступают на последний R-слой.
R-слой: классификаторы
В этом слое находятся классификаторы. Проще всего их функцию объяснить на примере. Допустим, персептрон имеет светочувствительную матрицу рецепторов и умеет узнавать на картинках букву A. Тогда в персептроне должен быть классификатор, который активизируется, когда на картинке есть буква А. Если там другая буква, классификатор остается пассивен. Если бы мы учили персептрон узнавать две буквы, А и Б, ему потребовалось бы два классификатора и т.д. Далее мы будем говорить о самом простом персептроне, у которого всего лишь один выходной классификатор.
Кстати, классификатор тоже является нейроном и работает также: он суммирует входные сигналы от нейронов в А-слое и если сумма достигает определенного порога, классификатор срабатывает.
Однослойный персептрон способен распознавать простейшие образы. Отдельный нейрон вычисляет взвешенную сумму элементов входного сигнала, вычитает значение смещения и пропускает результат через жесткую пороговую функцию, выход которой равен +1 или -1. В зависимости от значения выходного сигнала принимается решение: +1 - входной сигнал принадлежит классу A, -1 - входной сигнал принадлежит классу B
Многослойными персептронами называют нейронные сети прямого распространения. Входной сигнал в таких сетях распространяется в прямом направлении, от слоя к слою. Многослойный персептрон в общем представлении состоит из следующих элементов:
|
• множества входных узлов, которые образуют входной слой;
• одного или нескольких скрытых слоев вычислительных нейронов;
• одного выходного слоя нейронов.
Многослойный персептрон представляет собой обобщение однослойного персептрона Розенблатта. Примером многослойного персептрона является следующая модель нейронной сети:
Количество входных и выходных элементов в многослойном персептроне определяется условиями задачи. Сомнения могут возникнуть в отношении того, какие входные значения использовать, а какие нет. Вопрос о том, сколько использовать промежуточных слоев и элементов в них, пока совершенно неясен. В качестве начального приближения можно взять один промежуточный слой, а число элементов в нем положить равным полусумме числа входных и выходных элементов.
На сегодняшний день многослойный персептрон - одна из самых популярных и используемых нейросетей. Причин успеха немало. Одно из главных преимуществ многослойного персептрона, это возможность решать алгоритмически неразрешимые задачи или задачи, для которых алгоритмическое решение неизвестно, но для которых возможно составить репрезентативный набор примеров с известными решениями. Многослойный персептрон функционирует очень похоже на человека. При обучение нейросеть, за счёт своего внутреннего строения, выявляет закономерности в связи входных и выходных образов, тем самым как бы "обобщает" полученный на обучающей выборке опыт. В этой способности к обобщению и состоит основа привлекательности многослойного персептрона. Мы сами можем и не знать какова зависимость между входными и выходными образами, достаточно иметь большой набор векторов для которых известен ожидаемый выход. Вот небольшой список задач где успешно применялся многослойный персептрон:
• Прогнозирование поведения рынка
• Распознавание речи
• Анализ изображений