1. Любой персептрон может содержать один или два слоя. В случае двухслойного персептрона веса первого слоя не обучаются.
2. Веса любого персептрона можно заменить на целочисленные.
3. При обучении по правилу Хебба после конечного числа итераций возможны два исхода: персептрон обучится или вектор весов персептрона будет повторяться (персептрон зациклится).
Знание этих свойств позволяет избежать «усовершенствований» типа модификации скорости обучения и других, столь же «эффективных» модернизаций.
Приложение 1.
Описание пакета программ CLAB (С.Е. Гилев)
Данное приложение является документацией к пакету программ CLAB, разработанной автором программы С.Е. Гилевым.
Пакет программ CLAB представляет собой программный имитатор нейрокомпьютера, реализованный на IBM PC/AT, и предназначен для решения задач бинарной классификации. Данный пакет программ позволяет создавать и обучать нейросеть для того, чтобы по набору входных сигналов (например, по ответам на заданные вопросы) определить принадлежность объекта к одному из двух классов, которые далее будем условно называть «красными» и «синими».
Пакет программ CLAB может использоваться в задачах медицинской диагностики, психологического тестирования, для предсказания результатов выборов и др.
В данном руководстве не рассматриваются теоретические вопросы (алгоритмы обучения и др.). Для желающих ознакомиться с ними приводится список литературы. Здесь мы ограничимся лишь информацией, необходимой для работы с пакетом.
Нейросеть представляет собой набор нейронов и синапсов. Через синапсы нейрон может получать сигналы от других нейронов, а также входные сигналы, если данный нейрон является входным. Сигналы, полученные нейроном от всех входящих в него синапсов, суммируются и преобразуются в выходной сигнал согласно характеристической функции (в пакете CLAB она имеет вид Y(x)=x/(c+abs(x))). Этот сигнал в следующий момент времени подается на все выходящие из нейрона синапсы.
Для создания нейросети при работе с пакетом CLAB пользователь сам указывает параметры нейросети (число нейронов и др., о чем далее будет рассказано подробно). В таких нейросетях общее число нейронов не должно превышать 64, при этом выходные сигналы снимаются с двух последних нейронов.
Каждому синапсу в нейросети поставлено в соответствие число, называемое весом синапса. Сигнал при прохождении через синапс умножается на его вес. Процесс обучения нейросети состоит в подборе весов синапсов. Они должны быть такими, чтобы после предъявления нейросети определенных входных сигналов получать требуемые выходные сигналы.
Таким образом, для обучения нейросети пользователь должен представить обучающую выборку, т. е. совокупность обучающих примеров. Она размещается в файле, называемом задачником.
Обучение производится путем минимизации целевой функции, штрафующей за отклонение выходных сигналов нейросети от требуемых значений. В пакете CLAB минимизация осуществляется при помощи метода, основанного на так называемой BFGS-формуле и являющегося разновидностью квазиньютоновских методов.
После завершения процесса обучения можно переходить непосредственно к решению задачи, стоящей перед пользователем. На этом этапе работы нейросети предъявляют наборы входных сигналов для классификации исследуемых объектов.
Для удобства работы с пакетом создается ptn-файл. Он представляет собой текстовый файл с расширением. ptn.
В ptn-файл вводится информация, описывающая структуру примера. Это число входных сигналов и их имена. Именем входного сигнала может служить его номер. Однако в конкретных задачах, как правило, каждому входному сигналу соответствует некоторая информация, например, текст вопроса, ответ на который и является входным сигналом. Эту информацию можно ввести в ptn-файл в качестве имени сигнала.
При вводе имени сигнала вначале указывается количество входных сигналов, объединенных этим именем. Его можно указать равным 0. В этом случае при работе редактора Editor, имеющегося в пакете CLAB, соответствующая строка с именем будет выводиться на экран, но ввода входного сигнала редактор не потребует. Это позволяет вводить комментарии или пользоваться длинными именами, не входящими в одну строку.
В ptn-файле указываются также имена двух классов — сначала «красного», а затем «синего». Каждое имя должно содержать не более 10 символов.
Читать дальше