Нейроинформатика персептрон и его развитие 1 Мозг и компьютер - umotnas.ru o_O
Главная
Поиск по ключевым словам:
Похожие работы
Нейроинформатика персептрон и его развитие 1 Мозг и компьютер - страница №1/3

ГЛАВА 3. НЕЙРОИНФОРМАТИКА
3.1. ПЕРСЕПТРОН И ЕГО РАЗВИТИЕ
3.1.1. Мозг и компьютер

На самой заре компьютерной эры в середине XX века были предложены различные варианты принципов действия и архитектурного исполнения электронно-вычислительных машин. Многие из этих вариантов не получили дальнейшего развития и были забыты. Наиболее плодотворной оказалась архитектура машины фон Неймана, которую имеет большинство современных компьютеров. Однако наряду с машиной фон Неймана до наших дней дошла еще одна схема, которая в последние годы получила стремительное развитие и применение. Речь идет о нейросетевых и нейрокомпьютерных технологиях.

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

Таблица 3.1. Сопоставление принципов построения и свойств современного компьютера (машины фон Неймана) и человеческого мозга



Параметр

Машина фон Неймана

Человеческий мозг

Процессор

Сложный

Простой

Высокоскоростной

Низкоскоростной

Один или несколько

Большое количество

Память

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

Интегрирована в процессор

Локализованная

Распределенная

Адресация не по содержанию

Адресация по содержанию

Вычисления

Централизованные

Распределенные

Последовательные

Параллельные

По хранимым программам

По самообучающимся программам

Надежность

Высокая уязвимость

Живучесть

Среда функционирования

Строго определенная

Плохо определенная

Строго ограниченная

Без ограничений

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

Мозг человека состоит из белого и серого вещества: белое – это тела нейронов, а серое – соединяющие их нервные волокна. Каждый нейрон состоит из трех частей: тела клетки, дендритов и аксона.

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



Простейший нейрон может иметь до 10000 дендритов, принимающих сигналы от других клеток. В человеческом мозге содержится приблизительно 1011 нейронов. Каждый нейрон связан с 103  104 другими нейронами. Таким образом, биологическая нейронная сеть, составляющая мозг человека, содержит 10141015 взаимосвязей.

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

Нейроны взаимодействуют между собой посредством коротких серий импульсов продолжительностью несколько микросекунд. Частота импульсов составляет от нескольких единиц до сотен герц, что в миллион раз медленнее, чем в современных электронных схемах. Тем не менее, такие сложные операции, как распознавание зрительного образа, человек выполняет за несколько сотен микросекунд. Если учесть, что скорость выполнения операций нейронами составляет единицы микросекунд, то вся операция распознавания требует около 100 последовательных нейронных операций. Это значит, что при распознавании образов человеческий мозг запускает параллельные программы, каждая из которых имеет не более ста шагов. Сделанный вывод известен под названием «правило ста шагов».

Известно, что общее число нейронов в течение жизни человека практически не изменяется, т.е. мозг ребенка и мозг взрослого человека содержат приблизительно одинаковое число нейронов. Примерно одинаковое число нейронов содержат мозг ученого, политического деятеля и спортсмена. Отличие состоит в силе синаптических связей, т.е. в величине электрических проводимостей нервных волокон, соединяющих нейроны. На этом основании была высказана гипотеза о том, что все наши мысли, эмоции, знания, вся информация, хранящаяся в человеческом мозге, закодирована в виде сил синаптических связей. Если учесть, что таких связей в человеческом мозге
1014  1015, то получается, что именно такой размер имеет матрица кодов хранимой информации. Процесс же обучения человека, продолжающийся всю его жизнь, состоит в непрерывной корректировке содержимого этой матрицы.
3.1.2. Математический нейрон Мак-Каллока – Питтса

