Учебное пособие по курсу «Нейроинформатика»
Шрифт:
Таблица 39. Ключевые слова для языка описания контрастера
Ключевое слово | Краткое описание |
---|---|
1. Main | Начало главной процедуры |
2. Contrast | Заголовок описания контрастера |
3. ContrLib | Заголовок описания библиотеки функций |
4. Used | Подключение
|
5. ContrastFunc | Глобальная переменная типа функция. |
Библиотеки функций контрастера содержат описание функций, необходимых для работы одного или нескольких контрастеров. Использование библиотек позволяет избежать дублирования функций в различных контрастерах. Описание библиотеки функций аналогично описанию контрастера, но не содержит главной процедуры.
Обозначения, принятые в данном расширении БНФ и описание ряда конструкций приведены в разделе «Описание языка описания компонентов».
Язык описания контрастера является наиболее простым из всех языков описания компонент. Фактически все синтаксические конструкции этого языка описаны в разделе «Общий стандарт». В теле функции, являющемся частью главной процедуры недопустим оператор возврата значения, поскольку главная процедура не является функцией.
Контрастер имеет одну глобальную предопределенную переменную ContrastFunc. Эта переменная должна обязательно быть определена — ей нужно присвоить адрес функции, которая будет вызываться каждый раз после того, как нейронная сеть вычислит градиент после решения одного примера. Функция, адрес которой присваивается переменной ContrastFunc должна быть объявлена следующим образом:
Значения аргумента TheEnd имеют следующий смысл: истина — обучение ведется позадачно или закончен просмотр обучающего множества; ложь — обработан еще один пример обучающего множества при обучении по всему задачнику в целом. Следует учесть, что при обучении по всему обучающему множеству в целом, нейронная сеть накапливает градиенты всех примеров, так что при первом вызове функции в сети хранится градиент функции оценки по результатам решения первого примера; при втором — результатам решения первых двух примеров и т. д. Функция возвращает значение ложь, если в ходе ее работы произошла ошибка. В противном случае она возвращает значение истина.
Значение переменной ContrastFunc присваивается оператором присваивания:
Если значение переменной ContrastFunc не задано, то она указывает на используемую по умолчанию функцию EmptyContrast, которая просто возвращает значение истина.
Стандарт второго уровня компонента контрастер
Компонента контрастер одновременно работает только с одним контрастером. Запросы к компоненте контрастер можно разбить на следующие группы.
1. Контрастирование сети.
2. Чтение/запись контрастера.
3. Инициация редактора контрастера.
4. Работа с параметрами контрастера.
Контрастирование сети
К данной группе относятся три запроса — контрастировать сеть (ContrastNet), прервать контрастирование (CloseContrast) и контрастировать пример (ContrastExample).
Описание запроса:
Pascal:
C:
Аргументов нет.
Назначение — производит контрастирование сети.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса контрастер не загружен, то возникает ошибка 701 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
3. Выполняется главная процедура загруженного контрастера.
4. Если во время выполнения запроса возникает ошибка, а значение переменной Error равно нулю, то генерируется внутренняя ошибка 705 — ошибка исполнения контрастера, управление передается обработчику ошибок, а обработка запроса прекращается.
5. Если во время выполнения запроса возникает ошибка, а значение переменной Error не равно нулю, то обработка запроса прекращается.
Описание запроса:
Pascal:
C:
Аргументов нет.
Назначение — прерывает контрастирование сети.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.