|
4.4.2. Запросы на функционирование
Два запроса первой группы позволяют проводить прямое и обратное функционирование сети. По сути эти запросы эквивалентны вызову методов Forw и Back сети или ее элемента.
4.4.2.1. Выполнить прямое Функционирование (Forw)
Описание запроса:
Pascal:
Function Forw ( Net : PString; InSignals : PRealArray ) : Logic;
C:
Logic Forw(PString Net, PRealArray InSignals)
Описание аргумента:
Net – указатель на строку символов, содержащую имя сети.
InSignals – массив входных сигналов сети.
Назначение – проводит прямое функционирование сети, указанной в параметре Net.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в качестве аргумента Net дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая сеть в списке сетей компонента сеть.
3. Если список сетей компонента сеть пуст или имя сети, переданное в аргументе Net в этом списке не найдено, то возникает ошибка 301 – неверное имя сети, управление передается обработчику ошибок, а обработка запроса прекращается.
4. Вызывается метод Forw сети, имя которой было указано в аргументе Net.
5. Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 304 - ошибка прямого функционирования. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.
4.4.2.2. Выполнить обратное Функционирование (Back)
Описание запроса:
Pascal:
Function Back( Net : PString; BackOutSignals : PRealArray) : Logic;
C:
Logic Back(PString Net, PRealArray BackOutSignals)
Описание аргумента:
Net – указатель на строку символов, содержащую имя сети.
BackOutSignals – массив производных функции оценки по выходным сигналам сети.
Назначение – проводит обратное функционирование сети, указанной в параметре Net.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в качестве аргумента Net дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая сеть в списке сетей компонента сеть.
3. Если список сетей компонента сеть пуст или имя сети, переданное в аргументе Net в этом списке не найдено, то возникает ошибка 301 – неверное имя сети, управление передается обработчику ошибок, а обработка запроса прекращается.
4. Вызывается метод Back сети, имя которой было указано в аргументе Net.
5. Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 305 - ошибка обратного функционирования. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.
4.4.3. Запросы на изменение параметров
Ко второй группе запросов относятся четыре запроса: Modify – модификация параметров, обычно называемая обучением, ModifyMask – модификация маски обучаемых синапсов, NullGradient – обнуление градиента и RandomDirection – сгенерировать случайное направление спуска.
4.4.3.1. Провести обучение (Modify)
Описание запроса:
Pascal:
Function Modify( Net : PString; OldStep, NewStep : Real; Tipe : Integer; Grad : PRealArray ) : Logic;
C:
Logic Modify(PString Net, Real OldStep, Real NewStep, Integer Tipe, PRealArray Grad)
Описание аргументов:
Net – указатель на строку символов, содержащую имя сети.
OldStep, NewStep – параметры обучения.
Tipe – одна из констант InSignals или Parameters.
Grad – адрес массива поправок или пустой указатель.
Назначение – проводит обучение параметров или входных сигналов сети, указанной в параметре Net.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в качестве аргумента Net дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая сеть в списке сетей компонента сеть.
3. Если список сетей компонента сеть пуст или имя сети, переданное в аргументе Net в этом списке не найдено, то возникает ошибка 301 – неверное имя сети, управление передается обработчику ошибок, а обработка запроса прекращается.
4. Если аргумент Grad содержит пустой указатель, то поправки берутся из массива Back.Parameters или Back.InputSignals в зависимости от значения аргумента Tipe.
5. В зависимости от значения аргумента Tipe для каждого параметра или входного сигнала P, при условии, что соответствующий ему элемент маски обучаемости, соответствующей аргументу Tipe равен -1 (значение истина) выполняется следующая процедура:
P1=P*OldStep+DP*NewStep.
Если для типа, которым описан параметр P, заданы минимальное и максимальное значения, то:
P2=Pmin, при P1<Pmin
P2=Pmax, при P1>Pmax
P2=P1 в противном случае
4.4.3.2. Изменить маску обучаемости (ModifyMask)
Описание запроса:
Pascal:
Function ModifyMask( Net : PString; Tipe : Integer; NewMask: PLogicArray ) : Logic;
C:
Logic Modify(PString Net, Integer Tipe, PLogicArray NewMask)
Описание аргументов:
Net – указатель на строку символов, содержащую имя сети.
Tipe – одна из констант InSignals или Parameters.
NewMask – новая маска обучаемости.
Назначение – Заменяет маску обучаемости параметров или входных сигналов сети, указанной в параметре Net.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в качестве аргумента Net дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая сеть в списке сетей компонента сеть.
3. Если список сетей компонента сеть пуст или имя сети, переданное в аргументе Net в этом списке не найдено, то возникает ошибка 301 – неверное имя сети, управление передается обработчику ошибок, а обработка запроса прекращается.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76
При использовании материалов активная ссылка на источник обязательна.