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

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

К группе запросов на изменение параметров относятся три запроса: xxGetData – получить параметры структурной единицы. xxGetName – получить названия параметров и xxSetData – установить значения параметров структурной единицы.

Получить параметры (xxGetData)

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

Pascal:

Function xxGetData( CompName : PString; Var Param : PRealArray ) : Logic;

C:

Logic xxGetData(PString CompName, PRealArray* Param)

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

CompName – указатель на строку символов, содержащую полное имя структурной единицы.

Param – адрес массива параметров.

Назначение – возвращает массив параметров структурной единицы, указанной в аргументе CompName .

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

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

2.     Если список компонентов пуст или имя компонента, переданное в аргументе CompName, в этом списке не найдено, то возникает ошибка n01 – неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

3.     В массив, адрес которого передан в аргументе Param, заносятся значения параметров. Параметры заносятся в массив в порядке описания в разделе описания статических переменных. Статические переменные, описанные вне описания структурных единиц, считаются параметрами компонента.

Получить имена параметров (xxGetName)

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

Pascal:

Function xxGetName( CompName : PString; Var Param : PRealArray ) : Logic;

C:

Logic xxGetName(PString CompName, PRealArray* Param)

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

CompName – указатель на строку символов, содержащую полное имя структурной единицы.

Param – адрес массива указателей на названия параметров.

Назначение – возвращает массив указателей на названия параметров структурной единицы, указанной в аргументе CompName .

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

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

2.     Если список компонентов пуст или имя компонента, переданное в аргументе CompName, в этом списке не найдено, то возникает ошибка n01 – неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

3.     В массив, адрес которого передан в аргументе Param, заносятся адреса символьных строк, содержащих названия параметров.

Установить параметры (xxSetData)

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

Pascal:

Function xxSetData( CompName : PString; Param : PRealArray ) : Logic;

C:

Logic xxSetData(PString CompName, PRealArray Param)

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

CompName – указатель на строку символов, содержащую полное имя структурной единицы.

Param – адрес массива параметров.

Назначение – заменяет значения параметров структурной единицы, указанной в аргументе CompName , на значения, переданные, в аргументе Param.

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

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

2.     Если список компонентов пуст или имя компонента, переданное в аргументе CompName, в этом списке не найдено, то возникает ошибка n01 – неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

3.     Параметры, значения которых хранятся в массиве, адрес которого передан в аргументе Param, передаются указанной в аргументе CompName структурной единице.

4.     Если исполняющим запрос компонентом является интерпретатор ответа (aiSetData), то генерируется запрос SetEstIntParameters к компоненту оценка. Аргументы генерируемого запроса совпадают с аргументами исполняемого запроса.

1.4.6.4.   Инициация редактора компоненты

К этой группе запросов относится запрос, который инициирует работу не рассматриваемых в данной работе компонентов – редакторов компонентов.

Редактировать компонента (xxEdit)

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

Pascal:

Procedure xxEdit(CompName : PString);

C:

void xxEdit(PString CompName )

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

CompName – указатель на строку символов – имя файла или адрес памяти, содержащие описание редактируемого компонента.

Если в качестве аргумента CompName дана строка, первые четыре символа которой составляют слово File, то остальная часть строки содержит имя компонента и после пробела имя файла, содержащего описание компонента. В противном случае считается, что аргумент CompName содержит указатель на область памяти, содержащую описание компонента в формате для записи на диск. Если описание не вмещается в одну область памяти, то допускается включение в текст описания компонента ключевого слова Continue, за которым следует четыре байта, содержащие адрес следующей области памяти.

Если в качестве аргумента CompName передан пустой указатель или указатель на пустую строку, то редактор создает новый экземпляр компонента.


2. Задачник и обучающее множество

Эта глава посвящена одному из наиболее важных и обделенных вниманием компонентов нейрокомпьютера – задачнику. Важность этого компонента определяется тем, что при обучении сетей всех видов с использованием любых алгоритмов обучения сети необходимо предъявлять примеры, на которых она обучается решению задачи. Источником данных для сети является задачник. Кроме того, задачник содержит правильные ответы для сетей, обучаемых с учителем. Аппаратная реализация этого компонента в общем случае неэффективна.

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

2.1.               Структуры данных задачника

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

В современных операционных системах предусмотрены различные способы обмена данными между приложениями (устройства, передающие информацию с датчиков, так же будем считать приложениями). Наиболее универсальным является обмен в символьном формате. Вопрос конкретной реализации обмена выходит за рамки данной работы, поскольку это чисто технический вопрос. Вне зависимости от того, каким путем и из какого приложения данные попали в задачник, их представление должно быть одинаковым (принятым в данной реализации задачника). То есть, откуда бы не получал данные задачник, остальные компоненты нейрокомпьютера всегда получают данные от задачника в одном и том же виде. Этот вид зафиксирован в приложении при описании стандарта компонента задачник.

2.2.               Поля задачника

Далее будем полагать, что задачник является реляционной базой данных из одной таблицы или набора параллельных таблиц. Каждому примеру соответствует одна запись базы данных. Каждому данному – одно поле. В данном разделе рассмотрены допустимые типы полей, с точки зрения типа хранящихся в них данных. В разд. «Состав данных задачника» все поля разбиваются по смысловой нагрузке. Все поля базы данных можно разбить на четыре типа – числовые поля, текстовые поля, перечислимые поля и поля типа рисунок.

Числовые поля. Поля числовых типов данных Integer, Long и Real (см. раздел «Стандарт типов данных в приложении) предназначены для хранения различных чисел. Поля числового типа могут нести любую смысловую нагрузку.

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

Строки (текстовые поля). Поля текстового типа предназначены для хранения тестовой информации. Они могут быть только комментариями.

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

2.3.               Состав данных задачника

Компонент задачник является необходимой частью нейрокомпьютера вне зависимости от типа применяемых в нем нейронных сетей. Однако в зависимости от решаемой задачи содержимое задачника может меняться. Так, например, для решения задачи классификации без учителя используют нейросети, основанные на методе динамических ядер [229, 267] (наиболее известным частным случаем таких сетей являются сети Кохонена [130, 131]). Задачник для такой сети должен содержать только массивы входных данных и предобработанных входных данных. При использовании обучаемых сетей, основанных на принципе двойственности, к задачнику необходимо добавить массив ответов сети. Кроме того, некоторые исследователи хотят иметь возможность просмотреть ответы, выданные сетью, массив оценок примера, показатели значимости входных сигналов и, возможно, некоторые другие величины. Поэтому, стандартный задачник должен иметь возможность предоставить пользователю всю необходимую информацию.

Страницы: 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 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.