№ | Название ошибки | Стандартная обработка |
---|---|---|
001 | Некорректное сочетание флагов в аргументе Instruct. | Занесение номера в Error |
В этом разделе приводится стандарт языка описания компонента учитель. Поскольку часть алгоритмов обучения жестко привязана к архитектуре сети, то в следующем разделе предложен способ опознания «своих» сетей.
Для опознания типа сети рекомендуется использовать первый параметр сети. Для этого архитектуре сети приписывается уникальный номер, типа Long. Уникальность может поддерживаться, например, за счет использования генератора случайных чисел. Кроме того, при описании параметров сети следует задать отдельный тип параметров для первого параметра и указать минимальную границу равной максимальной и равной номеру архитектуры сети. Также необходимо указать в маске параметров, что этот параметр является необучаемым. Учитель, прежде чем выполнить любую операцию с сетью, читает параметры сети, и проверяет первый параметр сети, интерпретируемый как переменная типа Long, на совпадение с хранимым в учителе номером архитектуры. В случае несовпадения номера в параметрах сети с номером в учителе, учитель генерирует внутреннюю ошибку 601 — несовместимость сети и учителя.
Если учитель работает с сетями любой архитектуры, то процедура опознания архитектуры сети не нужна.
В этом разделе описаны стандартные функции, специфические для компонента учитель. Эти функции соответствуют макросам, использованным в главе «Учитель». Заголовки функций даны на языке описания учителя.
Заголовок функции:
Function SetInstructionObject (What: Integer; Net: PString): Logic;
Описание аргументов
What может принимать следующие значения (предопределенные константы, приведенные в табл. 11):
Parameters — для обучения параметров сети;
InSignals — для обучения входных сигналов.
Net — имя нейронной сети, которая будет обучаться.
Возможно обучение одного из двух объектов — параметров сети или входных сигналов. Объект обучения должен быть задан до начала собственно обучения. По умолчанию обучается первая сеть в списке нейронных сетей компонента сеть. При необходимости в качестве объекта обучения может быть задана часть сети (см. главу «Описание нейронных сетей»). При сохранении учителя в файле сети объект обучения хранится вместе с учителем. Функция возвращает значение истина, если ее выполнение завершено успешно. В противном случае (например, указанная сеть отсутствует в списке сетей компонента сеть) возвращается значение ложь.
Заголовок функции:
Function CreateArray: PRealArray;
Аргументов нет.
Функция возвращает указатель на массив, пригодный для хранения массива обучаемых параметров (входных сигналов) сети. Если массив создать не удалось, то возвращается пустой указатель.
Заголовок функции:
Function EraseArray(Vec: PRealArray): Logic;
Описание аргументов
Vec — указатель на массив. При вызове содержит адрес освобождаемого массива.
После выполнения функции в аргументе Vec содержится пустой указатель. В случае невозможности освобождения памяти функция генерирует внутреннюю ошибку 604 — некорректная работа с памятью, передает управление обработчику ошибок, выполнение функции завершается, возвращается значение ложь. В противном случае возвращается значение истина.
Заголовок функции:
Function RandomArray(Vec: PRealArray): Logic;
Описание аргументов
Vec — указатель на массив. При входе в макрос содержит адрес существующего массива.