Структурные и топологические инварианты быстрых

advertisement
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
А.Ю. ДОРОГОВ
Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»
dorogov@lens.spb.ru
СТРУКТУРНЫЕ И ТОПОЛОГИЧЕСКИЕ ИНВАРИАНТЫ
БЫСТРЫХ ПЕРЕСТРАИВАЕМЫХ ПРЕОБРАЗОВАНИЙ
Аннотация. В работе представлены структурные и топологические
модели быстрых алгоритмов линейных преобразований и нейронных сетей. Показано, что существуют системные инварианты, определяющие
общие правила построения моделей быстрых алгоритмов. Рассмотрены
схемы порождения регулярных топологий.
Введение
С позиций сегодняшнего дня быстрое перестраиваемое преобразование можно рассматривать как специфичную многослойную нейронную
сеть с прореженными связями и линейными функциями активации. Алгоритмы быстрых преобразований (Фурье, Уолша-Адамара, Хаара, Виленкина-Крестенсона и др.) основаны на принципе разложения матрицы преобразования H в произведение слабозаполненных матриц:
H  H 0H 1 ,
, H 1 .
Выигрыш по быстродействию получается за счет того, что суммарное
число ненулевых элементов в слабозаполненных матрицах существенно
меньше числа элементов в результирующей матрице H . Слабозаполненные матрицы имеют блочную структуру, что обеспечивает возможность
распараллеливания вычислительных операций. Топология и коэффициенты
слабозаполненных матриц для конкретного преобразования устанавливаются подходящей теоремой факторизации. Было доказано множество теорем факторизации, но постепенно стало понятным, что по одной и той же
топологической схеме можно реализовать быстрые алгоритмы для различных преобразований путем изменения только коэффициентов в слабозаполненных матрицах. В итоге, начиная с работ Г. Эндрюса (1970 г.) [1, 2]
получило развитие направление быстрых перестраиваемых преобразований. При реализации перестраиваемых преобразований выбирается одна из
известных регулярных топологий (Гуда или Кули – Тьюки) и под данную
топологию определяются значения коэффициентов слабозаполненных матриц. Ограничением развития этого направления вскоре стала сама тополоУДК 004.032.26(06) Нейронные сети
39
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
гическая схема, поскольку закрепленная топология ограничивала возможности параметрического синтеза преобразований. Возник вопрос об общих
принципах построения топологических схем. Подобная проблема cуществует и при реализации быстрых нейронных сетей. При трансформации
быстрого перестраиваемого преобразования в нейронную сеть в каждый
слой добавляются нелинейные функции активации, при этом ненулевые
коэффициенты слабозаполненных матриц определяют синаптические веса
нейронных слоев [3]. Значения коэффициентов в этом случае могут устанавливаться процедурой обучения нейронной сети, но возникает вопрос,
как теперь выбрать топологию сети, чтобы сохранить быструю алгоритмическую реализацию? В данной работе показано, что существуют системные
инварианты, определяющие полное топологическое многообразие быстрых
алгоритмов и общие принципы их построения.
1. Структурная модель быстрого алгоритма
Исследование инвариантных свойств быстрых алгоритмов удобно выполнить на примере быстрого преобразования Фурье (БПФ). На рис. 1
показана структурная модель БПФ размерности 8 в виде ориентированного графа, где каждая вершина представляет собой базовую операцию
«бабочка». Все связи между вершинами являются транслирующими и
имеют единичный операторный ранг. Обозначим через i номер вершины
во входном слое, а через j – номер вершины в выходном слое сети и
представим эти числа в позиционной системе счисления по основанию 2:
i  i2i1  i2 2  i1 ,
j  j0 j1  j0 2  j1 .
где i , j  0,1 – разрядные числа. Непосредственной проверкой можно
убедиться, что для данного графа нумерацию вершин среднего слоя следует задавать выражением i1  j0i2  j0 2  i2 .
УДК 004.032.26(06) Нейронные сети
40
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
X00
X01
X02
X03
(2,2)
(2,2)
(2,2)
0
0
0
(2,2)
(2,2)
(2,2)
1
1
1
(2,2)
(2,2)
(2,2)
2
2
2
(2,2)
(2,2)
(2,2)
3
3
3
Y20
Y21
Y22
Y23
Рис. 1. Структурная модель восьмиточечного БПФ
i0=<i2i1>
0 00
1 01
2 10
3 11
i1=<j0i2>
0 00
1 01
2 10
3 11
i2=<j0j1>
0 00
1 01
2 10
3 11
Рис. 2. Правило построения структурной модели
На рис. 2 показан промежуточный этап построения структурной модели. Нетрудно заметить, что структурную модель БПФ можно построить,
следуя правилу: вершины смежных слоев соединяются дугой, если в поразрядном представлении номеров вершин общие одноименные разрядные числа имеют совпадающие значения. Символы i , j можно рассматривать как буквы алфавита, выражения
i2i1 ,
j0i2 ,
j0 j1
– как
слова формального языка, а комбинацию:  i2 i1 j0 i2 j0 j1  – как предложение формального языка. На основе рассмотренного примера можно
сделать следующие выводы:
 в лингвистической модели структурного уровня все допустимые
