Опубликован: 13.09.2006 | Уровень: специалист | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Лекция 16:

Контрастирование (редукция) нейронной сети

Опишем вычисления более детально.

1. Проводим нормировку: для любого i полагаем g_i^0 =
f_i/\|f_i\|.

2. Вычисляем |(F, g_i^0)| (модуль проекции вектора F на вектор g_i^0 ), i =
1, \ldots, N. Находим среди этих чисел максимальное (пусть его номер i_{0,max} ), полагаем e_1 = g_{i0 max}^0, исключаем g_{i0
max}^{0} из множества \{g_i^0\}, получаем g_i^1
= g_i^0 - (g_i^0,e_1)e_1, исключаем из множества \{g_i^1\} нулевые векторы, если таковые существуют, проводим нормировку g_i^1 =
g_i^1/\|g_i^1\|.

3. Пусть определены векторы e_1, \ldots, e_l и не более чем n-l нормированных векторов g_i^l. Среди векторов g_i^l ищем такой g_{i,max}^l, для которого |(F,
g_i^l)| принимает максимальное значение, полагаем e_{l+1} =
g_{i,max}^l, исключаем g_{i,max}^l из множества векторов \{g_i^l\} ; полагаем g_i^{l+1} = g_i^l -
(g_i^l,e_{l+1})e_{l+1}, исключаем из этого множества нулевые векторы, если таковые существуют, нормируем: g_i^{l+1}  = g_i^{l+1}/\|g_i^{l+1}\|.

Вычисления проводим, пока \|F\|^2 - \sum_{i=1,l}(F,e_i)^2 >
\varepsilon^2.

После завершения вычислений имеем набор ортонормированных векторов e_1, \ldots, e_l, l \leqslant n. Они являются линейными комбинациями векторов f_{i,1max},
 \ldots, f_{i,lmax}. Коэффициенты разложения e_j по набору f_{i,1max}, \ldots, f_{i,lmax} могут быть вычислены и сохранены в ходе ортогонализации. Полагаем J =
\{i_{1max}, \ldots, i_{lmax}\}. Тогда F' = \sum_{j=1,l}(F,e_j)e_j = \sum_{j \in J} \beta_j f_j. Это и есть решение задачи. Числа \beta_j выражаются через коэффициенты разложения векторов e_i, i
= 1, \ldots, l по f_j, j  \in J и скалярные произведения (F,e_j): если e_i = \sum_{j \in J} q_{ij} f_j, то \beta_j = \sum_{i=1,l}(F,e_i)q_{ij}.

Разложение e_i по f_j, j \in J имеет рекурсивную форму:

\begin{align*}
&e_1 = f_{i,1max}/\|f_{i,1max}\|,\\
&e_2 = [f_{i,2max} - (f_{i,2max}, e_1)e1]/\|f_{i,2max} - (f_{i,2max},e_1)e_1\|,\\
&\ldots,\\
&e_j = [f_{i,jmax} - \sum_{r=1,j-1}(f_{i,jmax},e_r)e_r]/\| f_{i,jmax} -\sum_{r=1,j-1}(f_{i,jmax},e_r)e_r\|,\\
&\ldots
\end{align*}

Для функций вида F(x,w) = \varphi (\sum_i w_i f_i(x)) с дифференцируемой функцией процедура аналогична с точностью до замены скалярного произведения: используется скалярное произведение с весами (f,g) = \sum_p V_p
f^p g^p, где V_p = (
(\sum_i w_i f_i(x^p)))^2. В этом скалярном произведении вычисляются все нормы и проводится ортогонализация.

Для функций с пороговой нелинейностью на выходе используем скалярное произведение с весами V_p = |\sum_i w_i f_i(x^p)|^2.

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

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

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

Ирина Ткаченко
Ирина Ткаченко
Россия, Москва
Николай Ткаченко
Николай Ткаченко
Россия