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

ЖАНРЫ

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

Миркес Е. М.

Шрифт:

Ptn— файл

Для удобства работы с пакетом создается ptn-файл. Он представляет собой текстовый файл с расширением. ptn.

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

При вводе имени сигнала вначале указывается количество входных

сигналов, объединенных этим именем. Его можно указать равным 0. В этом случае при работе редактора Editor, имеющегося в пакете CLAB, соответствующая строка с именем будет выводиться на экран, но ввода входного сигнала редактор не потребует. Это позволяет вводить комментарии или пользоваться длинными именами, не входящими в одну строку.

В ptn-файле указываются также имена двух классов — сначала «красного», а затем «синего». Каждое имя должно содержать не более 10 символов.

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

В пакете CLAB имеется средство для обучения нейросети решению задач с такими «дырами» в векторе входных сигналов — так называемый «дырокол». В этом случае следует имена таких входных сигналов пометить в ptn-файле звездочками.

Задачник

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

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

При работе с редактором на экране высвечиваются два окна — NEURON и VALUE, первое для имен входных сигналов, второе для их значений. В окне NEURON высвечиваются имена входных сигналов, содержащиеся в ptn-файле. Редактор генерирует номера входных сигналов и присваивает входным сигналам нулевые значения. Эти значения высвечиваются в окне VALUE. Пользователь может корректировать на экране содержимое окна VALUE, т. е. вводить нужные значения входных сигналов.

Кроме входных сигналов требуется указать класс примера. Для этого с клавиатуры вводится буква R для «красного» или L для «синего» примера. Класс текущего примера указывается во 2-й строке экрана в виде имени этого класса, заданного в ptn-файле. Если класс примера не указан, то Editor не включит его в задачник.

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

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

После составления

задачника можно приступать к созданию нейросети и ее обучению.

Создание нейросети

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

SIZE — количество нейронов сети;

TIME — число тактов времени от получения входных сигналов до выдачи результата;

CH — параметр характеристической функции;

STEP — начальный шаг движения по антиградиенту;

HIGH и LOW — параметры, определяющие уровни начальных значений весов синапсов.

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

Очевидно, что значение параметра SIZE должно быть не меньше числа входных сигналов. Кроме того, оно должно быть не больше 64. Опыт показывает, что лучше задавать его по возможности меньшим. Можно порекомендовать задавать значение параметра SIZE равным сумме числа входных и выходных нейронов (т. е. на 2 большим, чем число входных сигналов).

Значение параметра TIME также лучше задавать по возможности меньшим. Можно задать его равным 3, а в случае необходимости увеличить.

Для параметра CH мы рекомендуем значения от 0,1 до 0,8. Следует заметить, что большие значения этого параметра требуют, как правило, больше времени на обучение, но при этом улучшаются предсказательные возможности нейросети. Другими словами, при малых значениях характеристики нейросеть легко «натаскивается» выдавать правильные ответы для входных векторов, встречавшихся ей в процессе обучения, но способность к экстраполяции на область примеров не включенных в задачник при этом хуже.

Значение параметра STEP можно задавать равным 0,005. В процессе счета программа сама подберет для него нужное значение.

Начальные значения весов синапсов генерируются датчиком псевдослучайных чисел в диапазоне от LOW до HIGH. Рекомендуется задавать значение этих параметров близким к значению параметра CH.

Обучение нейросети

Для обучения нейросети в пакете CLAB содержится программа teacher. Вначале она предлагает пользователю указать имя файла, содержащего карту синапсов, имя ptn-файла и имя файла задачника. Затем программа переходит непосредственно к обучению нейросети на примерах задачника.

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

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

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