Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
Инструкции пользователю по работе с пакетом CLAB
Инсталляция
Пакет CLAB поставляется на дискете в виде саморазархивирующегося файла с именем clab.exe. Для того, чтобы подготовить пакет к работе, нужно выполнить следующие действия.
Для размещения пакета рекомендуется создать директорию, например, с именем CLAB. В эту директорию нужно скопировать с дискеты файл clab.exe. Поскольку в этом файле пакет находится в сжатом виде, его нужно разархивировать. Для этого следует запустить файл на выполнение, т. е. набрать имя clab и нажать клавишу «Enter». В результате в директории CLAB, кроме файла clab.exe, появятся следующие файлы:
clab.doc
editor.exe
netgener.exe
teacher.exe
tester.exe
clab.fnt
elect.pbl
elect.ptn
В файле clab.doc содержится текст настоящей документации. Файлы с расширением. exe содержат рабочие программы пакета. В файлах elect.pbl и elect.ptn содержатся задачник и ptn-файл для демонстрационной задачи. Файл clab.fnt предназначен для загрузки экранного шрифта в графическом режиме.
После этого можно начинать работу с пакетом CLAB.
Файл clab.exe для экономии места можно удалить из директории CLAB, оставив его на дискете.
Если пользователь собирается работать с пакетом не в директории CLAB, а в какой-либо другой директории, то ему следует включить в файл autoexec.bat в оператор path дорожку к созданной директории CLAB.
Обучение работе с пакетом clab на демонстрационной задаче
Работа с пакетом CLAB состоит из следующих шагов:
1) создание ptn-файла;
2) создание задачника;
3) создание нейросети;
4) обучение нейросети;
5) тестирование.
Для этих шагов (кроме первого) в пакете имеются соответствующие программы. Чтобы помочь пользователю приобрести основные навыки работы с этими программами, в пакет включена демонстрационная задача «Выборы президента США».
Рекомендуется начать знакомство с пакетом CLAB с этой задачи. Это не отнимет много времени, но позволит познакомиться со спецификой работы нейроклассификаторов, в частности, данного пакета, а также избавит в дальнейшем от ряда затруднений.
Для данного примера имеются готовые ptn-файл (elect.ptn) и задачник (elect.pbl). Поэтому воспользуемся ими и начнем работу сразу с генерации сети. Вопросы, связанные с созданием ptn-файла и задачника, обсудим позже.
Чтобы создать нейросеть, нужно запустить программу netgener. Эта программа позволяет создать файл для хранения карты синапсов (назовем его test.map) и ввести значения параметров нейросети. Условимся, что в нашей задаче создавать этот файл будем в текущей директории.
Программа netgener в начале работы высвечивает на экране имена поддиректорий и всех файлов, содержащихся в текущей директории. Это позволяет пользователю убедиться, что в данной директории не содержится файла с таким же именем, какое он собирается дать создаваемому файлу.
Далее следует нажать клавишу «пробел». Это означает, что пользователь будет создавать файл в текущей директории, поэтому программа предложит ввести имя файла. На экране появится сообщение
Имя файла следует набирать, начиная с позиции, на которую установлен курсор, т. е. в последней строке сообщения после двоеточия.
Заметим, что в пакете CLAB по умолчанию полагается, что файлы для хранения карт синапсов имеют имена с расширением .map. Поэтому в данном случае набирать имя файла можно без расширения, программа сама добавит к имени файла расширение .map.
После того, как пользователь укажет имя файла, сообщение на экране будет иметь вид
Для ввода имени файла следует нажать клавишу "Enter".
После этого программа переходит к вводу с экрана параметров сети. На экране появляется сообщение
Тем самым пользователю предлагается указать количество нейронов в создаваемой сети. Число 64 во второй строке — это максимальное допустимое количество нейронов.
Для рассматриваемой задачи рекомендуем указать число нейронов, равное 14. Это число есть сумма 12 входных нейронов (по числу входных сигналов) и 2 выходных нейронов.
Набирать на экране значения всех параметров нейросети, которые будут вводиться в программе netgener, следует с позиции, на которую установлен курсор. Для ввода параметров следует нажимать клавишу «Enter». Эти действия повторяются постоянно при вводе значения очередного параметра, запрашиваемого программой. Поэтому ниже мы не будем каждый раз их особо оговаривать, полагая, что пользователь будет их выполнять.
После ввода числа нейронов программа запрашивает значение следующего параметра, и на экране появляется сообщение
Значение параметра TIME указывает число тактов времени от получения входных сигналов до выдачи результата. Число 10 является максимально возможным значением этого параметра. Для рассматриваемой задачи следует ввести значение параметра TIME, равное 3.
Далее программа последовательно запрашивает значения остальных параметров, при этом во второй строке сообщения каждый раз высвечивается значение параметра, которое принимается по умолчанию. Эти значения вполне удовлетворяют нашей задаче, поэтому больше не нужно задавать никаких новых значений, достаточно после каждого сообщения на экране нажимать клавишу "Enter".
Перечислим эти сообщения в порядке их появления на экране, пояснив каждое из них.
После ввода параметра TIME программа запрашивает значение для параметра характеристической функции. На экране высвечивается сообщение
Далее следует сообщение
которым программа запрашивает значение для начального шага движения по антиградиенту. Наконец, последовательно появляются сообщения
в которых программа запрашивает значения соответственно нижнего и верхнего уровней начальных значений весов синапсов.
После этого работа программы netgener закончена. В результате в текущей директории создан файл test.map, в котором содержится карта синапсов для необученной нейросети.
Для обучения нейросети нужно запустить программу teacher. Вначале эта программа просит указать имя файла с картой синапсов. На экране высвечиваются надпись "Choose map" и имена файлов с расширением. map, содержащихся в текущей директории.
Как упоминалось выше, в нашей задаче мы полагаем, что все файлы, необходимые для работы, содержатся в текущей директории. Поэтому для указания имени нужного нам файла (test.map) следует установить курсор на экране на имя этого файла, а затем нажать клавишу «пробел» или клавишу "Enter".
Далее программа просит указать имя ptn-файла. На экране высвечиваются надпись "Choose pattern File" и имена файлов с расширением. ptn, содержащихся в текущей директории.
Для нашей задачи нужно указать файл elect.ptn. Выбор ptn-файла, а затем и выбор задачника осуществляются точно так же, как и выбор файла с картой синапсов.
Для выбора задачника на экране высвечиваются надпись "Choose problembook" и имена файлов с расширением. pbl из текущей директории.
Для данной задачи нужно указать файл с именем elect.pbl.
После этого начинается сам процесс обучения, за которым можно наблюдать на экране. В соответствующем разделе описания пакета CLAB подробно рассказано, какая информация высвечивается на экране в процессе обучения. Напомним, что в левой половине экрана изображаются крестиками выходные сигналы нейросети для каждого примера задачника, а в правой половине экрана высвечиваются оценки для этих примеров
После определения оценки для каждого примера задачника на экране высвечивается крестик, соответствующий этому примеру. При этом крестик, который соответствовал этому примеру ранее, исчезает. Одновременно вместо старой оценки для этого примера высвечивается новая.
В правой верхней части экрана высвечиваются номер текущей страницы задачника (в демонстрационной задаче задачник состоит из одной страницы) и счетчик для красных и синих примеров. Счетчик показывает номера примеров каждого цвета, для которых к настоящему моменту получены оценки.
В нижней части экрана высвечиваются значение средней оценки для всех примеров текущей страницы задачника, а также значения средних оценок отдельно для красных и синих примеров.
Обучение для демонстрационной задачи происходит достаточно быстро и не трбует вмешательства пользователя. В процессе обучения крестики на экране постепенно стягиваются к курсорам соответствующего цвета.
Пользователь должен сам определить, когда закончить процесс обучения. В качестве критерия для этого можно использовать значение средней оценки. Для данной задачи обучение можно заканчивать, когда средняя оценка принимает значение порядка 0,01.