Исторически первой работой, заложившей теоретический фундамент для создания интеллектуальных устройств, не только функционально, но и структурно моделирующих человеческий мозг, принято считать опубликованную в 1943 году статью Уоррена Мак-Каллока и Вальтера Питтса. Ее авторы выдвинули гипотезу математического нейрона – устройства, моделирующего нейрон мозга человека. Математический нейрон тоже имеет несколько входов и один выход. Через входы, число которых обозначим J, математический нейрон принимает входные сигналы xj, которые суммирует, умножая каждый входной сигнал на некоторый весовой коэффициент wj:



(3.1)

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



y = 1, если S  ; (3.2)

y = 0, если S < , (3.3)

где  – порог чувствительности нейрона.

Таким образом, математический нейрон, как и его биологический прототип, существует в двух состояниях. Если взвешенная сумма входных сигналов S не достигает некоторой пороговой величины , то математический нейрон не возбужден и его выходной сигнал равен нулю. Если же входные сигналы достаточно интенсивны и их сумма достигает порога чувствительности, то нейрон переходит в возбужденное состояние и на его выходе образуется сигнал y = 1. Весовые коэффициенты wj, имитируют электропроводность нервных волокон – силу синаптических связей между нейронами. Чем они выше, тем больше вероятность перехода нейрона в возбужденное состояние. Логическая функция (3.2), (3.3), называемая активационной функцией нейрона, графически изображена на рис. 3.2.

Таким образом, математический нейрон представляет собой пороговый элемент с несколькими входами и одним выходом. Одни из входов математического нейрона оказывают возбуждающее действие, другие – тормозящее. Каждый математический нейрон имеет свое определенное значение порога. На рис. 3.3 приведены схематические представления математических нейронов, связанных между собой в нейронную сеть.



Математический нейрон обычно изображают кружочком, возбуждающий вход – стрелкой, а тормозящий – маленьким кружочком. Рядом может записываться число, показывающее значение порога . Как показано на рис. 3.4, математические нейроны могут реализовывать различные логические функции.



Так, математический нейрон, имеющий два входа с единичными силами синаптических связей w1 = w2 = 1, согласно формулам (3.1) – (3.3) реализует функцию логического умножения «И» при  = 2 и функцию логического сложения «ИЛИ» при  = 1. Нейрон с одним входом, у которого


w = –1, реализует логическую функцию «НЕТ» при  = 0.
3.1.3. Персептрон Розенблатта и правило Хебба

У. Мак-Каллок и В. Питтс предложили конструкцию сети из математических нейронов и показали, что такая сеть в принципе может выполнять числовые и логические операции. Далее они высказали идею о том, что сеть из математических нейронов в состоянии обучаться, распознавать образы, обобщать, т.е. она обладает свойствами человеческого интеллекта.

Идея Мак-Каллока – Питтса была материализована в 1958 году Фрэнком Розенблаттом сначала в виде компьютерной программы для ЭВМ IBM-794, а затем, спустя два года, в виде электронного устройства, моделирующего человеческий глаз. Это устройство, имеющее в качестве элементной базы модельные нейроны Мак-Каллока – Питтса и названное персептроном, удалось обучить решению сложнейшей интеллектуальной задачи – распознаванию букв латинского алфавита. Таким образом, удалось проверить основные гипотезы функционирования человеческого мозга и сам механизм его обучаемости. «Нельзя сказать, что мы точно воспроизводим работу человеческого мозга, – признавал Ф. Розенблатт, – но пока персептрон ближе всего к истине».

Разберем принцип действия персептрона на примере решения конкретных задач. На рис. 3.5 приведен один из простейших вариантов исполнения персептрона, предназначенного для классификации цифр на четные и нечетные.

Представим себе матрицу из 12 фотоэлементов, расположенных в виде четырех горизонтальных рядов, в каждом из которых три фотоэлемента. На матрицу фотоэлементов накладывается карточка с изображением цифры (на рис. 3.5 – это цифра 4). Если на фотоэлемент попадает какой-либо фрагмент цифры, то данный фотоэлемент вырабатывает сигнал в виде двоичной единицы, в противном случае – нуль. На рис. 3.5 первый фотоэлемент выдает сигнал
х1 = 0, второй фотоэлемент – х2 = 1 и т.д. Согласно формулам (3.1) – (3.3) персептронный нейрон выполняет суммирование входных сигналов хj, помноженных на синаптические веса wj, первоначально заданные датчиком случайных чисел. После этого сумма сравнивается с порогом чувствительности , также заданным случайным образом. Цель обучения персептрона состоит в том, чтобы выходной сигнал y был равен единице, если на карточке была изображена четная цифра, и нулю, если цифра была нечетной.

