Книга: Учебное пособие по курсу «Нейроинформатика»
Язык описания контрастера
Разделы на этой странице:
Язык описания контрастера
В отличие от таких компонент как оценка, сеть и интерпретатор ответа, контрастер не является составным объектом. Однако, контрастер может состоять из множества функций, вызывающих друг друга. Собственно контрастер — это процедура, управляющая процессом контрастирования. Ключевые слова, специфические для языка описания контрастера приведены в табл. 39
Библиотеки функций контрастера
Таблица 39. Ключевые слова для языка описания контрастера
Ключевое слово | Краткое описание |
---|---|
1. Main | Начало главной процедуры |
2. Contrast | Заголовок описания контрастера |
3. ContrLib | Заголовок описания библиотеки функций |
4. Used | Подключение библиотек функций |
5. ContrastFunc | Глобальная переменная типа функция. |
Библиотеки функций контрастера содержат описание функций, необходимых для работы одного или нескольких контрастеров. Использование библиотек позволяет избежать дублирования функций в различных контрастерах. Описание библиотеки функций аналогично описанию контрастера, но не содержит главной процедуры.
БНФ языка описания контрастера
Обозначения, принятые в данном расширении БНФ и описание ряда конструкций приведены в разделе «Описание языка описания компонентов».
<Описание библиотеки>::= <Заголовок библиотеки> <Описание глобальных переменных> <Описание функций> <Конец описания библиотеки>
<Заголовок библиотеки>::= ContrLib <Имя библиотеки> [Used <Список имен библиотек>]
<Имя библиотеки>::= <Идентификатор>
<Список имен библиотек>::= <Имя используемой библиотеки> [,<Список имен библиотек>]
<Имя используемой библиотеки>::= <Идентификатор>
<Конец описания библиотеки>::= EndContrLib
<Описание контрастера>::= <Заголовок контрастера> <Описание глобальных переменных> <Описание функций> <Главная процедура> <Конец описания контрастера>
<Заголовок контрастера>::= Contrast <Имя библиотеки> [Used <Список имен библиотек>]
<Главная процедура>::= Main<Описание статических переменных> <Описание переменных> <Тело функции>
<Конец описания контрастера> End Contrast
Описание языка описания контрастера
Язык описания контрастера является наиболее простым из всех языков описания компонент. Фактически все синтаксические конструкции этого языка описаны в разделе «Общий стандарт». В теле функции, являющемся частью главной процедуры недопустим оператор возврата значения, поскольку главная процедура не является функцией.
Контрастер имеет одну глобальную предопределенную переменную ContrastFunc. Эта переменная должна обязательно быть определена — ей нужно присвоить адрес функции, которая будет вызываться каждый раз после того, как нейронная сеть вычислит градиент после решения одного примера. Функция, адрес которой присваивается переменной ContrastFunc должна быть объявлена следующим образом:
Function MyContrast(TheEnd: Logic): Logic;
Значения аргумента TheEnd имеют следующий смысл: истина — обучение ведется позадачно или закончен просмотр обучающего множества; ложь — обработан еще один пример обучающего множества при обучении по всему задачнику в целом. Следует учесть, что при обучении по всему обучающему множеству в целом, нейронная сеть накапливает градиенты всех примеров, так что при первом вызове функции в сети хранится градиент функции оценки по результатам решения первого примера; при втором — результатам решения первых двух примеров и т. д. Функция возвращает значение ложь, если в ходе ее работы произошла ошибка. В противном случае она возвращает значение истина.
Значение переменной ContrastFunc присваивается оператором присваивания:
ContrastFunc = MyContrast
Если значение переменной ContrastFunc не задано, то она указывает на используемую по умолчанию функцию EmptyContrast, которая просто возвращает значение истина.
- 8.2. Языки программирования Виды программирований
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Реализация языка SQL
- Дальнейшее развитие языка SQL
- Язык программирования Python
- 2. Визуальный язык знают все Жест с ручкой в руках
- Программирование на языке Пролог для искусственного интеллекта
- 1. Оператор Select – базовый оператор языка структурированных запросов
- 2. Унарные операции на языке структурированных запросов
- 3. Бинарные операции на языке структурированных запросов
- Фишка шестая. «Язык пользы»
- Компилятор языка С