С интерпретатором ответа тесно связан еще один обязательный компонент нейрокомпьютера — оценка. Невнимание к этому компоненту вызвано практикой рассматривать метод обратного распространения ошибки в виде алгоритма. Доминирование такой точки зрения привело к тому, что, судя по публикациям, большинство исследователей даже не подозревает о том, что «уклонение от правильного ответа», подаваемое на вход сети при обратном функционировании, есть ни что иное, как производная функции оценки по выходному сигналу сети (если функция оценки является суммой квадратов уклонений). Возможно (и иногда очень полезно) конструировать другие оценки (см. главу «Оценка и интерпретатор ответа»). Нашей группой в ходе численных экспериментов было выяснено, что для обучения сетей-классификаторов функция оценки вида суммы квадратов, пожалуй, наиболее плоха. Использование альтернативных функций оценки позволяет в несколько раз ускорить обучение нейронной сети.
Шестым необходимым компонентом нейрокомпьютера является
Принцип относительной функциональной обособленности требует выделения еще одного компонента, названного исполнителем запросов учителя или просто
1. Тестирование решения примера
1. Взять пример у задачника.
2. Предъявить его сети для решения.
3. Предъявить результат интерпретатору ответа.
2. Оценивание решения примера
1. Взять пример у задачника.
2. Предъявить его сети для решения.
3. Предъявить результат оценке.
3. Оценивание решения примера с вычислением градиента.
1. Взять пример у задачника.
2. Предъявить его сети для решения.
3. Предъявить результат оценке с вычислением производных.
4. Предъявить результат работы оценки сети для вычисления градиента.
4. Оценивание и тестирование решения примера.
1. Взять пример у задачника.
2. Предъявить его сети для решения.
3. Предъявить результат оценке.
4. Предъявить результат интерпретатору ответа.
Заметим, что все четыре варианта работы с сетью, задачником, интерпретатором ответа и оценкой легко объединить в один запрос, параметры которого позволяют указать последовательность действий. Таким образом, исполнитель исполняет всего один запрос — обработать пример. Однако выделение этого компонента позволяет исключить необходимость в прямых связях таких компонентов, как контрастер и учитель, с компонентами оценка и интерпретатор ответа, а их взаимодействие с компонентом сеть свести исключительно к запросам связанным с модификацией обучаемых параметров сети.
Последним компонентом, которого необходимо выделить, является контрастер нейронной сети. Этот компонент является надстройкой над учителем. Его назначение — сводить число связей сети до минимально необходимого или до «разумного» минимума (степень разумности минимума определяется пользователем). Кроме того, контрастер, как правило, позволяет свести множество величин весов связей к 2–4, реже к 8 выделенным пользователем значениям. Наиболее важным следствием применения процедуры контрастирования является получение логически прозрачных сетей — сетей, работу которых легко описать и понять на языке логики [76, 83].
Для координации работы всех компонент нейрокомпьютера вводится макрокомпонента
Запросы компонентов нейрокомпьютера
В этом разделе приводится основной список запросов, которые обеспечивают функционирование нейрокомпьютера. За редким исключением приводятся только запросы, которые генерируются компонентами нейрокомпьютера (некоторые из этих запросов могут поступать в нейрокомпьютер от пользователя). Здесь рассматривается только форма запроса и его смысл. Полный список запросов каждого компонента, детали их исполнения и форматы данных рассматриваются в соответствующих разделах приложения 3.
На рис. 1. приведена схема запросов в нейрокомпьютере. При построении схемы предполагается, что на каждый запрос приходит ответ. Вид ответа описан при описании запросов. Стрелки, изображающие запросы, идут от объекта, инициирующего запрос, к объекту его исполняющему.
Рис 1. Схема запросов в нейрокомпьютере
Запросы к задачнику