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

ЖАНРЫ

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

Миркес Е. М.

Шрифт:

Таблица 26. Значения предопределенных констант

Название Величина Значение
InSignals 0 Входные сигналы прямого функционирования
OutSignals 1 Выходные сигналы прямого функционирования
Рarameters 2 Параметры
InSignalMask 3 Маска
обучаемости входных сигналов
ParamMask 4 Маска обучаемости параметров
BackInSignals 5 Входные сигналы обратного функционирования
BackOutSignals 6 Выходные сигналы обратного функционирования
BackРarameters 7 Поправки к параметрам
Element 0 Тип подсети — элемент
Layer 1 Тип подсети — слой
Cascad 2 Тип подсети — простой каскад
CicleFor 3 Тип подсети — цикл с заданным числом проходов
CicleUntil 4 Тип подсети — цикл по условию

При вызове ряда запросов используются предопределенные константы. Их значения приведены в табл. 26.

Запросы на функционирование

Два запроса первой группы позволяют проводить прямое и обратное функционирование сети. По сути эти запросы эквивалентны вызову методов Forw и Back сети или ее элемента.

Выполнить прямое Функционирование (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.

4. Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 304 — ошибка прямого функционирования. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.

Выполнить обратное Функционирование (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 — ошибка обратного функционирования. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.

Запросы на изменение параметров

Ко второй группе запросов относятся четыре запроса: Modify — модификация параметров, обычно называемая обучением, ModifyMask — модификация маски обучаемых синапсов, NullGradient — обнуление градиента и RandomDirection — сгенерировать случайное направление спуска.

Провести обучение (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

 • P2=Pmax, при P1>Pmax

 • P2=P1 в противном случае

Изменить маску обучаемости (ModifyMask)

Описание запроса:

Pascal:

Function ModifyMask(Net: PString; Tipe: Integer; NewMask: PLogicArray): Logic;

C:

Logic Modify(PString Net, Integer Tipe, PLogicArray NewMask)

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

Net — указатель на строку символов, содержащую имя сети.

Tipe — одна из констант InSignals или Parameters.

Поделиться с друзьями: