Нейрокомпьютерные системы

         

Определение значимости параметров на основании функции оценки


Есть набор

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

Пусть для каждого

Нейрокомпьютерные системы
определено фиксированное значение
Нейрокомпьютерные системы
. Отбрасывание
Нейрокомпьютерные системы
-ой компоненты для
Нейрокомпьютерные системы
-го примера означает приравнивание
Нейрокомпьютерные системы
. В качестве простейшего варианта примем
Нейрокомпьютерные системы
и для любого
Нейрокомпьютерные системы
полагаем

Нейрокомпьютерные системы

(параметры обращаются в ноль, данные заменяются средним по выборке). Более тонкие методы предполагают замену отбрасываемых параметров и сигналов на некоторые функции оставшихся.



Определение значимости параметров по изменению выходных сигналов системы


Значимость параметров определяется практически так же, как и с помощью функции оценки. Пусть

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

Вычислим в линейном приближении изменение вектора

Нейрокомпьютерные системы
при обращении
Нейрокомпьютерные системы

в

Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
в
Нейрокомпьютерные системы
:

Нейрокомпьютерные системы

Пусть в пространстве выходных сигналов системы задана некоторая норма (например, евклидова). Тогда положим:

Нейрокомпьютерные системы

Таким образом, для каждого

Нейрокомпьютерные системы
и любого
Нейрокомпьютерные системы

определен вектор показателей значимости. Координаты вектора соответствуют точкам

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

Нейрокомпьютерные системы

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



Показатели значимости для нейрона с дифференцируемым нелинейным элементом


Эти показатели ищутся почти так же как для сумматора. Пусть

Нейрокомпьютерные системы

тогда

Нейрокомпьютерные системы

В евклидовой норме (что соответствует методу наименьших квадратов) получаем:

Нейрокомпьютерные системы

т.е. произведение модуля параметра

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



Показатели значимости для нейрона с пороговым нелинейным элементом (персептрона)


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

Нейрокомпьютерные системы

Для каждого вектора данных

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

Нейрокомпьютерные системы

Если положить

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

Нейрокомпьютерные системы

Полученные выражение для показателей значимости позволяют уп\-рощать основные элементы НС "снизу вверх", начиная с исключения самых малозначимых параметров.



Рекурсивное контрастирование и бинаризация


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

Нейрокомпьютерные системы
. При модификации
Нейрокомпьютерные системы

используются модифицированные значения

Нейрокомпьютерные системы
и немодифицированные
Нейрокомпьютерные системы
.

Пусть для сумматора задана обучающая выборка входных векторов

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

Пусть построены

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

координат - нули).

Введем функции:

Нейрокомпьютерные системы

Определим параметры

Нейрокомпьютерные системы
из условий
Нейрокомпьютерные системы
, минимизируя функции
Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
. Пусть
Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
. Если
Нейрокомпьютерные системы
, то полагаем
Нейрокомпьютерные системы
, в противном случае
Нейрокомпьютерные системы
.

После того как построены все

Нейрокомпьютерные системы

(

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

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

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

Если требуется тем же путем упростить любой другой элемент, линейный по параметрам,

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

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



Сокращение числа выходов в адаптивном линейном сумматоре (путь "снизу вверх")


Рассмотрим адаптивный линейный сумматор, вычисляющий линейную функцию

Нейрокомпьютерные системы
.

Решим задачу о сокращении числа выходных сигналов. Рассмотрим определение значимости по изменению выходного сигнала. Заметим, что:

Нейрокомпьютерные системы

Уничтожить

Нейрокомпьютерные системы
-й выходной сигнал можно двумя способами:

заменой параметра

Нейрокомпьютерные системы
на 0;заменой
Нейрокомпьютерные системы
на постоянную величину не зависящую от
Нейрокомпьютерные системы
.

В последнем случае получаем новую функцию

Нейрокомпьютерные системы

Такое преобразование означает, что одновременно с уничтожением

Нейрокомпьютерные системы
-й выходной связи
Нейрокомпьютерные системы
приобретает новое значение:

Нейрокомпьютерные системы

При этом можно добиться меньшего изменения

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

Нейрокомпьютерные системы

Таким образом, оптимальной является замена

Нейрокомпьютерные системы
на его среднее значение по исходной выборке. В обозначениях теории вероятностей:

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- среднеквадратичное отклонение от
Нейрокомпьютерные системы
на выборке
Нейрокомпьютерные системы
.

Значимость замены оценивается как

Нейрокомпьютерные системы

При исключении сигналов по одному, они сортируются в соответствии со значениями

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



Сокращение описания "сверху вниз" - набор достаточного семейства наиболее значимых параметров


Метод исключения параметров "сверху вниз" с ортогонализацией применим не ко всяким функциям

Нейрокомпьютерные системы
, а только к таким, которые имеют вид:

Нейрокомпьютерные системы

Достоинство метода - автоматический учет корреляции между

Нейрокомпьютерные системы
. Рассмотрим устройства, вычисляющие функции

Нейрокомпьютерные системы

К ним относятся линейные сумматоры, квадратичные сумматоры и др.

Пусть заданы векторы данных:

Нейрокомпьютерные системы

Поставим задачу сокращения описания следующим образом: так определить некоторое наименьшее возможное множество индексов

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

Нейрокомпьютерные системы

С каждой функцией

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


Полагаем
Нейрокомпьютерные системы
. Тогда
Нейрокомпьютерные системы
. Это и есть решение задачи. Числа
Нейрокомпьютерные системы
выражаются через коэффициенты разложения векторов
Нейрокомпьютерные системы
по
Нейрокомпьютерные системы
и скалярные произведения
Нейрокомпьютерные системы
: если
Нейрокомпьютерные системы
, то
Нейрокомпьютерные системы
.

Разложение
Нейрокомпьютерные системы
по
Нейрокомпьютерные системы
имеет рекурсивную форму:

Нейрокомпьютерные системы


Для функций вида
Нейрокомпьютерные системы
с дифференцируемой функцией процедура аналогична с точностью до замены скалярного произведения: используется скалярное произведение с весами
Нейрокомпьютерные системы
, где
Нейрокомпьютерные системы
. В этом скалярном произведении вычисляются все нормы и проводится ортогонализация.

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

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

Процедуры анализа значимости и сокращения описания выделяют наиболее важные параметры и связи в НС. По аналогии с обработкой изображения их называют процедурами контрастирования или редукции.

Роль контрастирования (редукции) не сводится только к сокращению описания: более общая задача - привести параметры системы к выделенному набору значений, в частности, уменьшить разрядность, что важно для удешевления специализированных устройств, экономии памяти и т.д.


Значимость параметров и сигналов. Сокращение описания (контрастирование) сетей.


Сокращение множества параметров и входных сигналов обученной нейронной сети преследует цели:

упрощение специализированных устройств;сокращение объема используемой памяти и увеличение быстродействия;удешевление сбора данных;обеспечение (или облегчение) интерпретации результатов обработки данных.

Существует два способа сокращения (редукции) описания:

редукция "снизу вверх" - постепенное удаление параметров от наименее значимых к более значимым;редукция "сверху вниз" - выделение наиболее значимых параметров и постепенное дополнение их менее значимыми.

Способ редукции "снизу вверх":

определяются наименее значимые параметры и устраняются вместе с соответствующими элементами системы;оставшиеся параметры модифицируются так, чтобы наилучшим способом решить задачу;циклически повторять пп. 1-2 до тех пор, пока задача не будет решаться с удовлетворительной точностью.



Голографические корреляторы


В голографических корреляторах образцы изображений запоминаются в виде голограммы (плоской или объемной) и восстанавливаются при когерентном освещении в петле обратной связи.

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

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

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



Электронная реализация нейронных сетей


В качестве единицы производительности нейросетей принято "число соединений в секунду" - CPS (connections per second). Под соединением здесь понимается умножение входного сигнала на весовой коэффициент и сложение с накопленной суммой.

Анализ нейросетевых алгоритмов позволяет сделать следующие выводы:

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

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



Нейрочипы


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

Аналоговые реализации используют простые физические эффекты для выполнения нейросетевых преобразований. Обеспечение заданной точности требует тщательного проектирования и изготовления.

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



и векторный процессор для обработки


Отечественный нейропроцессор NM6403, разработанный в НПО "Модуль" (www.module.ru), имеет скалярный процессор (скалярное RISC-ядро) и векторный процессор для обработки двоичных векторов произвольной разрядности в пределах 1-64 битов. Скалярный процессор выполняет всю подготовку данных для работы векторного процессора.

Модель слоя нейронов, эмулируемого процессором NM6403, показана на рис. 1. В общем случае слой имеет
Нейрокомпьютерные системы
входов и состоит из
Нейрокомпьютерные системы


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

Нейропроцессор NM6403 имеет два встроенных линка, совместимых с линками сигнального микропроцессора TMS320C40. Кроме того, интерфейсы локальной и глобальной памятей позволяют без дополнительного оборудования подсоединять два нейропроцессора к общему блоку памяти.

Нейрокомпьютерные системы

увеличить изображение
Рис. 1.  Модель слоя нейронов

Мультипроцессорная система (рис. 2) из
Нейрокомпьютерные системы
нейропроцессоров NM6403 эмулирует нейронную сеть в
Нейрокомпьютерные системы
раз быстрее, чем один нейропроцессор.

Нейрокомпьютерные системы

Рис. 2.  Линейная (кольцевая) система из нейропроцессоров NM6403


Оптическая реализация нейронных сетей


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

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

В оптических НС величины оптических весов могут запоминаться в голограммах с высокой степенью плотности (до

Нейрокомпьютерные системы
бит на куб. см.). Веса могут модифицироваться в процессе работы сети.

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

Конфигурации оптических НС в основном подразделяются на две категории: векторно-матричные умножители и голографические корреляторы.



Векторно-матричные умножители


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

Нейрокомпьютерные системы

Рис. 3.  Электронно-оптический векторно-матричный умножитель