SoftCraft
разноликое программирование

Отправная точка
Программирование
Windows API
Автоматы
Нейроинформатика
Парадигмы
Параллелизм
Проектирование
Теория
Техника кодирования
Трансляторы
Учебный процесс
Прочие вопросы

Разное

Беллетристика
Брюзжалки
Цели и задачи
Об авторе


Нейроинформатика. Учебное пособие


Оглавление | Введение | П1 | П2 | П3 | Литература
Лекции: 1, 2-3, 4-6, 7.1, 7.2, 8, 9, 10, 11.1, 11.2-12, 13-14, 15-16


Лекции 15, 16. Персептрон

Персептрон Розенблатта [146, 181] является исторически первой обучаемой нейронной сетью. Существует несколько версий персептрона. Рассмотрим классический персептрон – сеть с пороговыми нейронами и входными сигналами, равными нулю или единице. Будем использовать обозначения, приведенные в работе [146].

Определение персептрона

Персептрон должен решать задачу классификации на два класса по бинарным входным сигналам. Набор входных сигналов будем обозначать n-мерным вектором x. Все элементы вектора являются булевыми переменными (переменными принимающими значения «Истина» или «Ложь»). Однако иногда полезно оперировать числовыми значениями. Будем считать, что значению «ложь» соответствует числовое значение 0, а значению «Истина» соответствует 1.

Персептроном будем называть устройство, вычисляющее следующую функцию:

,

где  – веса персептрона, θ – порог,  – значения входных сигналов, скобки  означают переход от булевых (логических) значений к числовым значениям по правилам описанным выше. В качестве входных сигналов персептрона могут выступать как входные сигналы всей сети (переменные x), так и выходные значения других персептронов. Добавив постоянный единичный входной сигнал  и положив , персептрон можно переписать в следующем виде:

, (1)

Очевидно, что выражение (1) вычисляется одним нейроном с пороговым нелинейным преобразователем (см. главу «Описание нейронных сетей»). Каскад из нескольких слоев таких нейронов называют многослойным персептроном. Далее в этой главе будут рассмотрены некоторые свойства персептронов. Детальное исследование персептронов приведено в работе [146].

Обучение персептрона. Правило Хебба

Персептрон обучают по правилу Хебба. Предъявляем на вход персептрона один пример. Если выходной сигнал персептрона совпадает с правильным ответом, то никаких действий предпринимать не надо. В случае ошибки необходимо обучить персептрон правильно решать данный пример. Ошибки могут быть двух типов. Рассмотрим каждый из них.

Первый тип ошибки – на выходе персептрона 0, а правильный ответ – 1. Для того, чтобы персептрон (1) выдавал правильный ответ необходимо, чтобы сумма в правой части (1) стала больше. Поскольку переменные  принимают значения 0 или 1, увеличение суммы может быть достигнуто за счет увеличения весов . Однако нет смысла увеличивать веса при переменных , которые равны нулю. Таким образом, следует увеличить веса  при тех переменных , которые равны 1. Для закрепления единичных сигналов с , следует провести туже процедуру и на всех остальных слоях.

Первое правило Хебба. Если на выходе персептрона получен 0, а правильный ответ равен 1, то необходимо увеличить веса связей между одновременно активными нейронами. При этом выходной персептрон считается активным. Входные сигналы считаются нейронами.

Второй тип ошибки – на выходе персептрона 1, а правильный ответ равен нулю. Для обучения правильному решению данного примера следует уменьшить сумму в правой части (1). Для этого необходимо уменьшить веса связей  при тех переменных , которые равны 1 (поскольку нет смысла уменьшать веса связей при равных нулю переменных ). Необходимо также провести эту процедуру для всех активных нейронов предыдущих слоев. В результате получаем второе правило Хебба.

Второе правило Хебба. Если на выходе персептрона получена 1, а правильный ответ равен 0, то необходимо уменьшить веса связей между одновременно активными нейронами.

Таким образом, процедура обучения сводится к последовательному перебору всех примеров обучающего множества с применением правил Хебба для обучения ошибочно решенных примеров. Если после очередного цикла предъявления всех примеров окажется, что все они решены правильно, то процедура обучения завершается.

Нерассмотренными осталось два вопроса. Первый – насколько надо увеличивать (уменьшать) веса связей при применении правила Хебба. Второй – о сходимости процедуры обучения. Ответы на первый из этих вопросов дан в следующем разделе. В работе [146] приведено доказательство следующих теорем:

Теорема о сходимости персептрона. Если существует вектор параметров α, при котором персептрон правильно решает все примеры обучающей выборки, то при обучении персептрона по правилу Хебба решение будет найдено за конечное число шагов.

Теорема о «зацикливании» персептрона. Если не существует вектора параметров α, при котором персептрон правильно решает все примеры обучающей выборки, то при обучении персептрона по правилу Хебба через конечное число шагов вектор весов начнет повторяться.

Доказательства этих теорем в данное учебное пособие не включены.

Целочисленность весов персептронов

В данном разделе будет доказана следующая теорема.

Теорема. Любой персептрон (1) можно заменить другим персептроном того же вида с целыми весами связей.

Доказательство. Обозначим множество примеров одного класса (правильный ответ равен 0) через , а другого (правильный ответ равен 1) через . Вычислим максимальное и минимальное значения суммы в правой части (1):

