Рефераты. Функциональные модели универсального нейрокомпьютера

2.     Изменение параметров.

3.     Работа со структурой.

4.     Инициация редактора и конструктора сетей.

5.     Обработка ошибок.

Поскольку компонент сеть может работать одновременно с несколькими сетями, большинство запросов к сети содержат явное указание имени сети. Отметим, что при генерации запросов в качестве имени сети можно указывать имя любой подсети. Таким образом, иерархическая структура сети, описанная в стандарте языка описания сетей, позволяет работать с каждым блоком или элементом сети как с отдельной сетью. Ниже приведено описание всех запросов к компоненту сеть. Каждый запрос является логической функцией, возвращающей значение истина, если запрос выполнен успешно, и ложь – при ошибочном завершении исполнения запроса.

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

 

 

 

 

Таблица 13.

Значения предопределенных констант

Название

Величина

Значение

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

Тип подсети – цикл по условию

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



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.