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

ЖАНРЫ

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

Миркес Е. М.

Шрифт:

prGetData — Получить параметры предобработчика

prGetName — Получить имена параметров предобработчика

prSetData — Установить параметры предобработчика

prEdit — Редактировать предобработчик

OnError — Установить обработчик ошибок

GetError — Дать номер ошибки

FreeMemory — Освободить память

В запросе prGetType в переменной TypeId возвращается значение одной из предопределенных констант, перечисленных в табл. 23.

Ошибки компонента предобработчик

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

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

Название ошибки Стандартная обработка
201 Неверное
имя предобработчика
Занесение номера в Error
202 Ошибка считывания предобработчика Занесение номера в Error
203 Ошибка сохранения предобработчика Занесение номера в Error
204 Ошибка предобработки Занесение номера в Error

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

Данный раздел посвящен описанию стандарта хранения компонента сеть на внешних носителях.

Структура компонента

Рассмотрим более подробно структуры данных сети. Как уже было описано ранее, сеть строится иерархически от простых подсетей к сложным. Простейшими подсетями являются элементы. Подсеть каждого уровня имеет свое имя и тип. Существуют следующие типы подсетей: элемент, каскад, слой, цикл с фиксированным числом тактов функционирования и цикл, функционирующий до тех пор, пока не выполнится некоторое условие. Последние четыре типа подсетей будем называть блоками. Имена подсетей определяются при конструировании. В разделе «Имена структурных единиц компонентов» приведены правила построения полного и однозначного имен подсети. В качестве примера рассмотрим сеть, конструирование которой проиллюстрировано в главе «Описание нейронных сетей» на рис. 2. В описании сети NW однозначное имя первого нейрона второго слоя имеет вид K[2].SN.N[1]. При описании слоя однозначное имя первого нейрона записывается как N[1]. В квадратных скобках указываются номер экземпляра подсети, входящей в непосредственно содержащую ее структуру в нескольких экземплярах.

Сигналы и параметры

При использовании контрастирования для изменения структуры сети и значений обучаемых параметров другим компонентам бывает необходим прямой доступ к сигналам и параметрам сети в целом или отдельных ее подсетей. Для адресации входных и выходных сигналов используются имена InSignals и OutSignals, соответственно. Таким образом, для получения массива входных сигналов второго слоя сети, приведенной на рис. 2, необходимо запросить массив NW.K[2].InSignals, а для получения выходного сигнала всей сети можно воспользоваться любым из следующего списка имен:

• NW.OutSignals;

• NW.N.OutSignals.

Для получения конкретного сигнала из массива сигналов необходимо в конце в квадратных скобках указать номер сигнала. Например, для получения третьего входного сигнала второго слоя сети нужно указать следующее имя — NW.K[2].InSignals[3].

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

Обучаемые и не обучаемые параметры и сигналы

При обучении параметров и сигналов (использование обучения сигналов описано во введении) возникает необходимость обучать только часть из них. Так, например, при описании обучения персептрона во второй части главы «Описание нейронных сетей» было отмечено, что обучать необходимо только веса связей второго слоя. Для реализации этой возможности используются два массива логических перемен-ных — маска обучаемых параметров и маска обучаемых входных сигналов.

Дополнительные переменные

При описании структуры сетей необходимо учитывать следующую дополнительные переменные, доступные в методах Forw и Back. Для каждой сети при прямом функционировании определен следующий набор переменных:

• InSignals[K] — массив из K действительных чисел, содержащих входные сигналы прямого функционирования.

• OutSignals[N] — массив из N действительных чисел, в которые заносятся выходные сигналы прямого функционирования.

• Parameters[M] — массив из M действительных чисел, содержащих параметры сети.

При выполнении обратного функционирования сети доступны еще три массива:

• Back.InSignals[K] — массив из K действительных чисел, параллельный массиву InSignals, в который заносятся выходные сигналы обратного функционирования.

• Back.OutSignals[N] — массив из N действительных чисел, параллельный массиву OutSignals, содержащий входные сигналы обратного функционирования.

• Back.Parameters[M] — массив из M действительных чисел, параллельный массиву Parameters, в который заносятся вычисленные

при обратном функционировании поправки к параметрам сети.

При обучении (модификации параметров или входных сигналов) доступны все переменные обратного функционирования и еще два массива:

• InSignalMask[K] — массив из K логических переменных, параллельный массиву InSignals, содержащий маску обучаемости входных сигналов.

• ParamMask[M] — массив из M логических переменных, параллельный массиву Parameters, содержащий маску обучаемости параметров.

Стандарт языка описания сетей

Язык описания нейронных сетей предназначен для хранения сетей на диске. Следует отметить, что в отличии от таких компонентов, как предобработчик входных сигналов, оценка или задачник описание даже простой сети имеет большой размер. С другой стороны, многие подсети являются стандартными для большинства сетей. Для компонента сеть нет смысла вводить небольшой набор стандартных элементов и подсетей, поскольку этот набор может легко расширяться. Более эффективным является выделение часто употребляемых подсетей в отдельные библиотеки, подключаемые к описаниям конкретных сетей. В приведенных в этом разделе примерах описания нейронных сетей выделен ряд библиотек.

Ключевые слова языка

В табл. 25 приведен список ключевых слов специфических для языка описания сетей.

Таблица 25. Ключевые слова языка описания сетей.

Идентификатор Краткое описание
Back Метод, осуществляющий обратное функционирование подсети. Префикс сигналов обратного функционирования.
Block Тип аргумента подсети. Означает, что аргумент является подсетью.
Cascad Тип подсети — каскад.
Connections Начало блока описания связей подсети.
Contents Начало блока описания состава подсети.
DefaultType Тип параметров по умолчанию.
Element Тип подсети — элемент.
Forw Метод, осуществляющий прямое функционирования подсети.
InSignalMask Имя, по которому адресуются маски обучаемости входных сигналов подсети.
InSignals Имя, по которому адресуются входные сигналы подсети; начало блока описания входных сигналов.
Layer Тип подсети — слой.
Loop Тип подсети — цикл, выполняемый указанное число раз.
MainNet Начало описания главной сети
NetLib Начало описания библиотеки подсетей.
NetWork Начало описания сети
NumberOf Функция (запрос). Возвращает число параметров или сигналов в подсети.
OutSignals Имя, по которому адресуются выходные сигналы подсети; начало блока описания выходных сигналов.
ParamDef Заголовок определения типа параметров.
Рarameters Имя, по которому адресуются параметры подсети; начало блока описания параметров.
ParamMask Имя, по которому адресуются маски обучаемости параметров подсети.
ParamType Заголовок описания типа параметров.
Until Тип подсети — цикл, выполняемый до тех пор пока не выполнится условие.
Used Начало списка подключаемых библиотек подсетей
БНФ языка описания сетей

Обозначения, принятые в данном расширении БНФ и описание ряда конструкций приведены в разделе «Описание языка описания компонентов».

<Описание библиотеки подсетей>::= <Заголовок библиотеки> <Описание подсетей> <Конец описания библиотеки>

<Заголовок библиотеки>::= NetLib<Имя библиотеки> [Used <Список имен библиотек>]

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