Эта цель достигается путем обучения персептрона, заключающемся в корректировке весовых коэффициентов wj. Если, например, на вход персептрона была предъявлена карточка с цифрой 4 и выходной сигнал y случайно оказался равным единице, означающей четность, то корректировать веса не нужно, так как реакция персептрона правильна. Однако если выход неправилен и у = 0, то следует увеличить веса тех активных входов, которые способствуют возбуждению нейрона. В данном случае увеличению подлежат w2, wj, w11 и др.

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

Шаг 1. Подать входной образ и вычислить выход персептрона у.

Шаг 2а. Если выход правильный, то перейти на шаг 1.

Шаг 2б. Если выход неправильный и равен нулю, то увеличить веса активных входов, например, добавить все входы к соответствующим им весам: wj(t + 1) = wj(t) + xj.

Шаг 2в. Если выход неправильный и равен единице, то уменьшить веса активных входов, например, вычесть каждый вход из соответствующего ему веса: wj(t + 1) = wj(t) – xj.

Шаг 3. Перейти на шаг 1 или завершить процесс обучения.

В приведенном здесь алгоритме шаг 2б называют первым правилом Хебба, а шаг 2ввторым правилом Хебба, в честь ученого, предложившего этот алгоритм в 1949 году. Отметим, что правила Хебба удивительным образом напоминают процесс обучения ребенка методом поощрения – наказания или дрессировки животного методом «кнута и пряника». Как и в случаях с ребенком и животным, алгоритм обучения персептрона за конечное число попыток (итераций, или эпох) может привести к цели – персептрон научится различать четные и нечетные цифры.

Возникает вопрос: «Всегда ли алгоритм обучения персептрона приводит к желаемому результату?». Ответ на этот вопрос дает теорема сходимости персептрона, формулируемая следующим образом.



Если существует множество значений весов, которые обеспечивают конкретное различение образов, то в конечном итоге алгоритм обучения персептрона приводит либо к этому множеству, либо к эквивалентному ему множеству, такому, что данное различение образов будет достигнуто.

Интересно отметить, что по числу выполненных доказательств теорема сходимости персептрона занимает одно из первых мест в мире. Ранее самой доказанной в мире теоремой считалась теорема Пифагора.


3.1.4. Дельта-правило и распознавание букв

Рассмотренный алгоритм обучения персептрона можно представить в более общей форме. Если через d обозначить требуемый выходной сигнал, то на каждой итерации можно рассчитывать разницу между требуемым ответом персептрона d и реальным значением у, вычисляемым на его выходе:

 = (dy). (3.4)

Тогда случай  = 0 соответствует шагу 2а, когда выход правилен; случай  > 0 – шагу 2б; случай  < 0 – шагу 2в.

Идея алгоритма обучения персептрона с помощью правил Хебба сохранится, если итерационный процесс вести по формулам:

wj(t + 1) = wj(t) + wj; (3.5)

wj = хj, (3.6)

где wj(t) и wj(t + 1) – соответственно старое и новое значения весовых коэффициентов персептрона; j – номер входного сигнала. Кроме того, можно получить аналогичную итерационную формулу для подстройки порогового значения нейрона , если учесть, что его можно интерпретировать как вес дополнительного входа х0, значение которого равно –1:

(t + 1) = (t) + ; (3.7)

 = –. (3.8)

В итерационные формулы можно ввести коэффициент скорости обучения , с помощью которого можно управлять величиной коррекции весов:

wj = хj; (3.9)

 = –. (3.10)

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

