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

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

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

Ко второй группе запросов относятся четыре запроса: 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.

NewMask — новая маска обучаемости.

Назначение — Заменяет маску обучаемости параметров или входных сигналов сети, указанной в параметре Net.

Описание исполнения.

1. Если Error <> 0, то выполнение запроса прекращается.

2. Если в качестве аргумента Net дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая сеть в списке сетей компонента сеть.

3. Если список сетей компонента сеть пуст или имя сети, переданное в аргументе Net в этом списке не найдено, то возникает ошибка 301 — неверное имя сети, управление передается обработчику ошибок, а обработка запроса прекращается.

4. В зависимости от значения параметра Tipe заменяет маску обучаемости параметров или входных сигналов на переданную в параметре NewMask.

Обнулить градиент (NullGradient)

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

Pascal:

Function NullGradient(Net: PString): Logic;

C:

Logic NullGradient(PString Net)

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

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

Назначение — производит обнуление градиента сети, указанной в параметре Net.

Описание исполнения.

1. Если Error <> 0, то выполнение запроса прекращается.

2. Если в качестве аргумента Net дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая сеть в списке сетей компонента сеть.

3. Если список сетей компонента сеть пуст или имя сети, переданное в аргументе Net в этом списке не найдено, то возникает ошибка 301 — неверное имя сети, управление передается обработчику ошибок, а обработка запроса прекращается.

4. Обнуляются массивы Back.Parameters и Back.OutSignals.

Случайное направление спуска (RandomDirection)

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

Pascal:

Function RandomDirection(Net: PString; Range: Real): Logic;

C:

Logic RandomDirection(PString Net, Real Range)

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

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

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

Назначение — генерирует вектор случайных поправок к параметрам сети.

Описание исполнения.

1. Если Error <> 0, то выполнение запроса прекращается.

2. Если в качестве аргумента Net дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая сеть в списке сетей компонента сеть.

3. Если список сетей компонента сеть пуст или имя сети, переданное в аргументе Net в этом списке не найдено, то возникает ошибка 301 — неверное имя сети, управление передается обработчику ошибок, а обработка запроса прекращается.

4. Замещают все значения массива Back.Parameters на случайные величины. Интервал распределения случайной величины зависит от типа параметра, указанного при описании сети (ParamType) и аргумента Range. Полуширина интервала определяется как произведение полуширины интервала допустимых значений параметра, указанных в разделе ParamDef описания сети на величину Range. Интервал распределения случайной величины определяется как [–Полуширина; Полуширина].

Оглавление книги


Генерация: 1.565. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз