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

1.3.5.                       Запрос к контрастеру

«Отконтрастировать сеть». Ответом является код завершения операции контрастирования.

1.3.6.                       Запрос к оценке

Оценка не генерирует никаких запросов. Она выполняет только один запрос – «Оценить пример». Результатом выполнения запроса является оценка примера и, при необходимости, вектор производных оценки по выходным сигналам сети.

1.3.7.                       Запрос к интерпретатору ответа

Интерпретатор ответа не генерирует никаких запросов. Он выполняет только один запрос – «Интерпретировать ответ». Ответом является результат интерпретации.

1.3.8.                       Запросы к сети

Сеть не генерирует никаких запросов. Набор исполняемых сетью запросов можно разбить на три группы.

Запрос, обеспечивающий тестирование.

«Провести прямое функционирование». На вход сети подаются данные примера. На выходе сети вычисляется ответ сети, подлежащий оцениванию или интерпретации.

Запросы, обеспечивающие обучение сети.

«Обнулить градиент». При исполнении этого запроса градиент оценки по обучаемым параметрам сети кладется равным нулю. Этот запрос необходим, поскольку при вычислении градиента по очередному примеру сеть добавляет его к ранее вычисленному градиенту по сумме других примеров.

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

«Изменить карту с шагами Н1 и H2». Генерируется учителем во время обучения.

Запрос, обеспечивающие контрастирование.

«Изменить карту по образцу». Генерируется контрастером при контрастировании сети.

Таким образом, выделено семь основных компонентов нейрокомпьютера, определены их функции и основные исполняемые ими запросы.

1.4.               Запросы общие для всех компонентов

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

1.4.1.                       Стандарт типов данных

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

Таблица 1.

Типы данных для всех компонентов нейрокомпьютера

Тип

Длина (байт)

Значения

Описание

Color

2


Используется для задания цветов. Является совокупностью из 16 элементарных (битовых) флагов. См. раздел «Цвет и операции с цветами».

Real

4

от ±1.5 e- 45

до ±3.4 e 38

Действительное число. Величина из указанного диапазона.. В дальнейшем называется «действительное».

RealArray

4*N


Массив действительных чисел.

PRealArray

4


Используется для передачи массивов между компонентами. Имеет значение адреса массива действительных чисел.

Integer

2

От -32768

До 32767

Целое число из указанного диапазона. В дальнейшем называется «целое».

IntegerArray

2*N


Массив целых чисел.

PIntegerArray

4


Используется для передачи массивов между компонентами. Имеет значение адреса массива целых чисел.

Таблица 1.

Типы данных для всех компонентов нейрокомпьютера (Продолжение)

Тип

Длина (байт)

Значения

Описание

Long

4

От -2147483648

До 2147483647

Целое число из указанного диапазона. В дальнейшем называется «длинное целое».

LongArray

4*N


Массив длинных целых чисел.

PlongArray

4


Используется для передачи массивов между компонентами. Имеет значение адреса массива длинных целых чисел.

Logic

1

True, False

Логическая величина. Далее называется «логическая».

LogicArray

N


Массив логических переменных.

PLogicArray

4


Используется для передачи массивов между компонентами. Имеет значение адреса массива логических переменных.

FuncType

4


Адрес функции. Используется при необходимости передать функцию в качестве аргумента.

String

256


Строка символов.

PString

4


Адрес строки символов. Служит для передачи строк в запросах

Pointer

4


Не типизованный указатель (адрес). Этот тип совместим с любым типизованным указателям.

Числовые типы данных Integer, Long и Real предназначены для хранения различных чисел. Переменные числовых типов допускаются в языках описания всех компонентов нейрокомпьютера. При необходимости записать в один массив числовые переменные различного типа следует использовать функции приведения типов, описанные в разделе «Приведение типов»

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

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

Логический тип используется для хранения логических значений. Значение истина задается предопределенной константой True, значение ложь – False.

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

Вне зависимости от типа массива нулевой элемент массива имеет тип Long и содержит длину массива в элементах. На рис. 2 приведена схема распределения памяти всех типов массивов, каждый из которых содержит шесть элементов. Все массивы, как правило, используется только в пределах одного компонента. При передаче массивов между компонентами или между процедурами в пределах одного компонента используются указатели на массивы.

Адрес функции. Этот тип используется для передачи функции в качестве аргумента. Переменная типа FuncType занимает четыре байта и является адресом функции. В зависимости от реализации по этому адресу может лежать либо начало машинного кода функции, либо начало текста функции. В случае передачи текста функции первые восемь байт по переданному адресу содержат слово «Function».

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