На рис. 3.6 приведена схема персептрона, предназначенного для распознавания букв русского алфавита. В отличие от предыдущей схемы такой персептрон имеет 33 нейрона, таким образом, каждой букве алфавита соответствует свой нейрон. Полагается, что выход первого нейрона у1 должен быть равен единице, если персептрону предъявлена буква «А», и нулю для всех остальных букв. Выход второго нейрона у2 должен быть равен единице, если персептрону предъявлена буква «Б», и нулю во всех остальных случаях. И так далее до буквы «Я».



Алгоритм обучения данного персептрона выглядит следующим образом.

Шаг 1. Датчиком случайных чисел всем весовым коэффициентам wij и пороговым значениям нейронов i (i = 1, …, 33, j = 1, …, 12) присваиваются некоторые малые значения.

Шаг 2. Персептрону предъявляется какая-либо буква алфавита, и системой фотоэлементов вырабатывается входной вектор хj (j = 1, …, 12).

Шаг 3. Каждый нейрон выполняет взвешенное суммирование входных сигналов

и вырабатывает выходной сигнал yi = 1, если Si  i; yi = 0, если Si < i.

Шаг 4. Для каждого нейрона вычисляется ошибка

i = (diyi),

где di – вектор правильных ответов персептрона (например, для буквы «A»:
d1 = 1, d2 = 0, …, d33=0 и т.д.).

Шаг 5. Производится корректировка весовых коэффициентов персептрона и пороговых значений нейронов:



wij(t + 1) = wij(t) + wij; wij = i хj;

i(t + 1) = i(t) + i; i = –i,

где t – номер итерации, или эпохи.

Шаг 6. Повторение шагов 2 – 5 необходимое число раз.


3.1.5. Адалайн, мадалайн и обобщенное дельта-правило

Персептрон, схема которого приведена на рис. 3.6, предназначен для распознавания букв алфавита. Однако его можно попытаться использовать и для решения других практических задач. Например, обучить выполнять прогноз погоды или ставить диагнозы болезней. Все зависит от того, какой смысл придавать входному вектору хj и выходному вектору yi. Круг решаемых задач значительно расширится, если научить персептрон выдавать не только бинарные выходные сигналы типа ноль и единица, но и аналоговые, т.е. имеющие непрерывные значения. Такое обобщение персептрона было сделано Уидроу и Хоффом, которые вместо ступенчатой (см. рис. 3.2) ввели непрерывную нелинейную функцию активации



, (3.11)

график которой изображен на рис. 3.7. Эту функцию назвали сигмоидой из-за того, что ее графическое изображение напоминает латинскую букву «S». Другое название сигмоиды – логистическая функция.



Подобно обычной пороговой функции активации, сигмоида отображает точки области определения (–, +) на интервал (0, +1). Практически сигмоида обеспечивает непрерывную аппроксимацию классической пороговой функции. Для сигмоиды принято обозначение у = f(S).

Персептроны с сигмоидными активационными функциями с одним выходом назвали адалайн, с несколькими выходами – мадалайн (от английских слов ADAptive LInear NEuron и Many ADALINE). Появление персептронов с непрерывными активационными функциями обусловило и новые подходы к их обучению. Уидроу и Хофф предложили минимизировать среднеквадратичную ошибку, определяемую как разность между требуемыми di и реальными yi выходными сигналами персептрона:

 = . (3.12)

Рассмотрим алгоритм коррекции весовых коэффициентов персептрона, имеющего J входов и I выходов (рис. 3.8). Среднеквадратичная ошибка  является многомерной функцией весовых коэффициентов, т.е.  = (wij), и в пространстве координат wij представляется в виде некоторой многомерной поверхности – гиперповерхности. Если оставить только две оси координат, например w11 и w12, то эта поверхность будет иметь вид фигуры, напоминающей параболоид (рис. 3.9), который, однако, может иметь как один, так и несколько минимумов. Поэтому такую поверхность будем называть псевдопараболоидом. Обучение персептрона можно представить как задачу отыскания такого сочетания весовых коэффициентов wij, которому соответствует самая нижняя точка гиперпсевдопараболоида. Такую задачу называют оптимизационной и говорят, что она состоит в минимизации функционала  = (wij) в пространстве параметров wij.