слова составлены из неповторяющихся букв и имеют длину на единицу
меньше числа слоев;
 слова в предложении линейно-упорядочены по числу вхождений
букв каждого типа.
УДК 004.032.26(06) Нейронные сети
41
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
1.1. Инвариант структурной модели
Построенную лингвистическую модель БПФ обобщим теперь для
быстрых преобразований общего вида. Определим алфавит формального
языка как линейно-упорядоченный набор неповторяющихся букв алфавита с двумя видами родовых имен:
A i I  j
J
,
где I и J – упорядоченные множества букв типа « i » и « j » соответственно. Число букв каждого вида одинаково и равно  1 . Рассмотрим
множество всевозможных слов длиной  1 , образованных из неповторяющихся букв. Из этого набора слов будем составлять предложения,
следуя следующему грамматическому правилу:
 слова в предложении линейно упорядочены по числу букв с родовым именем j ;
 первое слово предложения выбирается из класса  i  I и имеет, поэтому нулевое число вхождений букв с родовым именем j .
В соответствии с данным правилом число слов в предложении всегда
равно  . Пусть числа  и   1 определяют порядковые номера двух
смежных слов в предложении. Обозначим через I  и J  подмножества
букв каждого типа для слова с порядковым номером  . Тогда грамматическое правило для допустимых предложений можно сформулировать
следующим образом:
I   I  1 ,
J   J  1 ,
где
I0  I ,
I 1  ,
J 1  J ,
J0   .
Построенная грамматика не связана ни с видом преобразования, ни с
его размерностью, ни с его топологией, ни со структурными характеристиками и представляет собой инвариант морфологического уровня для
всевозможных структурных моделей быстрых алгоритмов. Рассмотрим
теперь семантику слов и предложений.
1.2. Семантическая интерпретации слов
Пусть zn1 zn2
z0
– некоторое допустимое слово формального язы-
ка. Поставим в соответствие каждой букве zi целое положительное число
УДК 004.032.26(06) Нейронные сети
42
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
pi , и будем рассматривать букву как символическое обозначение переменной, принимающей целочисленные значения из интервала
Zi  0,1, , pi 1 . Слово языка будем интерпретировать как целочисленную функцию, заданную выражением:
zn1 zn2
z0  zn1 pn2 pn3
p0  zn2 pn3 pn4
p0 
 z1 p0  z0 . (1)
Нетрудно видеть, что данная функция представляет собой правило перехода от позиционного представления числа в многоосновной системе
счисления к его количественному значению [4]. В этом контексте переменную zi уместно назвать разрядом, а константу pi – основанием разряда. Порядок следования аргументов для данной функции имеет существенное значение, поэтому каждое слово языка представляет собой кортеж, т. е. множество, на котором зафиксирован линейный порядок. Для
сокращенного обозначения кортежа, все элементы которого имеют общее
родовое имя (в данном случае – z ), будем использовать следующую
форму: z J , где J – отношение линейного порядка. Для определенности
будем полагать, что собственные позиции кортежа всегда упорядочены по
возрастанию слева направо, начиная с нулевой.
1.3. Семантическая интерпретация предложений
Поставим в соответствие допустимому предложению  -слойный сетевой граф. Будем полагать, что каждое слово предложения с порядковым
номером  устанавливает правило вычисления номера вершины графа в
слое  , в соответствии с семантикой (1). Вершины двух смежных слоев
будем считать связанными дугой, если в поразрядном представлении номеров вершин смежных слоев
i  i
I
 j
J
,
i  1  i
I  1
 j
J  1
значения одноименных разрядных переменных совпадают. Рассмотрим
пример построения сетевого графа. Пусть алфавит языка определен кортежем A  i1i2i3 j2 j1 j0 . Нетрудно убедится, что предложение
 i1i2 i3
