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

на главную

Жанры

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

Миркес Е. М.

Шрифт:

Ошибки компонента исполнитель

В табл. 36 приведен полный список ошибок, которые могут возникать при выполнении запросов компонентом исполнитель, и действия стандартного обработчика ошибок.

Таблица 36. Ошибки компонента исполнитель и действия стандартного обработчика ошибок.

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

Стандарт первого уровня компонента учитель

В этом разделе приводится стандарт

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

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

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

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

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

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

Установить объект обучения (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 — указатель на массив. При входе в макрос содержит адрес существующего массива.

В ходе выполнения функции для каждого элемента массива параметров генерируется случайное значение. Для генерации используется генератор случайных чисел, равномерно распределенных на отрезке от нуля до единицы. После получения случайной величины a она преобразуется по формуле a′ = a(amaxamin)–amin к случайной величине, распределенной на отрезке [amin, amax]. Величины amin и amax для параметров сети определяются их типом (см. раздел «Описание элементов»). Для входных сигналов принимается amin=–1, amax=1. Если обучаемым объектом являются параметры, то генерация случайного массива производится путем генерации запроса RandomDirection компонента сеть. Если при выполнении функции возникла ошибка, то генерируется внутренняя ошибка 605 — ошибка при исполнении внешнего запроса, управление передается обработчику ошибок, функция возвращает значение ложь. В противном случае возвращается значение истина.

Модификация массива (Modify)

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

Function Modify(Direct: PRealArray; OldStep, NewStep: Real): Logic;

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

Direct — указатель на массив направления модификации сети.

OldStep — вес старого массива параметров в модифицированном.

NewStep — вес массива направления модификации в модифицированном массиве параметров.

Эта функция генерирует запрос на модификацию параметров сети (см. раздел «Провести обучение (Modify)»). Вызов запроса имеет вид:

Modify(Net, OldStep, NewStep, Tipe, Direct)

Аргументами запроса являются:

Net — указатель на пустую строку (используется сеть по умолчанию).

OldStep, NewStep — аргументы функции.

Tipe — значение аргумента What в запросе InstructionObject.

Direct — аргумент функции.

Аргумент функции Direct может быть пустым указателем. В этом случае для модификации используется массив градиента, хранящийся вместе с сетью. В случае возникновения ошибки в ходе модификации сети (запрос Modify возвращает значение ложь) генерируется внутренняя ошибка 605 — ошибка при исполнении внешнего запроса, управление передается обработчику ошибок, функция возвращает значение ложь. В противном случае возвращается значение истина.

Оптимизация шага (Optimize)

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

Function Optimize (Direct: PRealArray; Step: Real): Real;

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

Direct — указатель на массив направления модификации сети.

Step — начальный шаг в направлении Direct.

Действия, выполняемые функцией Optimize, описаны в разделе «Подбор оптимального шага». В случае возникновения ошибки при выполнении функции она генерирует внутреннюю ошибку 605 — ошибка при исполнении внешнего запроса, передает управление обработчику ошибок, функция возвращает значение 0. В противном случае возвращается значение оценки при оптимальном шаге. Следует отметить, что после завершения выполнения функции, параметры сети соответствуют результату выполнения функции Modify(Direct, 1, Step), где Step — значение оптимального шага.

Поделиться:
Популярные книги

Вечный. Книга V

Рокотов Алексей
5. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга V

Чехов. Книга 3

Гоблин (MeXXanik)
3. Адвокат Чехов
Фантастика:
альтернативная история
5.00
рейтинг книги
Чехов. Книга 3

Последний попаданец 9

Зубов Константин
9. Последний попаданец
Фантастика:
юмористическая фантастика
рпг
5.00
рейтинг книги
Последний попаданец 9

Серые сутки

Сай Ярослав
4. Медорфенов
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Серые сутки

Ты нас предал

Безрукова Елена
1. Измены. Кантемировы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ты нас предал

Кодекс Охотника. Книга XXIII

Винокуров Юрий
23. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXIII

На границе империй. Том 7. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 7. Часть 4

Нефилим

Демиров Леонид
4. Мания крафта
Фантастика:
фэнтези
боевая фантастика
рпг
7.64
рейтинг книги
Нефилим

Провинциал. Книга 1

Лопарев Игорь Викторович
1. Провинциал
Фантастика:
космическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Провинциал. Книга 1

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Солдат Империи

Земляной Андрей Борисович
1. Страж
Фантастика:
попаданцы
альтернативная история
6.67
рейтинг книги
Солдат Империи

Дурашка в столичной академии

Свободина Виктория
Фантастика:
фэнтези
7.80
рейтинг книги
Дурашка в столичной академии

Сиротка

Первухин Андрей Евгеньевич
1. Сиротка
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Сиротка

Сумеречный стрелок 7

Карелин Сергей Витальевич
7. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 7