Существует множество методов решения оптимизационных задач. Наиболее простым является случайный перебор весовых коэффициентов wij с последующими вычислениями и сравнениями между собой соответствующих этим коэффициентам функций ошибок . Однако более эффективным является метод градиентного спуска, согласно которому изменение (коррекция) каждого весового коэффициента wij, производится в сторону, противоположную градиенту поверхности гиперпсевдопараболоида, т.е.



, (3.13)

где  – коэффициент скорости обучения.

Среднеквадратичная ошибка  является сложной функцией, зависящей, в первую очередь, от выходных сигналов персептрона уi поэтому

. (3.14)

Здесь yi = f(Si), где . Следовательно,



. (3.15)

Кроме того, если продифференцировать (3.12) по уn, где n  [1, I], то получится , а значит,



. (3.16)

Подставив (3.15) и (3.16) в (3.14) и затем полученное выражение в (3.13), окончательно будем иметь



. (3.17)

Это выражение получено для нейронов с активационными функциями любого вида. Однако, если – сигмоида, заданная формулой (3.11), то



. (3.18)

Подставив это выражение в (3.17), получим



. (3.19)

Итак, мы получили итерационную формулу для обучения однослойного персептрона



wij(t + 1) = wij(t) + wij, (3.20)

в которой

wij = i xj; (3.21)

i = (diyi) yi (1 – yi). (3.22)

Этот алгоритм называют обобщенным дельта-правилом, преимущество которого состоит в более быстрой сходимости и возможности более точной обработки входных и выходных непрерывных сигналов, т.е. в расширении круга решаемых персептронами задач и возможности получения более точных и качественных решений.
3.1.6. Ограниченность однослойного персептрона

Как уже отмечалось ранее, Ф. Розенблатту удалось обучить свой персептрон распознавать буквы алфавита. Это был колоссальный успех. Электронное устройство, созданное по образу и подобию человеческого мозга, обученное подобно человеку, успешно моделировало интеллектуальные функции человека. Это был шаг вперед в познании самой природы человеческого мышления. Мозг начал раскрывать свои тайны. Появилась возможность исследовать мозг методами моделирования, не прибегая к сложнейшим антигуманным и мало что дающим натурным экспериментам. Это была сенсация, приковавшая к себе внимание мыслящих людей всего мира. Казалось, что ключ к интеллекту был найден и полное воспроизведение человеческого мозга и всех его функций – всего лишь вопрос времени. Ученым, инженерам, бизнесменам, политикам виделись самые радужные перспективы практического применения систем искусственного интеллекта. Правительство США выделило крупные субсидии на развитие нового перспективного научного направления.

Между тем, класс решаемых персептронами задач расширялся. Делались попытки применения персептронов в задачах прогнозирования, таких как предсказание погоды и курсов акций. Персептроны применялись для решения задач диагностики, таких как анализ электрокардиограмм и заключение врача о диагнозе болезни пациента. По мере расширения фронта научных исследований появились трудности. Неожиданно оказалось, что многие новые задачи персептрон решить не мог, причем эти задачи внешне ничем не отличались от тех, с которыми персептрон успешно справлялся ранее. Возникла необходимость объяснения возникших парадоксов, глубокого анализа и создания теоретической базы персептронов.

Следующий период истории персептронов начался с появления книги М. Минского и С. Пайперта «Персептроны». В этой книге математически строго было доказано, что использовавшиеся в то время однослойные персептроны в принципе не способны решать многие простые задачи. Одну из таких задач, заключающуюся в реализации логической операции «Исключающее ИЛИ», мы рассмотрим подробно.

«Исключающее ИЛИ» – это булева функция двух аргументов, каждый из которых может иметь значение «истинно» либо «ложно». Сама она принимает значение «истинно», когда только один из аргументов имеет значение «истинно». Во всех остальных случаях функция принимает значение «ложно»:

у = (х1 AND NOT х2) OR (x2 AND NOT x1). (3.23)

Задача состоит в том, чтобы реализовать функцию (3.23) с помощью однонейронного персептрона с двумя входами х1 и х2 и одним выходом у


(рис. 3.10).

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


x1х2 в виде четырех точек: А1 А2, В1, В2, как показано на рис. 3.11. Например, точке А1 соответствуют входные сигналы x1 = 0 и х2 = 0, а точке А2 соответствуют входные сигналы x1 = 1 и х2 = 1.

Требуемое формулой (3.23) соответствие между входными и выходными сигналами персептрона сведено в табл. 3.2, называемую таблицей истинности логической функции.

Таблица 3.2. Таблица истинности функции «Исключающее ИЛИ»


Точки

Значение х1

Значение х2

Значение y

А1

0

0

0

А2

1

1

0

В1

1

0

1

В2

0

1

1

Согласно формулам (3.1) – (3.3) однонейронный персептрон, изображенный на рис. 3.10, осуществляет преобразование:



S = wl x1 + w2 x2; (3.24)

у = 1, если S  ; (3.25)

у = 0, если S < . (3.26)

Заменим в уравнении (3.24) S на :



w1xl + w2x2 = . (3.27)

Если в этом уравнении величины х1 и х2 считать переменными, а , w1 и w2 – константами, то на плоскости х1х2 рассматриваемое уравнение изобразится в виде прямой линии, положение и наклон которой определяются значениями весовых коэффициентов w1 w2 и порога . Для всех точек плоскости х1 – х2, лежащих на этой линии, выполняется равенство S = , и поэтому, вследствие (3.25), выход персептрона равен единице. Для точек, лежащих выше указанной линии, выход персептрона также равен единице, а для точек, лежащих ниже этой линии, выход персептрона равен нулю. Поэтому линию, изображающую уравнение (3.27), называют пороговой прямой.

Согласно табл. 3.2 в точках А1 и А2 выход персептрона должен быть нулевым, а в точках В1 и В2 – единичным. Но для этого надо расположить пороговую прямую так, чтобы точки А1 и А2 лежали ниже этой линии, а точки В1 и В2 – выше, что невозможно. Это значит, что, какие бы значения ни придавались весам и порогу, рассмотренный персептрон в принципе не способен воспроизвести соотношение между входами и выходом, требуемое для представления функции «Исключающее ИЛИ».

Помимо проблемы «Исключающее ИЛИ» в книге приведен ряд других задач, в которых входы персептронов не могут быть разделены пороговой прямой (в многомерных случаях – плоскостью, гиперплоскостью). Такие задачи получили название линейно неразделимых.


3.1.7. Многослойный персептрон и алгоритм обратного распространения ошибки

Появление книги «Персептроны» вызвало шок в научном мире. Строгие математические доказательства М. Минского и С. Пайперта были неуязвимы. Всеобщий энтузиазм сменился не менее всеобщим пессимизмом. Правительство США прекратило финансирование нейропроектов, и персептроны были преданы забвению, длившемуся более 20 лет.

Тем не менее, работы в области нейросетевых и нейрокомпьютерных технологий продолжались отдельными наиболее настойчивыми исследователями. Многие понимали, что надо усложнять структуру персептронов, т.е. продолжать приближать компьютерную модель к
оригиналу – человеческому мозгу. Оказалось, что проблему «Исключающее ИЛИ» можно решить с помощью двухслойного персептрона, изображенного на рис. 3.12.

Работа этого персептрона происходит по следующему алгоритму.



Нейрон №1:

S1 = 0,5  х1 + (–0,5)  х2;

у1 = 1, если S1  ;

у1 = 0, если S1 < .

Нейрон №2:

S2 = (–0,5)  х1 + 0,5  х2;

у2 = 1, если S2  ;

у2 = 0, если S2 < .

Нейрон №3:

S3 = l  y1 + l  y2;

у3 = 1, если S3  ;