Определим допуск ε как минимум из  и . Положим , где m – число слагаемых в (1). Поскольку персептрон (1) решает поставленную задачу классификации и множество примеров в обучающей выборке конечно, то δ>0. Из теории чисел известна теорема о том, что любое действительное число можно сколь угодно точно приблизить рациональными числами. Заменим веса  на рациональные числа так, чтобы выполнялись следующие неравенства

Из этих неравенств следует, что при использовании весов  персептрон будет работать с теми же результатами что и первоначальный персептрон. Действительно, если правильным ответом примера является 0, имеем .

Подставив новые веса, получим:

Откуда следует необходимое неравенство

. (2)

Аналогично, в случае правильного ответа равного 1, имеем , откуда, подставив новые веса и порог получим:

Откуда следует выполнение неравенства

  (3)

Неравенства (2) и (3) доказывают возможность замены всех весов и порога любого персептрона рациональными числами. Очевидно так же, что при умножении всех весов и порога на одно и тоже ненулевое число персептрон не изменится. Поскольку любое рациональное число можно представить в виде отношения целого числа к натуральному числу, получим

, (4)

где  – целые числа. Обозначим через r произведение всех знаменателей . Умножим все веса и порог на r. Получим веса целочисленные . Из (2), (3) и (4) получаем

,

что и завершает доказательство теоремы.

Поскольку из доказанной теоремы следует, что веса персептрона являются целыми числами, то вопрос о выборе шага при применении правила Хебба решается просто: веса и порог следует увеличивать (уменьшать) на 1.

Двуслойность персептрона

Как уже упоминалось ранее в данной главе возможно использование многослойных персептронов. Однако теоремы о сходимости и зацикливании персептрона, приведенные выше верны только при обучении однослойного персептрона, или многослойного персептрона при условии, что обучаются только веса персептрона, стоящего в последнем слое сети. В случае произвольного многослойного персептрона они не работают. Следующий пример демонстрирует основную проблему, возникающую при обучении многослойных персептронов по правилу Хебба.

Пусть веса всех слоев персептрона в ходе обучения сформировались так, что все примеры обучающего множества, кроме первого, решаются правильно. При этом правильным ответом первого примера является 1. Все входные сигналы персептрона последнего слоя равны нулю. В этом случае первое правило Хебба не дает результата, поскольку все нейроны предпоследнего слоя не активны. Существует множество методов, как решать эту проблему. Однако все эти методы не являются регулярными и не гарантируют сходимость многослойного персептрона к решению даже при условии, что такое решение существует.

В действительности проблема настройки (обучения) многослойного персептрона решается следующей теоремой.

Теорема о двуслойности персептрона. Любой многослойный персептрон может быть представлен в виде двуслойного персептрона с необучаемыми весами первого слоя.

Для доказательства этой теоремы потребуется одна теорема из математической логики.

Теорема о дизъюнктивной нормальной форме. Любая булева функция булевых аргументов может быть представлена в виде дизъюнкции конъюнкций элементарных высказываний и отрицаний элементарных высказываний:

Напомним некоторые свойства дизъюнктивной нормальной формы.

Свойство 1. В каждый конъюнктивный член (слагаемое) входят все элементарные высказывания либо в виде самого высказывания, либо в виде его отрицания.

Свойство 2. При любых значениях элементарных высказываний в дизъюнктивной нормальной форме может быть истинным не более одного конъюнктивного члена (слагаемого).

Доказательство теоремы о двуслойности персептрона. Из теоремы о дизъюнктивной нормальной форме следует, что любой многослойный персептрон может быть представлен в следующем виде:

  (5)

В силу второго свойства дизъюнктивной нормальной формы (5) можно переписать в виде

  (6)

Переведем в арифметическую форму все слагаемые в (6). Конъюнкция заменяется умножением, а отрицание на разность: . Произведя эту замену в (6) и приведя подобные члены получим:

, (7)

где  – множество индексов сомножителей в l-м слагаемом,  – число, указывающее сколько раз такое слагаемое встретилось в (6) после замены и раскрытия скобок (число подобных слагаемых).

Заменим i-е слагаемое в (7) персептроном следующего вида:

. (8)

Подставив (8) в (7) получим (1), то есть произвольный многослойный персептрон представлен в виде (1) с целочисленными коэффициентами. В качестве персептронов первого слоя используются персептроны вида (8) с необучаемыми весами. Теорема доказана.

 

Подводя итоги данной главы следует отметить следующие основные свойства персептронов:

  1. Любой персептрон может содержать один или два слоя. В случае двухслойного персептрона веса первого слоя не обучаются.
  1. Веса любого персептрона можно заменить на целочисленные.
  1. При обучении по правилу Хебба после конечного числа итераций возможны два исхода: персептрон обучится или вектор весов персептрона будет повторяться (персептрон зациклится).

Знание этих свойств позволяет избежать «усовершенствований» типа модификации скорости обучения и других, столь же «эффективных» модернизаций.


Оглавление | Введение | П1 | П2 | П3 | Литература
Лекции: 1, 2-3, 4-6, 7.1, 7.2, 8, 9, 10, 11.1, 11.2-12, 13-14, 15-16