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

Название ошибкиСтандартная обработка
001Некорректное сочетание флагов в аргументе Instruct.Занесение номера в Error
<p>Стандарт первого уровня компонента учитель</p>

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

<p>Способ опознания сети для методов, привязанных к архитектуре сети</p>

Для опознания типа сети рекомендуется использовать первый параметр сети. Для этого архитектуре сети приписывается уникальный номер, типа Long. Уникальность может поддерживаться, например, за счет использования генератора случайных чисел. Кроме того, при описании параметров сети следует задать отдельный тип параметров для первого параметра и указать минимальную границу равной максимальной и равной номеру архитектуры сети. Также необходимо указать в маске параметров, что этот параметр является необучаемым. Учитель, прежде чем выполнить любую операцию с сетью, читает параметры сети, и проверяет первый параметр сети, интерпретируемый как переменная типа Long, на совпадение с хранимым в учителе номером архитектуры. В случае несовпадения номера в параметрах сети с номером в учителе, учитель генерирует внутреннюю ошибку 601 — несовместимость сети и учителя.

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

<p>Список стандартных функций</p>

В этом разделе описаны стандартные функции, специфические для компонента учитель. Эти функции соответствуют макросам, использованным в главе «Учитель». Заголовки функций даны на языке описания учителя.

Установить объект обучения (SetInstructionObject)

Заголовок функции:

Function SetInstructionObject (What: Integer; Net: PString): Logic;

Описание аргументов

What может принимать следующие значения (предопределенные константы, приведенные в табл. 11):

Parameters — для обучения параметров сети;

InSignals — для обучения входных сигналов.

Net — имя нейронной сети, которая будет обучаться.

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

Создание массива (CreateArray)

Заголовок функции:

Function CreateArray: PRealArray;

Аргументов нет.

Функция возвращает указатель на массив, пригодный для хранения массива обучаемых параметров (входных сигналов) сети. Если массив создать не удалось, то возвращается пустой указатель.

Освободить массив (EraseArray)

Заголовок функции:

Function EraseArray(Vec: PRealArray): Logic;

Описание аргументов

Vec — указатель на массив. При вызове содержит адрес освобождаемого массива.

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

Случайный массив (RandomArray)

Заголовок функции:

Function RandomArray(Vec: PRealArray): Logic;

Описание аргументов

Vec — указатель на массив. При входе в макрос содержит адрес существующего массива.

Перейти на страницу:

Похожие книги