у3 = 0, если S3 < .

С помощью этих формул легко проверить таблицу истинности персептрона, составленную при задании порога  = 0,5 (табл. 3.3).

Таблица 3.3. Таблица истинности двухслойного персептрона
(см. рис. 3.12)


x1

x2

S1

S2

y1

y2

S3

y3

y

0

0

0

0

0

0

0

0

0

0

1

–0,5

0,5

0

1

1

1

1

1

0

0,5

–0,5

1

0

1

1

1

1

1

0

0

0

0

0

0

0

Советским ученым С.О. Мкртчяном был разработан специальный математический аппарат, позволяющий без обучения строить многослойные персептроны, моделирующие любые булевы функции.

Многие исследователи понимали, что объединение нейронов в нейронные сети расширяет класс задач, решаемых персептроном, но не представляли, как такие сети обучать. Простые и изящные правила Хебба и их обобщение – дельта-правило – годились только для корректировки синаптических весов нейронов выходного слоя, тогда как вопрос о настройке параметров внутренних нейронных слоев оставался открытым.

Эффективный алгоритм обучения многослойных персептронов, открывший путь для их широкого практического применения, стал известен только в 1986 году, благодаря работе Румельхарта, Хилтона и Вильямса. Интересно, что данный фундаментальный алгоритм, называемый алгоритмом обратного распространения ошибки (back propagation), был предложен на один год ранее в работах Паркера и Ле-Кана, изданных независимо одна от другой. Более того, еще в 1974 году этот простой и изящный алгоритм обратного распространения ошибки был защищен Вербосом в его докторской диссертации. Тогда он остался незамеченным и только спустя более десяти лет был «переоткрыт» заново и получил всеобщее признание и применение.

Рассмотрим алгоритм обратного распространения ошибки, попытавшись обобщить дельта-правило для случая обучения двухслойного персептрона, имеющего N входов, I выходов и скрытый слой из J нейронов (рис. 3.13).

Алгоритм корректировки синаптических весов нейронов выходного слоя оставим таким же, как для однослойного персептрона (см. формулы (3.20) – (3.22)), заменив хj на уj.



wij(t + 1) = wij(t) + wij; (3.28)

wij = iyj; (3.29)

i = (diyi)yi(l – yi). (3.30)

Синаптические веса нейронов скрытого слоя попытаемся корректировать с помощью тех же самых формул, в которых индекс i заменим на j, а индекс j – на n:

wjn = j yn; (3.31)

j = (djyj)yj(l – yj). (3.32)

Понятно, что в последнем выражении в качестве уn следует использовать хn. Однако неясным здесь остается вопрос о вычислении нейронной ошибки
(djyj), которая для скрытого слоя неизвестна. Идея авторов рассматриваемого алгоритма состояла в том, чтобы в качестве этой ошибки использовать суммарные ошибки с выходного слоя, помноженные на силы соответствующих синаптических связей, т.е.

. (3.33)

Итак, для скрытого слоя окончательно имеем:

wjn = j xn; (3.34)

. (3.35)

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



. (3.36)

Смещение wi0 задается так же, как и синаптические веса wij, т.е. датчиком случайных чисел. Ввод смещения в формулу преобразования нейрона можно интерпретировать как добавление еще одного входного сигнала х0, который всегда равен единице. Поэтому, чтобы не усложнять выкладки, сумму (3.36) представим в более компактном виде:



, (3.37)

приняв х0 = 1.

Алгоритм обратного распространения ошибки распишем для многослойного персептрона, имеющего входной слой k = 0, несколько скрытых слоев k = 1, 2, …, K–1 и выходной слой k = K (рис. 3.14).

Нейроны входного слоя математических преобразований не выполняют, а лишь передают входные сигналы нейронам первого слоя. Будем полагать, что каждый k-й слой содержит Hk нейронов. Таким образом, персептрон имеет


N = H0 входов и М = HK выходов. В алгоритме будем использовать следующие обозначения:

i – порядковый номер нейрона k-го слоя;