i1i2 j0
i1 j1 j0
j2 j1 j0 
(2)
является грамматически допустимым. Порядок размещения букв в словах
предложения может быть любым, но целесообразно зафиксировать некоУДК 004.032.26(06) Нейронные сети
43
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
торое опорное отношение линейного порядка. Слово назовем каноническим, если порядок следования его букв, согласован с порядком следования букв в кортеже алфавита. В предложении (2) все слова являются каноническими, такое предложение уместно назвать каноническим. Пусть
основания разрядных переменных заданы таблицей:
 A   i1 i2 i3
 
 p 2 2 2
j2
2
j1
2
j0 
.
2
Согласно выражению (1) слова предложения интерпретируются как
следующие алгебраические выражения:
i 0  i1i2i3  22 i1  2i2  i3 ,
i1  i1i2 j0  22 i1  2i2  j0 ,
i 2  i1 j1 j0  22 i1  2 j1  j0 ,
i 3  j2 j1 j0  22 j2  2 j1  j0 .
Эти формулы используются для вычисления номеров вершин сетевого
графа. На рис. 3 показан полный граф, соответствующий предложению
(2). Сетевой граф строится в соответствии с правилом, показанным на
рис. 3.
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
5
5
5
5
6
6
6
6
7
7
7
7
0
Рис. 3. Графическая интерпретация канонического предложения
2. Топологическая модель быстрого алгоритма
Каждая базовая операция структурной модели имеет входное и выходное поле терминальных зажимов. Терминальные зажимы нумеруются локально в пределах базовой операции и глобально в пределах слоя. Соответствие между локальными и глобальными номерами терминальных полей
назовем топологическим размещением базовой операции, а их совокупУДК 004.032.26(06) Нейронные сети
44
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
ность в пределах слоя – топологией слоя. Топология входного и выходного
полей для слоя  может быть задана семантическими функциями:
U 
i   u ,
V 
i   v .
Данные функции включают в себя поразрядное представление номера
вершины и дополнительный разряд, соответствующий локальному номеру терминального зажима в пределах базовой операции. Дополнительный
разряд может занимать любую позицию в кортеже разрядного слова, и от
этого зависит размещение терминальных полей базовой операции в пределах слоя.
Поскольку все межслойные связи являются точными и однозначными,
то существует взаимнооднозначное соответствие между терминальными
зажимами двух смежных слоев. Аппаратная и программная реализация
быстрых алгоритмов существенно упрощается, когда межслойные связи
имею регулярную топологию. В контексте формального языка регулярное
соответствие может быть выражено операцией перестановки. В развернутом варианте оно имеет вид:
i
где
q
–
I
 j
операция
J
 v  q  i
I  1
перестановки
букв.
 j
J  1
 u 1 ,
Учитывая
также,
что
I   I  1 , J   J  1 , можно сделать вывод о существовании взаимно
однозначных соответствий
I  \ I  1  u 1 , J  1 \ J   v  .
(3)
Граничные терминальные поля сети занимают особое положение. Обозначим через U позиционный номер координаты вектора входного слоя,
а через v – позиционный номер координаты вектора выходного слоя, тогда топологии терминальных полей можно описать в виде кортежей:
U
i 0  u0 ,
V
i 1  v 1 .
(4)
В этих выражениях u0 и v 1 – свободные переменные, которые не
связаны каким либо соответствием вида (3) с переменными i , j . Число букв с родовыми именами u, v на единицу больше (по каждому виду),
чем число букв с родовыми именами i, j . Соответствия (3) позволяют во
УДК 004.032.26(06) Нейронные сети
45
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
всех словах допустимого предложения заменить буквы вида i, j на буквы
с родовыми именами вида u, v .
Обозначим через S и C алфавитные подмножества букв с именами u
и v . Для  -слойной сети эти подмножества имеют следующий состав:
S   u0u1
u 1 
C   v0v1
и
v 1  .
Из разрядных соответствий (3) при условии 0      1 следуют соответствия между словами структурного и топологического уровней:
I  u 1u  2
u 1   S
J  1   v0v1
и
v   C .
Круглые скобки в последних выражениях обозначают классы возможных соответствий. Члены класса отличаются друг от друга порядком
следования букв. В результате инвариант структурного уровня быстрого
преобразования трансформируется в топологический инвариант:
S 1  S ,
C 1  C
где
S1  S ,
S 1  ,
C1  ,
C 1  C.
Наличие системного инварианта топологического уровня позволяют
утверждать, что все возможные структурные модели быстрых преобразований порождают одно и то же множество топологий. Это означает, что
на этапе проектирования структурного уровня может быть выбрана любая
удобная модель, удовлетворяющая структурному инварианту.
2.1. Графическая интерпретация топологий
Рассмотрим каноническое предложение (2). Используя соответствия
(3) сделаем замены переменных:
I 0 \ I1  i3  u1 ,
J 3 \ J 2  j2  v2 ,
I1 \ I 2  i2  u2 ,
I 2 \ I 3  i1  u3
J 2 \ J1  j1  v1 ,
J1 \ J 0  j0  v.
(5)
В новых переменных каноническое предложение примет вид:
 u3u2 u1
