Вопрос 15: Основы искусственных нейронных сетей. Обучение персептрона
Перцептро́н, или персептрон (англ. perceptron от лат. perceptio — восприятие; нем. Perzeptron) — математическая или компьютерная модель восприятия информации мозгом (кибернетическая модель мозга), предложенная Фрэнком Розенблаттом в 1957 году и впервые реализованная в виде электронной машины «Марк-1» в 1960 году. Перцептрон стал одной из первых моделей нейросетей, а «Марк-1» — первым в мире нейрокомпьютером.
Перцептрон состоит из трёх типов элементов, а именно: поступающие от датчиков сигналы передаются ассоциативным элементам, а затем реагирующим элементам. Таким образом, перцептроны позволяют создать набор «ассоциаций» между входными стимулами и необходимой реакцией на выходе. В биологическом плане это соответствует преобразованию, например, зрительной информации в физиологический ответ от двигательных нейронов. Согласно современной терминологии, перцептроны могут быть классифицированы как искусственные нейронные сети:
- с одним скрытым слоем
- с пороговой передаточной функцией;
- с прямым распространением сигнала.
Элементарный персептрон
Элементарный перцептрон состоит из элементов трёх типов: -элементов, -элементов и одного -элемента. -элементы — это слой сенсоров или рецепторов. В физическом воплощении они соответствуют, например, светочувствительным клеткам сетчатки глаза или фоторезисторам матрицы камеры. Каждый рецептор может находиться в одном из двух состояний — покоя или возбуждения, и только в последнем случае он передаёт единичный сигнал в следующий слой, ассоциативным элементам.
A-элементы называются ассоциативными, потому что каждому такому элементу, как правило, соответствует целый набор (ассоциация) -элементов. -элемент активизируется, как только количество сигналов от -элементов на его входе превысило некоторую величину θ. Таким образом, если набор соответствующих -элементов располагается на сенсорном поле в форме буквы «Д», -элемент активизируется, если достаточное количество рецепторов сообщило о появлении «белого пятна света» в их окрестности, то есть -элемент будет как бы ассоциирован с наличием/отсутствием буквы «Д» в некоторой области.
Сигналы от возбудившихся -элементов, в свою очередь, передаются в сумматор , причём сигнал от i-го ассоциативного элемента передаётся с коэффициентом . Этот коэффициент называется весом — связи.
Так же как и -элементы, -элемент подсчитывает сумму значений входных сигналов, помноженных на веса (линейную форму). -элемент, а вместе с ним и элементарный перцептрон, выдаёт «1», если линейная форма превышает порог , иначе на выходе будет «−1». Математически, функцию, реализуемую -элементом, можно записать так:
Обучение элементарного перцептрона состоит в изменении весовых коэффициентов связей —. Веса связей — (которые могут принимать значения {−1; 0; +1}) и значения порогов -элементов выбираются случайным образом в самом начале и затем не изменяются. (Описание алгоритма см. ниже.)
Обучение персептрона
Алгоритм обучения персептрона следующий:
- Присвоить синаптическим весам некоторые начальные значения. Например, нулю.
- Подать входной образ и вычислить . Если правильный, то переходят к шагу 4. Иначе к шагу 3.
- Применяя дельта-правило (см. ниже) вычислить новые значения синаптических весов.
- Повторить шаги 2-4 данного алгоритма обучения персептрона пока сеть не станет выдавать ожидаемый выход на векторах из обучающей выборки или пока отклонение не станет ниже некоторого порога.
Т.о. образом логика обучения персептрона следующая: если сигнал персептрона при некотором образе верен, то ничего корректировать не надо, если нет – производится корректировка весов. Правила корректировки весов следующие:
- Если неверен и равен нулю, то необходимо увеличить веса тех входов, на которые была подана единица.
- Если неверен и равен единице, то необходимо уменьшить веса тех входов, на которые была подана единица.
Поясним эти правила. Допустим, что на вход был подан некоторый обучающий двоичный вектор . Этому вектору соответствует выход равный единице. И этот выход неправильный. Тогда веса, присоединенные к единичным входам, должны быть уменьшены, так как они стремятся дать неверный результат. Аналогично, если некоторому другому обучающему вектору соответствует неправильный выход равный нулю, то веса, присоединенные к единичным входам, должны быть уже уменьшены.
Дельта-правило
Дельта-правило является математической моделью правил корректировки весов. Введем величину , которая равна разности между требуемым и реальным выходом:
Тогда, веса персептрона после коррекции будут равны:
где:
- – номер текущей итерации обучения персептрона;
- – коэффициент скорости обучения, позволяет управлять средней величиной изменения весов;
- – величина входа соответствующая синаптическому весу. Добавление величины в произведение позволяет избежать изменение тех весов, которым на входе соответствовал ноль.