j – порядковый номер нейрона (k – 1)-го слоя;

l – порядковый номер нейрона (k + 1)-го слоя.

Шаг 1. Инициализация синаптических весов и смещений.

В циклах по k = 1, 2, …, K; i = 1, 2, …, Нk, j = 1, 2, …, Нk–1 синаптическим весам и смещениям wij(k) датчиком случайных чисел присваиваются малые величины, например, из интервала от -1 до 1.

Шаг 2. Представление из обучающей выборки очередного входного вектора Хq = (х1, х2, …, xN)q и соответствующего ему желаемого выходного вектора Dq = (d1, d2, …, dM)q, где q – номер примера в обучающей выборке.

Шаг 3. Прямой проход.

В циклах по k = 1, 2, ..., K; i = 1, 2, …, Hk вычисляются выходные сигналы i-го нейрона в k-м слое



, (3.38)

где yj(0) = xj, x0 = 1, y0(k–1) = 1, и выходные сигналы персептрона yi = yi(K).

Шаг 4. Обратный проход.

В циклах по k = K, K–1, …, 1; i = 1, 2, …, Hk; j = 1, 2, …, Нk–1 вычисляются синаптические веса на новой эпохе



wij(k)(t+1) = wij(k)(t) + wij(k)(t+1), (3.39)

где


wij(k)(t+1) = i(k)yj(k–1), (3.40)

причем для выходного слоя k = K согласно (3.30)

i(K) = (diyi)yi(l – yi),

а для всех других случаев согласно (3.35)



. (3.41)

Шаг 5. Повторение шагов 2 – 4 необходимое число раз.

Входные векторы обучающих примеров Xq и Dq на втором шаге алгоритма обычно представляются последовательно от первого до последнего, т.е. q = 1, 2, …, Q, где Q – общее число примеров. В случае распознавания букв русского алфавита Q = 33. После того как для каждого обучающего примера будут скорректированы весовые коэффициенты персептрона, т.е. шаги 2 – 4 будут повторены 33 раза, на пятом шаге алгоритма вычисляется среднеквадратичная ошибка, усредненная по всем обучающим примерам:

. (3.42)

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

 = max(|diyi|)q; i = 1, 2, …, М; q = 1, 2, …, Q. (3.43)

Итерационный процесс заканчивается после того, как погрешность , вычисляемая по формулам (3.42) или (3.43), достигнет заданной величины, либо при достижении предельного числа эпох обучения. В результате персептрон обучится выполнять нужное отображение любого входного вектора Xq на выходной вектор Yq, отличающийся от желаемого вектора Dq на некоторую малую величину.

Теперь представим себе, что на входное табло фотоэлементов попала карточка с какой-либо буквой, выполненной другим шрифтом. Фотоэлементы сформируют входной вектор X, не совпадающий ни с одним из векторов из использованной обучающей выборки. Если шрифт, которым выполнена входная буква, не слишком отличается от шрифта обучающей выборки, а персептрон хорошо спроектирован и обучен, то он вычислит вектор Y, в котором выход нейрона, соответствующего представленной на вход букве, будет иметь максимальное значение. Таким образом, персептрон, несмотря на помехи и искажения входного образа, выдаст правильное заключение о его принадлежности к тому или иному классу. Свойство персептрона правильно реагировать на входные образы, которых не было в обучающей выборке, называется свойством обобщения.
3.2. ВОЗМОЖНОСТИ И ОБЛАСТИ ПРИМЕНЕНИЯ ПЕРСЕПТРОНОВ
3.2.1. Новый подход к методу математического моделирования

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


вектор Y.

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

Традиционно математические модели строились путем изучения и использования фундаментальных законов природы. В результате рассмотрения этих моделей вытекали математические формулы либо формулировки краевых задач для дифференциальных уравнений.

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

Появился новый инструмент извлечения знаний из данных, позволяющий заново открывать фундаментальные законы природы, выявлять ранее неизвестные и никогда не исследованные зависимости и закономерности и активно использовать их для решения конкретных практических задач.
следующая страница >>