u3u2 v0
u3v1v0
v2 v1v0  .
Для построения топологий входных полей необходимо в каноническом предложении к каждому слову с порядковым номером  добавить
УДК 004.032.26(06) Нейронные сети
46
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
переменную u . Переменные могут быть добавлены в любые позиции
слов предложения, например, добавим их в конец слов, тогда множество
топологий будет описываться предложением
 u3u2 u1u0
u3u2 v0 u1
u3 v1v0 u2
v2 v1v0 u3  .
(6)
Все другие топологии могут быть получены всевозможными перестановками букв в словах данного предложения. Аналогичным образом для
построения топологий выходных полей необходимо к каждому слову канонического предложения с порядковым номером  добавить переменную v . Например, это можно сделать следующим образом:
 u3u2 v0 u1
u3 v1v0 u2
v2 v1v0 u3
v3 v2 v1v0  .
(7)
Предложения (6) и (7) можно назвать топологической траекторией, и
интерпретировать как сетевой многослойный граф, каждой вершине которого соответствует один терминальный зажим, а дуги определяют весовые связи между терминальными зажимами смежных слоев. Выражения
(4) определяют граничные условия для топологической траектории. В
контексте линейных преобразований входному конусу дуг для каждой
вершины соответствует суммирование взвешенных сигнальных переменных. Терминальные зажимы смежных слоев связываются между собой
дугой графа, если значения одноименных разрядов в смежных словах
совпадают. Схема построения графа соответствует принципу, показанному на рис. 2.
2.2. Регулярные порождающие схемы
При переходе от канонического предложения к топологической траектории словные позиции дополнительных переменных (определяющие
номера терминальных зажимов) выбирались произвольно. Целесообразно
этот выбор также подчинить некоторому регулярному правилу. Это условие не является обязательным, но существенно упрощает алгоритмическую реализацию быстрых алгоритмов. Регулярное правило далее будем
называть порождающей схемой топологической траектории. Рассмотрим
пример построения порождающей схемы. Выберем алфавит в виде кортежа A  u0u1u2u3v0v1v2v3 , который назовем каноном. Будем перемещать
вдоль канона интервал длиной   4 , (ограниченный угловыми скобками), начиная с крайней левой позиции и последовательно сдвигая на одну
букву вправо. На каждом шаге интервал вычленяет из канона слово длиУДК 004.032.26(06) Нейронные сети
47
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
ной   4 . Последовательное перемещение интервала от начала к концу
на  1 шагов порождает топологию входных полей:
 u0 u1u2 u3
u1u2 u3 v0
u2u3v0 v1
u3v0 v1v2  .
Обратное движение интервала с крайне правой позиции в начало канона порождает топологию выходных полей:
 u1u2 u3 v0
