Чтение онлайн

ЖАНРЫ

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

Миркес Е. М.

Шрифт:

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

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

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

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

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

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

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

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

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

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

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

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

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

(5)

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

(6)

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

. Произведя эту замену в (6) и приведя подобные члены получим:

(7)

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

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

(8)

Подставив (8) в (7) получим (1), то есть произвольный многослойный

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

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

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

2. Веса любого персептрона можно заменить на целочисленные.

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

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

Приложение 1.

Описание пакета программ CLAB (С.Е. Гилев)

Данное приложение является документацией к пакету программ CLAB, разработанной автором программы С.Е. Гилевым.

Описание пакета

Общее описание

Пакет программ CLAB представляет собой программный имитатор нейрокомпьютера, реализованный на IBM PC/AT, и предназначен для решения задач бинарной классификации. Данный пакет программ позволяет создавать и обучать нейросеть для того, чтобы по набору входных сигналов (например, по ответам на заданные вопросы) определить принадлежность объекта к одному из двух классов, которые далее будем условно называть «красными» и «синими».

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

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

Нейросеть представляет собой набор нейронов и синапсов. Через синапсы нейрон может получать сигналы от других нейронов, а также входные сигналы, если данный нейрон является входным. Сигналы, полученные нейроном от всех входящих в него синапсов, суммируются и преобразуются в выходной сигнал согласно характеристической функции (в пакете CLAB она имеет вид Y(x)=x/(c+abs(x))). Этот сигнал в следующий момент времени подается на все выходящие из нейрона синапсы.

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

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

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

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

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

Поделиться с друзьями: