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



              

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


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

w_1, \ldots, w_N
. При модификации
w_i

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

w_1, \ldots, w_{i-1}
и немодифицированные
w_{i+1}, \ldots, w_N
.

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

x_1, \ldots, x_n
и соответствующих выходных сигналов
f_1, \ldots, f_n
, а также известны значения параметров, которые реализуют сумматор:
f_i = w_0 + (x^i,w)
. Требуется произвести бинаризацию сумматора, т.е. найти числа
a,b
и вектор
\beta
с координатами
0
или
1
, чтобы значения функции
\varphi(x) = a + b(x,\beta)
на выборке
\{x^i\}
как можно меньше отличались от
f_i
. Критерием такого отличия будем считать
H = \sum_{i=1,n}(f_i - \varphi(x^i))^2
. Построим координаты вектора
\beta
по порядку
\beta_1, \beta_2, \ldots .

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

\beta_1 ,\ldots, \beta_{i-1}
. Обозначим
\beta^{0i} = (\beta_1 ,\ldots, \beta_{i-1}, 0 ,\ldots, 0)
(последние
N - i + 1
координат - нули),
\beta^{1i} = (\beta_1, \ldots, \beta_{i-1},1,0, \ldots, 0)
(последние
N - i
координат - нули),
\alpha^i = (0, \ldots, 0,\alpha_{i+1},\ldots)
(первые
i

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

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

 \begin{align*} &\varphi_0^i(x) = a_{0i} + b_{0i}(x, \beta^{0i}) + (x, \alpha^i),\\ &\varphi_1^i(x) = a_{1i} + b_{1i}(x, \beta^{1i}) + (x, \alpha^i),\\ &H_{0i} = \sum_{j=1,n}(f_j - \varphi_0^i(x^j))^2,\\ &H_{1i} = \sum_{j=1,n}(f_j - \varphi_1^i(x^j))^2. \end{align*}

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

a_{0i}, b_{0i}, a_{1i}, b_{1i}
из условий
H_{0i} \to min, H_{1i} \to min
, минимизируя функции
H_{0i}
и
H_{1i}
. Пусть
h_{0i} = min H_{0i}
и
h_{1i} = min H_{1i}
. Если
h_{1i} \geqslant h_{0i}
, то полагаем
\beta_i=0
, в противном случае
\beta_i=1
.

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

\beta_i , i = 1, \ldots, N

(

N
- размерность вектора данных), автоматически определяются
a
и
b
: если
N = 0
, то полагаем
a = a_{0N}
,
b = b_{0N}
, иначе
a = a_{1N}, b = b_{1N}
.

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

f_i := f_i - \varphi(x^i)
и для этих исходных данных вновь строим бинаризованный сумматор по алгоритму рекурсивной бинаризации. Повторяем такое построение, пока не будет достигнута удовлетворительная точность. В результате получим набор бинаризованных сумматоров, которые в совокупности (т.е. в результате суммирования выходных сигналов) достаточно точно аппроксимируют исходный. При появлении весов, определяющих значимость отдельных примеров из обучающей выборки, рекурсивная бинаризация проводится точно так же, только в функциях
H
появляются веса.

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

F(x,w) = \sum_{i} w_{i} f_{i}(x)
, то вместо обучающей выборки
\{ x^{j} \}
берем семейство векторов
\{ y^{j} \}
с координатами
y_i^j=f_i(x^j)
. После такого
y_{i}^{j}=f_i(x^{j})

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




Содержание  Назад  Вперед