u2 u3 v0 v1
u3v0 v1v2
v0 v1v2 v3  .
Обозначим через t  топологическое слово, выделяемое из канона
скользящим интервалом на шаге  . (   0,1, ,   1 ). Нетрудно заметить,
что t   u u 1 u 1v0v1 v 1 . Очевидно, что топологии входных полей
определяются правилом U   t  , а для выходных полей – V   t  1 . Данная регулярная схема известна как топология Гуда [5]. На рис. 4 показана
графическая интерпретация построенной топологической траектории.
Особенность схемы Гуда состоит в том, что все слои графа имеют
одинаковую топологию, это упрощает алгоритм реализации. Однако выходные операнды на каждой базовой операции не могут замещать входные отсчеты, поэтому требуется дополнительная память для хранения
выходной последовательности.
В алгоритмах БПФ J.W. Cooley и J.W. Tukey [6] использовались порождающие схемы, получившие названия «с прореживанием по времени»
и «с прореживанием по частоте». Историческое название отражает специфику спектрального анализа. В схеме «с прореживанием по времени»
входная последовательность разделялась на четные и нечетные отсчеты.
Для базовой операции «бабочка» регулярным образом отбиралось по одному отсчету из каждой порожденной последовательности, и результирующие операнды помещались в те же ячейки памяти, из которых выбирались входные отсчеты. Данная схема аналитически может быть представлена в следующем виде:
U   t   u 1u  2
u 1u v 1v  2
v1v0 ,
V   t  1  u 1u  2
u 1v v 1v  2
v1v0 .
УДК 004.032.26(06) Нейронные сети
48
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
V0
V1
V2
V3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Рис. 3. Топологическая реализация схемы Гуда
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
V0
V1
V2
V3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Рис. 4. Топологическая реализация схемы «с прореживанием по времени»
На рис. 5 показана графическая интерпретация топологической схемы
«с прореживанием по времени» для рассматриваемого примера. Аналогично строится графическая интерпретация топологической схемы «с
прореживанием по частоте» [7].
УДК 004.032.26(06) Нейронные сети
49
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
Заключение
В рассмотренных примерах все слои сети имели одинаковую размерность, что обусловлено совпадением наборов оснований для разрядных
переменных u* , v* . В общем случае наборы оснований по переменным u
и v могут отличаться друг от друга (что не противоречит найденным системным инвариантам). Следствием этого будет различие в размерностях
векторов по входу и выходу преобразования. Такая топология быстрого
преобразования наиболее подходит для нейросетевой реализации, где типично размерность входа и выхода сети отличаются. Следует иметь в виду, что для быстрых нейронных сетей «обратной стороной медали» выигрыша по быстродействию является снижение уровня интеллекта. Однако
важно отметить, что нейронные сети, структура которых удовлетворяет
рассмотренному системному инварианту, допускают аналитическую
оценку уровня интеллекта непосредственно по структурной модели [8],
что решает вопрос их рационального применения.
Системные инварианты раскрывают внутренние принципы строения
быстрых преобразований. Их использование дает возможность разработать методы структурного и топологического проектирования, которые
потенциально охватывают все многообразие топологических реализаций
быстрых алгоритмов, что позволяет найти оптимальные решения, которые
наиболее полно отвечают требованиям технологической базы используемой для реализации быстрых преобразований. Инвариантность лингвистических моделей к виду базовой операции позволяет использовать их не
только для построения спектральных преобразований, но и для синтеза
многослойных коммутационных схем, топологий быстрых нейронных
сетей, фрактальных фильтров и т.д.
Список литературы
1. Andrews H. C., Caspari K. L. A General Techniques for Spectral Analysis // IEEE. Tr.
Computer.– 1970.–Vol C–19.–Jan, No 1.–P.16–25.
2. Эндрюс Г. Применение вычислительных машин для обработки изображений: Пер. с
англ. Под ред. Б.Ф.Курьянова.– М., 1977.– 160 с.
3. Дорогов А.Ю. Быстрые нейронные сети: Проектирование, настройка, приложения //
Лекции по нейроинформатике Ч.1. В тр. школы-семинара «Современные проблемы нейроинформатики». Всерос. науч. техн. конф. “Нейроинформатика-2004” 28-30 января 2004г.
Москва. Изд. М.: - МИФИ, 2004, с.69-135.
4. Трахтман А.М., Трахтман В.А. Основы теории дискретных сигналов на конечных интервалах.- М.: Сов. Радио, 1975.- 208с.
5 Good I.J. The Interaction Algorithm and Practical Fourier Analysis // Journal of Royal Statistical Soseity. Ser.B.- 1958.- Vol.20, No.2.- P.361-372.
6. Cooley J.W., and J.W. Tukey, An Algorithm for the Machine Computation of Complex Fourier Series // Math.Comp. – 1965. – N.19. – P.297-301.
7. Дорогов А.Ю.Быстрые нейронные сети.- СПб.: Изд-во С.Петерб. ун-та, 2002. 80 с.
8. Дорогов А.Ю, Курбанов Р.Г. Шестопалов М.Ю. Разделяющая мощность и операторные многообразия слабосвязанных нейронных сетей // Сб. тр. Всерос. научн. техн. конф.
“Нейроинформатика-2005” 26-28 января 2005г. Москва. Изд. М.: - МИФИ, 2005, Ч.1, с.44-54.
УДК 004.032.26(06) Нейронные сети
50
ISBN 5-7262-0634-7. НЕЙРОИНФОРМАТИКА – 2006. Часть 1
УДК 004.032.26(06) Нейронные сети
51
Download