Автор: Дорогов А.Ю.
Теги: автоматика системы автоматического управления и регулирования интеллектуальная техника технология управления оборудование систем управления техническая кибернетика частная антропография этнология отдельные расы расоведение в целом техника технические науки программирование теория алгоритмов монография язык программирования matlab искусственные нейронные сети
ISBN: 978-5-7325-1036-2
Год: 2014
А. Ю. ДОРОГОВ
Теория
и проектирование
быстрых
перестраиваемых
преобразований
и слабосвязанных
нейронных сетей
№ ПОЛИТЕХНИКА
Ж ИЗДАТЕЛЬСТВО
• • Г"-,...,— ОП1/
Санкт-Петербург 2014
Дорогов А. Ю.
ТЕОРИЯ И ПРОЕКТИРОВАНИЕ
БЫСТРЫХ ПЕРЕСТРАИВАЕМЫХ
ПРЕОБРАЗОВАНИЙ
И СЛАБОСВЯЗАННЫХ
НЕЙРОННЫХ СЕТЕЙ
ПОЛИТЕХНИКА
ИЗДАТЕЛЬСТВО
Санкт-Петербург 2014
Электронный аналог печатного издания: Дорогое, А. Ю. Теория и проектирование быстрых
перестраиваемых преобразований и слабосвязанных нейронных сетей. СПб.: «Политехни-
ка», 2014. 328 с.
УДК 681.518.54:572.983
ББК 3 818-02
Д71
Дорогов А. Ю.
Д71 Теория и проектирование быстрых перестраиваемых преобразований и сла-
босвязанных нейронных сетей. СПб.: «Политехника», 2014. 328 с.
ISBN 978-5-7325-1036-2
В монографии дается современное изложение теории проектирования алго-
ритмов быстрых преобразований и модульных нейронных сетей. С системных
позиций рассматриваются быстрые преобразования и многослойные нейронные
сети с прореженным набором связей и модульной организацией. Предложены
алгоритмы структурного проектирования и обучения перестраиваемых быстрых
преобразований и нейронных сетей. Исследованы потенциально достижимые
свойства быстрых преобразований по пластичности, разделяющей мощности и
обобщающей способности. Все рассмотренные алгоритмы сопровождаются
примерами и программными реализациями на языке MatLab. Изложение ориен-
тировано на практическое использование в задачах сжатия сигналов высокой
размерности, классификации и распознавания образов, спектрального анализа и
фрактальной фильтрации. Кроме специалистов соответствующего профиля кни-
га может быть полезна для аспирантов и студентов магистерского уровня подго-
товки. Тексты программ размещены на сайте http://www.dorogov.su.
УДК 681.518.54:572.983
ББК 3 818-02
Рецензенты: д-р техн, наук, проф. кафедры МО ЭВМ Г. А. Кухарев
(СПбГЭТУ «ЛЭТИ»); д-р физ.-мат. наук, гл. науч. сотр. Главной астрономиче-
ской обсерватории РАН Н. Г. Макаренко.
ISBN 978-5-7325-1036-2
© Дорогов А. Ю., 2014
3
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ..............................................................7
Часть I. ПРОЕКТИРОВАНИЕ АЛГОРИТМОВ БЫСТРЫХ
ПРЕОБРАЗОВАНИЙ........................................................И
1. СТРУКТУРНОЕ И ТОПОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
БЫСТРЫХ ПРЕОБРАЗОВАНИЙ...............................................12
1.1. Структурный анализ алгоритмов БПФ..........................12
1.2. Стратификация модельных представлений быстрых
преобразований.........................................18
1.3. Лингвистические модели алгоритмов быстрых преобразований...19
1.3.1. Формальный язык регулярных сетей.....................20
1.3.2. Семантическая интерпретация канонических предложений.23
1.4. Нейросетевая интерпретация быстрых перестраиваемых
преобразований.........................................26
1.5. Регулярные топологии быстрых алгоритмов....................28
1.6. Графические образы регулярных топологий....................30
1.7. Построение регулярных топологий............................34
1.7.1. Порождающие схемы....................................34
1.7.2. Программная реализация генератора регулярных топологий ...38
1.7.3. Топологическая траектория быстрого преобразования....43
1.7.4. Аналитическая форма топологических матриц............44
1.8. Построение топологических реализаций общего вида...........46
1.9. Алгоритм реализации быстрого перестраиваемого преобразования....47
1.10. Вычислительная эффективность быстрых перестраиваемых
преобразований..........................................49
2. ПЕРЕСТРАИВАЕМЫЕ ЛИНЕЙНЫЕ ПРЕОБРАЗОВАНИЯ
В ЗАДАЧАХ ФУНКЦИОНАЛЬНОЙ ДИАГНОСТИКИ
И КЛАССИФИКАЦИИ СИГНАЛОВ...........................................51
2.1. Метрические методы диагностирования
и классификации сигналов...............................52
2.2. Оптимальные линейные преобразования........................53
2.3. Методы построения оптимальных ортогональных преобразований ....57
2.4. Обучение быстрых перестраиваемых преобразований
для задач распознавания образов и классификации сигналов.60
3. НАСТРОЙКА ПЕРЕСТРАИВАЕМЫХ ПРЕОБРАЗОВАНИЙ
К ТИПОВЫМ СИСТЕМАМ ОРТОГОНАЛЬНЫХ ФУНКЦИЙ.....................68
3.1. Мультипликативное разложение элементов матрицы
быстрого преобразования................................68
3.2. Настройка на базис Адамара.................................69
4
3.3. Настройка на базис Виленкина-Крестенсона..............73
3.4. Настройка на базис Фурье с естественным упорядочением
функций по частотам следования.............................75
3.5. Настройка на быстрое вейвлет-преобразование...........82
4. ФРАКТАЛЬНЫЕ СВОЙСТВА БЫСТРЫХ ПРЕОБРАЗОВАНИЙ...................90
4.1. Инварианты самоподобия................................90
4.2. Системные инварианты слабосвязанных сетей.............91
4.3. Аналитическая форма регулярного фрактала..............93
4.4. Дискретная аппроксимация фракталов и самоподобных объектов.95
4.4.1. Ковер Серпинского................................95
4.4.2. Фрактал «Салфетка Серпинского»...................99
4.4.3. Самоподобный объект Лебега......................101
4.4.4. Ковер Лебега....................................103
4.5. Системы итерирующих функций для детерминированного
квазифрактала...............................................105
5. ОДНОМЕРНЫЕ БЫСТРЫЕ ПРИСПОСОБЛЕННЫЕ
ПРЕОБРАЗОВАНИЯ...................................................107
5.1. Фрактальная фильтрация сигналов......................107
5.2. Программная реализация фрактальных фильтров...........ПО
5.3. Приспособленное преобразование в арифметическом
пространстве...............................................112
5.3.1. Мультипликативная декомпозиция функций..........112
5.3.2. Цензурирование нулей............................113
5.3.3. Настройка приспособленного преобразования.......115
5.4. Приспособленные преобразования в минимаксном пространстве.... 121
5.5. Трансформирующее приспособленное преобразование......124
5.6. Спектральные приспособленные преобразования..........129
5.6.1. Достаточные условия приспособленности быстрого
ортогонального преобразования..........................130
5.6.2. Генерация приспособленных ортогональных ядер....131
5.6.3. Алгоритм построения приспособленного
ортогонального преобразования..........................134
5.7. Быстрые ортогональные трансформирующие преобразования.137
5.8. Градиентное обучение трансформирующих перестраиваемых
преобразований.............................................139
5.9. Градиентное обучение спектральных перестраиваемых
преобразований.............................................145
5.10. Быстрые перестраиваемые преобразования
в квантовых вычислениях....................................147
5
6. ДВУМЕРНЫЕ БЫСТРЫЕ ПРИСПОСОБЛЕННЫЕ
ПРЕОБРАЗОВАНИЯ.................................................152
6.1. Двумерные быстрые преобразования....................153
6.2. Мультипликативная декомпозиция элементов матрицы
быстрого преобразования...................................157
6.3. Фрактальная фильтрация изображений..................158
6.4. Настройка приспособленных двумерных преобразований..163
6.5. Построение объемных фракталов.......................165
ЧАСТЬ II. СЛАБОСВЯЗАННЫЕ НЕЙРОННЫЕ СЕТИ........................169
7. МНОГОСЛОЙНЫЕ ЯДЕРНЫЕ НЕЙРОННЫЕ СЕТИ.........................170
7.1. Цели и задачи нейротехнологии.......................170
7.2. Математические модели нейронных сетей...............172
7.2.1. Модели одиночных нейронов......................172
7.2.2. Архитектура нейронных сетей прямого распространения.174
7.2.3. Многослойные нейронные сети и особенности их применения... 175
7.3. Многослойные ядерные нейронные сети.................176
7.3.1. Ранговые матрицы ядерных нейронных сетей.......178
7.3.2. Построение топологии ядерной сети..............178
7.3.3. Операторная модель ядерной нейронной сети......182
7.3.4. Алгоритм обработки данных в нейронной сети
с ядерной организацией................................183
7.3.5. Обучение ядерных нейронных сетей...............185
7.3.6. Каскадирование многослойных нейронных сетей....188
7.3.7. Программная реализация алгоритма последовательной
адаптации ядерных нейронных сетей.....................189
7.3.8. Программная реализация алгоритма обучения
с групповой стратегией................................197
7.3.9. Двойственное функционирование нейронных сетей.
Пространства модальных состояний......................203
7.4. Регулярные ядерные нейронные сети с реконфигурируемой
структурой и топологией...................................204
7.4.1. Объектно-ориентированная модель реконфигурируемой
регулярной нейронной сети.............................204
7.4.2. Изменение размерности нейронных ядер...........205
7.4.3. Изменение ранга межъядерных связей.............206
7.4.4. Изменение числа нейронных слоев................209
7.4.5. Объединение и деление нейронных слоев..........209
7.5. Программная реализация алгоритма проектирования
топологий регулярных ядерных сетей.......................211
7.6. Оценка быстродействия ядерных нейронных сетей.......214
6
8. МОДУЛЬНЫЕ СЛАБОСВЯЗАННЫЕ НЕЙРОННЫЕ СЕТИ......................216
8.1. Концепция модульности нейронных сетей................216
8.2. Топологические модели модульных нейронных сетей......220
8.3. Обучение модульных нейронных сетей прямого
распространения............................................224
8.4. Математические модели слабосвязанных нейронных сетей.228
8.4.1. Концепция слабой связанности....................228
8.4.2. Морфология слабосвязанных сетей.................228
8.4.3. Генезис слабосвязанных сетей....................232
8.5. Алгоритм структурной генерации слабосвязанной сети...235
8.5.1. Наследование связей.............................235
8.5.2. Криэйторы градуированных нейронных сетей........236
8.5.3. Криэйторы ядерных нейронных сетей...............237
8.5.4. Программная реализация алгоритма структурного
синтеза ядерной слабосвязанной сети....................239
8.5.5. Программная реализация алгоритма построения
топологии ядерной нейронной сети.......................246
9. ПЛАСТИЧНОСТЬ НЕЙРОННЫХ СЕТЕЙ.................................249
9.1. Системные модели «общего положения»..................250
9.2. Операторные многообразия нейронных модулей...........250
9.3. Пластичность модульных нейронных сетей...............253
9.4. Расчет модальных состояний в слабосвязанных нейронных сетях.254
9.5. Графический расчет пластичности слабосвязанных сетей........256
9.6. Пластичность регулярных нейронных сетей..............260
9.7. Пластичность многослойной нейронной сети
прямого распространения....................................262
9.8. Пластичность двухслойной модульной сети..............264
9.9. Топологическая пластичность нейронных сетей..........266
10. ОЦЕНКИ КАЧЕСТВА НЕЙРОННЫХ СЕТЕЙ.............................271
10.1. Построение оценок качества нейронных сетей..........271
10.2. Оценка способности нейронной сети к аппроксимации
отображений................................................280
10.3. Вычисление операторного ранга модульной нейронной сети.....284
10.4. Измерение разделяющей мощности нейронных сетей......287
10.5. Измерение обобщающей способности нейронных сетей....290
СПИСОК ЛИТЕРАТУРЫ...............................................294
Основная..................................................294
Дополнительная............................................299
ПРИЛОЖЕНИЯ......................................................301
7
ВВЕДЕНИЕ
Взирая на солнце прищурь глаза свои, и ты смело
различишь в нем пятна.
Козьма Прутков. Мысли и афоризмы
Создание алгоритма быстрого преобразования Фурье (БПФ) безусловно мож-
но считать одним из выдающихся достижений второй половины XX в. Время его
рождения знаменательно совпало с начальным этапом развития вычислительной
техники, когда быстродействие вычислительных машин было еще крайне низким.
Использование БПФ позволило кардинальным образом уменьшить количество вы-
числительных операций при выполнении спектральных преобразований, что значи-
тельно расширило сферу применения вычислительной техники для спектрального
анализа данных. Реализация БПФ в технологии больших интегральных схем [1]
привела к существенному уменьшению площади кристаллов для спектральных
анализаторов, и соответственно уменьшилось их энергопотребление.
Появление алгоритма БПФ стимулировало интерес и к другим видам спек-
тральных преобразований. В задачах фильтрации, сжатия и выделения информа-
тивных признаков широкое применение нашли такие преобразования, как Ада-
мара-Уолша, Хаара, Виленкина-Кристенсона, Хартли, наклонное, вейвлет и
другие, также обладающие быстрыми алгоритмами. Несмотря на отличия по ви-
дам функций оказалось, что большинство алгоритмов быстрых преобразований
имеют подобную структуру и отличаются друг от друга разве что значениями
коэффициентов базовых операций. Осознание этого факта привело к идее по-
строения обобщенных спектральных преобразований, наделенных быстрым ал-
горитмом. В данном классе преобразований появилась возможность варьирова-
ния значениями коэффициентов при сохранении условий ортогональности и бы-
строго алгоритма, поэтому такие преобразования стали называть перестраивае-
мыми быстрыми спектральными преобразованиями [2].
Первый шаг в этом направлении был сделан достаточно давно. Еще до по-
явления алгоритма БПФ Кули-Тьюки [3] (1965 г.) в исторической работе Гуда
[4] (1958 г.) было приведено аналитическое описание быстрых алгоритмов для
обобщенных спектральных преобразований. В последующие годы тема обоб-
щенных спектральных преобразований развивалась в работах Г. Эндрюса,
К. Каспари, А. И. Солодовникова и других авторов [2], [5]—[7].
Алгоритм БПФ обладает двумя системными ограничениями: во-первых,
размерность вектора обрабатываемых данных для всех слоев должна быть оди-
накова и, во-вторых, значение этой размерности должно быть составным чис-
лом, т. е. разлагаться в произведение целых множителей. Первое ограничение
обусловлено ортогональностью матрицы БПФ, а второе - регулярностью алго-
ритма, что, по-видимому, является неизбежной платой за быстродействие.
8
Теоретическая основа быстрых алгоритмов долгое время базировалась на
всевозможных теоремах факторизации, которые доказывали возможность раз-
ложения матрицы спектрального преобразования в произведение слабозапол-
ненных матриц, где каждая матрица соответствует одному слою быстрого алго-
ритма [8], [9]. Это направление породило всплеск работ по теоремам факториза-
ции. На этом пути исследователи столкнулись с тем обстоятельством, что суще-
ствует множество различных разложений для одного и того же спектрального
преобразования. Когда число всевозможных теорем факторизации превысило
десятки, стало ясно, что этот путь является тупиковым. Тем не менее, поток тео-
рем не закончился и до сих пор. Проблема была чисто методическая и заключа-
лась в смешивании понятий структуры и топологии быстрого преобразования.
Структура является устойчивым системным инвариантом, свойственным всему
классу быстрых алгоритмов, а топология - это не более чем допустимая реали-
зация системного инварианта в связях между базовыми операциями. Каждая
теорема факторизации соответствует одной из допустимых форм топологиче-
ской реализации, а их число быстро растет с ростом размерности преобразова-
ния. Автором было показано [10], что в основу теории быстрых преобразований
следует положить именно системные инварианты. Это устраняет необходимость
изобретения новых теорем факторизации и позволяет предложить общий метод
построения различных топологических реализаций быстрого преобразования
при неизменной структуре. Более того, выделение структурного и топологиче-
ского уровней дает возможность решать новые задачи, связанные с оценкой па-
раметрической и топологической пластичности перестраиваемых преобразова-
ний. Показатели пластичности позволяют оценить разделяющую мощность пе-
рестраиваемых преобразований при использовании в задачах классификации об-
разов. Эти вопросы исследовались Эндрюсом [11] в самом начале пути развития
обобщенных преобразований, но тогда удовлетворительного решения получено
не было, вернее, оно было ошибочным.
Возможность перестройки значений весовых коэффициентов и многослой-
ная структура алгоритма роднят быстрые перестраиваемые преобразования с
многослойными нейронными сетями прямого распространения. Иногда исполь-
зуют термин - ортогональные нейронные сети. Условие ортогональности влечет
за собой совпадение размерностей входного и выходного векторов для каждого
слоя алгоритма. Если отказаться от этого условия, то снимается ограничение и
на равенство размерностей, причем, как оказалось, структуру быстрого алгорит-
ма при этом можно сохранить. Предложенная автором парадигма быстрых ней-
ронных сетей [12] (БНС) наследует структурную регулярность алгоритма БПФ,
но расширяет ее возможности за счет отказа от ортогональности и жесткой схе-
мы топологической реализации. В рамках данной парадигмы быстрые линейные
9
перестраиваемые преобразования являются частным случаем быстрых нейрон-
ных сетей и отличаются от последних линейными функциями активации и нуле-
выми смещениями в нейронах.
БНС представляют собой вариант многослойных сетей, поэтому для их обу-
чения могут быть использованы градиентные методы типа Error BackPropogation,
однако структурные особенности БНС позволяют расширить постановку задачи
обучения. Типичной задачей для перестраиваемого преобразования является на-
стройка на заданную систему базисных функций, например базис Фурье, Адама-
ра-Уолша и др. Классические системы базисных функций, как правило, имеют
аналитическую форму, поэтому настройка преобразования также выполняется в
аналитическом виде. Кроме параметрической настройки для перестраиваемых
преобразований развивается также метод топологической настройки. В этом кон-
тексте послойная последовательность топологий сети рассматривается как траек-
тория, обусловленная системой базисных функций, а процедура топологической
настройки - как средство реализации заданной траектории. Часто достаточным
уровнем топологической настройки является выполнение только граничных усло-
вий для топологической траектории. В этом случае можно потребовать, чтобы
траектория топологий удовлетворяла дополнительным условиям, обеспечиваю-
щим наиболее простую форму быстрого алгоритма. Одним из таких требований
может быть реализация траектории регулярной порождающей схемой.
Для построения оптимальных фильтров важной задачей является реализа-
ция базисов, приспособленных к одной или нескольким системам функций.
Предлагаемые в книге алгоритмы настройки имеют заведомо известное число
шагов (определяемое количеством слоев нейронной сети) и принципиально не
имеют проблем сходимости и устойчивости для процесса обучения. В основе ал-
горитмов настройки лежит доказанное свойство структурной фрактальности
БНС. Предложены методы фрактальной фильтрации и сжатия данных. Фрак-
тальные свойства БНС позволяют реализовать регулярные фрактальные после-
довательности как многослойные БНС. Фрактальность порождает и особые ме-
тоды настройки БНС для реализации оптимальных фильтров.
Подобие структуры быстрых преобразований со структурой тензорных про-
изведений векторных пространств позволяет использовать ортогональные пере-
страиваемые преобразования для построения алгоритмов квантовых вычислений.
Вышеперечисленные вопросы составляют основное содержание настояще-
го издания. Цель состоит в том, чтобы дать читателю представление о систем-
ных особенностях алгоритмов быстрых преобразований, методах проектирова-
ния обобщенных перестраиваемых преобразований, способах оценки их харак-
теристик, алгоритмов реализации и областей применения. Книга состоит из двух
частей. Первая часть содержит методы структурного и параметрического проек-
10
тирования быстрых преобразований, а вторая развивает предложенные решения
на класс модульных нейронных сетей. Приведенные примеры программ предна-
значены только для подтверждения корректности математических выкладок и не
в коей мере не претендуют на оптимальность реализации алгоритмов.
Автор не удержался от предваряющих эпиграфов, в какой-то мере раскры-
вающих содержание каждого раздела. Источниками «вдохновения» послужили
Козьма Прутков [13] и законы универсальной науки - мерфологии [14].
ЧАСТЬ I. ПРОЕКТИРОВАНИЕ АЛГОРИТМОВ
БЫСТРЫХ ПРЕОБРАЗОВАНИЙ
12
1. СТРУКТУРНОЕ И ТОПОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
БЫСТРЫХ ПРЕОБРАЗОВАНИЙ
Всякая вещь есть форма проявления беспредельного
разнообразия.
Козьма Прутков. Мысли и афоризмы
1.1. Структурный анализ алгоритмов БПФ
Набор алгоритмов, называемых алгоритмами быстрого преобразования Фу-
рье, вошел в практику спектрального анализа, начиная с работ Кули-Тьюки в 60-х гг.
XX в. Существует множество различных схем построения алгоритмов БПФ, ос-
нованных, как правило, на способе разбиения входного вектора на подвекторы.
Следуя [8], рассмотрим в качестве примера схему «с прореживанием по часто-
те». Для вектора X = {х(г/)}, 0 < и < N -1, прямое дискретное преобразование
Фурье (ДПФ) определяется выражением
^-1 -J—UV
y(v)=^x(u)e N >
г/=0
,2л
где v = 0,1,2,..., N -1 - номер гармоники. Величину <о = е N обычно называют
поворачивающим множителем. Число комплексных операций умножения при
выполнении ДПФ в общем случае равно N . Для алгоритмов БПФ, как правило,
выбирают значение N = 2п, где п - целое число. В схеме с прореживанием по
частоте вектор X = {х(и)} разбивается на две части, так что
N/2-\ N/2-L
y(v)= X(U^N + S х(и +N/2)d)^+N^2'V,
и-0 и=0
где для сокращения записи используется обозначение (Од/ = е N
.2л/ .. .2л ,2л.
Поскольку 4'^'’ = е-'У<“+Л,/2’” = = е-V”, то
w=0 z/=0
Рассмотрим выражения для четных и нечетных координат вектора У в (1.1):
У/2-1
y(2v) = £ (x(z/) + x(z/ + 7V/2))co^,2,
z=0
N/2-l
y(2v + l) = ^2 (x(w)-x(w + 7V/2))®-vto^y2.
i-0
13
Этот прием позволяет свести N -точечное преобразование к двум N/2-
точечным преобразованиям. За счет этого снижается количество вычислитель-
ных операций. На рис. 1.1 в графической форме показан пример перехода от
восьмиточечного ДПФ к двум четырехточечным ДПФ для размерности N - 8.
Дальнейшее снижение вычислительных затрат достигается аналогичным сведе-
нием N/2 -точечного преобразования к двум N/4 -точечным и т. д. вплоть до
минимальных двухточечных преобразований. Результат последовательного раз-
ложения представляется операторным графом (рис. 1.2 для размерности N = 8).
Рис. 1.1. Переход от восьмиточечного ДПФ к двум четырехточечным
Рис. 1.2. Полный граф восьмиточечного БПФ с «прореживанием по частоте»
Для каждого слоя графа выделены и пронумерованы базовые операции,
стрелкой отмечены ветви, в которых знак операнда меняется на противополож-
ный. На рис. 1.3 приведена базовая операция «бабочка» для алгоритма БПФ «с
прореживанием по частоте». Базовая операция реализует умножение двухкоор-
динатного вектора-строки на унитарную матрицу, элементы которой зависят от
порядковых номеров отсчетов.
14
(2,2)
Рис. 1.3. Базовая операция «бабочка»
Параметрическая модель. Приведенный на рис. 1.2 граф полностью опре-
деляет алгоритм БПФ «с прореживанием по частоте». Однако способ его по-
строения не вполне формализован, скорее он основан на «здравом смысле» и
подтвержден достоверностью получаемых результатов. Для того чтобы показать
существующую проблему, дополним этап конструирования алгоритма дополни-
тельным формальным построением. Выражения (1.2) принято трактовать как
действие совокупности базовых операций. Обозначим
у° (и) = (и) + (и + 7V/2),
/ ' х С1-3)
у0 {и + 7V/2) = (х° (м) -х° (« + 7V/2) )сод7,
где вместо обозначения х использовано обозначение х°. Эти выражения опре-
деляют действие базовых операций нулевого слоя на входной вектор X. Верх-
ний индекс здесь и далее обозначает номер слоя. Для алгоритмов быстрых пре-
образований принято использовать нумерацию слоев, начиная с нулевого значе-
ния. Индекс и в этих выражениях определяет упорядочение координат векторов
и номер базовой операции. Правая часть выражений не вызывает сомнений, по-
скольку она определяется уравнениями (1.2), но в левой части упорядочение по
координатам задано с произволом «здравого смысла» и не является очевидным,
хотя типично принимается в алгоритме БПФ. Для того чтобы формализовать
правило упорядочения операндов, перейдем к двоичным представлениям индек-
са. Будем использовать для представления номера координаты двоичную систе-
му счисления [15], определив ее для входного вектора X и выходного Y в двух
различных формах:
и = (И0Ир..и„_2И„_1) = И02"-'_+И12"--+... + и„_22 + и„_1-дляХ; (|4)
v = (v/7—lvn-2 • • • vlvo) = vn-\~n X+vn-2^n 2 +... + V12 + V0 - ДЛяУ.
Выражения (1.3) теперь можно переписать в виде одного уравнения:
У ° (г0«1«2 • • • ип-\) = Ел‘° и2 • • • Un-\) w°0 (и0 ’ v0 )’ С1 -5)
«О 1
где w°0 («О’ vo) _ элементы матрицы базовой операции с номером /°. В поразряд-
ном представлении номер базовой операции выражается следующим образом:
15
z° - ’
а сама базовая операция определяется матрицей:
.о
1
,0
1 -&N
Отметим, что поразрядное представление позволило зафиксировать прави-
ло выбора упорядочения координат правой части выражения (1.5) за счет ис-
пользования управляющего разряда vq . Выход нулевого слоя совпадает с вхо-
дом первого слоя, поэтому для межслойной передачи можно записать:
х1 (VOM1 м2 • • • ип_х) = у0 <VOM1 и2... ип_х) .
Суммы в правых частях выражений (1.2) представляют собой преобразова-
ния Фурье над последовательностями длиной N/l, а сами последовательности
являются выходами нулевого слоя. Выполняя разбиение входных последова-
тельностей слоя 1 и выделяя четную и нечетную составляющую выходных ком-
понент, придем к следующему выражению для совокупности операций в слое 1:
у1 (v0ViZ/2w3... ип_х) = Е х1 (v0«l и2 • • • «и-1) (и\ - И), (1 -6)
щ 1
где номер составляющей базовой операции определяется выражением
Z1 =(У(Я2--Ии-1Ь
а сама базовая операция определяется матрицей
1 1 ^/2
17! == ' .
1 -C0AZ/2
Повторяя разложение подобным образом, для слоя с номером X получим:
у'' <П)И • • • ^и\+\и\+2 ип-\ ) = (v0H • • • VXwXwX+l"X+2 • • • ип-\} ”4 v7.) > 0 -7)
Л =(v0H---VX-lwX+lwX+2---w/7-l)- С1-8)
Для последнего слоя имеем:
= Е x/71(v0H---vn-lwn-l)w;Xi (w/7-bvn-l)’ с1-9)
ип-\
in~x =(v0H---vn-l)-
Отметим, что порядок нумерации координат выходного вектора двоично-
инверсен первоначально заданному, поэтому требуется дополнительная пере-
16
становка для получения естественного порядка следования частот. Совокупность
выражений (1.7) (для Л. = 0,1) определяет параметрическую модель БПФ.
Структурная модель. Структурная модель быстрого алгоритма представ-
ляет собой граф, вершинами которого являются базовые операции, а дуги опре-
деляют связи между ними. Полученные поразрядные представления номеров ба-
зовых операций в слоях позволяют достаточно просто описать и построить
структурную модель. Покажем это на примере преобразования для размерности
N = 8. Введем поразрядную нумерацию входного и выходного векторов преоб-
разования Фурье, следуя выражениям (1.4):
г/= (z/0z/iz/2)> v = (v2vlvo)-
Тогда номера вершин по слоям будут иметь разрядные представления:
zo-(z/iu2), z1 =<v0z/2},
В табл. 1.1 приведены численные значения для данных выражений.
Таблица 1.1
Поразрядная нумерация базовых операций
Номер вершины Слой 0 Слой 1 Слой 2
(W]w2) (v0«2)
0 (00) (0 0) (00)
1 (01) (0!) (01)
2 (10) (10) (10)
3 (11) (11) (11)
Объединяя между собой вершины смежных слоев, для которых одноимен-
ные разрядные переменные в таблице имеют совпадающие значения, получим
граф, показанный на рис. 1.4. Вес вершин представлен парой чисел, определяю-
щих размерность базовой операции по входу и выходу. Базовые операции смеж-
ных слоев связаны между собой только по одной из координат, поэтому опера-
торный ранг ( Гу) всех связей равен единице.
Структура межслойных связей может быть описана ранговыми матрица-
ми. Элемент ранговой матрицы равен значению ранга оператора, связывающего
базовые операции смежных слоев. Например, для структурной модели, показан-
ной на рис. 1.4, ранговые матрицы будут иметь вид:
1°// 0 1 2 3 -.С 0 1 2 3
0 1 0 1 0 0 1 1 0 0
Я0 = 1 0 1 0 1 1 1 1 0 0
2 1 0 1 0 2 0 0 1 1
3 0 1 0 1 3 0 0 1 1
17
Рис. 1.4. Структурная модель восьмиточечного БПФ
Топологическая модель. Входы и выходы базовых операций структурной
модели показаны как двухкоординатные векторы без привязки к номеру отсчета.
Структурная модель непосредственно не перекладывается на алгоритм, ее на-
значение - исследовать общие свойства быстрого алгоритма. Более детальное
представление об алгоритме можно получить от топологической модели.
В топологической модели элементами рассмотрения являются контакты базовых
операций и связи между ними. Базовая операция имеет 2 входных и 2 выходных
контакта. Контакты имеют локальную нумерацию, определенную разрядной пе-
ременной в пределах базовой нумерации, и глобальную нумерацию в пределах
слоя. На рис. 1.2 показана выбранная глобальная нумерация для выходных кон-
тактов базовый операций нулевого слоя. Точно такая же нумерация выбрана для
выходных контактов других слоев и для контактов входного слоя преобразова-
ния. Топологическая модель показывает, как привязаны базовые операции к
контактному полю слоя. Для построения топологической модели воспользуемся
поразрядным представлением номеров координат векторов X и Dm в выраже-
ниях (1.5), (1.6), (1.9). В табл. 1.2 приведена поразрядная нумерация контактных
полей для БПФ размерности N - 8 .
К базовой операции слоя относятся контакты, которые в смежных столбцах
таблицы имеют 2 одноименных разряда с попарно совпадающими значениями.
Например, для слоя 0 базовая операция = (ОО) имеет контакты по
входу и выходу с глобальными номерами 0 и 4. Для слоя 1 базовая операция
z1 = = Ф1) имеет контакты по входу и выходу с глобальными номерами
1 и 3. Нетрудно проверить, что полный граф БПФ «с прореживанием по часто-
те», показанный на рис. 1.2 полностью отвечает данной схеме построения.
18
Таблица 1.2
Двоичная нумерация контактных полей
Глобальный номер контакта 0 X Л-W 2 1 х - у 2 У
{и0щи2) (v0vlM2) (v0vlv2>
0 (ООО) (0 0 0) (0 0 0) (0 0 0)
1 (0 01) (0 01) (0 01) (0 01)
2 (010) (010) (010) (010)
3 (011) (он) (он) (oil)
4 (10 0) (10 0) (10 0) (10 0)
5 (101) (101) (101) (101)
6 (но) (110) (110) (110)
7 (111) (111) (111) (111)
Из приведенного выше анализа можно сделать следующие выводы:
• На структурном уровне быстрый алгоритм представляется многослойной
модульной сетью, где каждому модулю отвечает базовая операция.
• Размерность быстрого преобразования выражается составным числом, где
множителями являются размерности базовых операций.
• Базовые операции определяются квадратными матрицами, которые в пре-
делах слоя имеют одинаковый порядок.
• Ранги связей между базовыми операциями равны единице.
• Топология алгоритма определяется принятым правилом упорядочения
выходных операндов в базовых операциях.
1.2. Стратификация модельных представлений быстрых преобразований
Математические модели служат средством изучения и проектирования сис-
тем. От формальной модели требуется, чтобы она была простой, но достаточной.
Основной проблемой математического моделирования является нахождение
приемлемого компромисса между детализацией и простотой описания. Один из
путей решения этой проблемы заключается в формировании иерархически вло-
женных семейств моделей, где каждый уровень иерархии соответствует уровню
разумного абстрагирования свойств системы, что ведет к упрощению каждой ча-
стной модели. Такое многоуровневое представление модели принято называть
стратификацией [16], а каждый уровень модельного представления - стратой.
Стратификация позволяет исследовать систему на разных стадиях познания и
описывать каждый уровень адекватными средствами. Стратифицирование мож-
но рассматривать и как средство последовательного углубления представления о
системе: при спуске по иерархии страт вниз система раскрывается в деталях; при
подъеме на более абстрактные уровни яснее становится смысл и значение всей
19
системы. В математической формулировке стратификация связана с выделением
на каждом уровне иерархии эквивалентных отношений и переходом к фактор-
ным моделям, описывающим следующий уровень.
Морфологический
Структурный
Т опологический
Параметрический
Рис. 1.5. Иерархия уровней стратифицированной модели
алгоритма быстрого преобразования
При анализе алгоритма БПФ были построены модели структурного и топо-
логического уровней. В структурной модели отсутствует информация об индек-
сах координат вектора данных. Эта модель предназначена для оценки качествен-
ных показателей быстрого перестраиваемого преобразования, таких, как быстро-
действие и пластичность. Привязка векторов к структурной модели может иметь
множество вариантов и порождает множество топологических реализаций быст-
рых преобразований. Топологическая модель позволяет выбрать форму алгоритма,
удобную для практической реализации. Топологическая модель, дополненная
значениями коэффициентов базовых операций, образует модель параметрическо-
го уровня. На параметрическом уровне реализуются методы обучения и настройки
быстрых алгоритмов по заданным показателям качества. Если в структурной мо-
дели абстрагироваться от весов вершин и дуг, то приходим к модели морфологи-
ческого уровня. На морфологическом уровне (как это будет показано далее) могут
быть описаны системные инварианты быстрых преобразований. Страты модель-
ных представлений упорядочены по степени абстракции (рис. 1.5). Высший уро-
вень абстракции соответствует морфологическому представлению, а низший -
параметрическому. Стратификация моделей позволяет разделить исследование
алгоритма быстрого преобразования на относительно независимые этапы и ис-
пользовать для каждого этапа специфичный метод исследования.
1.3. Лингвистические модели алгоритмов быстрых преобразований
Подводя итог предварительному анализу можно отметить, что алгоритм
БПФ имеет регулярную структуру и регулярную топологию. Под этим понима-
ется, что в пределах слоя веса вершин структурной модели одинаковы, ранги
всех связей между вершинами равны единице, организация межслойных связей
20
структурной и топологической моделей имеет закономерный характер. Подоб-
ные сетевые графы можно получить и для других видов спектральных преобра-
зований, общим свойством для них является условие регулярности.
В контексте синтеза быстрых перестраиваемых преобразований задача со-
стоит в том, чтобы построить математические модели, описывающие регуляр-
ные структуры и топологии, и найти закономерности их построения. В предва-
рительном анализе было показано, что подходящим языком описания моделей
могут служить символические представления чисел в позиционной системе
счисления. Поэтому представляется целесообразным использовать лингвистиче-
ские модели для описания структурного и топологического уровней быстрых
преобразований. Лингвистические модели основаны на концепции формального
языка. В контексте формального языка структура сети рассматривается как се-
мантические интерпретации допустимых предложений.
1.3.1. Формальный язык регулярных сетей
Любой формальный язык является средством для выражения инвариантных
свойств предметной области знаний, в этом качестве его удобно использовать
для описания инвариантов алгоритмов быстрых преобразований. Для построе-
ния языка вводится алфавит, определяется грамматика и устанавливается семан-
тика слов и предложений.
Алфавит языка и грамматика слов. Алфавитом языка будем считать кор-
теж неповторяющихся символов А = ziK )• Символ языка - это буква с
нижним индексом. Букву будем называть родовым именем символа. Отношение
линейного порядка на алфавитном множестве назовем каноном языка и обозна-
чим через К. Канон языка может быть задан таблицей
Z; Z; ... Z;
К _ 10 1к
ч 0 1 К >
Верхняя строка определяет символ алфавита, а нижняя - приписанный ему
порядковый номер. Для определенности будем полагать, что собственные пози-
ции алфавита всегда упорядочены по возрастанию слева направо, начиная с ну-
левой. Таким образом, кортеж (z^z^ зааает одновременно алфавит и его
канон. В сокращенной форме алфавит, состоящий из букв с общим родовым
именем, далее записывается в виде: А - (z)^ .
Пусть алфавит А состоит из к символов. Допустимым словом языка будем
считать любой кортеж длиной п < к, состоящий из неповторяющихся символов
алфавита. Для сокращенного обозначения кортежа слова, все элементы которого
имеют общее родовое имя (в данном случае - z), будем использовать форму:
21
(z)j , где J - отношение линейного порядка на множестве символов слова. Если
порядок следования символов в слове соответствует канону, то слово будем на-
зывать каноническим. Например, для алфавита (zqZ|Z2z3z4) слово (z^z^z^
является каноническим, а слово (zj Z4 z^j таковым не является, поскольку поря-
док следования символов в кортеже слова не соответствует порядку следования
символов в алфавите.
Семантика слов. Практическая ценность формального языка определяется
его семантической интерпретацией, поэтому построение языка регулярных сетей
целесообразно начать с его семантики. Рассмотрим вначале семантику слов.
Пусть (zw_1zn_2 •••zo) _ некоторое допустимое слово формального языка, со-
стоящее из набора символов. Поставим в соответствие каждому символу z, целое
положительное число pi и будем рассмазривать символ как обозначение перемен-
ной, принимающей целочисленные значения из интервала Zz =[0,1, — 1].
Слово языка будем интерпретировать как целочисленную функцию, заданную
правилом:
(zw-lzn-2-"zo) = zw-lPw-2Pn-3---PO + zn-2Pn-3Pn~4---P0 + -" + zlP0 +z0- O-l°)
Нетрудно видеть, что функция (1.10) представляет собой правило перехода
от позиционного представления числа в многоосновной системе счисления [15]
к его количественному значению. В этом контексте переменную zz- уместно на-
звать разрядом, а константу Pj - основанием разряда.
Операция перестановки. Пусть Q есть полная группа перестановок (см.
приложение, п. 1) на кортеже слова (z)^ и q^Q - некоторая перестановка.
Операцию перестановки символов для слова (z)k будем записывать в виде:
./Ь’ /ь • • • ’ /к-b например:
2
3
3 4Л
2 L
(z1z3z0z6)*
-(z6zoz3zl)-
Значение числа в таблице подстановки указывает номер позиции символа в
слове. Позиции символа нумеруются, начиная с 1, и отсчитываются от крайнего
левого символа. На множестве слов языка определим отношение эквивалентно-
сти л следующим образом. Два слова (z)и (z)у2 одинаковой длины будем
считать эквивалентными, если существует такая перестановка q, что
<zbi *^ = <zb2 •
Отношение эквивалентности разбивает множество слов языка на классы. Понят-
но, что если (z)j и (z)у, - 2 различных канонических слова, то они всегда при-
22
надлежит разным классам, т. е. канонические слова являются представителями
классов эквивалентности. Каждый класс может быть образован всевозможными
перестановками символов канонического слова.
Непосредственно вложенные классы. Пусть задан алфавит длиной к.
Класс эквивалентности с длиной слов равной п будем называть непосредствен-
но вложенным в класс с длиной слов п +1, если они отличаются только одним
образующим символом. Поскольку в допустимых словах символы не повторя-
ются, непосредственно вложенные классы образуют упорядоченные цепочки по
подмножествам входящих символов. Пустое слово можно считать началом каж-
дой цепочки. С учетом пустого слова длина каждой цепочки классов не превы-
шает к +1. Цепочки классов длиной к +1 назовем максимальными.
Непосредственно связанные классы. Далее будем использовать алфавит,
состоящий из символов с двумя различными буквами. Каждая буква (например,
z или j) определяет родовое имя символа. Определим алфавит А формального
языка как линейно упорядоченный набор символов с двумя видами родовых
имен (z) и (у):
Число символов каждого вида равно к -1. Допустимым будем считать сло-
во длиной к — 1, образованное конкатенацией слов-представителей двух макси-
мальных цепочек классов с разными родовыми именами.
Рассмотрим пример. Пусть алфавит задан кортежем А = (й^^зЛЛУз) • Сле-
дующие цепочки классов являются максимальными в подклассах родовых имен
(z) и (j):
[0 Zj zpy z^J [0 д j\j2
Допустимые слова в двухбуквенном алфавите имеют длину, равную трем, и
формируют следующее множество:
[ЛЛУЗ 4J\h ЧЪЛ ¥2г'з]-
Как и прежде, будем полагать, что слова являются представителями классов
эквивалентности, образованных действием всевозможных перестановок символов
в пределах слова. Два класса допустимых слов назовем непосредственно связан-
ными, если образующие их подклассы родовых имен являются непосредственно
вложенными. Непосредственно связанные классы образуют дважды упорядочен-
ные цепочки по составу символов. Максимальная длина цепочек равна к +1.
Грамматика предложений. Допустимым предложением будем считать упо-
рядоченную последовательность слов, образующих максимальную по длине це-
почку непосредственно связанных классов. В допустимом предложении представ-
23
лены все связанные классы цепочки и каждый класс представлен только одним
словом. Длина предложения всегда равна к. Порядок слов в предложении естест-
венным образом устанавливается по одному из двух возможных вариантов упоря-
дочения непосредственно связанных классов. Зафиксируем для определенности
следующее правило построения предложения из множества допустимых слов:
• слова в предложении линейно упорядочены по числу символов с родовым
именем j;
• первое слово предложения выбирается из класса (z) j и имеет поэтому
нулевое число вхождений символов с родовым именем j.
Каждая цепочка непосредственно связанных классов порождает множество
однотипных предложений. Среди этого множества существует единственное
предложение, составленное из канонических слов, которое назовем канониче-
ским. Все остальные предложения для данной цепочки могут быть получены
произвольной перестановкой символов в словах канонического предложения.
Поэтому достаточно рассматривать порождающую грамматику только для кано-
нических предложений. Пусть числа X и X +1 определяют порядковые номера
двух непосредственно связанных классов в цепочке. Обозначим через и
канонически упорядоченные подмножества символов каждого вида для класса
Z, а через zA = - его каноническое слово. Тогда правило вывода
для канонических предложений можно сформулировать следующим образом:
/о = 11 Лс-1 = 1 = ’ Л) = &•
Построенное правило не связано ни с размерностью сети, ни с ее топологи-
ей, ни со структурными характеристиками вершин - это правило является инва-
риантом морфологического уровня, который в аксиоматической форме раскры-
вает внутреннюю сущность быстрых алгоритмов. Нетрудно проверить, что вы-
ражение (1.8) для номеров вершин структурной модели БПФ удовлетворяет по-
строенному инварианту.
1.3.2. Семантическая интерпретация канонических предложений
Поставим в соответствие каноническому предложению п -слойный сетевой
граф. Каждое слово с порядковым номером X будем интерпретировать как
функциональное правило вычисления номера вершины в слое X, определенное
семантикой (1.10). Вершины двух смежных слоев будем считать связанными ду-
гой, если в поразрядном представлении номеров вершин
Л - ((z\ Ф }, Л+1 = ((z\+1 Ф }
24
одноименные разрядные переменные имеют совпадающие значения. Рассмотрим
пример построения сетевого графа. Пусть алфавит языка определен кортежем
~ (Z1Z2Z3737271) •
Нетрудно убедиться, что предложение
является каноническим. Будем полагать, что основания разрядных переменных
заданы таблицей
;1 *2 z3 73 72 71'
^2 2 2 2 2 2 ,
В соответствии с выражением (1.10) слова предложения интерпретируются
как следующие алгебраические выражения:
z° = (Z1^2Z3 ) = 22 i] + 2z2 +13,
= {hhJi) = 22 г) + 2z2 + j\,
z'2 = (z17271 ) = 22*i + 2j2 +
?3 = (737271) = 22 73 + 2/2 + 71 •
Эти формулы используются для вычисления номеров вершин сетевого гра-
фа. На рис. 1.6 приведены поразрядные представления номеров вершин для каж-
дого слоя графа и частично показаны принципы образования межслойных связей.
z° (г1г2гз) (z1z27o) (z17i7o) <72717о) z3
0 ООО 000 -у 000 \ 5 000 о
1 001 001 X С 001 \ / 001 1
2 010 010 / X 010 ' \ 010 2
3 011 он он / 011 3
4 100 100 100 Z 100 4
5 101 101 101 101 5
6 но но но 110 6
7 111 111 111 111 7
Рис. 1.6. Правило построения графической интерпретации предложения
Фрагмент 1.1 представляет программную реализацию алгоритма построе-
ния структурной модели на языке MatLab.
25
function R=Generator_StructureModel(P,G)
%Генератор структурной модели быстрого преобразования
%Функция создает набор межслойных ранговых матриц
% Р, G - массивы оснований разрядных переменных с родовыми именами i и j.
% © А.Ю.Дорогов
N=prod(P); % размерность входа
M=prod(G); % размерность выхода
B=Get_sentencel_radix(Р,G); %получить основания разрядных переменных
% для слов канонического предложения
D=length (В);% число слов в предложении
for q=l:D-l
prv=prod(В{q)); %число вершин в предшествующем слое
nxt=prod(В{q+1}); %число вершин в следующем слое
R{q}=sparse(prv,nxt); ^создание ранговой матрицы
end
for n=l:N ^перечисление путей
[i{1:length (P) }]=ind2sub(P,n); %i- разрядные числа
for m=l:M ^перечисление путей
[j{1:length(G)}]=ind2sub(G,m); %j- разрядные числа
Z=Get_Pathl(i,j,В); %вершины пути
for q=l:D-l
R{q}(Z(q),Z(q+1))=1; ^заполнение ранговых матриц
end
end
end
Show_Structure_model_graph(R); ^графическое отображение структурной
модели
о.______________________________ __________________________________
"о
function Z=Get_Pathl(i,j,В)
^Получить путь между вершинами начального и конечного слоев
%i{} - массив ячеек значений разрядных переменных с родовым именем i
%j{} - массив ячеек значений разрядных переменных с родовым именем j
% В - массив ячеек - основания разрядных переменных для слов кано-
нического
% предложения
%Z - массив вершин пути
% © А.Ю.Дорогов
S={[i(3) i(2) i(l)J [ j (1) i(2) i(l)J [j (1) j (2) i(l)J [j (1) j (2) j (3)]};
D-length(S); % число слоев
for k=l:D
Z(k)-sub2ind([B{k},1],S{k}{1:end}); % номер вершины
end
о. ________________________________________________________________
function B-Get_sentencel_radix(P, G)
^Получить основания разрядных переменных для слов канонического
предложения
% Р, G - массивы оснований разрядных переменных с родовыми именами i и j.
% В - массив ячеек, каждая содержит массив разрядных переменных для
одного % % слова канонического предложения
% © А.Ю.Дорогов
В={[Р(3) Р(2) P(l)] [G(l) Р(2) P(l)] [G(l) G(2) P(l) ] [G(l) G(2) G(3)] };
Фрагмент 1.1. Программная реализация генератора структурной модели
26
Идея алгоритма основана на перечислении путей, соединяющих вершины
начального и конечного слоев. Разрядные переменные z и j представлены в
ячейках. Преобразование в многоосновную систему счисления и обратно реали-
зуется стандартными функциями MatLab ind2sub() и sub2ind().
Рис. 1.7. Графическая интерпретация канонического предложения
Подпрограмма Get_Pathl(ij,B) содержит каноническое предложение для рас-
сматриваемого примера и строит путь между вершинами терминальных слоев. Под-
программа Get_sentencel_radix(P,G) формирует основания разрядных переменных
для слов канонического предложения. Подпрограмма Show Structure model graph(R),
выполняющая отображение графа представлена в электронном приложении. На-
помним, что в языке MatLab все массивы начинаются с единицы, а в скобочной
записи массива А = ...<?„] крайний левый элемент является младшим. На
рис. 1.7 показан полный граф структурной модели, построенный данной про-
граммой по каноническому предложению (1.11).
1.4. Нейросетевая интерпретация быстрых
перестраиваемых преобразований
Теория быстрых перестраиваемых преобразований появилась примерно в
то же время, что и теория многослойных нейронных сетей. Обе теории развива-
лись параллельно. Различная терминология, различные теоретические основы и
области приложения развели 2 направления достаточно далеко друг от друга,
хотя общие черты - многослойность и перестраиваемость были вполне очевид-
ны. Фактически оказалось, что оба направления не столь существенно отлича-
27
ются друг от друга, как предполагалось ранее, и имеют много общего. В классе
быстрых спектральных преобразований базовая операция в слое Л. определяется
ортогональной квадратной матрицей размером (р^,Рх) При рассмотрении бы-
стрых обобщенных перестраиваемых преобразований условие ортогональности
опускается, поэтому базовая операция может быть выражена произвольной пря-
моугольной матрицей размером (/>x,gx). При проектировании преобразования
коэффициенты матриц базовых операций настраиваются по определенным пра-
вилам. Процесс настройки коэффициентов в смысловом отношении подобен
процессу обучения нейронных сетей.
Рис. 1.8. Формальный нейрон Мак-Калока-Питтса
Модель нейрона У. С. Мак-Калока и У. Питтса (рис. 1.8) определяется па-
рой уравнений [17]:
N
S = Yxiwi^ y = f(s + so)-
z=l
Для базовой операции быстрого алгоритма умножение входного вектора-
строки размерности р^ на вектор-столбец матрицы базовой операции аналогич-
но операции, выполняемой нейроном с линейной функцией активации /’ и ну-
левым смещением .sq .
Учитывая очевидную аналогию с нейронными сетями и следуя современ-
ной терминологии, базовую операцию перестраиваемого преобразования будем
в дальнейшем называть нейронным ядром. Графический образ базовой операции
размерности (/»х, gx ) в нейросетевой
интерпретации показан на рис. 1.9.
В терминах нейронных сетей входы ней-
ронов принято называть рецепторами, а
выходы - аксонами. Алгоритм быстро-
го перестраиваемого преобразования
представляет собой последовательность
слоев, наполненных базовыми опера-
циями, что эквивалентно многослойной
модульной нейронной сети с ограничен-
Рис. 1.9. Графический образ базовой операции
28
ним числом связей. Поэтому в дальнейшем, учитывая терминологию предва-
ряющей работы [12], быстрые обобщенные преобразования будем называть ино-
гда быстрыми нейронными сетями, уточняя при необходимости, являются ли
они линейными или содержат нелинейные функции активации. Термины «ре-
цептор» и «аксон» удобно использовать также для краткого именования входных
и выходных контактов базовых операций быстрых преобразований.
1.5. Регулярные топологии быстрых алгоритмов
Топологическая модель быстрого алгоритма была введена в 1.1. Граф топо-
логической модели для краткости назовем топологией быстрого алгоритма. При
аппаратной реализации алгоритма топологический граф транслируется в тополо-
гию связей на кристалле. При этом весьма желательно, чтобы размещение связей
подчинялось некоторой закономерности. Закономерностью может быть, напри-
мер, условие, что топологический граф описывается предложением формального
языка. Такую топологию будем называть регулярной.
Для построения регулярных топологий рассмотрим структурную модель
обобщенного быстрого преобразования. В структурной модели каждая вершина
слоя X представляет собой нейронное ядро (базовую операцию) с размерностью
входного поля ру и размерностью выходного поля g^. Учитывая, что ранги
всех дуг графа равны единице, поставим в соответствие каждой дуге точную од-
нозначную связь аксон-рецептор. Алфавит языка расширим символами с родо-
выми именами и и г. Обозначим через иу = [0,1,..., ру -1] номер рецептора, а
через vy_ = [0,1,..., gy_ -1] - номер нейрона (любой нейрон имеет только один
выходной аксон). Позиционный номер рецепторов и аксонов в пределах слоя для
регулярных топологий может быть представлен следующими лингвистическими
правилами образования слов:
= ((Л) ф иу - для рецепторов и = ((z71) Ф vy^j — для аксонов. (1-12)
Данные выражения включают в себя поразрядное представление номера вершины
zA и дополнительный разряд, соответствующий локальному номеру рецепто-
ра/аксона в пределах нейронного ядра. Операция Ф символически отображает до-
бавление разрядного символа к кортежу слова. Дополнительный разряд может за-
нимать любую позицию в кортеже слова, что позволяет в широком диапазоне варь-
ировать размещение терминальных полей нейронного ядра в нейронном слое. Сло-
ва языка, соответствующие выражениям (1.12), назовем топологиями слоя. Для
смежного слоя с порядковым номером X +1 топологии определяются словами:
= ((zA+l ) е , fA+1 = ((,./.+!) е
29
Потребуем, чтобы соответствие между аксонами и рецепторами двух смежных
слоев удовлетворяло условиям регулярности. В контексте формального языка
регулярное соответствие может быть выражено операцией перестановки симво-
лов в словах канонического предложения:
Это выражение справедливо для всех значений разрядных переменных, т. е. яв-
ляется тождеством. Топологию будем называть компактной, если все межслой-
ные перестановки являются единичными. Такой вариант сети наиболее прост в
технической реализации. Учитывая, что 7^+1, ДсУ^+], можно сделать
вывод о существовании взаимно-однозначных соответствий
Ъ.' Л.+1 ^/.+1 ’ Л+1 гл (1-13)
(символ «\» здесь означает разность множеств). Число символов с родовыми
именами и, v на единицу больше (по каждому виду), чем число символов с ро-
довыми именами i, j. Соответствия (1.13) позволяют во всех словах допустимо-
го предложения заменить символы вида i, j на символы с родовыми именами
вида и, v. В результате получим:
= ({и)® , ^X+1 = (b^Sy ® (v>Cy) * ,
Л. Л, f у Л> Л> f
где zd и С\ cQ+| - подмножества смежных классов в алфавите и, v.
Для алгоритмической реализации более удобной является следующая форма:
=({u)s^
' ' (1.14)
где = Яь Выражения (1.14) можно распространить и на терминальные
поля, если формально положить
5о=5, С_, = 0, (115)
5К=0, СкЧ=С, 91к-‘ ’=<?<,.
Перестановки q^ и qa определяют размещение терминальных рецепторных и
аксоновых полей нейронной сети.
Терминальные поля нейронной сети (поля первого и последнего слоев) зани-
мают особое положение. Обозначим через U позиционный номер рецептора вход-
ного слоя, а через V - позиционный номер аксона выходного слоя, тогда топологии
терминальных полей можно записать в виде лингвистических выражений:
= И = ((/к-1)фук_1).
30
В этих выражениях м0 и vK_| - свободные переменные, которые не связаны ка-
ким-либо соответствием вида (1.13) с переменными (z), (у).
Системный инвариант регулярных топологических реализаций. Пред-
положим, что сетевой граф имеет к слоев, которые пронумерованы от 0 до
к -1. Тогда подмножества 5 и С будут содержать разрядные переменные
S = {u0, щ,..., цкЧ}, C = {y0,V1,..., vK_t}.
В слое с номером Л. подмножество S; содержит переменную и^, а подмножест-
во С) - переменную гу. Учитывая, что от системного инварианта структурной
модели наследуется вложенность подмножеств zd и Q с Q+], состав
подмножеств однознозначно определен выражениями:
= wK-lb Q ={v0> vb--- VX-1}-
Все варианты регулярных топологий будут отличаться только упорядочен-
ностью переменных в кортежах и , н0 состав подмножеств
инвариантен к топологии.
При компактной топологии во всех межслойных переходах кортежи и
совпадают по составу и порядку следования символов. В этом случае все
межслойные перестановки q'~ являются единичными. Топологию назовем сим-
метричной, если для всех X разрядные переменные и-к и занимают одинако-
вые позиции в кортежах и VK. Симметричные топологии позволяют реали-
зовать быстрые алгоритмы с замещением значений.
1.6. Графические образы регулярных топологий
Рассмотрим построение графического образа топологии быстрого алгорит-
ма на примере. Пусть алфавит языка структурной модели задан кортежем
Рассмотрим каноническое предложение
[(z'lz'2> (*271) <7172>]> (1-16)
определяющее структурную модель быстрого алгоритма. Используя правила
(1.13) сделаем замены переменных:
A^2=*2OW2’
Ъ'^1 = 72 ° И’ 'Л) = 71 ° v0-
В новых переменных каноническое предложение примет вид
31
Как было показано ранее, для построения топологий рецепторных полей необ-
ходимо к каждому слову с порядковым номером X добавить переменную и^.
Переменные могут быть добавлены в любые позиции слов предложения, напри-
мер, добавим их в конец слов, тогда множество рецепторных топологий будет
описываться предложением
Rp = \_{щи2и0) (и^ощ) (v0viu2)']. (1.17)
Аналогичным образом для построения топологий аксоновых полей необхо-
димо в каноническом предложении к каждому слову с порядковым номером X
добавить переменную V; , например следующим образом:
Ах = [(wi«2v0) (v0vlv2)]• (I-18)
Предложения (1.17) и (1.18) будем называть топологическими, а последова-
тельность слов предложения — топологической траекторией. Каждое слово в
топологических предложениях будем трактовать как точку траектории, которая
начинается в области переменных типа и и заканчивается в области переменных
типа г. Траектория имеет конечное число шагов, определяемое размером под-
множеств разрядных переменных. Упорядочение слов в топологическом пред-
ложении наследуется от канонического предложения структурной модели. Слова
упорядочены слева направо по возрастанию количества символов с родовым
именем v. Топологическую траекторию можно интерпретировать как сетевой
многослойный граф, вершинами которого являются контакты базовых операций,
а дуги определяют связи между контактами, порождаемые базовыми операция-
ми и межслойными переходами. Слова в предложении (1.18) определяют прави-
ло для вычисления номера аксона в пределах слоя. Слова предложения (1.17) ин-
терпретируются как номер рецептора в пределах слоя. В пределах слоя рецептор
и аксон связываются дугой, если они принадлежат одной базовой операции. Ре-
цептор и аксон смежных слоев связываются дугой, если значения всех одно-
именных разрядов в поразрядных представлениях их номеров попарно совпада-
ют. Правило построения графа показано на рис. 1.10.
В данном примере основания всех разрядных переменных приняты равны-
ми двум. Топология не является компактной, поскольку существуют неединич-
ные межслойные перестановки разрядных переменных. Для обоих переходов
они равны:
(\ 2 3^
13 1 2J
Мнемонический образ топологической траектории показан на рис. 1.11.
32
Слой О
<w1w2M0> <MiM2v0>
Слой 1
<»2v0wl> <M2v0vl>
Слой 2
<у0у1г/2;> <v0vlv2>
Рис. 1.10. Топологическая реализация быстрого преобразования
Топология является симметричной, поскольку разрядные переменные иу и
занимают одинаковые позиции во всех одноименных словах предложений Rp и
Ах. Для аппаратной реализации использование некомпактных топологий может
Рис. 1.11. Мнемонический образ топологической траектории
оказаться выгодным. При программной реализации целесообразно избавиться от
межслойных перестановок, переставив символы в словах одного из топологиче-
ских предложений в соответствии с перестановкой q. Например, переставив
символы в словах, определяющих рецепторные поля, получим:
Rp =[{щи2и0) (щи2У0) [и2У0УХ)~],
Ах = [(«1«2т0 } («2П)И )(v0vl Уга-
данная топология является компактной, но не симметричной. Топологический
граф для данного варианта показан на рис. 1.12. На приведенных графах явно не
выделены базовые операции, но их всегда можно локализовать по входным и
выходным контактам, используя то обстоятельство, что рецепторные поля базо-
вых операций не пересекаются. Когда вершины кодированы в многоразрядной
системе счисления, то можно определить и порядковый номер базовых операций
по коду совпадающих разрядных переменных. Подобное графическое представ-
ление топологий наиболее часто используется для изображения нейронных се-
тей. В нейросетевой интерпретации каждой дуге графа соответствует синапс, а
каждой вершине - одиночный нейрон.
33
Слой О
Слой 1
Слой 2
V
О
1
2
3
4
5
6
7
Рис. 1.12. Компактная топологическая реализация быстрого преобразования
О
1
2
3
4
5
6
7
О
1
1
1
1
2
1
1
3
1
1
4
1
1
5
1
1
6
1
1
1 । 1
7
Рис. 1.13. Топологическая
матрица
Любой слой графа можно представить в виде
матрицы смежности, которую будем называть топо-
логической матрицей. Например, для нулевого слоя
построенного ранее графа топологическая матрица
будет иметь вид, показанный на рис. 1.13. Диаго-
нальные блоки с единичными значениями соответст-
вуют базовым операциям. При алгоритмической реа-
лизации элементы матрицы, относящиеся к одной ба-
зовой операции, удобно пометить кодом операции,
что упрощает правило локализации базовых опера-
ций. Топологические матрицы определяют шаблоны
матриц-сомножителей в факторизованном представлении быстрого алгоритма:
Н = Н^Н \ . Топология преобразования может быть представлена симво-
лическим произведением топологических матриц 7q ...Тп_\.
Двойственные топологии. Механизм двойственности реализует простой
способ построения допустимой топологии из уже существующей. Предположим,
что построен быстрый алгоритм, топология которого определена набором топо-
логических матриц Tq, Т\,..., Тп_\. Транспонируя факторизованное представле-
ние матрицы быстрого преобразования, получим:
Я! ТТ' ТТ' ТТ' ТТ'
При выполнении транспонирования системный инвариант быстрого преоб-
разования не нарушается, поэтому полученное выражение также является фак-
торизованным представлением быстрого алгоритма. Топология алгоритма опре-
деляется произведением транспонированных топологических матриц:
т^т;^...^.
При транспонировании наряду с измененим порядка следования матриц в
произведении строки матриц сомножителей меняются со столбцами. В тополо-
гических предложениях это ведет:
34
1) к замене родовых имен символов на противоположные, а индексов на
обратные: <-> vn_[-k;
2) изменению порядка следования слов в предложениях на обратный;
3) к замене типа предложения на противоположный: Rp <-> Ах.
Рис. 1.14. Двойственная топологическая реализация быстрого преобразования
Например, в выражениях (1.19) сделаем замену типов предложений, родо-
вых имен символов и упорядочим слова в порядке возрастания в словах симво-
лов с родовым именем v. В результате получим двойственную топологию:
Лх' = [(v0w2wl) (иу0и2> (v1v0v2)J,
RP' = ) { V] v0w2 )]
Графический образ двойственной топологической реализации показан на
рис. 1.14. Визуально двойственная реализация выглядит как отражение относи-
тельно вертикальной оси базового топологического графа. Обычно удается одно
и то же преобразование реализовать в прямой и двойственной топологях.
1.7. Построение регулярных топологий
1.7.1. Порождающие схемы
Как и прежде, топологию быстрого алгоритма будем называть регулярной,
если ее можно представить предложением формального языка. Закономерность
образования слов, позволяющая строить регулярные топологические траектории,
будем называть порождающей схемой. Одной из таких закономерностей являет-
ся правило скользящего интервала, обеспечивающее, кроме того, компактность
топологий. Покажем построение топологических реализаций Гуда с помощью
данного правила.
Топологические схемы Гуда. Выберем алфавит в виде
А = (иощ... wK_iVoH vK_2 vK_i). (1.20)
Будем перемещать пустой интервал длиной к, ограниченный угловыми скобка-
ми, вдоль кортежа алфавита, начиная с крайней левой позиции. На каждом шаге
35
подвижный интервал вычленяет из алфавита каноническое слово. В результате
последовательность первых к -1 порождаемых слов будет определять топологию
рецепторных полей нейронной сети, а последнее к -е слово - топологию терми-
нального аксонового поля сети. При компактной топологии обратное движение
интервала с крайней правой позиции к началу канона за к -1 шагов порождает
топологии аксоновых полей сети. Например, для алфавита А - (woMlM2M3vOvlv2v3)
правило скользящего интервала порождает для рецепторных и аксоновых полей
следующие топологические предложения:
[(“0¥2“з) (г/1г/2г/3^о) (z/2z/3v0vl)
[(г/р^з^о) (г'2г/ЗИ)И) (гоП^з)]-
Соответствующий граф топологической реализации показан на рис. 1.15.
Вершины графа с целью упрощения графического образа пронумерованы в деся-
тичной системе счисления. Каждая вершина - это выходной зажим базовой опе-
Г° JZ1
V1 V3
Рис. 1.15. Топологическая реализация схемы Гуда
рации. В нотации нейронных сетей вершину графа можно интерпретировать как
выход (аксон) одиночного нейрона. Правило скользящего интервала удобно
представить в аналитической форме. Обозначим через слово, выделяемое ин-
тервалом длиной к на шаге Л.. Нетрудно заметить, что
= Л = (z/xz/x+1...z/K_1vov1...v?._1), _
0.21)
= Л+1 = (г/^+р/^+2 •••^k-1v0v1
В скользящем интервале удерживаются символы, для которых Л. е [(), к -1]. Но-
мер ядра в слое Л. определяется выражением
36
Особенность схемы Гуда состоит в том, что все слои графа имеют одинаковый
топологический образ, что упрощает алгоритм реализации. Однако выходные
операнды на каждой базовой операции не могут замещать входные отсчеты, по-
этому требуется дополнительная память для хранения выходной последователь-
ности. Двойственная схема Гуда описывается выражениями:
K?'=?'+1 =(vxvx_1...v0mk_1mk_2...mx+1), (1-22)
iK = K-l vX-2 • • • v0wk-1 wk-2 • • • WX+1)
Переход к двойственной схеме выполняется заменой переменных в выражениях
(1.21) по правилам: U'' <-> <-> vK-i-/w. Двойственная схема может
быть также получена по правилу скользящего интервала из алфавита:
А = К-1 vk-2 • • • v0wk-1 wk-2 • • • и0 ) •
Для данной схемы скользящий интервал перемещается вдоль алфавита, начиная с
крайней правой позиции, при этом последовательность первых к-1 порождае-
мых слов будет определять топологию рецепторных полей нейронной сети, а по-
следнее к-е слово - топологию терминального аксонового поля сети. Обратное
движение от начала алфавита к концу формирует топологию аксоновых полей.
Топологические схемы Кули-Тьюки. Эти схемы были предложены
J. W. Cooley и J.W. Tukey [3] для реализации БПФ и получили названия «с про-
реживанием по времени» и «с прореживанием по частоте». Одна из этих схем
была рассмотрена в 1.1. Историческое название отражает специфику спектраль-
ного анализа. Изначально данные схемы использовались для построения алго-
ритмов БПФ по основанию 2. Предложенные схемы алгоритмически описывали
процедуру последовательной декомпозиции входного вектора на части.
В схеме «с прореживанием по времени» входная последовательность разделя-
лась на четные и нечетные отсчеты. Для базовой операции «бабочка» регулярным
образом отбиралось по одному отсчету из каждой порожденной последовательно-
сти и результирующие операнды помещались в те же ячейки памяти, из которых
выбирались входные отсчеты. Данная схема реализует компактную симметричную
топологию и аналитически может быть представлена в следующем виде:
=tX ^K-1wk-2-’-wX+1wXvX-1vX-2---v1vo)’
К =Л+1 С1-23)
- (wk-1wk-2 • • • г/л+1VX-1 vX-2 • • • И v0 )
На рис. 1.16 показана графическая интерпретация топологической схемы «с
прореживанием по времени» для алфавита А - {iit,U2u1uQv3v2v1vq)
37
Рис. 1.16. Топологическая реализация схемы «с прореживанием по времени»
В схеме «с прореживанием по частоте» входная последовательность дели-
лась на две подпоследовательности с номерами отсчетов: для первой подпоследо-
вательности от 0 до N/2-1 и от JV/2 до -1 для второй. Для базовой операции
«бабочка» регулярным образом отбиралось по одному отсчету из каждой порож-
денной подпоследовательности и результаты операции помещались в те же ячей-
ки памяти, из которых выбирались отсчеты. Такая же процедура повторялась на
остальных шагах алгоритма. Данная схема реализует компактную симметричную
топологию и аналитически может быть представлена в следующем виде:
=? =(v0v1...vx_1wxwx+1...wK_2wK_1),
= Л+1 =(v0v1...vA_1vAwA+1...wK_2wK_1), (1.24)
= (vovl... vx_i wx+i... wk-2wk-1 )
Данная схема является двойственной к топологической реализации «с проре-
живанием по времени» и может быть получена из последней, следуя правилам за-
мены: Uf' Ик-1-л, и-к <-> vK_j_x- На рис. 1.17 показана графическая интерпре-
тация двойственной топологической схемы для алфавита А -
В рассмотренных примерах предполагалось, что все разрядные переменные
имеют основания, равные двум. В этом случае все базовые операции описываются
квадратными матрицами размером 2x2, что характерно для спектральных пре-
образований. Для перестраиваемых преобразований матрицы базовых операций
могут быть прямоугольными, это обстоятельство принципиально не влияет на
способ построения топологий. На рис. 1.18 показана топология перестраиваемого
преобразования по схеме Кули-Тьюки с прореживанием по времени для трехслой-
ного преобразования с основаниями разрядных переменных, заданных таблицей:
38
<А](и2 Щ w0 v2 V1 V
2 2 3 2 2 2 y
Puc. 1.17. Топологическая реализация схемы «с прореживанием по частоте»
Рис. 1.18. Топологическая реализация быстрого преобразования размером 12x8
Топологические предложения для данного примера имеют вид:
Ах = [(«2wlvo) (W2V1 v0} (v2V1 v0)]•
/. 7.2. Программная реализация генератора регулярных топологий
Важным преимуществом регулярных порождающих схем является наличие
аналитической формы представления, которая позволяет достаточно просто реа-
лизовать программные генераторы топологических реализаций.
Кодирование топологических предложений. Цель кодирования состоит в
том, чтобы создать структуру данных, удобную для представления топологий в
программных реализациях. Варианты представления в некоторой степени зависят
39
от используемого языка программирования. В программной среде MatLab индексы
массивов начинаются с единицы. С одной стороны, это не совпадает с используе-
мым теоретическим описанием и усложняет программирование, но с другой - по-
зволяет предложить удобную структуру данных для представления топологий.
Фрагмент 1.2 представляет функцию формирования структуры данных для
топологии Кули-Тьюки с прореживанием по времени. Выходом функции являются
кодовые слова для трех строк выражения (1.23). Длина кодового слова совпадает с
числом разрядов топологического слова. В кодовом слове позиции разрядных пе-
ременных iii кодируются положительными числами, соответствующими индексам
i (с учетом сдвига на единицу), позиции разрядных переменных Uj кодируются
отрицательными значениями их индексов. Исключение нулевого индекса позволяет
обеспечить однозначность построения топологической реализации быстрого пре-
образования по кодам. Кодовые слова строятся для каждого слоя преобразования.
function [Tu,Tv,Tz,varargout]-Cooley Tukey in time Topology(P,G,m)
% Построить коды топологических слов для топологии Cooley-Tukey с
прореживанием по времени
% © А.Ю.Дорогов
%P,G - основания разрядных переменных для представлений u,v
% m - номер слоя
% Tu,Tv,Tz - коды топологических слов рецепторных, аксоновых полей
и номера
% ядра
%Длина кода совпадает с числом разрядов топологического слова
%В кодовом слове позиции разрядных переменных "и" кодируются поло-
жительными
%значениями, совпадающими с их индексом, позиции разрядных перемен-
ных "v"
%кодируются отрицательными значениями их индексов. Индексы не равны
нулю
n=length(Р); %число слоев преобразования
Vi=l:m-1; % подмножество индексов переменных v в многоразрядном но-
мере ядра
Ui=m+l:n; % подмножество индексов переменных и в многоразрядном но-
мере ядра
Ти=[-Vi,m,Ui]; %кодирование топологического слова рецепторного поля
Tv=[-Vi,-m,Ui]; ^кодирование топологического слова аксонового поля
Tz-[-Vi,Ui]; %кодирование слова номера ядра
varargout{1}=Ui;
varargout{2}=Vi ;
Фрагмент 1.2. Формирование структуры данных для топологии Кули-Тьюки
«с прореживанием по времени»
Подобным образом строятся функции кодирования для других топологий.
Кодированные представления удобно использовать для унификации алгоритмов
работы с быстрыми преобразованиями. Например, фрагмент 1.3 представляет
40
функцию восстановления оснований разрядных переменных топологического
слова по его коду для любых топологий (см. также функцию GetTopology-
Word_Value(u,v,P,G,T), фрагмент 1.5).
function Bt-TopologyRadixDecoder(Р, G,Т)
%Получить основания разрядных переменных по коду топологического
слова
%Т - код топологического слова
%P,G - основания разрядных переменных для представлений u,v
% © А.Ю.Дорогое
n=length(Т);
for k=l:n
m=T(k);% индекс разрядной переменной
if m>0
Bt(k)=P(m); ^основания разрядных переменных и
elseif m<0
Bt(k)=G(-m); %основания разрядных переменных v
end
end
Фрагмент 1.3. Восстановление оснований разрядных переменных топологического слова
по его коду
Построение топологических матриц. Фрагмент 1.4 представляет пример
реализации генератора топологий. Топологические матрицы в массиве Т после-
довательно заполняются для каждого слоя при перечислении номеров строк и
столбцов преобразования.
function T-Get_TopologyMatrix(Р,G,Topology)
% Построить топологические матрицы для слоев быстрого преобразования
% Функция создает набор топологических матриц в массиве ячеек Т
% P,G - массивы оснований разрядных переменных с родовыми именами и и v.
% Topology - указатель на функцию формирования кода топологических слов
% © А.Ю.Дорогов
k-length(Р); % число слоев
N-prod(Р) ;
M-prod(G);
for U=1:N
[u{1:k)]^ind2sub(Р,U); «преобразование в многоразрядную форму
for V=1:М
[v{1:к}]-ind2sub(G,V); ^преобразование в многоразрядную форму
for m=l:к % номер слоя
[Z,Um,Vm]=Get Kernel Receptor Axon Value(u,v,P,G,m,Topology);
T{m}(Um,Vm)=Z; %формирование топологической матрицы
end
end
end
show topological graph(T); %отобразить граф топологической реализации
41
figure;
show_topological_graph2(T); ^отобразить граф с выделением базовых
операций
figure;
show_topological_matrix (Т); %отобразить топологические матрицы
Фрагмент 1.4. Программная реализация генератора регулярных топологий
Для наглядности отображения элементы ядер топологической матрицы ка-
ждого слоя помечаются номером ядра, которому они принадлежат (нумерация
ядер начинается с единицы).
function [Zm, Um,Vm]=Get_Kernel_Receptor_Axon_Value(u,v,P,G,m,Topology)
%Получить номер ядра и глобальные номера рецепторов и аксонов в слое m
% Topology - указатель на функцию топологии
%u,v - номера строк и столбцов в многоосновной системе счисления
%P,G - основания разрядных переменных для представлений u,v
% m - номер слоя
% Zm - номер ядра, соответствующий переменным u,v
% Um - номер рецептора в слое m
% Vm - номер аксона в слое m
% © А.Ю.Дорогов
[Tu,Tv,Tz]=feval(Topology,Р,G,m);
Um=GetTopologyWord_Value(u,v,P,G,Tu);
Vm=GetTopologyWord Value(u,v,P,G,Tv);
Zm=GetTopologyWord Value(u,v,P,G,Tz);
Q,_________________ _________________________________________________
О
function Wr-GetTopologyWord_Value(u,v,P,G,T)
^получить значение топологического слова
%Т - код топологического слова
%u,v - номера строк и столбцов в многоосновной системе счисления
%P,G - основания разрядных переменных для представлений u,v
n=length(Т);
w= { } ;
for k=l: n
m=T(k);% индекс разрядной переменной
i f m>0
w (k) =u (m) ;
Bw(k)=P(m);
elseif m<0
w (k) -v (-m) ;
Bw(k)=G(-m) ;
end
end
Wr=sub2ind([Bw,1],w{1:end}); %значение топологического слова
Фрагмент 1.5. Реализация топологических функций
Для преобразования значений строк и столбцов в многоразрядную форму
используется стандартная функция ind2sub(). Вычисление номера ядра и пози-
ций принадлежащих ему элементов в топологической матрице реализуется
42
функцией Get_Kemel_Receptor_Axon_Value() (см. фрагмент 1.5), в которой ар-
гумент Topology является указателем на функцию построения кода топологиче-
ских слов (фрагмент 1.2).
Подпрограммы showtopologicalgraph(T), show_topological_graph2(T),
show topological matrix(T) (фрагмент 1.4) предназначены для графического
представления топологии. Тексты данных подпрограмм приведены в электрон-
ном приложении.
Рис. 1.20. Топологическая схема Кули-Тьюки с прореживанием
по частоте и с выделением базовых операций
43
На рис. 1.19 приведен граф топологической реализации Гуда с явным выделе-
нием базовых операций, построенный по предложенным алгоритмам. На рис. 1.20
подобный граф показан для топологии Кули-Тьюки с прореживанием по частоте
(сравните этот граф с полным графом БПФ, показанным на рис. 1.2).
1.7.3. Топологическая траектория быстрого преобразования
Правило формирования слов топологического предложения подчинено сис-
темному инварианту быстрого преобразования, который допускает множество
различных реализаций. В рассмотренных ранее примерах для нумерации строк и
столбцов матрицы быстрого преобразования использовались кортежи, состав-
ленные из внутренних разрядных переменных и и v. Поскольку размещение
разрядов в этих кортежах зависит от вида топологии и номера слоя, то такая
форма неудобна для использования. Введем новые переменные, которые назо-
вем разрядными переменными внешнего представления, или глобальными раз-
рядными переменными. Их отличительная особенность состоит в том, что раз-
мещение разрядных переменных фиксировано для всех слоев. Между внутрен-
ними и внешними разрядными переменными устанавливается взаимно-однознач-
ное соответствие. Выбранный порядок следования разрядов в кортежах внешне-
го представления будем в дальнейшем называть терминальным соглашением.
Например, терминальное соглашение может состоять в том, что для внеш-
них разрядных переменных Uf, Vj фиксируется естественный порядок нумера-
ции разрядов, когда наиболее значимому разряду соответствует наибольший но-
мер. Так что
и = (£4-44-2 • -и0}, V = (Ц-1Ц-2.. Л).
Терминальные соглашения по существу определяют привязку внутреннего
образа топологии к внешнему представлению, поэтому уместно называть их
граничными условиями топологической траектории. В общем случае регулярные
граничные условия для терминальных полей сети могут быть записаны в сле-
дующем виде:
r = С1-25)
где qa,qb ~ регулярные подстановки; и, v - локальные разрядные переменные.
Подобным образом можно ввести глобальные разрядные переменные для всех
скрытых слоев, зафиксировав следующую форму представления:
=Н-1^-2.Х ). V =H-l»/K-2-^).
Для каждого слоя справедливы следующие соответствия между локальными и
глобальными переменными:
H-l^K-2-Uo) = 'X‘?4_1. И-Тк-2-»/01) = 'Х*^. (1.26)
44
где - слово топологического предложения (разложение qK =(^) % ис-
пользовано для симметричности условий). Подстановки qK однозначно опреде-
ляются топологическим соглашением и видом топологии.
1.7.4. Аналитическая форма топологических матриц
Ограничимся компактными топологиями и представим соответствия (1.26)
в табличном виде, например для топологии Гуда:
U^=tX =(u7ux+x...uK_2uK_xvQvx...vk_}'),
Vх =?+1 =(«x+1---wK-2wK-1v0v1...vx_1vx), (1.27)
= ("x+1 •••z'k-1v0v1
Соответствие представляется табл. 1.3. Построим по данной таблице топологи-
ческую матрицу 7^. Топологическая матрица состоит из нулей и единиц. Еди-
ницам соответствуют элементы ядер слоя, это означает, что для единичного эле-
мента в поразрядных представлениях и общие разрядные переменные
должны совпадать по значениям. В результате получим следующее правило по-
строения: элемент матрицы 7\(u'\ равен единице, когда одноименные
разрядные числа в поразрядных представлениях U , V попарно совпадают по
значениям. Следуя данному правилу и используя первую и третью строки таб-
лицы, можно получить следующую аналитическую форму для вычисления эле-
ментов матрицы:
Ц (сЛ , 1А ) = s(t/^2, )s(t/£_3, Гк\2 )...8« l^), (1.28)
где §(•) - функция Кронекера. Например, для четырехслойной сети с основанием 2
(см. рис. 1.15) топологическая матрица слоя Л. будет определяться выражением
Таблица 1.3
Соответствие между локальными и глобальными разрядными переменными
их = их = «X г А ик-1 "X11 ^к-2 "к-2 гЛ- ^K-X + l MK-1 v0 ^k-X-1 vX-3 ui '7.-2 A 'l-l u0
Vх = Vх - 1С+1 у к-1 '7.1 2 у к-2 мк-1 ^K-X+l v0 Vх у y к—Л. V1 гк-Л-1 '7.-2 v2l vl-l и0
45
На рис. 1.21 показан вид топологической матрицы, отвечающей данному вы-
ражению; там же для удобства приведена поразрядная нумерация строк и столб-
цов. На поле матрицы прямоугольником выделены элементы, относящиеся к од-
ному нейронному ядру, незаполненные позиции матрицы соответствуют нулевым
значениям. В терминологии нейронных сетей данная матрица представляет собой
шаблон синаптической карты нейронного слоя. При реализации преобразования
ненулевые позиции замещаются значениями коэффициентов базовых операций.
Используя аналитическую форму для топологической матрицы и данные табл. 1.3,
можно получить аналитическое представление для элементов матрицы слоя Ну :
V'-) = 2- ^к-1 Н^к-З, >'к-2 )-S« »Y' )
Рис. 1.21. Топологическая матрица для порождающей схемы Гуда
Рассмотренный подход в общем случае решает задачу топологической фактори-
зации быстрых перестраиваемых преобразований. В отличие от известных тео-
рем факторизации здесь не используются значения элементов матриц, поэтому
топологическая форма инвариантна к виду быстрого преобразования. Тем не ме-
нее, следует заметить, что от топологической реализации зависит упорядочен-
ность базисных функций преобразования.
46
1.8. Построение топологических реализаций общего вида
Все ранее рассмотренные варианты топологических реализаций быстрого
преобразования представимы конструкциями формального языка, т. е. являются
регулярными. Однако регулярные топологии не исчерпывают все множество воз-
можных топологических реализаций. Рассмотрим общий алгоритм построения
топологий. Отправной точкой алгоритма является структурная модель. Поскольку
все связи между базовыми операциями имеют единичный ранг, то для получения
топологической реализации достаточно выполнить произвольную разметку связей
глобальными номерами контактных площадок базовых операций.
Пример подобного построения для структурной модели БПФ (см. рис. 1.4)
показан на рис. 1.22. На основании разметки строится граф топологической реа-
лизации (рис. 1.23). Построенная топология является компактной и симметрич-
ной. Компактность обеспечивается за счет того, что начало и конец каждой дуги
помечаются одним и тем же контактом, а симметричность обеспечивается за
счет того, что входные и выходные контакты базовых операций помечаются
одинаковым набором чисел. Эти ограничения не обязательны, и от них можно
отказаться при построении топологии общего вида.
Рис. 1.22. Топологическая разметка структурной модели БПФ
Вместо графа структурной модели удобно использовать ранговые матрицы
межслойных переходов (см. 1.1).
Каждая строка ранговой матрицы соответствует базовой операции предше-
ствующего слоя, а каждый столбец - базовой операции последующего слоя. Не-
нулевые элементы определяют ранг связей между базовыми операциями. Если
по позициям ненулевых элементов строк ранговой матрицы разместить номера
контактов аксонового поля базовых операций предшествующего слоя, то тогда
проекция по столбцам даст подмножества контактных номеров для рецепторных
полей базовых операций последующего слоя.
47
Рис. 1.23. Нерегулярная топологическая реализация быстрого преобразования
0 1 2 3 1Л2 0 1 2 3
0 0 * 7 * (07) 0 0 2 * * (02)
1 * 1 * 3 (13) „ 1 1 4 * * (14)
2 2 * 6 * (26)' 1 2 * * 7 6 (76)
3 * 4 * 5 (45) 3 * * 3 5 (35)
(02) (14) (76) (35) (01) (24) (73) (65)
Рис. 1.24. Построение топологической реализации по ранговым матрицам
Пример подобного построения с ранговыми матрицами Rq и /?| показан на
рис. 1.24. Звездочками помечены нулевые значения ранговых матриц (это сдела-
но для исключения совпадений с нулевыми номерами контактных площадок).
Топологические подмножества базовых операций выделены круглыми скобками.
1.9. Алгоритм реализации быстрого перестраиваемого преобразования
Для перестраиваемого преобразования в базовой операции Л слоя X вы-
полняется линейная обработка компоненты входного вектора слоя:
/х () = Е) ’ (1 -29)
где х\ и - координаты входного и выходного векторов базовой операции;
- матрица весов базовой операции. Для построения алгоритма обработки
i
данных необходимо перейти от локальных переменных ядра к глобальным пе-
ременным слоя. Рассмотрим в качестве примера быструю нейронную сеть с то-
пологией Гуда. Кортеж, соответствующий номеру базовой операции, можно по-
лучить, удалив из выражения (1.21) для топологического слова Л букву и^.
В результате получим, что номер ядра будет определяться выражением
48
= <wx+i ...Wk-1V0Vi ... . (1.30)
Следуя семантике слов, глобальные номера рецептора и аксона в слое X можно
вычислить используя правила:
=‘<Х/’Х+1РХ+2-"Рк-1?0Я'"?Х-1+'* • (1-31)
= (1-32)
Выражения (1.30)—(1.32) полностью определяют обработку данных в слое с
номером X. В целом алгоритм реализации перестраиваемого преобразования за-
ключается в последовательной обработке данных по слоям.
function S=Execute_lD_Fast_Transform(К,F, Р, G,Topology)
^Выполнить быстрое одномерное преобразование, заданное массивом
ядер К над функцией F
% К - массив ядер по слоям K{m}{Z}(u,v);
% F(U) - входная одномерная функция
% Topology - указатель на функции топологии
% S(V) - выходной спектр
% V - координаты спектральной области
% Р - размерности входного пространственного поля
% G - размерности выходного спектрального поля
% © А.Ю.Дорогое
n=length(К); %число слоев преобразования
S1=F;
for m=1:n
Wm=K{m}; %ядра слоя
L=length(Wm); %число ядер в слое
S2=zeros(size(SI) ) ; ^предопределение только для ортогональных
преобразований
for Z=1:L
W=Wm{Z};
[Pm,Gm]=size (W) ; % размерности ядра
for vm=l:Gm
s = 0 ;
for um=l:Pm
[u,v,Um,Vm]= invTopology(P,G,m,Z,urn,vm,Topology) ;
s=s+Sl(Um)*W(urn,vm);
end
S2(Vm)=s;
end
end
S1-S2;
end
S = S2;
Фрагмент 1.6. Программная реализация алгоритма быстрого преобразования
Фрапиент 1.6 представляет программную реализацию быстрого алгоритма.
49
1.10. Вычислительная эффективность быстрых
перестраиваемых преобразований
Быстродействие вычислительных алгоритмов, как правило, оценивается
числом операций умножения, необходимых для их реализации. Базовая опера-
ция (нейронное ядро) с размерностью рецепторного поля р и числом аксонов g
представляет собой матрицу размером p*g. Обработка входного вектора в ней-
ронном ядре соответствует умножению вектора на матрицу. Для выполнения
матричного умножения требуется р g скалярных операций умножения.
Рассмотрим к-слойное быстрое преобразование с характеристиками ядер:
(р0, go)’ (Рь £1)’ •••’ (Рк-1’ gK-i)- Преобразование имеет размерность по входу
N = РоР\ • --Рк-\ ’ а по выходу М = gQg\.. .gK-l • Номер ядра в слое т определя-
ется выражением (1.30), где основания разрядных чисел заданы таблицами:
= % «1 «к-1 ' M= V° V1 ••• Vk-!S
J>) J’o Р\ ••• Рк-1/ ^gj v£o £1 gK-i/
Из (1.30) следует, что число ядер в слое т будет равно произведению:
~ Рт+\Рт+2 • • • Pk-\SoS\ • --Sm-i • (1.33)
При этом в каждом ядре слоя т выполняется pmgm операций умножения. Сум-
мируя по всем слоям, получим число операций умножения для алгоритма быст-
рого преобразования:
к-1
РтРт+\ • • • Pk—\SoS\ • •-Sm—lSm •
m-Q
Фрагмент 1.7 содержит функцию, программно реализующую выражение (1.33).
function Km=Get KernelAmount(Р,G,m)
%Получить количество ядер в слое m быстрого преобразования
%P,G - основания разрядных переменных
%т - номер слоя
%Кт - количество ядер в слое
n=length(Р) ;
Km=prod(Р(т+1:n))*prod(G(1 :т-1) ) ;
Фрагмент 1.7. Функция вычисления количества ядер в слое быстрого преобразования
На практике для оценки вычислительной эффективности преобразования удоб-
но пользоваться относительными оценками. В качестве базы для сравнения будем
использовать прямое преобразование той же размерности. Когда быстрый алгоритм
не используется, число вычислительных операций умножения Zo = N • М. Вычис-
лительную эффективность определим относительной характеристикой:
0 = ^.
Z
50
Для оценки порядка величин рассмотрим вариант быстрого преобразова-
ния, для которого рт = gm = п . В этом случае Z = кпк+] и Zo = N2. Поскольку
N = пк, то вычислительная эффективность быстрого перестраиваемого преобра-
зования
v 2к к-1
е = £о = "= п= N
Z кяк+1 к w logn7V
С ростом размерности обрабатываемого вектора вычислительная эффективность
быстро растет. Например, при п = 2 и к = 8 (в этом случае N = 256) 0 = 16, а
при /7=2, к = 10 (в этом случае N = 1024) получим 0 = 51,2. Зависимость вы-
числительной эффективности от размерности преобразования при п = 2 показа-
на на рис. 1.25. При расчете предполагалось, что все коэффициенты базовых
операций отличны от нуля и единицы.
Рис. 1.25. Зависимость вычислительной эффективности
быстрого перестраиваемого преобразования от его размерности
В конкретной реализации преобразования может быть получен дополни-
тельный существенный выигрыш за счет того, что не требуется выполнять опе-
рации умножения для нулевых и единичных значений коэффициентов базовых
операций.
51
2. ПЕРЕСТРАИВАЕМЫЕ ЛИНЕЙНЫЕ ПРЕОБРАЗОВАНИЯ
В ЗАДАЧАХ ФУНКЦИОНАЛЬНОЙ ДИАГНОСТИКИ
И КЛАССИФИКАЦИИ СИГНАЛОВ
Самый отдаленный пункт земного шара к чему-нибудь
да близок, а самый близкий от чего-нибудь да отдален.
Козьма Прутков. Мысли и афоризмы
Функциональное диагностирование осуществляется по информативным
данным, полученным от измерительной подсистемы в режиме нормального
функционирования объекта. Областью пересечения функциональной диагности-
ки и классификации сигналов является группа методов, базирующихся на пред-
положении, что каждому техническому состоянию а объекта соответствует оп-
ределенный класс сигналов D(j измерительной подсистемы. Методы функцио-
нального диагностирования и классификации сигналов, как правило, используют
один и тот же математический аппарат, включающий статистические и детерми-
нистские методы распознавания состояний. Статистические методы [18] обла-
дают ограничениями практического характера, поскольку требуют обработки
выборок большого объема. При детерминистском подходе предполагается, что
состояние объекта соответствует некоторой компактной области Da простран-
ства измеримых признаков. Решающее правило относит вектор состояний к той
или иной области диагноза. Объем выборок и время классификации в этом слу-
чае могут быть существенно меньше.
Среди детерминистских методов наиболее развитыми являются метрические
методы диагностирования [19], основанные на понятии расстояния между класса-
ми. Эффективность метрических методов классификации существенным образом
зависит от выбора пространства информативных признаков. Необходимо выбрать
такое пространство признаков, в котором наилучшим образом можно выделить
наиболее информативные признаки и отсеять признаки, обусловленные шумом.
Переход из одного пространства признаков в другое, как известно, реализуется
линейными преобразованиями. Пространство признаков, в котором классы разде-
ляются наилучшим образом, называется оптимальным, и такое же название имеет
соответствующее ему линейное преобразование. В настоящем разделе с позиций
метрического подхода изложены существующие методы построения оптимальных
линейных преобразований. Класс быстрых линейных преобразований уже класса
оптимальных, но использование их для аппроксимации оптимальных преобразо-
ваний позволяет обеспечить оперативное диагностирование при показателях клас-
сификации, достаточно близких к оптимальным.
52
2.1. Метрические методы диагностирования и классификации сигналов
При метрическом подходе состояния объектов рассматриваются как точки
метрического пространства, в котором для каждой пары точек х, у однозначно
определена неотрицательная функция расстояния Z(x, у), удовлетворяющая
трем аксиомам:
1) Z(x, у) = 0 тогда и только тогда, когда х = у;
2) Z(x,y) = Z(y, х) - аксиома симметрии;
3) для любой точки z l(x, y)^l (х, z) + Z (z, у) - аксиома треугольника.
Применительно к задаче диагностики точкой метрического пространства
является вектор диагностических признаков х - (х15 х2,..., Хдг). Наиболее рас-
пространенной функцией расстояния является метрика Евклида:
N ,
l = X(xj-yj) ’
7=1
которой и ограничимся при дальнейшем рассмотрении. На основе функции рас-
стояния между точками определяют меру расстояния между множествами точек
(классами) Ls и меру внутримножественного расстояния Lw .
В общем случае алгоритм метрической диагностики можно описать сле-
дующим образом. Пусть D\, , ,Dn - различные диагнозы, каждый из кото-
рых включает в себя иг- состояний (точек), подлежащих классификации, и Ls
есть мера межмножественного расстояния. Состояние х относят к диагнозу Da,
если мера расстояния между вектором х и диагнозом минимальна:
xeDa, если LB (х, Da) = minLB (х, .
i
Все методы метрической диагностики различаются в основном видом меры
межмножественного расстояния LB. Наиболее распространенными методами
являются следующие:
1. Метод диагностики по минимальному расстоянию до множества (прин-
цип «ближнего соседа»). В качестве меры межмножественного расстояния при-
нимают минимальное расстояние среди всех расстояний от точки х до всех то-
чек а- , входящих в группу диагноза D,:
lb(x^ Ц) = ттЛл(х, af).
2. Метод диагностики по максимальному расстоянию между множествами
(принцип «дальнего соседа»). В качестве межмножественной меры принимают мак-
симальное расстояние от точки х до всех точек af, входящих в группу диагноза :
53
LB (x, Dt) = max LB (x, af).
3. Метод среднего расстояния до множества (принцип «средней связи»).
Мерой межмножественного расстояния является среднее расстояние от точки х
до всех точек of, входящих в группу диагноза Д-:
4. Метод диагностики по расстоянию до эталона. Для каждого диагноза Д
определяется эталонный вектор:
В качестве меры межмножественного расстояния принимают величину:
Выбор той или иной межмножественной меры определяется пространст-
венной конфигурацией класса. Априорно конфигурации классов, как правило,
неизвестны, и чаще всего подходящую меру подбирают экспериментально. Сре-
ди мер внутримножественного расстояния наиболее часто применяется мера
среднего расстояния:
П; 1
и мера максимального радиуса:
Lw (Dj) = max L (a* ,af).
i
При использовании евклидовой метрики в качестве мер LB и Lyy обычно
используют квадраты расстояний.
2.2. Оптимальные линейные преобразования
При наличии двух и более диагнозов возникает задача выбора диагностиче-
ских признаков, которые являются наиболее эффективными с точки зрения раз-
деления диагностических классов. Для выделения эффективных признаков ис-
пользуют линейные и нелинейные преобразования. Нелинейные преобразования
позволяют в общем случае выделить минимальное число эффективных призна-
ков [18], однако на практике их применение ограничено вследствие математиче-
ской сложности решения нелинейных задач.
54
Если преобразование является линейным, то задача выделения эффектив-
ных признаков сводится к нахождению коэффициентов линейных преобразова-
ний, максимизирующих или минимизирующих некоторый критерий. Для этой
цели используются хорошо разработанные методы линейной алгебры. Вид кри-
терия определяется априорной информацией, которой располагает исследова-
тель. В диагностическом пространстве с евклидовой метрикой наиболее про-
стым критерием является отношение Рэлея [20], определяемое выражением
я=^_.
При использовании метода диагностики по расстоянию до эталонов меры меж-
множественного и внутримножественного расстояний можно представить в виде:
(2-1)
1 П
* 1 w 1 *
где а =—У,а1 называется диагностическим центром пространства; п - число
ni=\
классов; «' - множество точек, входящих в группу диагноза Dz; аг - эталонный
вектор диагноза Д-; т - символ транспонирования. Величина LB представляет
собой средний квадрат межмножественного расстояния, величина Lw - средний
квадрат внутримножественного расстояния.
Пусть W - некоторое линейное проектирующее преобразование простран-
ства X размерности N в пространство Y размерности Р < N. Задача состоит в
том, чтобы найти такое преобразование W, которое максимизирует отношение
Рэлея в пространстве Y. Запишем преобразование W в виде набора векторов-
т
строк размерности N :
Отношение Рэлея будем рассматривать как функционал от векторов :
(и’ь w2’ •••> WP)
55
Значение межмножественного расстояния LB в пространстве Y определя-
ется следующим образом:
1 ri г Р
1 ж—I / * *г Т ( * *\ х—। Т
= -£(«, -а ) WTW{a, -a )=YwlSB«’k, (2.2)
" 1=1 4=1
где /V х/V-матрица SB определяется выражением
Аналогично можно получить
Р
Lw(^’W2’ ’Wp)=YsvkSW*’k, (2-3)
к-\
Матрицы SB и Sjy называются матрицами рассеивания [20], они строятся
на основе выборок и являются симметричными и положительно определенными.
Если положить, что W - единичная матрица, то из вышеприведенных выраже-
ний непосредственно следует, что суммы диагональных элементов матриц рас-
сеивания равны значениям LB и Ьц,- соответственно. Векторы обычно нор-
мируют условием
"'4S„"’4=1- (24)
Из (2.1) следует, что в этом случае значение постоянно и равно Р.
Следовательно, максимум отношения Рэлея достигается максимизацией величи-
ны LB(w\. и>2,.... и>р) при ограничениях (2.4). Для нахождения условного экс-
тремума воспользуемся методом Лагранжа. Используя (2.2) и (2.4) запишем
функцию Лагранжа:
Р Р
F=Ywk SB™k - Е хк m -1)•
к=1 к-\
В точке экстремума вариация функционала F равна нулю. Варьируя функцио-
нал F по переменным и’д. и учитывая симметричность матриц SB и Sjy получим:
Р Р
5F - 2 Е М $В*>к - 2 Е Ч^к swwk
к-\ к-\
56
Отсюда вследствие независимости вариаций следуют необходимые
условия экстремума:
sBwk ~^ksWwk - °-
Таким образом, строки оптимального линейного преобразования являются
обобщенными собственными векторами пучка матриц Числа на-
зываются обобщенными собственными значениями [21]. Отношение Рэлея в точ-
ке экстремума
к=\
Из последнего выражения следует, что максимум отношения Рэлея дости-
гается, когда преобразование W включает в себя в качестве строк собственные
векторы пучка матриц (SB, 5 ц-), отвечающие максимальным собственным зна-
чениям. Заметим, что собственные векторы пучка матриц в общем случае не яв-
ляются ортогональными, однако нетрудно показать, что при симметричных мат-
рицах SB и Sjy собственные векторы пучка являются 8ц? -ортогональными, т. е.
для любой пары собственных векторов пучка справедливо
(и^,Swwm) = 0 при к^т.
Поскольку матрица Sp является суммой п матриц ранга 1, из которых
только п -1 матриц независимы, то Sp имеет ранг п - 1 или меньше. Поэтому
не более п -1 собственных значений отличны от нуля. Если разброс точек внут-
ри класса изотропный, то собственные векторы пучка матриц будут собствен-
ными векторами матрицы 5д. При малом объеме выборок матрица может
быть вырожденной. Если нуль-пространства матриц Sp и не совпадают, то
существуют собственные векторы, которым соответствуют бесконечные собст-
венные значения. В этом случае может
быть обеспечена идеальная разделимость
классов. Пример подобной ситуации при-
веден на рис. 2.1, где классами являются
плоские основания цилиндра. Ясно, что
преобразование, проектирующее классы
на ось цилиндра, обеспечивает наилуч-
X шее разделение классов. Собственные
векторы пучка матриц (Ss, S ц?), отвечаю-
щие бесконечным собственным значени-
Рис. 2.1. Идеальная разделимость классов ям, принадлежат множеству собственных
57
векторов, соответствующих нулевым собственным значениям матрицы Sjp . По-
следнее обстоятельство лежит в основе метода построения ортогонального оп-
тимального преобразования по критерию минимума внутримножественного рас-
стояния [22]. Рассмотрим этот метод более детально.
2.3. Методы построения оптимальных ортогональных преобразований
Метод минимизации внутримножественного расстояния. Из (2.3) следу-
ет, что минимум среднего внутримножественного расстояния достигается, когда
линейное преобразование W составлено из собственных векторов матрицы Sjy ,
соответствующих нулевым или наименьшим собственным значениям. Посколь-
ку матрица Sjy симметрична, то ее собственные векторы ортогональны. Успех
применения преобразования зависит от того, насколько хорошо анализируемые
данные соответствуют предположению о существовании бесконечных собствен-
ных значений у пучка матриц рассеивания. Если матрицы Sp и Sjy обладают
общим нуль-пространством, то пучок является сингулярным. В этом случае
можно без потери информации уменьшить размерность пространства, удалив
общее нуль-пространство.
Метод обобщенного оптимального ортогонального преобразования.
Особая роль оптимальных ортогональных преобразований многократно усили-
вается тем обстоятельством, что при практической реализации системы диагно-
стики необходим непрерывный контроль адекватности используемого опти-
мального преобразования исследуемому процессу. Наиболее просто это можно
сделать, сравнивая энергию проекции сигнала на оптимальное подпространство
Y с полной энергией сигнала. При ортогональных преобразованиях энергия оп-
ределяется суммой квадратов значений координат диагностируемого вектора, в
то время как при использовании неортогональных преобразований для вычисле-
ния энергии проекции необходимо решать системы линейных уравнений. Ради
этого преимущества можно несколько поступиться степенью разделимости
классов. Рассмотрим этот случай более детально. Если преобразование W орто-
Т
гонально, то вектор-строки нормированы условием:
И’/Г • и’/с = 1 • (2-5)
При выполнении ограничений (2.5) функция Лагранжа будет иметь вид
Р
Y.wkSBwk р
---------ЕМ*’!*’* -1)-
Е^Г%^
к=\
58
Варьируя переменные м’д. и приравнивая вариацию функционала к нулю
получим необходимые условия экстремума:
{SBLW ~SWLe)wk ~^kwk =0’
О
где |i£ = j,. Таким образом, оптимальное ортогональное преобразование со-
ставлено из собственных векторов линейной комбинации матриц рассеивания.
При этом выбирается такой набор из Р векторов, который максимизирует отно-
шение Рэлея. В таблице представлены расчетные значения, показывающие, как
изменяется отношение Рэлея при использовании различных видов оптимальных
преобразований признакового пространства для случая с двумя планарными кла-
стерами (рис. 2.2). Исходные кластеры были определены случайным образом в
трехмерном пространстве в виде точек, принадлежащих основаниям цилиндра,
которые были развернуты по отношению ко всем осям на угол л/4. Оптимальные
преобразования уменьшали размерность признакового пространства до двух.
Эффективность линейных преобразований в задаче диагностики
Вид оптимального линейного преобразования Межмножест- венное расстояние LB Внутримноже- ственное расстояние LW Отношение Рэлея R
Разделимость диагнозов в исходном пространстве признаков 9033.1 829.7 10.8
Оптимальное неортогональное преобразование из собственных векторов пучка матриц рассеивания 9033.1 1.0 9033.1
Оптимальное ортогональное преобразование 9033.1 449.5 20.1
Квазиоптимальное ортогональное преобразование из собственных векторов матрицы внутримножественного рассеивания 9033.1 380.2 23.7
Рис. 2.2. Образы случайных планарных кластеров в трехмерном признаковом
пространстве. Точкам кластеров соответствуют узлы триангулярной решетки
59
’. 2.3. Диагнозы не разделимы
по эталонам
Метод оптимальной аппроксимации признакового пространства. Если
эталоны диагностических классов близки или совпадают, то собственные значения
пучка матриц близки к нулю и использование в качестве критерия отношения Рэлея
теряет смысл. На рис. 2.3 показан пример подобного расположения классов. В этом
случае задача классификации метрическими мето-
дами не решается, но их можно эффективно исполь-
зовать для выделения наиболее информативных при-
знаков. Для выбора оптимального преобразования в
этом случае используется аппроксимационный кри-
терий [23]. Задача состоит в том, чтобы найти такое
подпространство Y размерности Р < N, в котором
среднее внутримножественное расстояние макси-
мально. Ясно, что размерность оптимальных под-
пространств возрастающей размерности является
вложенной, т. е. подпространства меньшей размерности целиком принадлежат под-
пространствам большей размерности. Это значит, что существует общий ортого-
нальный базис для всех оптимальных подпространств. Переход к новому базису
соответствует выполнению линейного преобразования W. Вектор-строки преобра-
зования нормированы условием (2.5). Для решения задачи аппроксимации вос-
пользуемся методом Лагранжа. Функция Лагранжа будет иметь вид
Р Р
F= Y,wkSW^k-^k\^kwk -О-
к=\ к-1
Варьируя переменные и приравнивая вариацию функционала к нулю,
получим необходимые условия экстремума:
SWwk =^kwk-
Таким образом, вектор-строки оптимального преобразования являются соб-
ственными векторами матрицы . Для обеспечения максимума внутримноже-
ственного расстояния необходимо подпространство Y натягивать на собствен-
ные векторы, отвечающие максимальным собственным значениям. Построенное
оптимальное преобразование носит название обобщенного преобразования Ка-
ру нена-Лоэва [22].
Аппроксимационный критерий можно обобщить так, чтобы учитывалась
информация об эталоне. Для этого достаточно потребовать максимизации на
подпространстве Y меры среднего расстояния от начала координат, которое оп-
ределяется выражением
L =
1 " 1 / \Т
" /=1 5=1
WTWa-.
60
Процедура максимизации, подобная изложенной выше, приводит к результату:
к=^к™к,
] п ] ni / чГ
где 5 - — а/ [а/ ) '> ai ~ множество точек, входящих в группу диагноза D,.
Оптимальное преобразование W будет составлено из векторов-строк, пред-
ставляющих собой собственные векторы, соответствующие наибольшим собст-
венным значениям матрицы 5.
Метод выделения эталонного вектора. Когда длина эталонного вектора
значительно превышает среднее внутримножественное расстояние, собственным
вектором матрицы 5, отвечающим максимальному собственному значению, бу-
дет вектор, близкий к эталону. При этом остальные векторы-строки преобразо-
вания W будут почти ортогональны к эталону. Это обстоятельство лежит в ос-
нове выделения информативных признаков методом настройки ортогонального
преобразования на эталон [2]. На этой же идее основан метод диагностики в
приспособленных базисах [24]. Сущность метода заключается в том, что для ка-
ждого диагностического класса строится ортогональный базис, настроенный на
эталон класса, так что эталон класса включается в состав базисных функций. Ди-
агностический вектор раскладывают в каждом ортогональном базисе, и решение
о принадлежности к классу принимается по максимальному значению координа-
ты, отвечающей эталонному вектору. Значения остальных координат позволяют
оценить адекватность признакового пространства. Метод хорошо работает, если
классы достаточно сильно разнесены в признаковом пространстве.
При больших размерностях пространства и значительном количестве диаг-
ностических классов применение оптимального преобразования связано с суще-
ственными вычислительными трудностями. Актуальной является задача по-
строения квазиоптимальных преобразований, которые близки к оптимальным,
но при этом обладают быстрыми алгоритмами, подобными, например, быстрому
преобразованию Фурье. Эти вопросы будут рассмотрены далее.
2.4. Обучение быстрых перестраиваемых преобразований
для задач распознавания образов и классификации сигналов
Обучение и настройка преобразования по целевому результату тождествен-
ны, отличие заключается в критериях и требованиях к точности обучения.
В обобщенном смысле под обучением некоторого объекта понимается процесс
внутреннего накопления знаний, которые обеспечивают его адекватное поведе-
ние при внешних воздействиях. Знания могут поступать от внешнего объекта-
учителя либо формироваться объектом самостоятельно в процессе его функцио-
нирования. Процесс обучения предполагает наличие обратной связи для проверки
61
степени адекватности поведения объекта. Возможна ситуация, когда информаци-
онная емкость объекта недостаточна для поглощения всех предлагаемых знаний.
В этом случае идеальное обучение принципиально недостижимо. Реакция такого
«недоученного» объекта иногда будет отличаться от требуемой, но, несмотря на
это, объект может использоваться за неимением лучшего. Ситуация неполного
обучения может также возникнуть, если накапливаемые знания имеют внутренние
противоречия. Задача оценки информационной емкости объекта и непротиворе-
чивости знаний, как правило, выносится за рамки процесса обучения.
В отличие от обучения процедура настройки предполагает, что задача все-
гда имеет идеальное решение, т. е. объем предлагаемых знаний и информацион-
ная емкость объекта согласованы и знания непротиворечивы. Процедура на-
стройки не имеет обратной связи, критерий обучения используется только на
этапе проверки результата.
Методы настройки быстрых перестраиваемых преобразований будут рассмот-
рены далее. Здесь же рассматриваются итерационные методы обучения быстрых
перестраиваемых преобразований. В этих методах реализуется обучение с учите-
лем, причем объем предлагаемых знаний заведомо превышает информационную
емкость быстрого преобразования. Критерии и цели обучения определяются целе-
вой задачей, ряд целевых задач были представлены в разд. 1. Синонимом к слову
«обучение» (в контексте построения быстрых преобразований) является слово
«синтез», которое, по мнению автора, лучше соответствует решаемой задаче.
В начале данного раздела было показано, что оптимальные ортогональные
преобразования для задачи распознавания образов определяются собственными
векторами матриц рассеивания. Обученные быстрые преобразования должны
быть близки к оптимальным и, следовательно, должны в некотором смысле наи-
лучшим образом аппроксимировать собственные векторы матрицы рассеивания.
Принципиальное значение для построения алгоритма аппроксимации имеет вы-
бор критерия. При построении критерия можно руководствоваться следующим
обстоятельством. Если W - матрица, составленная из собственных векторов
симметричной матрицы рассеивания 5, то
WTSW = X,
где Л - диагональная матрица собственных чисел. Пусть Н - матрица некото-
рого ортогонального преобразования размерности NxN, тогда матрица D, по-
лученная из выражения
HTSH = D,
будет близка к диагональной, если Н достаточно хорошо аппроксимирует мат-
рицу W. Степень недиагональности проще всего оценивать суммой квадратов
внедиагональных элементов матрицы D. При симметричной матрице 5 матрица
62
D также симметрична, поэтому достаточно суммировать только ее наддиаго-
нальные элементы. Математическая формулировка критерия имеет вид
N N
(2.6)
г=1 /=г+1
где dy - элементы матрицы D. Пусть теперь матрица Н принадлежит классу
перестраиваемых преобразований, тогда она факторизуется в произведение сла-
бозаполненных ортогональных матриц:
я = ад...нл_1-
Форма матричного представления предполагает для вычисления матрицы D
пошаговую процедуру, которую можно определить рекуррентным соотношением
^т+\ = • (2-7)
Для каждого шага можно вычислить значение критерия J(£>m). Матрицу Нт
выбирают таким образом, чтобы минимизировать значение частного критерия
Слабозаполненную матрицу с симметричным размещением элементов
ортогональных ядер Wmk (например, в топологии Кули-Тьюки) можно предста-
вить произведением матриц вращения
' h
Wmk ’
< Z2,
где I\, /2 - единичные матрицы некоторого размера. Остальное поле матрицы
заполнено нулями. Поскольку в пределах слабозаполненной матрицы ядра не
пересекаются, то действие матриц вращения на матрицу Dj можно рассматри-
вать независимо. Норма матрицы Dj определяется выражением [25]
N N
f=lj=l
Известно, что если матрица FP ортогональна, то ||Z)FP|| = ||И7)|| = D . Рассмотрим
подробней действие каждого ядра. Представим матрицу D в блочном виде, со-
гласовав ее со структурой матрицы вращения. Для определенности будем пола-
гать, что ядро занимает левый верхний угол матрицы вращения:
'wT; Do! d pp| A C T 1 W1 DqW J WTD[
Ъ 1 ”1 1 1 ; 1 г i ।
! 1 । । A ; । d2 1 1 । । । — DXW ! 1 Z)2
1 1 I ! L । । । k । J । । 1, 1 1 1 \ 1 7
63
Поскольку = ||.C>q|| и норма всей матрицы D также не меняется
при ортогональном преобразовании, то, очевидно, критерий (2.6) достигает ми-
нимума, если ядро W диагонализирует блок Dq. Таким образом, наилучший ва-
риант параметрической настройки реализуется в том случае, когда столбцы мат-
рицы W составлены из собственных векторов матрицы Dq . Изменение критерия
при этом точно равно сумме квадратов внедиагональных элементов блока Dq.
Учитывая независимость действия ядер, можно заключить, что изменение кри-
терия при действии матрицы Нт будет равно сумме квадратов внедиагональ-
ных элементов матрицы Dm, которые покрываются ядрами матрицы Нт .
В общем случае топология матриц Нт отличается от симметричной. В
этом случае факторизованное разложение быстрого преобразования всегда мож-
но представить в виде
я=яоеот...яи_12и_1,
где Qm - перестановочная матрица, а Нт - матрица с симметричной топологи-
ей. Пошаговая процедура, заданная выражением (2.7), в этом случае трансфор-
мируется к виду
^т+\ ~ Qm^mQm ~ Qm^mQm •
Фрагмент 2.1 представляет функцию вычисления перестановок для задан-
ной топологии и реализацию перестановок строк и столбцов матрицы ёт.
function [Q,Qinv,Тр]-GetTopologyPositions(Р, G, m,Topology)
%Получить множества позиций элементов ядер и перестановочную матрицу для
%аксонового поля слоя m быстрого преобразования с топологией Topology
% Q - перестановка в аксоновом поле - одномерный массив. Индекс элемента
% массива - вход, значение элемента массива - выход перестановки
% Qinv - инверсная перестановка по отношению к Q
% Тр - массив ячеек, в каждой ячейке содержится множество позиций
элементов ядра
% P,G - основания разрядных переменных для представлений u,v
% ш - номер слоя
% Topology - указатель на функцию топологии
% © А.Ю.Дорогов
Km=Get_KernelAmount(Р,G,m); ^количество ядер в слое
рт=Р(т); %размерность рецепторного поля ядра
for Z=l:Km
for um-1:pm
[u,v,Um,Vm]= invTopology(P,G,m,Z, um,um,Topology);
Q(Um)-Vm;
Qinv(Vm)-Um;
Pos(um)=Um;% множество позиций элементов ядра
end
Тр{Z}-Pos;
end
64
о. ___________________________________________________________
'о
function Dp-MatrixPermutation(D,Q)
^Перестановка строк и столбцов матрицы D
% Q - перестановка - одномерный массив. Индекс элемента «вход»
% значение элемента «выход» перестановки
D2=D(Q,:); %перестановка строк
Dp=D2(:,Q); % перестановка столбцов
Фрагмент 2.1. Функции построения перестановок при несимметричной топологии
слабозаполненных матриц
Фрагмент 2.2 содержит функции реализации алгоритма обучения. Алго-
ритм обучения - итерационная процедура с числом шагов, равным числу слабо-
заполненных матриц в факторизованном представлении быстрого преобразова-
ния. В алгоритме кроме критерия (2.6) используется также нормированный пока-
затель диагональности матрицы:
Значение показателя меньше единицы и стремится к единице при увеличе-
нии степени диагональности матриц.
function [К, D, J, Y]=TeachTransfо rm(D, Р, G,Topology)
% Обучить быстрое ортогональное преобразование
% К - ядра быстрого преобразования
% D - обучающая ортогональная матрица
% Р,G - основания разрядных переменных для представлений u,v
% Topology - указатель на функцию топологии
% J - массив сумм квадратов недиагональных элементов по итерациям
% Y - массив отношений сумм квадратов элементов диагонали по итерациям
% © А.Ю.Дорогое
n=length(P); %число слоев
[J(1),Y(1)]=GetTeachCriterion(D) ;
for m=l:n
[Q,Qinv,Tp]=GetTopologyPositions(P,G,m,Topology); %найти пере-
становки и множества индексов ядер
[Layer,D]=TeachLayer(D,Tp); ^обучить слой
[J(m+1),Y(m+1)]=GetTeachCriterion(D); ^получить значения критериев
D-MatrixPermutation(D,Q); ^выполнить перестановку
K{m}=Layer;
end
o.____________
'O
function [J,Y]=GetTeachCriterion(D)
% Оценить степень недиагональности матрицы D
% J - сумма квадратов недиагональных элементов
% Y - отношение суммы квадратов элементов диагонали
% к сумме квадратов всех элементов матрицы D
65
S=sum(D(:),л2); %сумма квадратов элементов матрицы
V = diag(D); ^элементы диагонали
Sd=sum(V(:). Л2); % сумма квадратов элементов диагонали
J=S-Sd; %сумма квадратов недиагональных элементов
Y=Sd/S; %Относительный показатель диагональности
о._ ___________________________ ________ _________________________
'о
function [Layer,D]-TeachLayer (D,Tp)
% Обучить слой ортогонального перестраиваемого преобразования
% Layer - ядра слоя - массив ячеек,
% D - ортогональная обучающая матрица
% Тр - массив ячеек, в каждой ячейке множество позиций элементов ядра
% © А.Ю.Дорогов
Н= z е го s(size (D)) ;
Km=length(Тр); % число ядер в слое
for Z=1:Km
Poz=Tp{Z}; ^множество индексов элементов ядра
A=D (Poz,Poz); %выделение обучающего блока
[W,R] = eig(А); %обучение ядра
Layer{Z}=W; ^запись матрицы ядра в слой
Н (Poz,Poz)=W; % построение слабозаполненной матрицы
end
D=H'*D*H; %формирование обучающей матрицы следующего шага
Фрагмент 2.2. Алгоритм обучения ортогональных перестраиваемых преобразований
Если топологические матрицы не симметричны, необходимы дополнитель-
ные перестановки матрицы Dm (фрагмент 2.1 соодержит программную реализа-
цию функций построения перестановок).
На рис. 2.4 показаны зависимости нормированных показателей степени
диагональности матриц Dm от числа шагов обучения для перестраиваемых бы-
стрых преобразований с различной топологией. В качестве начальной матрицы
D использовалась симметричная тестовая матрица 'lehmer' размером 16 х 16 из
галерии тестовых матриц MatLab.
В данном случае быстрые преобразования имели размерность ядер, равную
двум, и состояли из четырех слоев. За 4 шага обучения быстрые преобразования
всех топологий обеспечили степень диагонализации тестовой матрицы, близкую
к единице. Кривые для преобразований с топологиями Кули-Тьюки «с прорежи-
ванием по времени» и «с прореживанием по частоте» совпали. Одна из пред-
ставленных кривых соответствует настраиваемой топологии. Для настройки то-
пологии могут быть использованы различные алгоритмы. Например, топология
может быть построена последовательно шаг за шагом по структурной модели, по
алгоритму, рассмотренному в 1.8. При этом возможные варианты топологии
слоя следует выбирать по критерию минимизации внедиагональных элементов
обучающей матрицы. В данном алгоритме реализация полного перебора тополо-
66
гий в каждом слое — задача весьма трудоемкая. Практически приходится ограни-
чиваться проверкой нескольких возможных вариантов, выбираемых случайным
образом. Кроме того, полученные топологии являются нерегулярными, что ус-
ложняет их программную реализацию.
Рис. 2.4. Изменение нормированных показателей степени диагональности
при обучении перестраиваемого преобразования на матрице 'lehmer'
В качестве компромиссного варианта использован метод топологической
настройки, при котором топология на каждом шаге выбирается из класса регу-
лярных. В этом случае структурная модель преобразования задается канониче-
ским предложением, соответствующим какой-либо регулярной схеме (см. 1.5).
Например, рассмотрим каноническое предложение, соответствующее регуляр-
ной схеме Кули—Тюки с прореживанием по времени:
Z — \ик_ । г/к-2 • • • llm+i vm—1 vm—2 • • • v0 / •
Для построения слов топологического предложения поля рецепторов доста-
точно добавить в данный кортеж разряд ит, а для слов топологического пред-
ложения поля аксонов — разряд vm . Разряды могут быть добавлены в произволь-
ные позиции кортежа im, но для обеспечения симметричности топологии эти по-
зиции должны совпадать. Кортеж im содержит к -1 букву и поэтому имеет к
позиций для размещения дополнительных разрядов. В алгоритме настройки то-
пологии на каждом слое все возможные позиции размещения перебираются и
выбирается наилучшая по критерию степени недиагональности матрицы Dm.
Пример топологической реализации, построенной по данному алгоритму, пока-
67
Рис. 2.5. Топологическая реализация преобразования
с регулярной настраиваемой топологией
Рис. 2.6. Изменение нормированных показателей степени диагональности
при обучении перестраиваемого преобразования на матрице 'prolate'
зан на рис. 2.5. Для тестовой матрицы 'lehmer' степень диагонализации при ис-
пользовании настраиваемой топологии оказалась на уровне лучшей топологии
из класса фиксированных («Гуд2»), На рис. 2.6 показано изменение степени диа-
гонализации для тестовой матрицы 'prolate' из галереи MatLab. В данном случае
преимущество преобразования с настраиваемой топологией неоспоримо.
68
3. НАСТРОЙКА ПЕРЕСТРАИВАЕМЫХ ПРЕОБРАЗОВАНИЙ
К ТИПОВЫМ СИСТЕМАМ ОРТОГОНАЛЬНЫХ ФУНКЦИЙ
Традиции - это такие решения, для которых мы успели
позабыть соответствующие проблемы.
Принцип Петерсена. Азбука Мерфи
Методы настройки быстрых перестраиваемых преобразований по смыслу
тождественны обучению нейронных сетей. Задача состоит в том, чтобы выбрать
коэффициенты базовых операций так, чтобы результирующее преобразование
удовлетворяло некоторым критериям. В данном разделе будут рассмотрены ме-
тоды настройки, для которых критерием является совпадение всех столбцов
матрицы преобразования с заданной системой функций, образующей ортого-
нальный базис. Функции базиса заданы аналитически и представимы в виде ор-
тогональной матрицы. Методы обучения для критериев подобного вида тради-
ционно называются настройкой преобразования на заданную систему функций
[2]. Структурные ограничения быстрых преобразований накладывают ограниче-
ния и на класс функций, поэтому нельзя утверждать, что быстрое перестраивае-
мое преобразование может быть настроено на произвольную ортогональную
матрицу. В данном разделе будет рассматриваться настройка на систему функ-
ций, матричное представление которых допускает факторизацию в произведение
слабозаполненных матриц. В связи с этим первый этап настройки должен за-
ключаться в проверке выполнения данного условия, однако делать этого не бу-
дем, заведомо выбирая класс функций, для которых указанное условие выполне-
но. На втором этапе выделяется класс возможных топологических реализаций, а
на третьем - определяются значения коэффициентов базовых операций. Далее
будет показано, что условие ортогональности не является определяющим для
метода настройки, выбор примеров из класса ортогональных функций обуслов-
лен их широким практическим использованием.
3.1. Мультипликативное разложение элементов
матрицы быстрого преобразования
Быстрое перестраиваемое преобразование топологически подобно много-
слойной БНС с ядерной организацией. В каждом ядре /л слоя X выполняется
линейное преобразование
= (3.1)
где х\ и у^ - координаты входного и выходного векторов базовой операции;
i ’ i
- матрица весов базовой операции. Метод настройки основан на аналитиче-
69
ском представлении сигнальных передач рецептор-аксон терминальных слоев
сети. В общем случае межкоординатная функция передач для линейного преоб-
разования определяется частной производной
h{U Y) =
а/), (с/°)
(3-2)
где U, V - глобальные номера рецепторов и аксонов терминальных слоев; U -
номер координаты входного вектора сети, а V - номер координаты выходного
вектора сети. Элементы h(U, V) образуют матрицу Н перестраиваемого преоб-
разования Y = ХН . Дифференцируя (3.2) по правилу дифференцирования слож-
ной функции получим
, cx^ju^) дх2(и2) dx'tu1)
J dxQ(uQ) йхк-1 бхк“2 (ик~2) дх[(иХ) дх°(и°)
Поскольку для межслойного перехода выполнено хк41 и по-
разрядное представление - ((Л)Фиу) единственно, то из (3.1) следует
охНиЧ дхЧиЧ
Подставляя значения частных производных в (3.3) окончательно получим
Ли) = (ик_[, укЧ) («к-2, vK-2 )• • • (W1 ’ и) (w0> v0)• (3.4)
Цель настройки перестраиваемого преобразования состоит в том, чтобы по из-
вестной матрице Н найти элементы ядер и определить вид матриц Н\ в факто-
ризованном представлении Н = . Вид матриц непосредственно свя-
зан с внешним представлением топологической траектории, поэтому задача то-
пологического проектирования интерпретируется как реализация заданной тра-
ектории. Процедура синтеза топологии, как правило, допускает множество воз-
можных решений. Дополнительными требованиями могут быть компактность и
регулярность топологической траектории. При выполнении этих условий алго-
ритм преобразования имеет наиболее простую форму.
3.2. Настройка на базис Адамара
Функции базиса Адамара задаются на интервале длиной N = 2К следую-
щим выражением [15]:
had(t/, К) = П (-1)^ , (3.5)
х=о
70
где
^ = 4-Л-2-Ц)) « У = 414-2-4 (3-6)
Все разрядные числа принимают значения {0, 1}. Построим матрицу спектраль-
ного преобразования так, чтобы функции базиса располагались вдоль столбцов.
В процессе настройки необходимо определить топологическую траекторию бы-
строго преобразования и параметры ядер (применительно к спектральным пре-
образованиям ядра также называются спектральными [2]). Дополнительно по-
требуем, чтобы топологическая траектория была компактной и регулярной.
Параметры нейронных ядер. Сравнивая (3.4) с определением функций
Адамара, непосредственно получим
(3.7)
‘/. = Г. (3-8)
Выражению (3.7) соответствует матрица ядра
Очевидно, что во всех слоях сети ядра одинаковы.
Траектория топологий. Граничные условия для компактной траектории ус-
танавливаются выражениями (3.6), (3.8) и имеют вид:
t/ — (^к-1^к-2 • • — (wk-1wk-2
V = (Ц_1Ц_2 • • • Vo) = {vK_xvK_2... v0).
На промежуточные шаги траектории каких-либо требований не накладывается,
поэтому с большим произволом можно выбрать траекторию из следующего
класса возможных поразрядных соответствий:
(^Х+1^Х+2 • • -Цс-1) (4+14+2 • • • ик-1) = ^4
(РдА-1 • • • (4 4—i • • • vo) = Q •
Воспользуемся, например, регулярной порождающей схемой Кули-Тьюки «с
прореживанием по времени»:
= (ик-1ик-2 • • 4+144-14-2 • • •
ГХ = (4-14-2 • • -4+144-14-2 • • • vo).
Для данной схемы номер ядра определяется выражением
zx = (4-14-2 • • • 4+14-14-2 • • •vo) •
Структуру топологических матриц можно определить из табличного соот-
ветствия (табл. 3.1). На основании данной таблицы получим, что аналитическая
форма слабозаполненных матриц будет иметь вид
71
h И, ) = иЛ й, ) 8)...8Н+1. ^+1) х
х 8(<7^,, ^_,)...8(<7оХ, Г0Х), (3.9)
где С =(v£_\V£_2...V£+\V£-\...Vq ). В данном произведении цепочка 8-функ-
ций обрывается, если индекс разрядной переменной выходит за допустимые
пределы. На рис. 3.1 показано матричное представление алгоритма спектрально-
го преобразования Адамара для размерности N = 2~’ . Матрица преобразования
факторизуется в произведение трех матриц:
н = HqH^H2
Таблица 3.1
Поразрядное соответствие для схемы Кули-Тьюки «с прореживанием по времени»
t/ = ul = MK-1 mk-2 ^k-2 z0. il Ф. uk A-l uh v2 U2 V1 L/f- VQ h
TX = TK = MK-1 Vх 1 r к-1 mk-2 r к-2 A.H ^-1 vl. v/.-l ?h v2 1Ф vl VQ
1 1 1 1 1 1 b 1 1 1 1 1 In 1 1 lb 0 0 'о _0_|°_|_°_ ° П [1 ’ТГЬГТ’ J J 1 1 1 1 1 o' о 111 011 Tib’ 1 1 1 1 1 т _0 0 о’ 0 0 Т __ 0 1 ~6’ 0 1 г 1 0 о” _1_ т __ Г И 1 1 о 1 1 1 1 1 1_ 1 "Т _о 0 о' ° 0 1 0 1 0 0 1 1 __ 1 0 т 1 0 нг 1 1 0 1 1 1
о | о 1 О I о 1 1 | с 1 1 ’1" 11 1 1- -ч 1 1 1 F--+-4 1 1 — 1 1 1 — 1 -- -- — — 1 — — 1 — — 1 — — 1 — —
0 1 0 14 1 1 1 1 т J -1 — -Т — L — — L — — 1 1 "Г
0 1 1 — 111-1 1 1 п —г — 1 1 Г1 г Г “ — L
1 0 0 1 1 1 1 J J 1 1 1 1 1 1 1 1 1 L -И — -J — 1 __ -- 1 — 1 -- Г1 1 -Г — '"Г — 1 —1 1 LJ 1— -1 L L -1 —
1 1 0 _________ -J i i i i г г — i 1 1 1—1 --- |1 I 1"1 1 1 1 1 1 — 1
Рис. 3.1. Факторизованное представление быстрого преобразования Адамара
Поразрядное представление строк и столбцов матрицы Н можно записать в ви-
де U = V = (^2^ho)- На основании (3.9) имеем, что слабозаполнен-
ные матрицы по слоям определяются выражениями:
Слой о. ho(u°,г°) = (ug,vg)a(cz§,г?)а(ц°, vg),
с.юй i. (и1, г1) = .v', (uj, v}), r2> )a(ug, kJ ),
Слой 2. h2(ll2,l'2} = A \V:. Г22) 8 (<Vf!. V2 )s| ug. vg
72
Перемножив матрицы факторизованного представления, получим следующую
матрицу базисных функций:
Эта же матрица может быть получена из определения (3.5). Фрагмент 3.1 содер-
жит MatLab-функцию формирования ядер преобразования Адамара (упрощен-
ный вариант).
function Net-CreateHadamar(Net, Layers);
% построить ядра преобразования Адамара
% Net - объект класса «Нейронная сеть»
% Layers - число слоев
К=2Л(Layers-1) ; %число ядер в слое
for m=l:Layers
Net.layer{m}(1:К).W=[1 1;1 -1]; % если необходиа нормировка
функций, то следует добавить множитель l/sqrt(2)
end
Фрагмент 3.1. Функция формирования ядер быстрого преобразования Адамара
Рис. 3.2. Функции ортогонального базиса Адамара
73
Функции Адамара для размерности 16, полученные сверткой синтезированного
факторизованного представления, показаны на рис. 3.2. Функции соответствуют
столбцам матрицы Адамара.
3.3. Настройка на базис Виленкина-Крестенсона
Обобщенная система ненормированных функций Виленкина-Крестенсона
в упорядочении Пэли [15] определяется выражениями:
к-1 —
vcf (С, К) = Ц (сох = е Ру-,
х=о
где М^к-1^к-2-^о), y = 7-i.
Система функций задана на интервале длиной N = PqP\ . • •/’к-1 • Поворачивающий
множитель G); является комплексным числом, выраженным в экспоненциальной
форме. Переменная U соответствует дискретному времени, а переменная V - по-
рядковому номеру функции. Построим реализацию быстрого спектрального преоб-
разования так, чтобы функции базиса располагались вдоль столбцов результирую-
щей матрицы. Будем полагать, что траектория топологий задана выражением
= КХ-1 = (v0H... ^-2^4 WK-i wk-2 • • • «X )
при выполнении граничных условий:
= (^к-1^к-2 -Ц)) = (wk-1wk-2
^ = (W-fK-l) = (v0v1...vK_1).
Сравнивая (3.4) с определением функций базиса, непосредственно получим
их=их, vx=Vx.
I
Очевидно, что в пределах слоя все ядра одинаковы.
2
Пример. Пусть N = 3 . Тогда матрица преобразования факторизуется в про-
изведение двух матриц: Н = . Поразрядное представление строк и столбцов
матрицы Н можно записать в виде U V -(KqK^. На основании (3.9)
имеем, что слабозаполненные матрицы по слоям определяются выражениями:
с,юй 0. /IO(<7O,K,)) = w(;i((7(';,KoO)8(t/f,J;0),
I
Слой 1. hx (и1 ,V1) = (c/J, К/)5(Cj, kJ ).
il
Для рассматриваемого примера поворачивающие множители совпадают
для обоих слоев, поэтому все ядра одинаковы и имеют вид:
74
W = р 1 1 со 1 со2 .2л 7— , где со = е ’
. 1 со2 со ,
На рис. 3.3 показано факторизованное представление построенного спек-
трального преобразования. Перемножив матрицы факторизованного представ-
ления, получим следующую матрицу базисных функций:
р 1 1 1 1 ; 1 | 1 1 1 ' 1 1 1 1 1
1 1 t- 1 1 1 1 -1 1 1 со -1 1 1 СО -1 1 1 со V 1 2 1 СО 1 2 I СО
— 1 L 1 1 .L 1 л .L 1 л .L 1 э .L 1 _1_ 1 .1 1
1 1 1 1 1 I со“ I со“ I со- | СО 1 СО 1 СО
— г г -г -г "Г г -г г
1 1 1 1 СО 1 со2 1 1 1 1 со 1 со2 1 1 1 1 со I со2
1 1_ 1 _ 1 1 1 1 |_ _ —
Н = 1 1 1 1 ю 1 со2 1 I со 1 7 | СО 1 1 1 1 э I С0“ 1 1 1 1 ’ СО
— г г т т т т "Г "Г
1 1 со 1 со2 1 со2 | 1 I СО 1 со2 1 1 I со
— 1 1- -г -г -I- 1- -1- -1
1 1 2 ' 1 Ю I со 1 1 1 2 I Ю 1 Ю 1 1 1 2 I Ю 1 ю
— Г 7 Г т т Т 7‘ Т 7‘ т т
1 1 --4 | 1 ft) 1 со | со | 1 | со2 | со2 | со 1 1
1 4- -1 -1 -1 -1 »|_ -1-
1 । 2 1 । СО । 1 1 со 1 7 1 СО" । 1 со 1 1 1 1 1 1 СО 1 1 1 1 1 э 1 го“,
c:i I — । । Vo Vi Ц) 0 0 1 1 4 1 1 Л 1 1 0 1 1 1 4 1 1 4 1 1 0 2 1 1 4 1 1 4 1 1 1 0 1 1 4 1 1 Л 1 1 1 1 1 1 4- 1 1 л- 1 1 1 2 1 1 4- 1 1 л- 1 1 2 0 1 1 -н 1 1 г 1 1 2 1 1 1 -н 1 1 "Г 1 1 2 2 | О 1 о 1 4 0 1 1 1 4- 1 1 Л" 1 1 0 2 1 1 4- 1 1 л- 1 1 1 1 0 Л- 1 1 1 1 |_ 1 1 1 1 1 2 1 2 1 0 Г 1 1 1 1 -1- 1 1 1 1 1 2 1 1 1 -н 1 1 г 1 1 2 2
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
— _1 4 ± 4 4. |_ 1. 1 L 1 1 1 —
0 1 1 1 I 1 1 1 1 со 1 I 1 | 1 | ) со 1 1 1 1 1 со 1 1 7 СО 1 1 1 1 1 1 1 1 1 1 1 1
— -1 4 4 ? со 4 л- л- г -г л- со л- л- л- г 1 г —
0 2 1 1 1 1 1 1 1 1 1 1 1 1 1 со 1 1 1 1 1 1 1 1 со 1 1 1 1 1 1 1 1 1 1 1 1
_ - -1 4 4 4 4- 4- I- -1- 1. 4- 4- 4- 1 1- 1 1- _ _ _
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
— — - 4 4 4 4 4- 4- го2 -1- ь 4- —I- 1- со2 -I--- -1- -1- — — —
1 1 1 1 1 1 1 1 1 1 1 со 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 СО 1 1 1 1 1 1 1
— _1 4 ± 4 4. J. 1 1. I | 1 1 —
1 2 1 | 1 1 1 1 1 1 1 ) со 1 I 1 1 1 1 со 1 1 1 1 1 I 1 | 1 1 2 1 СО | со 1 1 1 1 1 1
— 4 4 4 4 л- л- г -I- л- л- л- 1 г 1 1- —
2 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
— Л 4 4 Л Л‘ Л" г "Г Л' Л" Г Л" 1 г 1 г —
2 1 1 1 1 1 1 1 1 1 1 1 1 со 1 1 1 1 1 1 со2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 со 1 1 со2
— _ _ 4 4 4 4 4- со2 -1- -1- -1- h 4- 4- 1- 1- -1 -1- со2 -1-
2 2 1 1 —L 1 1 _1_ 1 1 1 _1_ 1 1 _1_ 1 1 —L 1 1 —L 1 1 4— 1 1 4_ со 1 1 L 1 1 —L 1 1 —L 1 1 L 1 1 L 1 1 J— 1 1 4- 1 1 4_ со
Рис. 3.3. Факторизованная форма преобразования Виленкина-Крестенсона
На рис. 3.4 показаны вещественная и мнимая компоненты функций Вилен-
кина-Крестенсона, соответствующие данной матрице.
75
Рис. 3.4. Функции базиса Виленкина-Крестенсона для N = 9
function K=CreateVCF Kernels(P)
^Создать ядра ВКФ-преобразования
% Р - массив оснований разрядных переменных
% К - массив ядер по слоям K{m){Z){u,v)
L=length(Р); % Число слоев
for m=l:L
Km-Get KernelAmount(P,P,m); %число ядер в слое
р-Р(m); %размерность ядер в слое
for Z=1:Km
W-VCF_kernel (p) ; "«матрица ядра
K{m){Z)=W;
end
end
o.__________________________________________________________________
function W=VCF_kernel(p)
%Генератор ядер для ВКФ-преобразования
for u=0:p-1
for v=0:p-1
W (u+1,v+1)=exp(-j*2*pi/p*(u*v) ) ;
end
end
W=l/sqrt(p)*W;
Фрагмент 3.2. Функция формирования ядер быстрого ВКФ преобразования
Фрагмент 3.2 представляет MatLab-функцию формирования ядер для пре-
образования ВКФ.
3.4. Настройка на базис Фурье с естественным упорядочением
функций по частотам следования
По определению, функции базиса Фурье задаются выражением
Fn (U,V) = -j=exp^-j^UF \,
(3.10)
N
76
где U - временной отсчет; V - частота (или номер) базисной функции; j = у—1;
W = роЛ •••/’к-1 _ размерность преобразования (для быстрых преобразований
размерность всегда является составным числом). Выполним синтез быстрого ал-
горитма для базиса с естественным упорядочением функций по частотам следо-
вания. Дополнительно потребуем, чтобы траектория топологий была компактной
и регулярной. Представим значения U и V в позиционной системе счисления
следующим образом:
к-1
= (^к-1^к-2 •••^о) = ^aAx-l.Pa-2 •••А) ’ (3-11)
а=0
к-1
И=МЛ-1) = Z (3-12)
р=0
где разрядные числа принадлежат интервалам t/a, Va е [О, ...,-1)]. Подста-
вив (3.11) в (3.10), получим
K-i .
F(l/, К) = П - -р=ехр
а=0 V Ра
2 л V
Рк-1Рк-2 • •• Ра
(3.13)
Ввиду периодичности комплексной экспоненты в последнем выражении доста-
точно учитывать только дробную часть периода 2л в аргументах экспоненци-
альных множителей. Обозначим дробную часть числа фигурными скобками, то-
гда, подставляя в аргумент экспоненты выражение (3.12), получим:
к-1
и а 2 l'pPp+lPp+2---Л I
_______V_ U , ' —fc2________
а
Pk-I^k-2 •••Ра______________________________Рк-\Рк-2”-Ра
_ ^оУа . ц (^а+1^а+2 •••^к-1) [
Ра Рк~\Рк~2---Ра )
(3-14)
Каждый экспоненциальный сомножитель в произведении (3.13) соответствует
ядру в некотором слое X. Аргумент экспоненты определяется выражением
(3.14), которое следует рассматривать как априорно заданные ограничения на
параметры ядер и топологию быстрого алгоритма.
Траектория топологий. Из выражения (3.14) следует, что внешняя траекто-
рия топологий должна удовлетворять условиям:
= (VXVX-1 • • - vo) (j'a ® (^a+l^a+2 • --^K-l))- (3.15)
(Круглые скобки, как и раньше, указывают на класс поразрядных представле-
ний.) Отсюда получим следующие соответствия между локальными и терми-
нальными переменными:
77
fK-l “ v0> ^k-2 - Vp..., Ka+i - V^-b Pb-vK-b
где a + X = к -1. Пара терминальных переменных Ua, Va определяет нумера-
цию элементов ядра, поэтому, если Иа = г;_, то следует положить Ua = иу . Это
условие устанавливает вторую необходимую группу соответствий:
ЦС-1 — w0’ Uк-2 — wb •••’ ^a+1 — wX-b — llX-> •••> ^0 — wk-1
и следующие ограничения на внешнюю траекторию:
— (wX+lwX+2 • • • wk-1 ) (^a-l^a-2 • • -^А) )• (3.16)
Учитывая обе группы построенных соответствий и поразрядные представления
(3.11), (3.12), запишем граничные условия для компактной топологии:
С = (vK_i vK_2 ...v0} = {V„Vl..yK.i} = V,
S = (uQul...uK_l) = {U,._lb\_2...U(,) = U^
Ограничениям (3.15), (3.16) удовлетворяет несколько различных топологи-
ческих траекторий, для построения компактной траектории целесообразно вы-
брать простейший вариант, положив:
=KVX-l-"Voh = (wX+1wX+2---wk-1)-
Регулярную траекторию можно получить, используя следующую порож-
дающую схему:
=tX =(z/xwX+b--wK-lvX-lvA.-2---vo)> (3 ]7)
= /Л+1 =(z/x+lwX+2---wK-lvXvX-b"vo/
Возможен и другой вариант:
UX =tX =(vx_iVX-2---v0wXwX+b--wK-l),
=/X+1 =(vxvX-b--vOwX+lwX+2"-wK-0-
Послойные номера ядер для данных схем соответственно определяются выраже-
ниями:
=K+b--WK-lvX-lvX-2---n))> Z’X =(vX-lvX-2---Vo«X+b--WK-0-
Топология слабозаполненных матриц. Рассмотрим порождающую схему
(3.17). Представим числа и\ в поразрядной форме:
^=НЙ-2"4/- ^=(^...^-1).
Сопоставляя эти представления с порождающей схемой, получим таблицу
соответствий (табл. 3.2). Отсюда непосредственно имеем аналитическую форму
матриц факторизованного представления:
78
hy {lj\ У'' ) - (t£_b «L..1 Ы^_7, JY' )...8(£7^, ГДХ_? ) X
i
x8(l/t1,K*\)...8(c/^.^l).
Таблица 3.2
Поразрядные соответствия для порождающей схемы БПФ
с естественным упорядочением по частотам следования
= c/A = ик-1 «ХИ 1 uk-2 “к-2 «К-1 v/.-l v2 U2 V1 Ui v0
j?" = j?- = “/.11 Vo uX+2 "к-1 ^k-/.-2 yX, Hc-Tl-I VX-1 yX, v2 Vх -i гк-3 V1 *k-2 vo KK-1
В данном произведении цепочка 5 -функций Кронекера обрывается, если индек-
сы разрядных переменных выходят за пределы допустимого диапазона. Номер
ядра, выраженный через глобальные разрядные переменные, будет иметь вид
/=фк-/4-3-^о)- (3.18)
Параметры спектральных ядер. Определим теперь элементы спектраль-
ных ядер. Подставляя (3.14) в (3.13) и переходя к локальным переменным, мож-
но записать:
V1o О'Ь va ) = -F=expf-j—wxvxlexpf-/27n/x (3.19)
r y]PT I PT ) \ PoPl-PT J
В данном выражении первый сомножитель представляет собой элемент
матрицы преобразования Фурье для размерности ру , которое обозначим
Тр.Дг/;,, V/). Введем также обозначения для поворачивающего множителя
со = ехр| и компоненты номера ядра Jy = (vvi va-2 • • • vo) • Тогда выраже-
ние (3.19) приводится к виду
где показатель степени поворачивающего множителя
Z(UT > Л ) = uTJTPT+\PT+2 • • •Z’k-I •
з
Пример. Пусть N = 2 и pq = р j = />2 = 2, тогда со = ехр
Определим элементы ядер.
Слой 0. Jq=Q, z°=(w1w2}’ w°o (w0’vo)=-^2 (w0’vo) •
I .2л ।
79
Матрица базиса Фурье для размерности, равной двум, имеет вид
=pi =
Слой содержит 4 одинаковых ядра.
Слой 1. J\ = vq ,
v]) = F2(z/],v1)co2m|V°.
=(W2vo)’
Для z1 = («20 = {0,2} ядра будут иметь вид
^0=^2 = ?2 =
Для z’1 = («20 = 0’ 3} ядРа будут иметь вид:
И)1 = = -=
J2
со2
2 ’
-СО
Слой 2. = (viv0), ^2=(v]Vq^, w2 (z/2, V2) = F2 (z/2, V2)coM2^1V°\
Подставляя значения переменных, получим, что ядра матриц будут иметь вид:
Из выражения (3.18) получим следующие аналитические представления
факторизованных матриц:
Слой 0. Л0(^^И0) = ^0Д^2^^0)5Н^00)5Н^1°)? /°=К^о)-
Слой!. hx (у\ Vх) = (Сэ. И1 )б(и{, Ио )б(Со. R), z1 =(uIUq).
Слой 2. hx (у2, И2) = w2 (pl, И02 ) 5 (t/2, И2) 5 (t/g, И22 ), z2 = (u2ul).
На рис. 3.5 показано факторизованное представление быстрого преобразо-
вания Фурье для данного примера (множители 1/\/2 с целью упрощения не пока-
заны). Факторизованному представлению соответствует сигнальный граф, пред-
ставленный на рис. 3.6. Стрелками на графе отмечены отрицательные значения
весов. Перемножив матрицы факторизованного представления, получим
80
н =
1 1 1 1 1 1 1 1 1 1 1 1 1 1 J 1 | 1 1 1
и 1 к 1 2 4- 1 3 +- 1 -1 1 1. 1 1_ ? 1 3
1 1 СО 1 СО 1 СО 1 1 -со 1 -со 1 -со
.L L 1 1 J.. J. J
1 1 1 1 со2 1 1 1 -1 1 1 1 -со2 1 1 1 1 1 1 со2 | 1 -11 -) -со*"'
1 г 1 3 г 1 2 -1- 1 + - 1 -1 -4- 1 3 I 1- 1 1
1 СО 1 -со 1 СО 1 1 -СО 1 СО" 1 -со
L J. J. -L. J. _|
1 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 -11 11 -1
-к 1 4- 1 2 -к 1 3 -к 1 -1 4- 1 4- 1 -1 2 ' 3
1 1 -со 1 СО 1 -со 1 1 СО 1 -со СО
1 т 1 1 -со2 1 1 1 -1 1 1 1 со2 1 1 1 1 1 1 1 -со2 I ") -11 э СО“
1 -ь 1 3 4- 1 2 4- 1 + - 1 -1 4- 1 1- 3 ! 1_ 2 ।
1 1 -со 1 1 -со 1 1 -со 1 1 1 1 СО I 1 СО । 1 со
Кп 0| 0 |01 0 11 1 1 1 0 0 1 0 1 0 14 1 1 1 1 0 0 0 0 11 1 1 ! 1
И 0 Г0~11 io 0 1 1 0 0 1 1 1 1 J 1 lol 0 1 L 1 1 1 L 1 0 0 1 1 0 1 4 0 J 1 1 1 j
0 1 lol i Io 1 0 1 0 1 1 0 1 1 J 1 lol 1 0 1 1 _l 0 1 0 1 0 1 0 1 1 _l
1 1 1 1 1 1 II II II II 1 1 1—1 1 1 1 1 1 1 1 1
0 0 0 1 1 II 1 1 1 * 1 I---I 1 1 1 1 - + -1 1 1 1 1 — -- — 11 1- 1 1
0 0 1 |1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 0 • Г -1 -г г II 11 г- 1 1 1 1 1 1 ill 1 I 1 1 1 1 1 1 1 1
0 1 1 Г “1 1 г 1 1 1 1 1 1 1 1 1 _l 1 1 1 1 1 1_ 1 1 L _l 1 J 1 1 1 J 1 1 J
1 0 0 1 -11 1 1 1 1 1 ] —-1 1-11 -1 -к 1 1 1 1 4 U 1 1 1 -11 4 1 1 1
1 0 1 И |-1| ог । j—со Э 1 1 ~ 1 1 i i 1 1 1 co 1 Г h -co 1 1 1
1 1 0 II 1 -1 “1 т 1 1 1 1 Ti г 1 1_ -1’1 L 1 or 1 1 _L 1 2 । CO 1 J
1 1 1 1 1 1 1—1 1_ 1 G1 1 1 1 1 1 1 1 1 7 1 I03 I-032 co 1 1 1
Рис. 3.5. Матричная форма алгоритма быстрого преобразования Фурье
Рис. 3.6. Полный граф восьмиточечного БПФ с упорядочением по частотам следования
Эта же матрица может быть получены из определения (3.10) для Фурье-
базиса. На рис. 3.7 приведены вещественные и мнимые компоненты функций ба-
зиса Фурье для N = 16, полученные перемножением матриц факторизованного
представления. Функции соответствуют столбцам результирующей матрицы.
81
Рис. 3.7. Функции базиса Фурье с естественным упорядочением по частотам следования
function K=CreateFourierKernels(Р,Topology)
%Создать ядра быстрого преобразования Фурье
% Р - массив оснований разрядных переменных
% К - массив ядер по слоям K{m){Z}(u,v)
% Topology - указатель на функцию топологии
L=length(Р) ;
N=prod(P); % размерность преобразования
for U=1:N
[u{1:L)]=ind2sub(Р, U) ;
for V=1:N
[v{1:L}]=ind2 sub(P,V) ;
for m=l:L
[Z,Um,Vm]-Get_Kernel_Receptor Axon_Value(u,v,P,P,m,Topology);
Jm=SUB2IND(P(1:m-l),v(1:m-l))-1; % параметр ядра
exp_arg— 2*pi*j * ( (u{m) -1) * (v{m) -1) /Р (m) + (u{m}-l) * Jm/prod (P(1:m)));
Wuv=l/sqrt(P(L-m+1))*exp(exp_arg);
K{m){Z}(u{m},v{m})=Wuv;
end
end
end
0,___________________________________________________________________
function Jm-SUB2IND(P,v)
^Расширение MATLAB-функции sub2ind
L-length(P);
if L>-2
Jm=sub2ind(P,v{1:L});
elseif L—=1
Jm=v{1} ;
elseif L==0
Jm= 1 ;
end
82
о
function F-CreateFcmrierBasis(P)
^Создать Фурье-базис в естественном упорядочении
% Р - массив оснований разрядных переменных
% F(U,V) - комплекснозначная матрица базиса Фурье
N-prod(P); % размерность преобразования
A=l/sqrt(N);
for U=1:N
for V=1:N
arg--j*2*pi/N*(U-l)*(V-l);
F (U,V)-A*exp(arg) ;
end
end
Фрагмент 3.3. Подпрограмма формирования ядер быстрого преобразования Фурье
с естественным упорядочением по частотам следования
Фрагмент 3.3 представляет программу формирования ядер быстрого преоб-
разования Фурье.
3.5. Настройка на быстрое вейвлет-преобразование
Основное преимущество вейвлет-преобразования заключается в том, что
оно позволяет обнаружить сильно локализованные во времени изменения сигна-
лов. В настоящее время известно множество различных классов вейвлет-функ-
ций, определенных в непрерывном и дискретном пространствах. В данном раз-
деле рассмотрим быстрое ортогональное дискретное вейвлет-преобразование,
состоящее из функций, заданных на интервале длиной N = РоР\---Рк-\- Осо-
бенностью данного класса вейвлет-функций является отсутствие перекрытий
временных носителей в пределах одного масштабного уровня. Данный класс
вейвлет-функций может быть задан выражением
h(U, К) = <рт (ик_т, Ц_т)8(тт, (Гк-1Гк-2-Ук-т+1)) • (3-20)
где U = номеР временного отсчета; V = • • • ^к-1) “ номер
вейвлет-функции (предполагается, что вейвлет-функции расположены вдоль
столбцов базисной матрицы, обратный порядок разрядных переменных необхо-
дим для обеспечения удобного упорядочения функций); (рт (Рк-т^к-т) на"
бор образующих импульсов в частотной локализации номера т (включая посто-
янную составляющую); 5(,) - функция Кронекера, определяющая позицию им-
пульса на временной оси; хт - порядковый номер временной локализации вейв-
лет-функции в частотной области т.
Множество функций вейвлет-базиса, принадлежащих одной частотной ло-
кализации (одному масштабному уровню), в дальнейшем будем называть поли-
кадой. Функции в пределах поликады обладают одними и теми же частотными
83
свойствами, но отличаются позициями образующих импульсов. Число поликад
равно к. При возрастании номера поликады длина носителя образующего им-
пульса уменьшается, а, следовательно, спектр смещается в высокочастотную об-
ласть. Разрядная переменная рк-т определяет кратность изменения частот при
переходе к поликаде с номером т. Если рк-т = 2, то частоты возрастают в
2 раза, в этом случае поликаду будем называть октавой.
Нулевая поликада (т = 0) состоит из единственной функции, постоянной
на всем временном интервале, которая размещается в нулевом столбце. Первая
поликада состоит из j>K_i -1 функций, вторая - из (j>K-2 _1).Рк-1 функций и
т. д.; поликада т = к включает в себя -1) р\... />к_1 функций.
Разместим функции базиса в матрице преобразования так, чтобы они были
упорядочены по возрастанию частотных локализаций. В этом случае каждая по-
ликада в базисной матрице начинается с номера
V ~ <0(А • • • Ок-от-11 к-т^к-т+1 • • • ^к-1}
и занимает подмножество столбцов
v = (0001 • • VK-mVK-m+l... ИкЧ ). (3.21)
По свойствам вейвлет-функций образующий импульс имеет нулевое сред-
нее на интервале определения:
^2 Фт (^к-от’ ^к-т ) — 0 Для всех ^к-т > •
U к-т
Для ортогонального вейвлет-базиса все образующие импульсы в поликаде
ортогональны между собой и нормированы к единице по значению энергии, по-
этому
^2 Ф/и ^к-т )фт ^к-т ) — (Ук-т^^к-т}
^к-т
И ^2 (ф/И (^K-W’ ^К-7И)) =1-
U К-т
Функции всех поликад, начиная с т - 1, имеют нулевое среднее, а посколь-
ку функции каждой следующей поликады локализуются на интервале постоян-
ства функций предыдущей поликады, то они ортогональны к функциям преды-
дущей поликады. По индукции получим, что весь базис будет ортогонален.
Упорядочим функции в каждой поликаде по временным локализациям сле-
дующим правилом:
ЬяЧЩ1’/к-2--Л-т+1)- (3.22)
84
При таком упорядочении функцию Кронекера в выражении (3.20) можно
разложить в произведение функций Кронекера, в результате получим:
Л(С/,К)=ч>т(ик_т,Кк_т)8(<7к
-т+1’ ^к-т+1 ) 8(С/к-2,Гк-2)8(1/к-1 ,(к-,). (3.23)
Выражение (3.22) устанавливает разрядно-инверсное упорядочение по вре-
менным локализациям в пределах каждой поликады. Дополнительными требо-
ваниями к синтезу быстрого преобразования, как и прежде, будут компактность
и регулярность топологической траектории.
Параметры ядер. Сопоставим выражение (3.23) с общей аналитической
формой (3.4) для перестраиваемого преобразования. Будем полагать, что каждый
сомножитель в (3.23) соответствует сомножителю (3.4) и между локальными и
терминальными разрядными переменными выполнены соответствия
(3-24)
Выражения (3.21) и (3.23) после замены переменных преобразуются к виду:
V = (®0®1 • • -®к-т-1 VK-mVK-m+l • • • гк-1)’ (3.25)
/г (U, У ) — vK-m )^(WK-m+l ’ vk-/w+1 )• • • ^(wk-2’ vk-2)^(WK-b vk-1 ) ’ (3-26)
где vK-m > 0. Все недостающие сомножители равны единице. Из выражений
(3.25), (3.26) следует, что ядра будут иметь следующие параметры:
1) для всех слоев X < к - т (т. е. для X - 0,1,..., к — т — 1)
w\ МН;
2) для слоя X = к - т при значении = vK_m > 0
Мх) = ФтМх);
3) для всех слоев X > к -т
И. = (3-27)
Таким образом, в каждом слое X представлены 2 типа ядер. Ядро первого
типа состоит из образующих импульсов поликады т - к - X , в которых нулевой
столбец заполнен постоянной составляющей. Ядро второго типа (определяемое
функцией Кронекера) представляет собой единичную матрицу.
Траектория топологий. Для компактной топологии граничные условия
полностью определены соответствиями (3.24) и имеют вид:
= (^к-1^к-2 • • • Ц) ) — (wk-1 ^к-2 • • • z/0 ) ~
К = (Г0Г1...Кк_1) = (р0>'1-1'к-1) = С.
85
На промежуточные шаги траектории каких-либо требований не накладывается,
поэтому с большим произволом можно выбрать траекторию из следующих клас-
сов возможных поразрядных соответствий:
(^Х+1^Х+2 • • -Цс-1) (wX+lwX+2 • • • ик-1) = •
(^Х^Х-1 • • • ^0 ) ° (VXVX-1 • • • v0 ) = Q •
Подходящей порождающей схемой, удовлетворяющей граничным условиям,
может быть схема следующего вида:
= (wk-1wk-2---wX+1wXv0v1---vX-1^ по.
X (-5.28)
V = (wk-1wk-2 • • -WX+1VOH • • • VX-1VX ) -
Для данной схемы номер ядра определяется выражением
Z’X =(wk-1wk-2---wX+1voH---vX-0- (3-29)
Сопоставляя (3.25) с (3.29) и учитывая (3.28), можно сделать вывод, что для
любого слоя X все ядра из диапазона
zX = (wK-iwK-2 • • • WX+1 °0°1 • • • °Х-1) (3.30)
представляют собой матрицы, составленные из образующих импульсов поликады
т = к - X . Все остальные ядра слоя представляют собой единичные матрицы раз-
мером р^ хр^. Из (3.30) следует, что для последнего слоя (X = к-1) только ну-
левое ядро будет содержать матрицу образующих импульсов поликады т = 1, все
остальные ядра будут единичными матрицами. Для начального слоя (X = 0) все
ядра содержат матрицу образующих импульсов поликады т - к. В скрытых сло-
ях сети матрицы, составленные из образующих импульсов поликады т - к - X ,
будут занимать позиции начиная с 0 и кратные значению р$р\.. -Рх~]
Рассмотренная порождающая схема не является единственной. Вторым
возможным вариантом может быть порождающая схема следующего вида:
= {П)И • • • vX-1wk-1wk-2 • • • WX+1и7. )>
Vх = { v0 VJ... VX-! vXwk-1wk-2 • • • WX+1) •
Номер ядра в этой схеме определяется выражением
Л = (v0H... vx_}uK_}uK_2 WX+1) •
Из сравнения с (3.25) следует, что для любого слоя X все ядра из диапазона
= (ОоСЦ... 0х_] wK-i wK-2 • • • «х+1)
представляют собой матрицы, составленные из образующих импульсов полика-
ды т = к - X . Все остальные ядра слоя представляют собой единичные матрицы
размером р\* р\.
86
С лабозаполненные матрицы факторизованного представления построим
для порождающей схемы (3.28). С этой целью представим глобальные перемен-
ные в следующих поразрядных формах:
Сопоставляя данные выражения с (3.28), получим табличное соответствие
(табл. 3.3). Из таблицы следует, что слабозаполненная матрица Ну будет опре-
деляться формулой
/>х (А. I"-) = (l/J, ) s(u$_J, tp)s(u$_2, )...1. ^_х_2 ) X
X 8(^-1, РкП-1 )б(^-2. . ’к2 )
Номер ядра, выраженный через глобальные разрядные числа, имеет вид
Таблица 3.3
Поразрядное соответствие для вейвлет-преобразования
и'- = = "к-1 г А ик-1 "к-2 ^к-2 Н+1 И иЬ Н-з Н-2 uf П-1
= = мк-1 мк-2 Г/' Н+1 Сх-2 v0 v к-Л-1 V1 тл А, П-2 *к-3 Н-1 ^к-2 н 1 кк-1
В построенном базисе функции каждой поликады инверсно упорядочены
по отношению к их временным локализациям. Естественное упорядочение
функций по временным локализациям можно реализовать, выполнив переста-
новку столбцов в последней слабозаполненной матрице. Поскольку при естест-
венном упорядочении номер функции в пределах поликады определяется выра-
жением Гт = (Ик_ш+1Кк_ш+2 ’ т0 в поразрядном представлении
К = ... 7K_m7K_m+i... ^к-2^к-1) необходимо инвертировать разряды каждой
поликады, следуя правилу V' = .. VK_mVK_\Ик_2.. • VK-m и ) • Перестановка q
определяется из условия (У)т = (V)т *q.
Фрагмент 3.4 содержит алгоритм генерации ядер быстрого вейвлет-преоб-
разования. В общем случае вейвлет-преобразование может быть неортогональ-
ным и матрицы образующих импульсов могут быть прямоугольными.
function K=CreateWaveletKernels(Р,G,F,Topology)
% Создать ядра быстрого вейвлет-преобразованаия
% P,G - массивы оснований разрядных переменных с родовыми именами i и j.
% К - массив ядер по слоям K{m}{Z}{u,v)
87
% Topology - указатель на функцию топологии
% F{} - набор ячеек, содержащих матрицы образующих импульсов по поликадам
% © А.Ю.Дорогов
N-prod(P); %Размерность преобразования
L=length(Р);% Число слоев
for m=1:L
Km=Get KernelAmount(P,G,m);
p=P(m);
g=G(m);
for Z=l:Km ^предварительное заполнение ядер
К{m}{Z}=eye(p,g); %p*g матрица единичная матрица
end
end
[v{1:L}]=deal(1); ^позиции ядер образующих импульсов
for m=1:L
for U=1:N
[u{1:L}]=ind2sub(P,U);
[Z,Um,Vm]-Get_Kernel_Receptor_Axon_Value(u,v, P,G,m, Topology) ;
K{m} { Z}=F{L-m+l};
end
end
Фрагмент 3.4. Генератор ядер быстрого вейвлет-преобразования
Пример. Рассмотрим построение одного из простейших вейвлет-преобра-
зований - базиса Хаара. Базис строится на интервале длиной N - 2К и порожда-
ется двуполярным импульсом с временной базой, равной двум. По частотным
локализациям функции базиса разбиваются на октавы. Матрица образующих
импульсов каждой октавы имеет вид
Возьмем для примера N = 2' . Базисные функции в этом случае разбивают-
ся на 3 октавы, а матрица преобразования факторизуется в произведение трех
слабозаполненных матриц:
Н = Н0Н}Н2.
Поразрядное представление для строк и столбцов матрицы Н имеет вид
U = {U2UiU0),
Слой 0. Для этого слоя матрицы всех ядер совпадают с матрицей образую-
щих импульсов. Слабозаполненная матрица определяется выражением
А (д°, к0 ) - tv" ({/§, ©И©. Гоо)5(ц(|. Г,°).
88
где/0 =
Z1 1 '
J -b
Слой 1. Слабозаполненная матрица слоя определяется выражением
(l/1, V1) = w1, Н, г2‘)5(^• 'о )з(ц' - v')
i
Ядра с матрицей образующих импульсов будут занимать позиции /
= (Г(|0) = {0,2),
так что Ид
= ^2 =
Остальные ядра будут представлять собой единич-
ные матрицы:
0>
1 Г
Слой 2. Слабозаполненная матрица определяется выражением
hi {и-, Г2) = и-2 (и$. к/ )s(u?, l-’o2 К,2 ).
Для этого слоя только нулевое ядро совпадает с матрицей образующих импуль-
сов, все остальные ядра являются единичными матрицами:
На рис. 3.8 показано факторизованное представление быстрого преобразо-
вания Хаара для данного примера. Свернув произведение, получим матрицу ба-
зиса в виде
1! 1! i_! I 1! I
Н 1! Ч ! -1! !
if 1 Г-i-! Т Г 1
__I__I____I____L__।_!
1 ! 11 -1 ! I ! !
_I___J___I L I__I
1 ! -1 I !__________1!_!_1!
-4---2----1----L--1-1
। !-1 I ! 1 I !-1!
-4---1----1----4--1-1
Н-11 !-1! ! !
На рис. 3.9 приведены функции базиса Хаара для размерности N = 16.
Функции соответствуют столбцам матрицы, полученной произведением факто-
ризованных матриц. Фрагмент 3.5 представляет подпрограмму формирования
ядер быстрого преобразования Хаара.
89
7 « 0 » 1 111 0 0|0|l| 1 1|1 ° » 0|0ll|l|lll
И 0 0 1 1 ’(7 о iT 1 i оп _ J 0 71 i 0 1 0 i 111 1 0 0 111 1 0 1 0 1 111 1 _
0 . _| 1 0 1 0 1 |0 1 "Г 0 1 ° 11 of 1 oTl X - 0 Г ° 11 oT1 о T i X
^2 Щ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 i 1 1 1 1 1 1
0 0 1 1 -1 i i 110 i i i i 1!0 i i i i
0 1 0 1 1 i i 1 -1 1 1 i i i i 1 1 1 !0 i i
0 1 1 . J Т -1 i i "I J 0 1 1 1 i i _ i 1 . 1 L 1 1 i Го i
1 0 0 1 1 1 1 1 _L i! i 1 _l i i j. . 1 -i I 1 l_ J. 1 1 l_ X _l 1 1 X
1 0 1 1 -1 | 1 1 1 1 11° о 1 1 1 1 1 1
1 1 0 i i i 1!-! 1 1 i i о 1 1 i i
1 1 1 । L± i 1 i 1 -J i 1 i 1 °7
Рис. 3.8. Факторизованное представление быстрого преобразования Хаара
Рис. 3.9. Функции базиса Хаара
function K-CreateHaarKernels(Р,Topology)
%Создать ядра Хаар-преобразования
% Р - массив оснований разрядных переменных
% К - массив ядер по слоям K{m}{Z}{u,v)
% Topology - указатель на функцию топологии
% © А.Ю.Дорогов
G-Р; %квадратная матрица
L-length(Р);% Число слоев
Н= [ 1 1;1 -1]; % для нормировки образующих импульсов следует доба-
вить множитель l/sqrt(2)
[F{1:L}]-deal(Н);
K=CreateWaveletKernels(Р, G, F,Topology);
Фрагмент 3.5. Алгоритм формирования ядер преобразования Хаара
90
4. ФРАКТАЛЬНЫЕ СВОЙСТВА БЫСТРЫХ ПРЕОБРАЗОВАНИЙ
Любые предложения люди понимают иначе, чем тот,
кто их вносит.
Третий закон Чизхолма. Азбука Мерфи
Термин фрактал был введен Мену а Мандельбротом в 1975 г. для обозна-
чения особого класса многомерных функций, обладающих свойством самоподо-
бия и дробной размерности.
Для нелинейных динамических систем характерно существование притяга-
тельных множеств в пространстве фазовых координат, называемых аттракто-
рами. На аттракторе фазовые траектории разбегаются в неустойчивых направле-
ниях и сжимаются в устойчивых. Современные исследования показали, что в ря-
де случаев аттрактор системы в устойчивых направлениях копирует сам себя.
Такой аттрактор называют «фрактальным» [26]. Фрактальные аттракторы связа-
ны с так называемыми сценариями динамического хаоса [27], определяющего
границы возможного прогнозирования поведения систем.
В работах [28], [29] было показано, что многослойные нейронные сети мо-
гут служить генераторами фрактальных структур и использоваться в этом каче-
стве как инструмент моделирования и анализа нелинейных явлений.
Фрактальный объект накладывает определенные ограничения на структуру,
топологию и параметры нейронной сети. Характерным свойством регулярных
фракталов является самоподобие или инвариантность при изменении масштабов.
В данном разделе будет показано, что условие самоподобия обеспечивается в
слабосвязанных сетевых структурах, к которым относятся быстрые нейронные
сети и линейные перестраиваемые преобразования. Это обстоятельство позволя-
ет реализовать генераторы различных фрактальных объектов в классе быстрых
перестраиваемых преобразований.
4.1. Инварианты самоподобия
Самоподобие - это ключевое свойство фракталов, отражающее независи-
мость основных геометрических особенностей фрактального объекта от измене-
ния масштаба. Большинство объектов утрачивают детали, когда их приближают,
т. е. уменьшают масштаб для более детального рассмотрения. Фрактал же можно
приближать до бесконечности без потери детализации. Для фракталов допусти-
мые изменения масштаба всегда кратны некоторому целому числу. Это целое
определяет число разбиений масштабной единицы носителя фрактала. На каж-
дой составной части фрактал повторяет себя по геометрическим свойствам. Та-
ким образом, свойство самоподобия фракталов характеризуется двумя момента-
ми: во-первых, последовательным итерационным разбиением масштабной еди-
ницы и, во-вторых, повторением геометрии фрактала на каждой составной час-
91
ти. При точном повторении геометрии самоподобие влечет за собой условие то-
ждественности образуемых составных частей. Геометрия объекта может повто-
ряться не полностью, а только по отдельным свойствам или в статистическом
смысле. В этом случае идеальная модель фрактала нарушается, однако такие
объекты удобно рассматривать как расширения концепции фрактала. Примером
могут служить квазифракталы и мультифракталы. Точную грань между фрак-
тальными и нефрактальными объектами провести трудно. Иногда удобно неф-
рактальный объект рассматривать как фрактал с ограничениями по свойствам
самоподобия. Минимально необходимым инвариантом самоподобного процесса
является только разбиение масштабной единицы на более мелкие составные
компоненты. Если процесс допускает подобную интерпретацию, то его можно
рассматривать как фрактальный объект.
Когда процесс генерации фрактала ограничивается каким-либо шагом к, то
построенный объект называется предфракталом порядка к. Предфрактал пред-
ставляет собой аппроксимацию фрактала, которая обладает свойством самопо-
добия только на ограниченном числе масштабных уровней. В данном разделе
приведены примеры аппроксимации классических фракталов быстрыми пере-
страиваемыми преобразованиями [30], что является конструктивным подтвер-
ждением фрактальности быстрых преобразований.
4.2. Системные инварианты слабосвязанных сетей
Условие слабой связанности [31]—[33] выражает собой отношение между
окрестностями вершин и их проекциями на терминальные слои сети. В терминах
нейронных сетей входной терминальный слой называется афферентом, а вы-
ходной - эфферентом. Под афферентной проекцией некоторой вершины В (да-
лее обозначается Afr(5)) понимается подмножество вершин афферентного
слоя, связанных дугами с этой вершиной. Аналогично, под эфферентной проек-
цией вершины В (далее обозначается Efr(51) понимается подмножество вер-
шин эфферентного слоя, связанных дугами с этой вершиной. Определим также
рецепторную окрестность Г-1 (5) как множество вершин непосредственно
предшествующего слоя, связанных дугами с вершиной В, и аксоновую окрест-
ность Г(5) как множество вершин последующего слоя, связанных дугами с
вершиной В. На рис. 4.1 показан пример структурной модели трехслойной сла-
босвязанной нейронной сети. Для вершины В\ данного примера терминальные
проекции будут иметь следующий состав:
Afr (В{) = {Л3, А4, А5}, Efr(Bi) = {Со, Q}.
Принцип слабой связанности может быть выражен парой симметричных
условий:
92
Afr(5)= AfrU),
.4еГ-|(Ю (41)
Efr(5)= Efr(C),
СеГ(5)
где символ X обозначает прямую сумму соответствующих множеств. Первое
выражение устанавливает, что в слабосвязанной сети для любой вершины В
афферентные проекции вершин ее рецепторной окрестности не пересекаются,
второе - устанавливает аналогичное условие для эфферентных проекций. Дан-
ные выражения определяют морфологический инвариант слабосвязанных сетей.
Фактически оба выражения двойственны друг другу, и если выполняется одно из
них, то обязательно будет выполнено и другое. Более детально слабосвязанные
сети рассматриваются в ч. II.
Слой А
Рис. 4.1. Слабосвязанная многослойная нейронная сеть
Принцип слабой связанности декларирует, что терминальные проекции ка-
ждой вершины образуются через прямые суммы терминальных проекций окре-
стных вершин смежного слоя. Это означает, что переход от слоя к слою связан с
разбиением или объединением без пересечений терминальных проекций окрест-
ных вершин. Это свойство отвечает минимальному необходимому условию са-
моподобного процесса.
Взаимосвязь инвариантов. Докажем теперь, что введенная ранее грамма-
тика формального языка порождает слабосвязанные структуры. В интерпретирую-
щем графе регулярной сети номер вершины в слое X определяется выражением
;х=((АЛ®б)Л)> 0-2)
93
а номера вершин начального и конечного слоев можно представить в виде:
z = J = <4-3)
где I\I\ и J обозначают разность множеств. По принципу построения ин-
терпретирующего графа вершины двух смежных слоев связаны дугой, если од-
ноименные переменные в смежных словах предложения имеют совпадающие
значения. Выполняя индукцию по номеру слоя, нетрудно показать, что вершина
zA будет связана с теми вершинами начального и конечного слоев, для которых
одноименные разрядные переменные в выражениях (4.3) будут иметь те же зна-
чения, что и в выражении (4.2). Следовательно, терминальные проекции верши-
ны можно выразить следующими параметрическими формами:
Afr(i4 = (w,l EfrGA) = (O)A
где круглыми скобками выделены варьируемые разряды терминальных слов. То-
гда для афферента вершины z"'-1 слоя Л -1 можно записать
АГг(Л-1) = ((/)д
\ 1 \ f.~ 1 / f
Будем полагать, что вершины z“ и Л-1 связаны между собой. По правилам
порождающей грамматики cz 7^-1, причем разность множеств \1^ состо-
ит точно из одного символа (разряда). Из свойств интерпретирующей функции
(1.10) следует
Afr(zX)= ф Afr(zX-1), (4.4)
где прямая сумма подмножеств берется по всем значениям разрядного числа
17^. Множество этих значений перечисляет вершины рецепторной окрест-
ности Г-1(/^). Аналогично для эфферентов вершин смежных слоев X и Х + 1
можно получить:
Efr(zX)= ф Efr(zX+1), (4.5)
где подмножество значений 7^+| определяет аксоновую окрестность r(z^).
Выражения (4.5), (4.4) подобны (4.1) и доказывают, что интерпретирующий граф
быстрого преобразования представляет собой слабосвязанную сеть.
4.3. Аналитическая форма регулярного фрактала
На рис. 4.2 показаны 3 последовательных итерации фрактала Кантора. На
каждой итерации из непрерывной области удаляется средняя треть, что эквива-
лентно масштабной деформации исходной функции в отношении 1:3. Построим
94
Рис. 4.2. Одномерный фрактал Кантора
аналитическую форму вначале для фрак-
тала Кантора, а затем обобщим ее на бо-
лее широкий класс регулярных фракта-
лов. Будем полагать, что фрактал Кан-
тора задан на непрерывном интервале
U = [0,1). Любую точку данного интер-
вала u&U можно записать в троичной
системе счисления в виде дроби:
и = 0, ...ип (4-6)
где разрядные числа щ е {0,1,2} следует
рассматривать как целые переменные,
определяющие положение точки на ин-
тервале. Введем также непрерывные переменные щ е[0,3). Очевидно, что по-
следовательность разрядных чисел (4.6) можно в любом месте оборвать, завер-
шив ее непрерывной переменной, в результате точка интервала будет представ-
лена в виде
и = 0, u-[U2... йп.
Дискретные числа щ будем рассматривать как результат действия оператора, вы-
деляющего целую часть из непрерывной переменной щ. Операцию масштабирова-
ния можно рассматривать как изменение правила представления точек интервала.
Например, для базовой функции Кантора аргумент определяется правилом
и = (0, щ } = З-1 //j. Для функции второй итерации: и = (О, щ«2 ) = 3 ' и\ + З-2 «2.
Для функции третьей итерации: и = (О, = 3-1z/] + 3_2w2 + 3-Зй3 и т. д. На
непрерывном интервале [0,3) определим функцию:
1
О
<р(й) =
для
для
ДЛЯ
й е[0,1),
й е[1,2),
й е [2, 3).
Нетрудно проверить, что фрактал Кантора аналитически можно записать в виде
бесконечного произведения:
/(м) = ф(й1)ф(й2)ф(й3)...ф(йи)...,
где правило вычисления точки интервала и задается выражением (4.6). Квазиф-
рактал отличается от фрактала нестрогим повторение структуры на масштабных
уровнях. Обобщенная аналитическая форма квазифрактала имеет вид
/(«) = Ф7.1 (м1)ф.2 (й2)ф.з (й3)...ф.и (4.7)
95
где индексы Г, /“, Г,..., i11... определяют множества допустимых функций для
каждого шага фрактальной итерации. Правило выбора функций из множества
может быть детерминированным или случайным. Например, возможно следую-
щее детерминированное правило:
?=0, /2=(м^, z3 =(w1z/2), ...,z” =(w1w2...z/„_1),... . (4.8)
Угловые скобки, как и прежде, определяют поразрядное представление индекса
в соответствующей системе счисления.
4.4. Дискретная аппроксимация фракталов и самоподобных объектов
Дискретная аппроксимация фрактала строится на последовательности рас-
ширяющихся носителей, заданных дискретными интервалами:
Ц={0,1,2,...,^-1}, г =0,1, 2,..., к-1.
Точки интервалов определяются правилом w = /ик._|Ик_2 ...iiqJ . В общем случае
разрядные переменные имеют различные локальные области определения:
Uj е {0,1,-1}. На локальных интервалах определены кусочно-постоянные
дискретные функции фг(мг). Аппроксимация фрактала порядка к называется
предфракталом и записывается в виде конечного произведения:
f(u) « ф.о («о)ф,1 («1)---ф,.к-1 («к-1)-
Например, для фрактала Кантора все дискретные образующие функции одина-
ковы и имеют вид
1 ДЛЯ и = 0,
ф(г/) = • 0 Для и - 1,
1 Для и = 2.
4.4.1. Ковер Серпинского
Двумерным вариантом фрактала Кантора является плоская фигура, заданная
на непрерывных интервалах £7 = [0,1), И = [0,1). На рис. 4.3 показана одна из
итераций фрактала. Исторически этот объект называется ковром Серпинского.
Координаты точки в плоскости фигуры определяются бесконечными дробями:
и - 0, U[ii2 ...и„..., iii е {0,1,2},
г = 0, г1г2...ги..., vze{0,1,2}.
Обозначим через z/,- е [0, 3) и vz- =[0,3) соответствующие непрерывные пере-
менные, тогда двумерный фрактал Кантора в аналитической форме можно запи-
сать в виде бесконечного произведения:
/(«, у) = ф(й15 Й)ф(й2, г2)ф(м3, г3)...ф(й„, г„)... .
96
Дискретная аппроксимация порядка к
для двумерного фрактала Кантора представ-
ляет собой конечное произведение:
f (и, v) «cp(z/0, v0 )ф(zq, Vj) х
хф(м)---ф(«к-1Л-1), (4-9)
где все дискретные образующие функции
имеют вид
1 Г
О 1
1 L
Нетрудно заметить, что полученное выражение по форме совпадает с пред-
ставлением (3.4) для элементов матрицы Н быстрого преобразования. Сравнивая
(3.4) и (4.9) получим следующие правила определения параметров нейронных ядер:
На рис. 4.4 показана аппроксимация для ковра Серпинского в классе быст-
рых преобразований на интервалах длиной N = 3". Аппроксимирующее преоб-
разование имеет 2 слоя, каждой матрице-сомножителю отвечает один нейрон-
ный слой. Все непоказанные элементы матриц равны нулю.
Рис. 4.4. Аппроксимация 2-го порядка двумерного фрактала Кантора
Из рисунка видно, что результирующая матрица подобна двумерному
фракталу Кантора. Фрагмент 4.1 содержит подпрограмму для вычисления ядер
быстрого преобразования. Фрагмент 4.2 содержит генератор предфракталов по
элементам ядер в топологии Кули-Тьюки с прореживанием по времени.
function [К, Р]-Get_Cantor_Kernels(п)
^Создать ядра фрактала Кантора
% п -порядок предфрактала
% К -ядра по слоям
97
% Р - размерности ядер по аксоновым полям
P-ones(1,п)*3;
W-[l 1 1; 1 0 1; 1 1 1]; Сядро фрактала Кантора
Z-prod(Р(1:п-1)); %Число ядер в слое
for m=l:n
for z=l:Z
K{m){z)=W; ^заполнения множества ядер
end
end
Фрагмент 4.1. Генератор ядер двумерного фрактала Кантора
function F=BuildFractal(Р,G,К)
% Построить предфрактал F
% Функция создает набор топологических матриц в массиве ячеек Т
% P,G - массивы оснований разрядных переменных с родовыми именами i
и j .
% К - массив ядер по слоям K{m){Z)(u,v)
% © А.Ю.Дорогов
Layers-length(Р) ; % число слоев - порядок предфрактала
N=prod(Р) ;
M=prod(G);
F=sparse(N,М) ; %Создание топологической матрицы
for U—1:N
[u{1:Layers}]-ind2sub(Р, U) ; %поразрядное представление номера
рецептора
for V=1:М
[v{1:Layers}]=ind2sub(G,V); %поразрядное представление номе-
ра аксона
[I, Bi]=structure_for_thinning_in_time(u,v,P,G);
f=l;
for m=l:Layers
z-sub2ind([Bi{m},1],I{m}{1:end}); % номер ядра
f-f*K{m}{z}(u{m},v{m)); Сформирование фрактального произведения
end
if f~=0
F(U,V)=f;
end
end
end
о __________________________________________________________________
function [I,Bi]-structure_for_thinning_in_time(u,v,P,G)
^построить путь в графе структурной модели для алгоритма Кули-Тьюки
с прореживанием по времени
%1 - числовой образ канонического предложения
%u,v - поразрядные представления номеров рецепторов и аксонов (мас-
сивы ячеек)
%P,G - основания разрядных переменных по слоям (массив ячеек)
%Bi - основания разрядных переменных канонического предложения
(массив ячеек)
98
n-length(P); % число слоев
for m=1:n
I{m}={v{1:m-1},u{m+1:n}};
Bi{m}=[G(1:m-l),P(m+1:n)];
end
Фрагмент 4.2. Генератор предфракталов в классе быстрых преобразований
Предфрактал четвертого порядка для ковра Серпинского, построенный с
помощью программного генератора, показан на рис. 4.5. Матрица размером
81 х 81 содержит 4096 ненулевых элементов. Зависимость числа ненулевых эле-
Рис. 4.5. Аппроксимация 4-го порядка двумерного фрактала Кантора
Таблица 4.1
Зависимость числа ненулевых элементов от размеров матрицы предфрактала Кантора
Порядок предфрактала 2 3 4 5
Размер матрицы 9 27 81 243
Число ненулевых элементов 64 512 4096 32 768
Фрактальная размерность. На рис. 4.6 в логарифмическом масштабе
представлена зависимость числа ненулевых элементов от размера матрицы пред-
фрактала. Тангенс угла наклона характеризует значение Хаусдорфовой размер-
ности [34], которая также называется фрактальной размерностью. Расчетная
формула для вычисления фрактальной размерности имеет вид
NZ
NZ'
(4.Ю)
D =
99
Рис. 4.6. Зависимость числа ненулевых элементов
от размера матрицы предфрактала Кантора
где NZ и NZ' — число ненулевых элементов в матрицах пред фракталов порядка
п и п'; N и N' - размеры матриц предфракталов. Например, используя значе-
ния табл. 4.1, для предфракталов Кантора порядка 4 и 5 получим:
, ( 32 768 Л
что с точностью до четвертого знака после запятой совпадает с теоретическим
значением.
4.4.2. Фрактал «Салфетка Серпинского»
На рис. 4.7 показана одна из итераций двумерного фрактала, называемого
«салфеткой Серпинского». Фрактал задан на непрерывных интервалах U — [0,1),
V = [0,1). Дискретная аппроксимация фрактала на интервале N — 2К определя-
ется выражением (4.9), где образующая функция
имеет вид
На рис. 4.8 показана аппроксимация для сал-
фетки Серпинского в классе быстрых преобразова-
ний на интервале длиной N = 2'1. Аппроксимирую-
щее преобразование факторизуется в произведение
трех матриц. Из рисунка видно, что результирую-
щая матрица подобна непрерывной форме данного
Рис. 4.7. Двумерный фрактал
«Салфетка Серпинского»
100
фрактала. Фрагмент 4.3 содержит подпрограмму вычисления ядер для фрактала
Серпинского. Предфрактал седьмого порядка для салфетки Серпинского показан
на рис. 4.9. Матрица размером 128 * 128 содержит 2187 ненулевых элементов.
function [К,Р]—Get_Serpinski_Kernels(п)
%Создать ядра фрактала Серпинского
% п -порядок предфрактала
% К -ядра по слоям
% Р - размерности ядер по аксоновым полям
P=ones(1,п)*2 ;
W=[l 1 ; 10]; %ядро фрактала Серпинского
Z=prod(Р(1:п-1) ) ;
for ш=1:п
for z=l:Z
K{m}{z}-W; %заполнения множества ядер
end
end
Фрагмент 4.3. Подпрограмма генерации ядер фрактала Серпинского
7VZ=2187
Рис. 4.9. Двумерный предфрактал Серпинского 7-го порядка
101
Размерность фрактала. В табл. 4.2 приведена зависимость числа ненуле-
вых элементов предфрактала от размера несущей матрицы.
Таблица 4.2
Зависимость числа ненулевых элементов в матрице двумерного
предфрактала Серпинского от размера матрицы
Порядок предфрактала 2 3 4 5 6 7
Размер матрицы 4 8 16 32 64 128
Число ненулевых элементов 9 27 81 243 729 2187
Подставляя в формулу (4.10) значения для предфракталов 6-го и 7-го по-
рядков получим:
'41г)
D =-V.*/ =1,5849.
"<1
4.4.3. Самоподобный объект Лебега
Самоподобный объект Лебега строится на стороне основания базового рав-
ностороннего треугольника. Каждая сторона треугольника делится пополам. Ли-
нии, соединяющие точки деления, вместе
образуют 2 равносторонних треугольника
меньших размеров. Далее процедура по-
вторяется над вновь образованными тре-
угольниками, в результате чего на осно-
вании образуется пилообразная линия. Дли-
на пилообразной линии всегда превышает
длину основания, но фракталом не явля-
ется - размерность ее равна единице и
длина конечна. На рис. 4.10 показаны 3
последовательные итерации треугольника
Лебега. В непрерывном варианте самопо-
добный объект Лебега определен на ин-
тервале U = 1^0,1). Каждая точка интерва-
ла и е U может быть представлена в виде
ния по основанию р :
с основанием базового треугольника
Рис. 4.10. Треугольник Лебега
бесконечной дроби в системе счисле-
и = 0, щи/}...ип...,
где щ е{0,1,...,/>-1}. Для непрерывного варианта выбор значения р не прин-
ципиален. Обозначим, как и прежде, через щ е [0, р) непрерывные переменные.
На непрерывном интервале [0, р) определим функцию
102
fq-й для
Ф/("К ( 'A
[q [p-и) для
й e[0, j>/2),
йе[у?/2, jz),
где q =---:—tg7i/3, z = 1,2,3,.... Тогда самоподобный объект Лебега может
у?2г-1
быть записан в виде бесконечного логического произведения:
/(г/) = Ф1(й1)оф2(й2)о...офи(й/7)0...,
где символ «о» обозначает операцию вычисления минимума (д% = пнп(д, 6)),
которую обычно называют логическим произведением.
При дискретной аппроксимации объект Лебега порядка к строится на це-
лочисленном интервале длиной N = рк, при этом непрерывные переменные
q е [0, р) заменяются дискретными q е {0,1, 1}, z = 0,1,..., к -1, а коор-
динаты точек интервала в позиционной системе счисления представляются кор-
тежем (г/к_1г/к_2... z/p/Q . Аппроксимирующее выражение имеет вид
/(«) » Фк-1 К-1 ) ° Фк-2 К-2 ) ° • • • ° Ф1К ) ° Фо К ) •
Значения функций фг- определяются принципом выбора аппроксимирующих то-
чек. При симметричном размещении точек (рис. 4.11) и четном р имеем:
фг-(г/г) = qzz, фг-(у? -1 - г/г-) = фг-(q) для г/е{0,1,..., ^/2-1},
Рис. 4.11. Вариант дискретной аппроксимации треугольников Лебега
При нечетном р одна из аппроксимирующих точек располагается в верши-
не треугольника. Значение р в дискретном варианте определяет точность пред-
ставления треугольника на каждом масштабном уровне. В общем случае для ка-
ждого масштабного уровня может быть использовано свое значение р. Боковые
стороны треугольника аппроксимируются ломаными кривыми с шагом 5.
103
4.4.4. Ковер Лебега
На рис. 4.12 показаны две итерации двумерного самоподобного объекта
Лебега. Основанием объемной фигуры является квадрат, заданный в координат-
ных осях на непрерывных интервалах U = [0,1), V = [0,1). Координаты точки в
плоскости основания определяются бесконечными дробями:
и = 0, щи2 •••ипе 1},
v = 0,v1v2...v„..., vze{0,l}.
Рис. 4.12. Ковер Лебега
В аналитической форме двумерный объект Лебега описывается бесконеч-
ным логическим произведением
f{u, у) = ф1(й1, Г1)оф2(й2, У2)°...°Ф„(ЙИЛ)°-
где Ф/ (щ, ) = фг- (йг-) о ф,- (у-,).
Дискретная аппроксимация порядка к для ковра Лебега представляет со-
бой конечное логическое произведение
h(U,V)= М’О (м0, уо)о (иХ, Vj )о... о wK7' (ик_х, VK_J),
где U = {0,1,2,..., N - 1J, К = {0,1,2,..../V - 1 j, N = рк. Все ядра в пределах
слоя одинаковы. Для дискретной аппроксимации используется перестраиваемое
преобразование в минимаксном пространстве, реализующее базовые операции
вида y(v) = Ф w(u, v)°x(«), где символ Ф обозначает операцию логического
и
суммирования (я Ф b = max (я, ).
На рис. 4.13 показан объект Лебега порядка 2, построенный при основании
разрядных переменных р$ = 5, р\ - 4.
104
0
Рис. 4.13. Пример генерации объекта Лебега
function K=Get_Lebeg_Kernels(Р)
%Создать ядра двумерного самоподобного объекта Лебега
% К -ядра по слоям
% Р - основания разрядных переменных
% © А.Ю.Дорогов
n=length(P); Счисло слоев
d=tan(pi/3);
for m=l:n Сномер слоя
р=Р(ш);
c=d/(р*2л(п-m)); Свысота треугольника
step=c/(р/2 + 1); %шаг дискретизации
for u=l: ceil(p/2)
f (u)=step*u;
f(p+l-u)=f(u); Асимметричная дискретизация
end
for u=l:p
for v=l:p
W(u,v)=min(f(u),f(v)); Сформирование ядра
end
end
Z=prod(P)/p; Счисло ядер в текущем слое
for z—1:Z Аномер ядра
K{m}{z}=W; Азаполнения множества ядер
end
end
function F-BuildLogicalFractal(P,G,K)
% Построить предфрактал F в минимаксном пространстве
% P,G — массивы оснований разрядных переменных с родовыми именами i и j.
% К - массив ядер по слоям K{m){z)(u,v)
% © А.Ю.Дорогов
105
Layers=length(Р) ; % число слоев - порядок предфрактала
N-prod(Р);
M-prod(G);
F=sparse(N,М) ; %Создание матрицы предфрактала
for U=1:N
[u{1:Layers}]=ind2sub(Р, U) ; %поразрядное представление номера
рецептора
for V—1:М
[v{1:Layers}]=ind2sub(G, V) ; ^поразрядное представление номе-
ра аксона
[I,Bi]-s tructure for thinning_in time(u,v,P,G);
f=l;
for m=l:Layers
z=sub2ind([Bi{m},1],I{m}{1:end}); % номер ядра
f=min(f,К{m}{z}(u{m},v{m))); Сформирование фрактального
произведения
end
if f~=0
F(U,V)=f;
end
end
end
Фрагмент 4.4. Подпрограммы генерации двумерного самоподобного объекта Лебега
Фрагмент 4.4 содержит подпрограмму генерации ядер объекта Лебега.
4.5. Системы итерирующих функций
для детерминированного квазифрактала
Квазифрактал отличается от идеальных абстрактных фракталов вариабель-
ностью структуры при переходе от одного масштабного уровня к другому.
Большинство встречающихся в природе фракталоподобных структур (границы
облаков, линия берега, деревья, листья растений, кораллы, ...) являются квазиф-
ракталами. Общий алгоритм построения фракталов и фракталоподобных струк-
тур был предложен в середине 80-х гг. XX в. американским математиком
М. Барнсли [35]. Сущность метода заключается в описании итеративной после-
довательности конечным набором (коллажем) сжимающих отображений
Р
F(5)=^J/^(5). Каждая компонента набора, независимо действуя на текущую
i-\
итерацию В, порождает компоненту следующей итерации. Для одномерного
случая фрактальная итерация представляется функцией у = fa (и). Коллаж
сжимающих отображений воздействует на точки плоскости и,у, для которых
У = .Д-(и), и порождает функцию у = Д+1(м), определяющую следующую
В^+\ итерацию фрактала. Для одномерного фрактала Кантора (см. рис. 4.2) сис-
тему итерирующих функций можно записать в виде
106
^7
Л71(г/)\ /Г2(г/)л
.<₽(//), 0 ?
'Т3(иТ
< фО') У
где 7] (г/) = иЗ \ Т2(и) = иЗ ^ЬЗ \ Тз(и) = иЗ 1+2-3 \ а функция (р(г/)
представляет собой первую итерацию фрактала Кантора. Данную систему итера-
тивных функций можно обобщить, записав ее следующим образом:
Д/'' ,3/ 7} (и) Л
^л+1 УЦ^-ИфМ’
где fa (и) - к -я итерация фрактальной последовательности. Для к = 1 следует
принять j\(u) = \. Последнее выражение явным образом представляет связь
предшествующей итерации фрактала с последующей. Эта форма удобна тем, что
она допускает дальнейшее обобщение для квазифракталов. Детерминированные
квазифракталы отличаются тем, что базовая функция ф(г/) изменяется в зависи-
мости от номера в коллаже итерирующих функций. В результате для описания
квазифракталов может быть использована форма
Р' 7](и)
чД+1 ^Щ^МфДЧ
В общем случае образующие функции квазифрактала фг- (и) могут изменяться от
итерации к итерации, также может быть переменным и количество отображений
в коллаже. В этом случае обобщенная форма для квазифрактала примет вид
/ \
и
Рк
=и
г=1
Г тк( \ 1
Т; \U)
Нетрудно заметить, что рассмотренная ранее аналитическая форма (4.7) для
квазифрактала может быть получена бесконечным итерированием последнего
выражения.
107
5. ОДНОМЕРНЫЕ БЫСТРЫЕ
ПРИСПОСОБЛЕННЫЕ ПРЕОБРАЗОВАНИЯ
Усложнять вещи очень просто, но сделать их простыми
очень сложно.
Второй закон Майера. Азбука Мерфи
Методы цифровой адаптивной фильтрации (такие, как согласованная фильт-
рация, инверсная фильтрация, фильтр Винера и др. [36]) используют для на-
стройки коэффициентов фильтра априорную информацию о сигнале или помехе.
Доказано, что адаптивные фильтры имеют максимальное отношение сигнал/шум
по сравнению с другими типами фильтров. Благодаря этому методы адаптивной
фильтрации находят широкое применение во многих технических приложениях.
Подходящим средством реализации множественных адаптивных фильтров могут
служить быстрые одномерные перестраиваемые преобразования. Наличие быст-
рого алгоритма позволяет использовать данные реализации при обработке сиг-
налов высокой размерности в системах реального времени. Перестраиваемые
спектральные преобразования, настраиваемые к одиночной функции, получили
название приспособленных преобразований [2]. Это название в дальнейшем бу-
дет использовано по отношению к любым перестраиваемым преобразованиям,
не обязательно спектральным. Для неортогональных преобразований настройку
можно выполнить к нескольким опорным функциям. В данном разделе рассмат-
риваются методы настройки приспособленных преобразований, основанные на
идеях фрактальной фильтрации сигналов на конечных интервалах.
5.1. Фрактальная фильтрация сигналов
Хорошо известны трудности, встречающиеся при обработке сигналов с час-
тотно-локальными свойствами. Примером являются сигналы, отражающие дина-
мику турбулентных потоков, порожденных нелинейно взаимодействующими
процессами в широких диапазонах пространственных частот и временных лока-
лизаций. Для анализа подобных сигналов в настоящее время широко используется
вейвлет-преобразование, поскольку его элементы хорошо локализованы и обла-
дают подвижным частотно-временным окном [37]. В основе вейвлет-анализа ле-
жит представление сигналов в виде суперпозиции масштабных преобразований и
сдвигов образующего импульса. Самоподобие вейвлет-функций при масштабных
преобразованиях является характерным свойством фрактальных последователь-
ностей, поэтому вейвлет-преобразование можно считать одним из представителей
фрактальных методов обработки данных. Принцип самоподобия можно также ис-
пользовать при построении фрактальных фильтров. В обобщенном представлении
фильтрация - это операция в пространстве сигналов, реализующая проекцию сиг-
108
нала, в сигнальное пространство меньшей размерности. Цель фрактальной фильт-
рации заключается в том, чтобы выявить пространственно распределенные свой-
ства изучаемого объекта в кратных временных масштабах.
Дискретный фрактальный фильтр. Рассмотрим сигнал, определенный
функцией /(?/), заданной на дискретном интервале длиной N = РоР\ рк_[
Представим аргумент функции в позиционной многоосновной системе счисле-
ния с основаниями р$, р\,..., /?к_i. Формулы перехода, как известно, имеют вид
и = {ик_хик_2 ... и0 ) = ик-1Рк-2Рк-3 • • • Р0 + г/к-2/’к-3/’к-4 • • • Рй + • • • + ЩРй + "0>
где щ е [0,1,...,/>г- -1] - разрядные переменные. В результате данного преобразо-
вания сигнал представляется как многомерная функция f (ик-\ик_2 ...uq}. Каждый
аргумент функции определяет некоторый масштабный срез сигнала. Зафиксируем
все аргументы функции, кроме ит. Варьируя свободный аргумент ит, получим
выборку Sm (с числом элементов рт )- Фрактальным фильтром масштабного
уровня т будем называть произвольный функционал определенный на
выборке Sm. Операцию фрактальной фильтрации можно записать в виде
./out (wk-1wk-2 • • • ит+\ит-\ • — F (,/inp (wK-lwK-2 • • • UQ )) •
um
Если m - 0, то фильтр будем называть фильтром нижних фрактальностей, такой
фильтр генерализует сигнал, сглаживая мелкие детали. При т - к -1 фильтр на-
зовем фильтром верхних фрактальностей, такой фильтр сохраняет детали и ни-
велирует трендовые изменения. Фильтр, для которого 0 < т < к -1, можно на-
звать препарирующим. Фрактальный фильтр выполняет проекцию функцио-
нального пространства размерности N в подпространство размерности N/рт ,
однако результат фильтрации удобно представлять на исходном интервале
U = [0,1,..., N -1]. Это можно сделать, положив равными значения выходной
функции в точках интервала, различающихся только по значению аргумента ит.
Полученная функция может быть вновь подвержена фрактальной фильтрации в
некоторой частотной локальности п^т. Последовательная фрактальная фильт-
рация реализует принцип иерархической кратномасштабной обработки данных.
Типы дискретных фрактальных фильтров.
1. Линейные фильтры — могут быть реализованы произвольными линейны-
ми функционалами. Примерами могут служить следующие типы:
• фильтр средних
./out (wk-1wk-2 • • • ит+\ит-\ ^2./inp (wk-1wk-2 • • • u0 } ’
Pm um
109
• унарный фильтр
/out (wk-1z/k-2 • • • l,m+\l,m-\ ~ /inp (wk-1zzk-2 • • • um+Pmum—I • • • ио)’ hn ~ const •
2. Нелинейные фильтры. Нелинейный функционал можно задать в алго-
ритмическом или аналитическом виде. Примером алгоритмически заданных
функционалов являются ранговые фильтры. При ранговой фильтрации выборка
ранжируется. Поскольку длина выборки равна рт, то число возможных рангов
не превышает рт. Значением функционала является выборочное значение, со-
ответствующее рангу г < рт. Конкретными примерами могут служить ранговые
фильтры максимума и минимума и медианный фильтр:
/out (wk-1wk-2 • • - ит+\ит-\ — min /jnp (wK-lwK-2 • • • (z — 0)>
um
/out (wk-1wk-2 • • - um+\um-\— max /jnp 1wk—2 • • • (,r ~ Pm ) ’
um
/out (wk-1wk-2 • • • um+\um-\ = median (/jnp (WK-lWK-2 •••zzo))-
Примером нелинейных фильтров с аналитически заданными функционала-
ми являются нормирующие фильтры, для которых функционал определяется той
или иной векторной нормой. Конкретными примерами могут служить следую-
щие типы:
• фильтр с метрикой Евклида
/out (wk-1wk-2 • • ,zz7n+lww-l • • • wo) — /^2/inp (wk-1wk-2 • • • wo) »
• фильтр с метрикой Хэмминга
/out (wk-1wk-2 • llm+\l,m-\ uo) ^2 /inp (wk-1wk-2 ••
um
3. Многомерные фрактальные фильтры. Многомерные фильтры реализу-
ются функционалами, заданными на многомерной выборке. Например, двумер-
ный фрактальный фильтр в общем случае может быть определен в виде
/out (wk-1wk-2 •••Ww+lww-l •••zzo) = F (/inp (wk-1wk-2 ”>ио))-
um >un
Такой фильтр выполняет проекцию сигнала из пространства размерности N в
пространство размерности .
Фрактальный фильтр непрерывных сигналов. Пусть сигнал f (и) опре-
делен на непрерывном интервале t/ = [0,1). Зададим множество оснований
Pl, Р2, Рз,... (в общем случае бесконечное) и представим аргумент функции в
позиционной системе счисления в виде бесконечной дроби:
но
U - (О, щи2и3 1 + U2P2 1 + //3/?3 1Р2 1 Р\ 1 + • • • •
Непрерывный фрактальный фильтр масштабного уровня т определяется функ-
ционалом
/out wlw2 • • • ит-\ит+\ • • •) ~ F (/inp wlw2 • • • ит •••))•
ит
В частности, фильтр верхних фрактальностей будет иметь вид
/out (°, W2«3W4 • • •) = F(/inp (0, мдаз •••))>
Ml
а многомерный фильтр нижних фрактальностей можно задать функционалом:
/out (°, W1W2W3W4 •••«/»)- F (/inp ^1^2^3 • • •)) •
ит+1’ит+2,...
Для непрерывных фильтров выходной сигнал фильтра автоматически масштаби-
руется в исходный интервал £/ = [0,1). Рассмотренные методы фрактальной
фильтрации являются адекватным инструментом кратномасштабного анализа
сложных сигналов.
5.2. Программная реализация фрактальных фильтров
Фрагмент 5.1 представляет программную реализацию медианного фрак-
тального фильтра. Перед выполнением фильтрации функция-строка f преобра-
зуется в многомерный массив Fjnp, структура которого соответствует поразряд-
ному представлению аргумента. Для преобразования используется встроенная
функция MatLab: Finp=reshape(f,G);
function [f1,f2]=Fractal_median_filter(f,G,m)
% фрактальная медианная фильтрация функций
% f - функция (вектор-строка) на входе
% m - масштабный уровень фильтра
% fl - функция на выходе фильтра с редуцированной размерностью
% f2 - функция на выходе фильтра с размерностью функции f
% G - основания системы счисления для аргумента функции f
% © А.Ю.Дорогов
k=length(G); %число масштабных уровней
M=prod(G); % диапазон изменения аргумента
if k==l % проверка на вырожденность структуры
Finp=f;
else
Finp=reshape(f(1:M),G);%кратно-масштабное представление функции
end
Fout=filtr_median(Finp,m); ^фрактальная фильтрация
fl=Fout(:)'; ^переход к векторному представлению функции
avs-setdiff([1:k],m); ^множество варьируемых разрядных переменных
for V=1:M % восстановление интервала определения функции
Ill
[v{1:к}]=ind2sub(G,V); ^поразрядное представление номера V
Fl(v{1:к})=Fout(v{avs}); ^расширение шкалы отсчетов
end
f2=Fl(:)'; %переход к векторному представлению функции
о ___________________________________________________________________
function Fout-filtr_median(Finp,m)
%.функция медианной фрактальной фильтрации
%Finp - входная функция в многомерной форме
%Fout - выходная функция в многомерной форме
% ш - масштабный уровень фильтра
% © А.Ю.Дорогов
Gt=size(Finp);
if Gt(1)==1; % проверка на вырожденность структуры
A=median(Finp,2); % обработка строки
else
A=median(Finp,m); % фрактальная фильтрация на масштабном уровне ш
end
Fout=squeeze(А);
Фрагмент 5.1. Программная реализация дискретного медианного фрактального фильтра
Аргумент т задает масштабный уровень фильтра. Медианная фрактальная
фильтрация реализуется стандартной MatLab-функцией medianQ. На рис. 5.1 по-
казаны результаты фрактальной фильтрации линейно изменяющейся дискретной
функции, заданной на интервале [1,16], со структурой масштабного представле-
Рис. 5.1. Фрактальная фильтрация линейной дискретной функции:
а - реакция фильтра нижних фрактальностей; б - реакция фильтра верхних фрактальностей
При четном числе элементов вариационного ряда функция median() вычис-
ляет среднее между парой серединных элементов вариационного ряда. Поэтому
при данной структуре масштабного представления медианный фильтр работает
как линейный фрактальный фильтр средних.
112
5.3. Приспособленное преобразование в арифметическом пространстве
Столбцы матрицы преобразования рассматриваются как векторы много-
мерного арифметического пространства. Дискретная функция, заданная на ко-
нечном интервале, в данном контексте отождествляется с понятием арифметиче-
ского вектора. Линейное преобразование будем называть приспособленным к
функции, если один из столбцов матрицы преобразования совпадает с заданной
функцией. Подобным образом можно определить приспособленность к несколь-
ким функциям. В том случае, когда используется правое умножение вектора на
матрицу, приспособление выполняется к строкам матрицы. Идея метода на-
стройки перестраиваемого преобразования к одной или нескольким функциям
основана на представлении каждой функции заданного набора в виде фракталь-
ного произведения, отвечающего мультипликативной форме представления эле-
ментов матрицы быстрого преобразования.
5.3.1. Мультипликативная декомпозиция функций
Задача мультипликативной декомпозиции для одиночной функции имеет не-
однозначное решение, которое определяется выбранным правилом формирования
сомножителей. Подчиним это правило задаче настройки перестраиваемого преоб-
разования с заданной топологией. Рассмотрим для определенности перестраивае-
мое преобразование в топологии Кули-Тьюки с прореживанием по времени. Эле-
менты матрицы преобразования представляются через элементы ядер в виде
h(U,V) = w^(uQ, v0)w11(z/1,v1)...wX1i(«K-bvK-l) > (5Л)
i i i
где im = (wK-lwk-2 • • • ит+\vm-\vm-2 • • • v0) “ номер ядра в слое т. Основания раз-
рядных переменных заданы табличными соотношениями:
'и0 Щ uk_^ "v0 Vi ... vk-C
<Ро Р\ Рк-\/ v£o gi ••• gjt-iy
Размерность преобразования по входу 7V = р$р\ ...рк-\, а по выходу
M = g0,g1,...,gK_1.
Пусть на дискретном интервале длиной N = р$р\ •••/’к-1 задана веществен-
ная функция f (и). Ставится задача найти представление функции в виде произ-
ведения
,/(z/)-cp.o(z/o)(P,i W.-.qbK-iO/K-l)- (5-2)
Правило выбора образующих функций для каждого шага мультипликативного раз-
ложения подчиним топологии преобразования, положив im = ^мк_1г/к_2 • • • um+i) •
113
Для нахождения фрактального разложения (5.2) введем последовательность
вспомогательных функций /д, /1,../к_|, определив их рекуррентным правилом:
/Ь (wk-1wk-2 • • • wo) = /1(мк-1мк-2-"М1)ф,0 (wo)>
f\ (wk-1wk-2 • • • u\) — fl (wk-1wk-2 • • -l,2 (W1)’
/к-2 (wk-1wk-2) — /к-1 (“к-^к-г (wk-2)’
/к-l (wk- 1) = Ф/к-1 (wk-1 ) •
Из этих соотношений непосредственно следует:
<Р..,Ы= И = ОЛ к_2 (54)
1 Jm+\\UK.-\UK.—2---um+\/
/i(«) Л(«)
Рис. 5.2. Схемы расчета аппроксимирующих компонент
Анализируя (5.3) нетрудно заметить, что последовательность вспомога-
тельных функций представляет собой выходы цепочки фильтров нижних фрак-
тальностей (рис. 5.2). Для построения вспомогательных функций можно исполь-
зовать любой метод фрактальной фильтрации. Это означает, что задача построе-
ния приспособленного преобразования имеет множество возможных решений.
Положительным аспектом множественности является простое разрешение про-
блемы цензурирования нулей в выражении (5.4).
5.3.2. Цензурирование нулей
При алгоритмической реализации фрактального разложения необходимо
проверять значение знаменателя в выражении (5.4) на равенство нулю. Благода-
ря наличию множества возможных решений, нулевое значение знаменателя все-
гда можно заменить на любое удобное ненулевое (например, единичное) откор-
ректировав при этом очередной сомножитель фрактального разложения. Это ве-
дет к локальному изменению фрактального фильтра, но не влияет на результат
мультипликативной аппроксимации. Менее очевидно, что необходимо также
проверять на нуль значения числителя. Если для всех значений разрядной пере-
менной ит числитель в выражении (5.4) равен нулю, то равен нулю и фракталь-
114
ный множитель что препятствует построению быстрых приспособ-
ленных преобразований с невырожденными ядрами.
function [Fout,Factor]=Get_Fractal_Factor(Finp,Filter,m)
% получить набор нормированных компонентов одного множителя фрак-
тального разложения функции
% Finp - функция в многомерном представлении
% Filter - указатель на функцию фрактальной фильтрации
% m - масштабный уровень фильтра
% Fout - выходная функция (выход фрактального фильтра)
% Factor - набор компонент фрактального разложения функции (многомерный
% массив подобный Finp
% © А.Ю.Дорогов
G=size(Finp);
ind=f ind (G'--l) ;
G=G(ind) ;
k=length(G);
Fout=feval(Filter,Finp,m); ^фрактальная фильтрация
avs=setdiff([1:k],m); ^множество варьируемых разрядных переменных
Ga=G(avs);
for V=l:prod(Ga)
if ~isempty(avs)
[v{avs}]-ind2sub(Ga,V); %поразрядное представление номера V
end
v {m} = ' : ' ;
f-squeeze(Finp(v{1:k)));
nrm-norm(f); %норма фрактального множителя
if abs(Fout(v{avs}))<10e-4 & nrm<10e-4 ^цензурирование нулей
f-zeros(size (f));
f(1)=1;
elseif abs(Fout(v{avs}))<10e-4
if -isempty(avs)
Fout(v{avs))=1;
else
Fout-1;
end
else
f=f/Fout(v{avs});
end
Factor(v{1:k})-f; %формирование компоненты фрактального множителя
% Factor(v{1:k})=f/norm(f); ^нормирование фрактального множителя
% Fout(v{avs})=Fout(v{avs})*norm (f); %коррекция результата фильтрации
end
Фрагмент 5.2. Алгоритм мультипликативной декомпозиции функции
Фрагмент 5.2 содержит алгоритм мультипликативной декомпозиции произ-
вольной функции. В приведенном фрагменте знаменатель проверяется по абсо-
лютному значению, а функция числителя - по евклидовой норме. Если значение
знаменателя и норма числителя близки к нулю, то фрактальный множитель вы-
115
бирается в виде ср(м) = (1 О 0 ...0). Знаменатель при этом не корректируется. Ес-
ли норма числителя отлична от нуля, а знаменатель близок к нулю, то значение
знаменателя принимается равным единице. Фрактальный множитель в этом слу-
чае совпадает с функцией числителя.
5.3.3. Настройка приспособленного преобразования
Ответственность ядер. Столбец с номером v - (vk-1vk-2 матрицы
преобразования будет совпадать с заданной функцией, если элементы ядер сов-
падают с сомножителями фрактального разложения (5.2). Значения разрядных
переменных {гг j номера столбца размещения опорной функции и разрядные пе-
ременные {г/г-} (аргументы функции в многомерной форме) через выражение для
Л определяют в слое X подмножества ядер, ответственных за формирование
функции, остальные ядра преобразования в формировании функции не участву-
ют. Количество ответственных ядер зависит от номера слоя. Например, для то-
пологии Кули-Тьюки с прореживанием по времени номер ядра нулевого слоя
определяется выражением = (z/K-iwK-2-и1) и не зависит от переменных v.
Это означает, что каждое ядро нулевого слоя является ответственным за форми-
рование функции. Ядро нулевого слоя содержит gQ столбцов, поэтому приспо-
собить преобразование можно не более чем к gg функциям одновременно. При
приспособлении точно к go функциям одновременно все ядра нулевого слоя бу-
дут одинаковы. Для последнего слоя (zzz = к 1) в той же топологии номер от-
ветственного ядра определяется выражением zK 1 = (vk-Ivk-2 •••vp), и эт0 един-
ственное ответственное ядро в слое.
Согласование опорных функций с терминальным полем быстрого пре-
образования. При мультипликативной декомпозиции функции по алгоритму,
представленному в 5.3.1, преобразование аргумента опорной функции к много-
разрядному представлению реализуется по правилу
U = U = {ик_\и к_2.. -Wp^.
Это правило согласовано с топологией Кули-Тьюки с прореживанием по време-
ни, следует из выражения (1.23) при X = 0 и в дальнейшем считается фиксиро-
ванным. При выполнении настройки опорные функции размещаются вдоль
столбцов матрицы перестраиваемого преобразования, и аргументом для них яв-
ляется номер строки. Для быстрого перестраиваемого преобразования представ-
ление номера строки в поразрядной форме зависит от выбранной топологии, а
точнее, от топологии входного терминального поля. Например, для топологии
Гуда из (1.21) имеем
116
U = UG = (uqU^ • ••“к-2ик-1) •
Это представление отличается от принятого правила мультипликативной
декомпозиции. Несогласованность топологических слов устраняется предвари-
тельной перестановкой отсчетов функции. Для выполнения приспособления по
строкам подобное согласование необходимо для выходного терминального поля.
Фрагмент 5.3 представляет подпрограммы генерации перестановок.
function Q=InPermutation(Р, G,Topology)
%построить перестановку для входного терминального поля
% Q - перестановка - одномерный массив: индекс элемента- вход
% значение элемента- выход перестановки
N=prod(Р);
n=length(Р);
т=1 ;
[v{1:n}]=ind2sub(G, 1)
for U=1:N
[u{1:n}]=ind2 sub(Р,U);
[Zm,Um,Vm]=Get_Kernel_Receptor_Axon_Value(и,v,P,G,m,Topology);
Q(U)=Um;
end
function Q=OutPermutation(P,G,Topology)
^построить перестановку для выходного терминального поля
% Q - перестановка - одномерный массив: индекс элемента— вход
% значение элемента— выход перестановки
M=prod(G);
n=length(G);
m=n;
[u{1:n}]=ind2sub(P, 1)
for V=1:M
[v{ 1:n}]-ind2sub(G, V) ;
[Zm,Um,Vm]=Get_Kernel_Receptor_Axon_Value(u,v,P,G,m,Topology);
Q(V)=Vm;
end
Фрагмент 5.3. Подпрограммы генерации перестановок
Размещение опорных функций. Опорные функции могут быть произвольно
размещены по gQ столбцам преобразования. Удобным является вариант, когда функ-
ции расположены компактно, начиная с некоторого столбца х = (хк-1хк-2 • • • xq) ,
тогда их размещение определяется правилом х - (хк_[Хк_2.. .XjVo) ’ гДе v0 варь-
ируется в интервале [0, g0 -1].
Для слоя 1 и последующих слоев ответственные ядра будут заполнены час-
тично. На рис. 5.3 показано факторизованное представление быстрого преобра-
117
зования в топологии Кули-Тьюки, приспособленного к двум функциям, разме-
щенным в двух первых столбцах матрицы преобразования.
ц2 »|
О О
”о’""о
0~~~1
~0~”1
Т’"о
Т’"о
_____
_____
*2
В
»0
О
Т
о”
Т
о”
Т
о”
Т
О I О I О I О I 1 I 1 I 1 I 1 О I О I О I О I 1 I 1 I 1 I 1
о Т о I 1 I 11 о I о I 1 Т1
° ! ° I ° I ° 11 ! 1 11 11
о
о
о
о
о
1
Рис. 5.3. Свободные параметры быстрого преобразования, приспособленного к двум функциям
Символом «*» выделены элементы ядер, которые выбираются произвольно
(отсчет слоев ведется слева направо).
Незадействованные степени свободы можно использовать, следуя различ-
ным стратегиям:
1. Если требуется обеспечить максимальную скорость вычисления преобра-
зования, то целесообразно заполнить свободные элементы комбинациями нулей
и единиц, поскольку в этом случае операции умножения вырождаются в опера-
ции присвоения.
2. Если требуется упростить алгоритм настройки преобразования, то можно
использовать копирование ядер в пределах слоя.
3. Если требуется более глубокое приспособление к набору функций, то
можно расширить опорную базу приспособления за счет использования фрак-
тально-фильтрованных образов дополнительных функций.
Рассмотрим алгоритм подобного множественного приспособления более
детально. Пусть F - система из М = gpgj...gK-l функций, заданных на интер-
вале длиной N = PqP\ ,../2к-1 • Будем использовать перестраиваемое преобразо-
вание размерности N хМ в топологии Кули-Тьюки с прореживанием по време-
ни (см. 1.5). Выберем gp функций в системе F и зарезервируем за ними ком-
пактно размещенные столбцы преобразования с номерами х = (хк-1хк-2 • • • xi vo) »
где Vq варьируется в интервале [0, gp -1]. Множественная настройка перестраи-
ваемого преобразования выполняется последовательной фрактальной фильтра-
цией всего массива опорных функций одновременно. При этом на каждом шаге
строится фрактально-фильтрованное множество функций и определяются фрак-
118
тальные множители, которые используются для заполнения ядер преобразования
очередного слоя. На последовательности итерационных шагов компактно раз-
мещенные множества приспособленных столбцов вложены друг в друга и
окаймляют базовый столбец х = (xK_ixK_2 • • -хо)• Правила формирования окайм-
ляющей последовательности в зависимости от номера итерации (номера слоя)
показаны в таблице. Во втором столбце таблицы разрядные переменные хг фик-
сированы, а переменные гг варьируются. В третьем столбце представлено коли-
чество функций в опорных множествах, которое определяется основаниями ва-
рьируемых переменных г,-.
Алгоритм выбора опорных функций
Номер слоя т Позиции функций опорного множества Число функций опорного множества Номера нейронных ядер в слое
0 (ak-1ak-2--a1vo) ёо (мк-1мк-2 ---«l)
1 (ак-1ак-2 • • a2v1vo) gigo (mk-1mk-2---m2vo)
2 (ак-1ак-2 • • a3v2v1vo) g2glgQ (мк-1мк-2 • •-M3vlvo)
к-2 (ак-Ьк-2 • • £к-2---£1£о (mk-1vk-3---v1vo)
к-1 (vk-1vk-2 • £к-1”£1£о (vK_2---ViV0)
Четвертый столбец определяет правило вычисления номера ядра в слое и
вместе с переменной ядра ит декларирует набор учитываемых аргументов мг в
функциях опорных множеств. Так для т = 0 декларируемый набор
(mk_1«k_2пополняется переменной Uq, входящей в аргументы ядра
wo(wO,vo)’ т- е- набор аргументов является полным, а это означает, что преобра-
зование будет точно приспособлено к gQ функциям, окаймляющим опорный
столбец. Для т = 1 декларируются аргументы (^к-р\--2 следовательно,
преобразование будет приспособлено к функциям, фрактально-фильтрованным
по аргументу Uq. Количество таких функций будет равно gigo — go- Позиции
функций определяются содержимым столбца 2 таблицы.
На каждом шаге итерационной процедуры количество переменных щ
уменьшается на единицу за счет фрактальной фильтрации, а объем опорного
множества увеличивается. Для т = к-1 останется только один аргумент мк_1,
относящийся к аргументам ядра wK-l (wK-b гк-1) • На каждом шаге итерацион-
ной процедуры значения элементов ядра находят из соотношений (5.4). Фраг-
мент 5.4 представляет функцию построения топологической модели для тополо-
гии, заданной указателем Topology.
119
function [u,v,Um,Vm,varargout]= invTopology(P, G,m,Z,um,vm,Topology)
%Преобразование номера ядра в многоразрядное представление в слое m
для ^топологии, заданной указателем на функцию Topology
%u,v - многоразрядные представления компонент топологических слов (с
%разрядами u{m) и v{m)
%P,G - основания разрядных переменных для представлений u, V
% m - номер слоя % Um - номер рецептора в слое m % Vm - номер аксона в слое m % Vi - подмножество индексов переменных V в многоразрядном номере ядра
% Ui - подмножество индексов переменных u в многоразрядном номере ядра
% © А.Ю.Дорогов n=length(Р); [Tu,Tv,Тz,Ui,Vi]=feval(Topology, P, G, m) [ z,u,v]-BuildTopologyWord(P,G, Z, Tz) ; f
u {m)-um;
v {m)-vm;
[Zm,Um,Vm]=Get Kernel Receptor_Axon_Value(u,v,P,G,m,Topology);
varargout{1}=Ui;
varargout{2}=Vi;
О —————————————————————————————————————————————————————————————————
function [Zm,Um,Vm]-Get_Kernel_Receptor_Axon_Value(u,v,P,G,m,Topology)
^Получить номер ядра и глобальные номера рецепторов и аксонов в слое m
% TopologyEntity - указатель на функцию топологии
%u,v - номера строк и столбцов в многоосновной системе счисления
%P,G - основания разрядных переменных для представлений u,v
% m - номер слоя
% Zm - номер ядра, соответствующий переменным u,v
% Um - номер рецептора в слое m
% Vm - номер аксона в слое m
[Tu,Tv,Tz]=feval(Topology,P,G,m);
Um=GetTopologyWord_Value(u,v,P, G,Tu) ;
Vm=GetTopologyWord_Value(u,v,P,G,Tv);
Zm=GetTopologyWord_Value(u,v,P,G,Tz);
Фрагмент 5.4. Функция преобразования номера ядра в многоразрядную форму
В результате выполнения алгоритма последовательной настройки все ядра
преобразования будут заполнены полностью. Перед выполнением алгоритма функ-
ции опорной системы упорядочиваются по требуемой глубине приспособления.
Фрагмент 5.5 содержит программную реализацию алгоритма множествен-
ного приспособления.
function K-Create_fast transform kernelsK2(S,Р,G,X,Filter,Topology)
%Функция строит набор ядер быстрого преобразования, приспособленного к
%базовому столбцу с номером X матрицы S и с заполнением неопреде-
ленных ядер
% матрицами, приспособленными к компонентам фрактально-фильтрован-
ных столбцов % ближайшего окружения
% S - матрица функций, функции размещены вдоль столбцов
120
% P,G - матрицы оснований системы счисления для строк и столбцов
% X - номер базового столбца
% Filter - указатель на функцию фрактального фильтра
% Topology - указатель на функцию топологической модели
% K{m}{z}(u,v) - массив ядер, m -номер слоя, z- номер ядра, (u,v)-
индексы ^элементов ядра
% © А.Ю.Дорогов
k=length(Р); %число слоев быстрого преобразования
N=prod(P); “«число строк матрицы S
M=prod(G); %число столбцов матрицы S
Q=InPermutation(Р,G,Topology); %построить перестановку для терми-
нального %рецепторного поля
S-S(Q, : ) ; %перестановка строк матрицы
[х{1:к}]=ind2sub(G,X);% номер базового столбца в поразрядном пред-
ставлении
s=l; %масштабный уровень фильтра
for V=1:М
Finp{V}-reshape(S(1:N,V),P); ^многомерное представление опор-
ных функций
end
for m=l:k
for V=1:M
[Fout,Factor{V}]-Get Fractal Factor(Finp{V),Filter,s); ^фрактальная
фильтрация
Finp{V}=Fout;
end
L-Get_KernelAmount(P,G,m); % число ядер в слое
у=х;
um=1; vm-1 ;
for Z=1:L
[u,v,Um,Vm,iU,iV]= invTopology(P,G,m,Z,um,vm,Topology);
y(iV)=v(iV) ;
for vm-l:G(m)
y{m)-vm;
V = sub2ind(G,у{1:end});
if m<k
Wc(:,vm)-Factor{V)(:,u{m+l:k)); Топорная функция ядра
else % коррекция последнего слоя
Wc (:, vm)-Factor {V}(:, u {m+1: к })*Finp {V}; «-опорная функ-
ция % ядра
end
end
K{m){Z)=Wc;
end
end
Фрагмент 5.5. Алгоритм множественного приспособления быстрого преобразования
к фрактально-фильтрованным образам
121
Рис. 5.4. Функции столбцов матрицы быстрого преобразования приспособленного
к первым двум функциям-столбцам опорной матрицы (столбцы развернуты по горизонтали)
На рис. 5.4 показан пример работы алгоритма настройки преобразования
для опорной матрицы, все столбцы которой, кроме второго, совпадают и явля-
ются линейно изменяющейся функцией, а второй столбец представляет собой
ступенчатую функцию (рис. 5.4, а). Результатом является быстрое преобразова-
ние, приспособленное к двум первым функциям опорной матрицы (рис. 5.4, б).
5.4. Приспособленные преобразования в минимаксном пространстве
Преимуществами использования приспособленных преобразований в ми-
нимаксном пространстве являются, во-первых, высокая вычислительная эффек-
тивность (поскольку логические операции выполняются существенно быстрее
арифметических) и, во-вторых, отсутствие необходимости цензурирования ну-
лей на выходе фрактальных фильтров, так как при вычислении фрактальных
компонент функции не используется операция деления. Частным случаем мини-
максного пространства является нечеткое пространство, для которого значения
элементов ограничены диапазоном [0,1].
Геометрия минимаксного пространства определяется операциями min и
max, действующими на множестве вещественных чисел. Пусть f(u) — произ-
вольная вещественная функция, заданная на интервале длиной N = р$Р\---Рк-\ -
В минимаксном пространстве область возможных значений функции принадле-
жит диапазону (-со, + ос). С целью упрощения записи для операций min и max
далее будем использовать обозначения «°» и «Ф » соответственно, рассматривая
их как логическое умножение и логическое сложение. Ставится задача постро-
ить быстрое преобразование в минимаксном пространстве, приспособленное к
заданной функции. Будем использовать для этой цели быстрое перестраиваемое
преобразование, в котором арифметические операции сложения и умножения
вещественных чисел заменены соответствующими логическими операциями. За-
дача сводится к нахождению для функции f (и) логического произведения
122
/(м) = /(мк_1мк_2...мо) = Фг-о («о)°ф-1 («1)°...°ф.к 1 («к-1),
где 1т = («к-1«к-2-"«от-г1) _ позиционный номер функции-компоненты мас-
штабного уровня т (при синтезе в топологии Кули-Тьюки с прореживанием по
времени). Функции-сомножители можно определить, рекуррентно раскладывая
исходную функцию в последовательность логических произведений:
У («)=/о («к-1«к-2 ••-«о),
/о («к-1 «к-2 •• • «О ) = /1 («к-1 «к-2 • • • «I) ° Ф,0 («О ),
/1 («к-1«к-2 •• •«! ) =/2 («к-1«к-2 ••-«2)° Ф.1 («1),
/к-2 («к-1 «к-2 ) — /к—1 («к-1) ° Ф^-2 (wk-2 ) ’
/к-1 («к-1) = Ф/К”1 (wk-1 )•
Существует определенная свобода в выборе вспомогательных функций /],.... /к_|.
Оставаясь в рамках минимаксного пространства, будем использовать для построе-
ния вспомогательных функций ранговый фрактальный фильтр следующего вида:
fm+\ («к-1«к-2 • • • «от+1) — тах(/от («к-1«к-2 • "«от)) •
ит
В этом случае из (5.5) следует, что функции-компоненты будут определяться
выражением
фу/и («от) — fm+\ («к-1«к-2 • "«от+1) ° /от («к-1«к-2 • • • «от) •
Фрагмент представляет MatLab-функцию построения компонент одного
множителя логического произведения. Функция Filter в данном случае является
фрактальным фильтром максимума.
function [Fout,Factor]=Get_Fractal FactorFuzzy(Finp,Filter,m)
% Получить набор нормированных компонент одного множителя фракталь-
ного разложения функции в минимаксном пространстве
% Finp - функция в многомерном представлении
% Filter - указатель на функцию фрактальной фильтрации
% m - масштабный уровень фильтра
% Fout - выходная функция (выход фрактального фильтра)
% Factor - набор компонент фрактального разложения функции (многомерный
% массив, подобный Finp
% © А.Ю.Дорогов
G-size(Finp) ;
ind=find(G~=l) ;
G=G(ind);
k=length(G) ;
Fout=feval(Filter,Finp,m); ^фрактальная фильтрация
avs=setdiff([1:k],m); ^множество варьируемых разрядных переменных
123
Ga-G(avs);
for V=l:prod(Ga)
if -isempty(avs)
[v{avs}]-ind2sub(Ga,V); ^поразрядное представление номера V
end
v{m}-':';
f=min(Finp(v{1:k)),Fout(v{avs}));
Factor(v{1:к})—f; %формирование компоненты фрактального множителя
end
Фрагмент 5.6. Функция построения фрактального множителя в минимаксном пространстве
Дальнейшая процедура настройки преобразования не отличается от анало-
гичной процедуры арифметического пространства, за исключением того, что
операции арифметического умножения заменяются операциями логического ум-
ножения. Преобразование, приспособленное к одной функции, имеет свободные
элементы ядер, которые могут быть заполнены при добавлении опорных функ-
ций, подобно тому как это было сделано для преобразований в арифметическом
пространстве. На рис. 5.5 показаны функции столбцов (развернутые по горизон-
тали) опорной матрицы и приспособленного преобразования в минимаксном
пространстве, построенного для того же набора опорных функций, который ис-
пользовался в примере синтеза преобразования в арифметическом пространстве.
1
о
-1
1
0.5
0
г
-1
1
о
-1
1
о
-1
11
о
-1
-1
1
о
-1
Рис. 5.5. Приспособление в минимаксном пространстве: а - функции-столбцы опорной
матрицы; б - функции-столбцы приспособленного преобразования в минимаксном пространстве
При обработке данных с помощью быстрого преобразования выполняются
операции «°» и «Ф». Если входной образ совпадает с опорной функцией при-
способленного преобразования, то на соответствующем выходе сети будет полу-
чено максимальное значение.
В минимаксном пространстве операции « °» и «Ф » полностью симметрич-
ны, поэтому существует двойственная форма фрактального представления функ-
ций, которая может быть задана выражениями:
124
/(«) =/(«k-^ic-2 •••“()) = Ф,о(«о)@Ф,1 (И1)@...@ф.к 1 («к—1),
fm+\ («к-1 «к-2 • • • ит+\) — П1*П (.//и («к-1 «к-2 • • • ит))’
ит
Фг-/и («w ) — fm+\ («к-1«к-2 • • • um+\) ® fm («к-l wk-2 • • •11 ni ) •
5.5. Трансформирующее приспособленное преобразование
Критерий настройки быстрых трансформирующих преобразований совпа-
дает с критерием обучения нейронных сетей прямого распространения. Априор-
но заданным является обучающее множество, состоящее из пар входных и вы-
ходных векторов. Ставится задача найти коэффициенты ядер, при которых
входной вектор обучающего множества трансформируется в соответствующий
ему выходной вектор. Если х и у - векторы-строки одной пары обучающего
множества, то преобразование Н выполняет трансформацию хН = у. Рассмот-
рим аналитические методы точной настройки быстрых преобразований на огра-
ниченное число векторов обучающего множества.
Возьмем для определенности перестраиваемое преобразование в топологии
Кули-Тьюки с прореживанием по времени. Элементы матрицы преобразования
выражаются через элементы ядер в виде
h(U,V) = w°0(uQ, г0)Ц («bVi)...^"' («K_|,vK_|) , (5.6)
где im = («к-1«к-2 • • • um+\vm-\vm-2 • • -vo) _ номер ядра в слое т. Основания раз-
рядных переменных заданы табличными соотношениями:
'uq UX ик_^ 'v0 V1 ••• ^К-Г
Р\ Рк-\, ч&0 £1 £к-ь
Размерность преобразования по входу N = РоР\ • ••/’к-1, а по выходу
A/-g0,gi,...,gK-l-
Рассматривая входной вектор х как функцию, заданную на интервале
[О, N -1], выполним ее мультипликативную декомпозицию с правилом выбора
множителей, подчиненным топологии преобразования. В результате получим
x(C/)-x/°0(zz0)xJi («1)...Д^ 1 («к-1),
(5-7)
где lm - («K-i«K-2-"wm+l) • Из анализа выражения для индекса 1т следует, что
сомножители в разложении (5.7) следует формировать с использованием фильт-
z°o W
ра низших фрактальностей, начиная с компонент х
и заканчивая компо-
- к-1
нентои х 1у. .
(«к-1) • Элементы вектора у определяются уравнением
125
y(V) = Yx(U)h(U,V).
U
Подставив сюда выражения (5.6), (5.7) и суммируя поразрядно, получим:
у(Г (w0)w° (w0, Vo)^*1] («1 )иА (wi, Vi)...XxKJ (мк-1>^1 (wK-b VK-1)>
u0 Щ Щ
(5.8)
где 1° =(uK_luK_2...ul), ll =(«K-lwK-2---«2^ •••> /K”2 =wk-1> /КЧ =°,
z° = (ик_хик_2...щ), z1 ={uk_-[uk_2...u2Vq), iK~2 =(«K-lvK-3---vlvob
zK 1 =(vK_2...v1v0).
Представим дискретную функцию y(V) в виде мультипликативной компози-
ции, положив:
у (г) = у0 (v0) у1! (V1)... уК-Д (укЧ). (5.9)
2 Z z.
Сравнивая между собой выражения (5.8) и (5.9) получим:
E\o(wo)w°o(wO^o) = yOo(vo), z°=0,
Z I Z
м0
E4 (wi И (wi ’ и)=у11 (и)’ =п)>
l l z
u\
(5.10)
= = (vw_1Vw_2...V0),
Z^K-'l (Wk-1Hk-1 (мк-ЬМ) = /к.1 (vk-1), -K 1 =(^_2V^_3...V0).
Ml
Анализируя выражение для индекса zm можно сделать вывод, что сомножители
в разложении (5.9) следует формировать с использованием фильтра высших
фрактальностей, начиная с формирования компонент гк~'| (vK-l) и заканчивая
Z
компонентой ,V°o(vo)- Фрагмент 5.7 представляет подпрограммы мультиплика-
Z
тивной декомпозиции векторов обучающего множества.
function [MultFactorX,MultFactorY]=DecompositionSet(X,Y,P,G,Filter)
^Выполнить мультипликативную декомпозицию входных и выходных векто-
ров-строк
% матриц X,Y
% X - входные векторы-строки
126
% Y - выходные векторы-строки
% P,G - размерности ядер
% Filter -указатель на функцию фильтра
% MultFactorX,MultFactorY множители фрактального произведения
% © А.Ю.Дорогов
n=length(Р) ;
N=prod(P); "«число строк в матрице преобразования
M=prod(G); %число столбцов в матрице преобразования
for k=l:N
Finp-reshape(X(k, :) ,P) ;
MultFactorX{k}=MultiplDecomposition(Finp,Filter,'low');
end
for k=l: M
Finp-reshape(Y (k, :),G);
MultFactorY{k}=MultipiDecomposition(Finp,Filter,'high');
end
o,__________ _________________________________________________
”o
function MultFactor=MultiplDecomposition(Finp,Filter,Order)
^построить мультипликативное разложение функции
%Finp - функция в многомерном представлении
% Filter - указатель на функцию фильтра
“Order- 'low' - фрактальный фильтр нижнего порядка, 'high' - фрактальный
%фильтр высшего порядка
G=size(Finp);
n=length(G);
if strcmp(Order,'low')
m=l; % порядок фильтра
for k=l:n
[Fout,MuitFactor{k}]=Get_Fractal_Factor(Finp,Filter,m);
Finp—Fout;
end
MultFactor{n}-MuitFactor{n}*Fout; %коррекция последнего фрак-
тального множителя
elseif strcmp(Order,'high' )
for k-n:-1:1
m-k; % порядок фильтра
[Fout,MuitFactor{k)]=Get_Fractal_Factor(Finp,Filter,m);
Finp-Fout;
end
MultFactor{1}-MultFactor{1}*Fout; %коррекция последнего фрактально-
го множителя
end
Фрагмент 5.7. Подпрограммы мультипликативного разложения векторов обучающих примеров
Выражения (5.10) представляют собой неполные системы линейных уравнений
относительно элементов ядер. Выполняя по вышеприведенной схеме декомпозицию
дополнительных пар векторов х, у обучающего множества, данные системы урав-
нений можно пополнить до образования квадратных матриц для х -сомножителей.
Выражения (5.10) в этом случае преобразуются в систему матричных уравнений:
127
0 мл0
/° /°
К°
[ О’
Z
Л
1 ’
Z
К-1 И/К-1 - Ук-1
,к-Г -к-1 ,к-Г
( I -
Если матрица X™t невырожденна и система уравнений X™t W'"t = Ymm совмест-
на, то матрица ядра может быть получена из выражения:
С
I
гТП
zm
где (Аj - обратная матрица, тп = 0,1,
., к -1. По теореме Кронекера-Капелли
[38] система линейных алгебраических уравнений совместна тогда и только тогда,
когда ранг ее основной матрицы равен рангу ее расширенной матрицы, причем сис-
тема имеет единственное решение, если ранг равен числу неизвестных, и бесконеч-
ное множество решений, если ранг меньше числа неизвестных.
Прежде чем использовать положения теоремы, рассмотрим матричное
уравнение X™W™ =Ymm
I l z
более детально. Для упрощения записи опустим верх-
ние и нижние индексы и раскроем матрицы W и Y:
w00 WO1 • W0,g-l 3’00 Toi 30,g-l '
w10 Wn • • 4g-l = 31 о У11 • Tl.g-l
Лр-1,0 VV>-1,1 w7?-l,g-ly ^Tr-1,0 Уг-1,1 • Tr-l,g-ly
Число строк матрицы Y равно числу строк матрицы X и определяется
объемом г обучающего множества. Каждому столбцу матрицы Y соответствует
система уравнений, решение которой позволяет получить один столбец матрицы
ядра W. Теорема Кронекера-Капелли применяется к каждой из этих систем
уравнений. Число неизвестных для каждой системы равно р. Критерием совме-
стности является выполнение для всех i условий:
rang(y) - rang(|X yj),
где уг- - z -й столбец матрицы Y.
Если г = рм матрица X невырожденна, то каждая система совместна и
имеет единственное решение, определяемое по правилу Крамера. Если при г = р
матрица X вырожденна, но условия совместности выполнены, то существует
128
бесконечное множество решений, любое из которых допустимо. При выполне-
нии условий совместности бесконечное множество решений существует также,
если г < р .
Если г> р, то система уравнений переопределена. Ранг матрицы X не
может быть больше р, поскольку он ограничен ее минимальным размером. Сис-
тема уравнений будет совместна, когда ранг матрицы X равен рангу расширен-
ной матрицы [JV, уг], причем это условие должно быть выполнено для всех
примеров обучающего множества. Выполнить эти требования удается только в
частных случаях, поэтому быстрое преобразование в рамках данного алгоритма
можно точно настроить не более чем к р произвольным примерам обучающего
множества, где р = min( рг).
i
При реализации алгоритма для контроля совместности решения использу-
ется выражение
rang(Jf) = rang([Jf, У]).
При обнаружении несовместности уменьшается объем обучающего множест-
ва до тех пор, пока совместность не будет восстановлена. Система из одного урав-
нения всегда совместна, поэтому по крайней мере к одному примеру обучающего
множества быстрое преобразование будет точно настроено. Фрагмент 5.8 представ-
ляет алгоритм построения адаптивного трансформирующего преобразования.
function K=CreateAdaptTransform(X,Y,P, G, s,Filter,Topology)
^построить адаптивное преобразование
% X - входные векторы-строки обучающего множества
% Y - выходные векторы-строки обучающего множества
% s — размер обучающего множества
% Р,G - размерности ядер
% Topology - указатель на функцию выбора топологии
% MultFactorX,MultFactorY множители фрактального произведения
% K{m}{z}(u,v) - массив ядер, m -номер слоя, z- номер ядра, (u,v)-
индексы
% элементов ядра
% © А.Ю.Дорогов
[MultFactorX,MultFactorY]-DecompositionSet(X,Y,P,G,Filter);
k=length(P); %число слоев
for m=l:k % номер слоя
L=Get_KernelAmount(P,G,m); % число ядер в слое
Р=Р(ш);
um=1; vm=1;
for Z^1:L «номер ядра в слое
[u,v,Um,Vm,iU,iV]= invTopology(P,G,m,Z,um,vm,Topology);
Xms-[]; Yms=[]; ^матрицы входных и выходных векторов обучаю-
щего ^множества
129
u {m} = ' : ' ; v {m} - ' : ' ;
for e=l:p
x=[]; y— [ ] ;
FactorX=MultFactorX{e};
FactorY=MultFactorY{e};
FactorXm=FactorX{m};
FactorYm=FactorY{m};
Xm=FactorXin (u {m: end}) ;
Ym=FactorYm(v{1:m});
x(1,:)=Xm;
у (1, :)=Ym;
Xms=vertcat(Xms,x) ; Сформирование матрицы входных векторов
%компоненты
Yms=vertcat(Yms,у); %формирование матрицы выходных векто-
ров %компоненты
end
W=FindKernel(Xms,Yms); ^Построение ядра
K{m){Z)=W;
end
end
o,__________________________________________________________________
о
function W=FindKernel(X,Y)
Снайти наиболее подходящее ядро при несовместной системе
% X,Y - мультипликативные компоненты векторов обучающего множества
rX=rank(X);
rXY=rank([X, Y] ) ;
while rX<rXY % решение несовместно
X-X (1:end-1; Суменыпение объема обучающего множества
Y-Y(1:end-1,:); %уменьшение объема обучающего множества
rX-rank(X);
rXY-rank( [X,Y] ) ;
end
W=X\Y;
Фрагмент 5.8. Алгоритм построения адаптивного трансформирующего преобразования
В отличие от нейронных сетей трансформирующее преобразование является ли-
нейным, поэтому умножение входного вектора на скаляр приводит к умножению
на скаляр его образа, а линейная комбинация входных векторов трансформиру-
ется в линейную комбинацию образов.
5.6. Спектральные приспособленные преобразования
Для задач классификации и распознавания сигналов существенное значение
имеют процедуры предварительной обработки, ориентированные на устранение
избыточности и выделение информативных признаков. Использование ортого-
нальных преобразований для этих целей позволяет представить информацию,
содержащуюся в исходном сигнале, в виде взаимно независимых спектральных
составляющих. Поскольку энергия сигнала определяется суммой квадратов
130
спектральных коэффициентов, то по модулю спектрального коэффициента мож-
но непосредственно судить о значимости информативного признака. Известно,
что максимальное сокращение избыточности данных обеспечивается ортого-
нальным преобразованием Карунена-Лоэва, которое образуется собственными
векторами ковариационной матрицы сигнала. Однако использование данного
преобразования сопряжено со значительными вычислительными затратами. По
этой причине метод Карунена-Лоэва не применяется для обработки данных вы-
сокой размерности. Если при построении преобразования Карунена-Лоэва огра-
ничиться только одним собственным вектором, имеющим максимальную значи-
мость (главной компонентой), то объем вычислений резко сокращается. Доста-
точно часто главную компоненту можно выделить из сигнала непосредственно,
как опорный образ, относительно которого наблюдаются все сигнальные вариа-
ции. Ортогональное преобразование, настроенное на одну главную компоненту,
относится к классу приспособленных. В силу ортогональности результатом воз-
действия приспособленного преобразования на опорный образ является выход-
ной вектор, у которого одна из координат равна единице, а остальные координа-
ты - нулю. Таким образом, приспособленное ортогональное преобразование
идеально подходит для селективного распознавания сигналов. Построение быст-
рых приспособленных ортогональных преобразований для сигналов, определен-
ных на интервале с длиной, кратной степени двойки, рассматривалось в [2]. Да-
лее будет представлена процедура синтеза приспособленного ортогонального
преобразования для произвольной составной размерности.
5.6.1. Достаточные условия приспособленности быстрого
ортогонального преобразования
Для спектральных преобразований удобно использовать конструктивное
определение условия приспособленности, которое можно сформулировать сле-
дующим образом. Ортогональное преобразование, заданное матрицей h(u, v),
приспособлено к функции f(u) по столбцу х, если выполнены условия:
^Л(//, г)/(м) = 1 при v = x,
(5.И)
v)f(ll') = 0 при v^x.
. и
(Предполагается, что опорная функция нормирована условием: ^/’“(ц) = 1.) Под-
и
ставив в левую часть (5.11) выражения (5.2) и (5.1) после преобразований получим:
ЕА(М’ у)/(«)=Хи-.о(цо, vo)(p.o(«o)Ewz-i (“l’Vl)(Pjl (wl)x---
U Uq ll\
E (WK-1 > vk- 1 >,k 1 («К-1)-
мк-1
131
Из данной формулы очевидно, что приспособленность спектрального пре-
образования обеспечивается, когда ядра любого слоя т приспособлены к соот-
ветствующим компонентам фрактального разложения опорной функции:
EV(W^,V^)(P/"'(W^) = 1 ПРИ Vm=xm’
< ит
= 0 при Vm^Xm.
ипг
Таким образом, задача настройки быстрого приспособленного спектрального
преобразования сводится к построению приспособленных ортогональных ядер.
Рассмотрим возможный алгоритм построения ортогональных ядер.
5.6.2. Генерация приспособленных ортогональных ядер
Ортонормированный базис с векторами и^, и^,..., wp-\ будем называть
приспособленным к вектору f = (/q, fp_\), если один из векторов базиса
с точностью до скаляра совпадает с f. Для определенности будем полагать, что
вектор f имеет единичную длину и ну) = f. Для построения приспособленного
базиса воспользуемся процедурой ортогонализации векторов Грамма-Шмидта
[39]. Ортонормированный базис строится из опорной системы линейно незави-
симых векторов {хг-}, в которой xq = ну).
Реализация процедуры. На первом шаге находим вектор z\, ортогональный
вектору . Вектор z\ ищется в виде линейной комбинации: z\ = -нпщн’о. Ко-
эффициент дю определяется из условия ортогональности векторов z\ и wg.
Скалярное произведение ортогональных векторов равно нулю, а так как
(и’о, ) = 1, получим:
дю =-(xi,w0).
Вектор и»! получается из вектора z\ нормированием к его длине. Все последую-
щие векторы ортонормированного базиса определяются как линейные комбина-
ции уже построенных векторов wz- и очередного вектора х т:
7-т — хт + amQ ^0 + ат\^1 + • • • + ат,т-1^т—1 •
Из условий ортогональности вектора zm всем уже построенным векторам и’г
получим следующее правило определения коэффициентов:
ami ~ ~(хт’ И’г) •
Вектор wm получается из вектора zm нормированием к его длине.
132
Остался открытым вопрос выбора системы векторов }-*/}. Любая линейно
независимая система векторов с начальным вектором хр = и’р является подхо-
дящей, поэтому существует несчетное множество ортонормированных базисов,
приспособленных к одной и той же функции. Наиболее простой вариант по-
строения опорной системы заключается в случайной генерации очередного век-
тора хт на каждом шаге процедуры ортогонализации. При этом, конечно, су-
ществует вероятность, что вновь сгенерированный вектор будет линейно зави-
сим от уже построенных векторов w,. Тогда при применении процедуры орто-
гонализации получим, что очередной вектор zm окажется нулевым и на этом
процедура генерации закончится. Для исключения подобной ситуации при
= 0 в алгоритме реализуется повторная случайная генерация вектора хт, а
затем процедура вычисления коэффициентов повторяется.
Для построения приспособленного ортогонального ядра перестраиваемого
преобразования координатные представления ортонормированных векторов
wq, W],..., Wp_\ в арифметическом пространстве объединяются в матрицу по
строкам или по столбцам. В арифметическом пространстве каждый вектор мож-
но рассматривать как функцию от номера координаты. Фрагмент 5.9 содержит
подпрограмму генерации ортогональных ядер с приспособлением к функции по
первой строке.
function W=Create_orthogonal_adapted_kernelR(f)
%создать приспособленное ортогональное ядро по случайной опорной
матрице
% f -базовая функция в виде вектора строки
% W - ортогональное ядро с приспособленной первой строкой
% © А.Ю.Дорогов
p=length(f); %размер ядра
f=f/norm(f,2); %нормирование функции
W(l,:)=f; ^заполнение первой строки
rand('state' , 0); %фиксация состояния генератора случайных чисел
for m=2:p %процедура Грамма-Шмидта
for t=l:10 %цикл исключения линейно зависимых опорных векторов
z=rand(l,p); %генерация опорного вектора
х—z ;
for k=l:m-l %генерация очередного вектора ортогонального базиса
w=W (к, :);%ортонормированный вектор
a=-dot(x,w); %скалярное произведение векторов
z=z+a*w; %формирование ортогонального вектора
end
if norm(z)~=0 %индикатор линейной зависимости
break % опорный вектор линейно независим
end
end
W(m,:)=z/norm(z);%запись очередного ортонормированного вектора
end
Фрагмент 5.9. Генератор приспособленных ортогональных ядер
133
Для обеспечения повторяемости при генерации ядер начальное состояние
генератора случайных чисел в данном алгоритме фиксируется. На рис. 5.6, а по-
казан пример генерации ортогонального базиса, приспособленного к линейно
изменяющейся функции в пространстве размерности р = 7 Представленные
функции ядра имеют ненулевое среднее.
а б
Рис. 5.6. Функции ортогонального приспособленного ядра: а - с ненулевым средним;
б - с выделенной постоянной составляющей и нулевым средним
Ортогональные ядра с нулевым средним. При обработке сигналов часто
требуется выделять постоянную составляющую, с этой целью часто используют
базисы, в которых одна из функций постоянна, а остальные имеют нулевое
среднее. Такой базис приспосабливается к переменной составляющей функции.
Пример генерации базиса с выделенной постоянной составляющей показан на
рис. 5.6, б. Для размерности р = 2 ядра, приспособленные к функции f, строят-
ся наиболее просто, одна строка будет содержать нормированную постоянную
составляющую, а вторая - нормированную переменную составляющую.
function W=Create_orthogonal_adapted_kernelR2(f)
%создать приспособленное ортогональное ядро по случайной опорной
матрице
% с выделенной постоянной составляющей
% f -базовая функция в виде вектор-строки
% W - ортогональное ядро с приспобленной первой строкой
p=length(f); %размер ядра
avr=sum(f)/р; %среднее значение функции
f=f-avr; %переменная составляющая функции
f=f/norm(f,2); %нормирование функции
W(l,:)=f; %заполнение первой строки
W(2,:)=ones(1,р)/norm(ones(1,р),2); %нормированный нулевой вектор
rand('state' , 0); %фиксация состояния генератора случайных чисел
for m=3:p %процедура Грамма-Шмидта
134
for t=l:10 %цикл исключения линейно зависимых опорных векторов
z=rand(l,p); %генерация опорного вектора
x=z ;
for k=l:m-l %генерация очередного вектора ортогонального базиса
w=W(к,:);%ортонормированный вектор
a=-dot(x,w); %скалярное произведение векторов
z=z+a*w; %формирование ортогонального вектора
end
if norm(z)~=0 %индикатор линейной зависимости
break % опорный вектор линейно независим
end
end
W(m,:)-z/norm(z);^запись очередного ортонормированного вектора
end
Фрагмент 5.10. Генератор приспособленных ядер второго порядка
Фрагмент 5.10 содержит MatLab-подпрограмму генерации приспособлен-
ных ядер второго порядка с выделенной постоянной составляющей.
5.6.3. Алгоритм построения приспособленного
ортогонального преобразования
Фрактальное разложение опорной функции для спектрального преобразо-
вания отличается тем, что фрактальные множители должны быть нормированы к
единице. С этой целью в фрагменте 5.2 следует снять комментарий с двух по-
следних строк.
Ортогональное приспособленное преобразование не полностью использует
степени свободы, которыми оно располагает. Если функция приспособления
совпадает с нулевым столбцом результирующей матрицы, то будут настроены
только ядра с номерами im = (uK_[UK_2 •••Oq) (Для топологии
Кули-Тьюки с прореживанием по времени). На рис. 5.7 приведено факторизо-
ванное представление ортогонального преобразования, приспособленного к од-
ной функции, размещенной в нулевом столбце. Символом «*» отмечены элемен-
ты незаполненных ядер.
Для того чтобы преобразование было ортогональным, достаточно запол-
нить свободные ядра элементами любых ортогональных матриц соответствую-
щих размеров. В практических алгоритмах можно либо заполнить свободные
л
ядра единичными матрицами вида: W = | |, либо повторить ядра, уже най-
денные для текущего слоя. В первом случае будут получены вейвлет-подобные
ортогональные преобразования с явно выраженными свойствами пространст-
венной локализации, во втором - все столбцы преобразования будут содержать
примерно равное число ненулевых элементов.
135
O! 1111111
__v2_
________1'1_
________h)_
»2 »1 »0
ООО
"o"”"o””T
_________
_________
- — - — -Q-
_________
_________
O|O|O|O|l|l|l|l
о Го"!
° I ° I ° I ° 11 11 11 11
O I 0
0
12Г.
Puc. 5.7. Свободные параметры быстрого ортогонального преобразования,
приспособленного к одной функции
Также возможно использовать более глубокое приспособление, например к
фильтрованным образам опорных функций. Фрагмент 5.11 содержит алгоритм
подобного приспособления. На рис. 5.8 приведены базисные функции быстрых
ортогональных преобразований, приспособленных к линейно изменяющейся
опорной функции.
Function
К-Create orthogonal fast transform kernelsC2(S,P,G,X,Filter,Topology)
%функция строит набор ядер быстрого ортогонального преобразования,
%приспособленного к %базовому столбцу X матрицы S с заполнением
%неопределенных ядер
%ортогональными матрицами, приспособленными к компонентам фрактально
%фильтрованных столбцов ближайшего окружения
% S - матрица функций, функции размещены вдоль столбцов
% P,G - матрицы оснований системы счисления для строк и столбцов
% X - номер базового столбца
% Filter - указатель на функцию фрактального фильтра
% Topology - указатель на функцию топологии преобразования
% K{m){z)(u,v) - массив ядер, m -номер слоя, z- номер ядра, (u,v)-
индексы %элементов ядра
% © А.Ю.Дорогов
k=length(P); %число слоев быстрого преобразования
N=prod(P); %число строк матрицы S
M=prod(G); %число столбцов матрицы S
[х{1:к}]=ind2sub(G,X);% номер базового столбца в поразрядном пред-
ставлении
s=l; %масштабный уровень фильтра
for V=1:M
Finp{V)=reshape(S(1:N,V),P); ^многомерное представление опорной
функции;
end
for m=l:k
for V=1:M
[Fout,Factor{V}]-Get_Fractal_Factor2(Finp{V),Filter,s);
^фрактальная фильтрация
136
Finp{V}=Fout;
end
L=Get_KernelAmount(P,G,m); % число ядер в слое
У=х;
um=1; vm=1;
for Z=1:L
[u,v,Um,Vm,iU,iV]= invTopology(P,G,m,Z,um,vm,Topology);
у (iV) =v (iV) ;
V = sub2ind(G,y{l:end});
f=(Factor{V}(:,u{m+l:k}))'; Топорная функция ядра
Ws=Create_orthogonal_adapted_kernelR(f); ^построение %при-
способленного ядра
Wc=Transpose(Ws,х{m}) ; %транспонирование ядра и переста-
новка %опорной функции
K{m}{Z}=Wc;
end
end
Фрагмент 5.11. Алгоритм синтеза быстрого ортогонального преобразования,
приспособленного к фрактально-фильтрованным образам функций ближайшего окружения
Рис. 5.8. Базисные функции приспособленных ортогональных преобразований:
а - с доопределением ядер единичными матрицами; б - с приспособлением
к фильтрованным образам опорных функций
Сомножители фрактального разложения формируются с помощью функции
Get Fractal Factor2() (фрагмент 5.12). Отличие от функции Get Fractal Factor()
(см. фрагмент 5.7) заключается в том, что формируемые вектор-сомножители
нормируются по длине к единице.
function [Fout,Factor]-Get_Fractal_Factor2(Finp,Filter,m)
% Получить набор нормированных компонент одного множителя фракталь-
ного разложения функции
% Finp - функция в многомерном представлении
% Filter - указатель на функцию фрактальной фильтрации
% m - масштабный уровень фильтра
% Fout - выходная функция (выход фрактального фильтра)
137
% Factor - набор компонент фрактального разложения функции (многомерный
% массив, подобный Finp
% © А.Ю.Дорогов
G-size(Finp);
ind-find(G~=l);
G-G(ind);
k-length(G);
Fout=feval(Filter,Finp,m); ^фрактальная фильтрация
avs-setdiff([1:k],m); ^множество варьируемых разрядных переменных
Ga-G(avs);
for V=l:prod(Ga)
if ~isempty(avs)
[v(avs(]=ind2sub(Ga,V); %поразрядное представление номера V
end
v {m} = ' : ' ;
Fins=squeeze(Finp(v{1:k}));
nrm=norm(Fins); /норма фрактального множителя
if abs(Fout (vfavs}))<10e-4 & nrm<10e-4 ^цензурирование нулей
f=zeros(size(Finp(v{1:k})));
f(1)=1;
elseif abs(Fout(vfavs}))<10e-4
f-Finp(v{1:k});
if ~isempty(avs)
Fout(v{avs})=1;
else
Fout=l;
end
else
f=Fins/Fout(v{avs});
end
Factor(v{1:k})-f/norm (f) ; /нормирование компонент фрактального
множителя
Fout(v{avs})-Fout(v{avs})*norm(f); /коррекция результата фильтрации
end
Фрагмент 5.12. Алгоритм построения фрактальных множителей для ортогонального
приспособленного преобразования
5.7. Быстрые ортогональные трансформирующие преобразования
Ортогональные преобразования реализуют поворот вектора в многомерном
пространстве с сохранением его длины. В рассмотренных ранее спектральных
приспособленных преобразованиях опорный вектор, по которому производится
настройка преобразования, всегда разворачивается так, чтобы он располагался
вдоль одной из координатных осей. Теперь рассмотрим общий случай, когда за-
дано 2 вектора: входной опорный вектор и выходной вектор, в который перехо-
дит входной при выполнении быстрого ортогонального преобразования. Если х
и у - векторы-строки пары обучающего множества, то преобразование Н вы-
полняет трансформацию хН = у, причем выполняется условие ортогональности
138
НН = I. Принцип построения быстрого приспособленного трансформирующе-
го преобразования был рассмотрен в 5.5. Фрагмент 5.13 представляет алгоритм
построения данного преобразования.
function K=CreateAdaptOrthogonalTransform(X, Y, Р, G,Filter,Topology)
^Построить адаптивное трансформирующее ортогональное преобразование
% X - входной вектор-строка обучающего множества
% Y - выходной вектор-строка обучающего множества
% P,G - размерности ядер
% Topology - указатель на функцию выбора топологии
% MultFactorX, MultFactorY множители фрактального произведения
% K{m}{z}(u,v) - массив ядер, m -номер слоя, z- номер ядра, (u,v)-
индексы
% элементов ядра
% © А.Ю.Дорогов
Q=InPermutation(Р,G,Topology); %построить перестановку для терми-
нального %рецепторного поля
X=X(:,Q); %перестановка столбцов
Q=OutPermutation(Р,G,Topology); %построить перестановку для терми-
нального %рецепторного поля
Y=Y(:,Q); %перестановка столбцов
[MultFactorX,MultFactorY]=DecompositionSet2(X, Y,P,G,Filter);
k=length(P); %число слоев
for m=l:k % номер слоя
L=Get_KernelAmount(P,G,m); % число ядер в слое
um=l; vm=l;
for Z=1:L %номер ядра в слое
[u,v,Um,Vm,iU,iV]= invTopology(P,G,m,Z,um,vm,Topology);
u {m} = ' : ' ; v {m} = ' : ' ;
FactorX=MultFactorX{1};
FactorY=MultFactorY{1};
FactorXm=FactorX{m);
FactorYm=FactorY{m};
x=FactorXm(u{m:end));
y=FactorYm(v{1:m));
W=FindOrthogonalKernel(x,у); ^Построение ядра
K{m){Z}—W;
end
end
Фрагмент 5.13. Алгоритм построения быстрого ортогонального трансформирующего
преобразования
Отличие заключается только в правиле построения ядер. В функции
MultiplDecomposition2(), входящей в DecompositionSet2(), используется разло-
жение на нормированные множители с помощью функции Get Fractal Factor2()
(фрагмент 5.12). Ортогональное ядро строится по векторным компонентам х и
у мультипликативного разложения. Фрагмент 5.14 представляет алгоритм по-
строения ортогонального ядра второго порядка.
139
function W-FindOrthogonalKernel(x,y)
%Построить ортогональное ядро второго порядка по векторам входа и выхода
% х,у - входной и выходной векторы.
% W - ортогональное ядро
x-x/norm(х);
y-y/norm(у);
COSa=y(l)*х(1)-у(2)*х(2);
SINa=y(1)*х(2)+у(2)*х(1);
W(l,l)=COSa; W(l,2)=SINa;
W(2,l)=SINa; W(2,2)=-COSa;
Фрагмент 5.14. Алгоритм построения ортогонального ядра второго порядка по входным
и выходным векторам
Алгоритм построения основан на возможности представления ядра второго
порядка в канонической форме:
'cos a sin а
sin а -cos а
W =
Нетрудно показать, что при нормированных векторах х = (х
у = (yi у2) значения элементов ядра можно определить из выражений:
cos а = - У2х2 ’ sin а = у\Х2 + У2Х1 •
и
5.8. Градиентное обучение трансформирующих
перестраиваемых преобразований
Обучение трансформирующего преобразования заключается в нахождении
такого набора значений коэффициентов базовых операций, который минимизи-
рует критерий J на обучающем множестве (X, Z), где X - множество входных
векторов, Z - множество выходных векторов. В качестве критерия обычно ис-
пользуется квадратичная функция ошибки. Для к-слойного преобразования ма-
тематическое выражение критерия имеет вид
1 / 2
J = O S S (^k-i(vk_i)-z.k-i(vk..])I , (5.12)
2 .к-Ч-1
К—1
где i - номер ядра в последнем слое; vK_j - номер аксона в пределах ядра;
z,у- желаемые и фактические значения координат выходного вектора. Сумми-
рование квадратичных ошибок выполняется по всем координатам выходного
вектора. Для поиска минимума критерия воспользуемся градиентным методом
[40]. Координаты градиента VJ(W) по коэффициентам базовых операций
W - {w(-, •)} определяются частными производными:
ТУГ"------Г 2 X (>>-' (л-1) - у<-1 (Л-1)) k ' (5.13)
140
где Efr(/\ v> ) - эфферентное множество ядер, т. е. множество ядер конечного
слоя, связанных со слоем X через выходную координату v^_ ядра . Для быст-
рых преобразований (в силу слабой связанности графа) существует единствен-
ный путь, соединяющий пару вершин /Л, zK-1. Для всех межслойных переходов
операторы межъядерных связей отождествляют координаты У™(ут) и
(um+i) смежных слоев, где т = X,..., к — 2. Выполняя для каждой частной
производной в выражении (5.13) последовательное дифференцирование вдоль
пути zA...zK 1 получим:
/ * 4 = 4 K)»4u ("Х+1. Ч+l )(«к-1. VK_, ). (5.14)
В соответствии с принципом градиентного метода новые коэффициенты
базовых операций определяются из старых аддитивной коррекцией в направле-
нии антиградиента:
где у - коэффициент обучаемости; /( ) - нелинейная векторная функция, обес-
печивающая устойчивость алгоритма обучения. В качестве стабилизирующей
функции используется гиперболический тангенс (рис. 5.9), действующий по ка-
ждой координате градиента.
Рис. 5.9. Нелинейная стабилизирующая функция
Вся процедура коррекции коэффициентов многократно повторяется для каждой
пары из множества (X, Z) до минимизации критерия J.
141
Алгоритм Error BackPropagation. Прямое вычисление производных по
формуле (5.14) и координат градиента по формуле (5.13) неэффективно, по-
скольку различные пути, ведущие из вершины /Л к конечному слою, имеют сов-
падающие участки, что приводит к многократному умножению на одни и те же
значения функций передач. Рассмотрим рекуррентную форму алгоритма (из-
вестную как «Error BackPropagation» [17]), свободную от данного недостатка.
Используем для определенности быстрое преобразование с топологией Гуда.
Для топологии Гуда номера вершин в слое X определяются выражением
=(wX+1wX+2---wk-1VoVi...vx_2vx-i), (5.15)
а для конечного слоя:
/К-1 =^оИ...ук_3ук_2).
При фиксации номера вершины и разрядной переменной оказываются фик-
сированными разряды (vqVj ... поэтому эфферентное множество вершин
определяется варьированием разрядов (vx+1vX+2---vk-1)- Следовательно, сумми-
рование в выражении (5.13) по вершинам эфферентного множества Efr(z\v^)
эквивалентно суммированию по всем разрядным переменным (va,+ivA,+2 •
Подставляя (5.14) в (5.13) и меняя порядок суммирования, получим:
х /-----7 = ХМ Е (wX+bvX+l) 2 "'^2(wX+2’vX+2)---
• • • Е WKk-' (wk-1 , vk-1 ) (v.К-1 (vK-l) - Z.K-1 (vK-l ))
VK-1
Введем следующие обозначения:
^.K-l (vK-i ) = (Кк-1 (vk-1)-z,-k-1 ( v’k- 1 ))>
dK-2)= z
'«-I (5.16)
5^ W = E »^.+l («UI. VX+1 Is’lV, (vz+1).
Пн
В методе Error BackPropagation величины 5Л” (vw) называются обобщенными
ошибками. Разрядные переменные ит для индексов т = к, Х + 1,..., к-1 одно-
значно определяются из выражения (5.15). Система рекуррентных уравнений (5.16)
позволяет последовательно по слоям (начиная с последнего) вычислить все обоб-
щенные ошибки. В итоге координата градиента будет определяться выражением
142
----; = ЛЫ5'1Ы- (5.17)
Фрагмент 5.15 содержит реализацию алгоритма Error ВackPropagation для обу-
чения быстрого преобразования.
function
[К,ErrS]-Gradient_Teaching(Р,G,Topology,X,Y,epsilon,gamma,E,R)
% Градиентное обучение быстрого преобразования с выводом графика ошибки
% P,G - основания разрядных переменных для векторов входа и выхода
% Topology - указатель на функцию топологии
% X,Y - обучающее множество
% epsilon - точность в абсолютных единицах
% gamma - коэффициент обучаемости - множитель градиента
% Е - число эпох в циклах обучения
% R -число повторений цикла обучения для одного примера
% К - ядра преобразования
% ErrS - ошибки по эпохам цикла обучения
% © А.Ю.Дорогов
D-length(X(:,1)); %число обучающих примеров
K=GetRandomKernels(Р,G);%случайная инициализация ядер
for i=l:Е
for m=l:D %перебор примеров в эпохе обучения
Хт-Х(т,:);
Ym-Y(т,:);
[К, delta, Error]=Training_OneExample(Topology,К,P,G,Xm,Ym,
gamma,epsilon,R);
ErrEpoch(m)=Error(1); ^максимальная ошибка
plot (Error) ;
title (horzcat('Epoch Number^',num2str(i) )) ;
grid on
drawnow; ^обновление экрана
end
ErrS(i)=sum(ErrEpoch(:))/D; Усредняя ошибка на один пример
if ErrS (i)<epsilon
break % досрочное завершение обучения при достижении задан-
ной ^точности
end
end
Фрагмент 5.15. Реализация алгоритма градиентного обучения быстрого
перестраиваемого преобразования
Функция GetRandomKemels(P,G) выполняет начальную инициализацию ко-
эффициентов ядер случайными значениями в диапазоне [-0.5...0.5]. Функция
Training_OneExample() выполняет тренировку быстрого преобразования для од-
ного примера, число тренировочных операций устанавливается параметром R.
Под тренировочной эпохой понимается однократный цикл тренировок по всем
обучающим примерам. Число эпох задается параметром Е. Обучение досрочно
143
завершается, если средняя ошибка по примерам эпохи становится в среднем
меньше значения epsilon.
Фрагмент 5.16 содержит реализацию функции циклической тренировки для
одного примера. В цикле из R тренировок циклически выполняется 3 действия:
преобразование над входным вектором X (с помощью функции
Execute ID Fast Transform(), вычисление ошибки (вместо суммы квадратов
ошибок для упрощения используется сумма абсолютных значений ошибок), об-
ратное распространение обобщенных ошибок от конечного слоя к начальному
(функция BackPropagation()). Тренировка одного примера досрочно завершается,
если текущая ошибка меньше заданной.
function
[К,delta,Error]=Training_OneExample(Topology,К,P,G,X,Zx,gamma,epsilon,R)
% Обучение перестраиваемого преобразования для одного примера X,Zx
% P,G - основания разрядных переменных
% К - массив ячеек K{m}{Z}(um,vm) с ядрами
% delta - обобщенные ошибки на входе преобразования
% X - входной вектор примера
% Zx - целевой вектор примера X
% Y{m] - векторы по слоям
% Topology - указатель на функцию топологии преобразования
% gamma - коэффициент обучаемости
% epsilon - допустимая ошибка обучения
% R - число шагов обучения
% © А.Ю.Дорогов
Error(1)=2*epsilon;
for r=l:R
[Y,YM]=Execute_lD_Fast Transform(К,X,P,G,Topology);
Error(r)=sum(abs(Y-Zx) ) ;
[K,delta]=BackPropagation(Topology,К,P,G,X,Zx,YM,gamma);
if Error(r)<epsilon
break
end
end
Фрагмент 5.16. Программная реализация тренировки преобразования
по одного обучающему примеру
Фрагмент 5.17 содержит функцию, реализующую алгоритм обратного рас-
пространения ошибки согласно выражениям (5.16), (5.17). Эта же функция
включает в себя коррекцию коэффициентов ядер по значению градиента.
function [К,delta]=BackPropagation(Topology,К,Р,G,Xz,Zx,YM,gamma)
%Обратное распространение ошибки, вычисление градиента, коррекция
коэффициентов
%P,G - основания разрядных переменных
% К - массив ячеек K{m}{Z}(um,vm) с ядрами
% Xz - входной вектор примера
144
% Zx - целевой вектор примера
% YM{m] - векторы по слоям
% Topology - указатель на функцию топологии преобразования
% gamma - коэффициент обучаемости
% © А.Ю.Дорогов
n-length (К) ; “«число слоев преобразования
delta=YM{n}-Zx;
Х{1}-Xz;
X (2 : n) -YM (1: n-1) ; “«входные векторы по слоям
for m=n:-1 :1
Wm=K{m]; %ядра слоя
L=length (Wm) ; “«число ядер в слое
delta2-zeros(1,L*P(m)); %предопределение вектора обобщенных ошибок
Xm=X{m}; %входной вектор в слое m
for Z = 1:L
W=Wm{Z}; ^матрица ядра
[Pm,Gm]=size(W); % размерности ядра
Gradient=zeros(Pm,Gm); ^предопределение матриц градиента ядра
s = zeros(1,Pm) ;
for um=l:Pm
s(um)—0;
for vm=l:Gm
[u,v,Um,Vm]-invTopology(P,G,m,Z,um,vm,Topology);
s(um)—s(um)+delta(Vm)*W(um,vm);
Gradient(um,vm)-Xm(Um)*delta (Vm) ; ^вычисление матрицы %гра-
диента
end
delta2(Um)=s(um); ^обобщенная ошибка предшествующего слоя
end
Wnew=W-gamma*tanh (Gradient) ; «^коррекция матрицы ядра
К{m}{Z}-Wnew; ^замена ядра
end
delta=delta2;
end
Фрагмент 5.17. Программная реализация алгоритма Error BackPropagation
На рис. 5.10 показано обучающее множество, состоящее из двух примеров,
для быстрого преобразования размерности 8x8. В качестве входных векторов
использовались две первые функции косинусного преобразования (рис. 5.10, а),
а в качестве выходных - две функции унитарного кода (рис. 5.10, б). Все базовые
операции быстрого преобразования имеют размерность 2x2.
На рис. 5.11 показана функция зависимости средней ошибки от номера эпо-
хи. Для алгоритма были установлены следующие параметры:
Topology - %топология Кули-Тьюки с прореживанием по времени.
epsilon-0.02; ^точность обучения
garrma-0.2; «коэффициент обучаемости
R=8; %число повторений цикла обучения для одного примера
Е=70;% число эпох обучения
145
Рис. 5.11. Ошибка обучения трансформирующего преобразования
Как видно из рисунка, обучение преобразования досрочно завершилось при
достижении ошибки, меньшей заданной. Ядра преобразования могут быть зада-
ны не квадратными, а прямоугольными матрицами, в этом случае векторы входа
и выхода имеют разную размерность.
5.9. Градиентное обучение спектральных перестраиваемых преобразований
Метод градиентного обучения спектральных преобразований концептуаль-
но подобен рассмотренному ранее. Для оценки качества обучения используется
тот же квадратичный критерий (5.12), однако для обеспечения ортогональности
потребуем, чтобы при любых изменениях коэффициентов ядра преобразования
оставались ортогональными. Проще всего этого достигнуть, представив ортого-
нальные ядра в канонической форме, например, ядро второго порядка представ-
ляется в виде
146
w =
zcosa
vsina
sin a
-cos a J
При любом изменении угла а ядро будет оставаться ортогональным. При
умножении матрицы ядра слева на вектор [х(0) х(1)] получим выходной вектор
[у (0) у (1)], координаты которого определяются выражениями:
у(0) = x(0)cosa + x(l)sina,
у(1) = x(0)sina-x(l)cosa.
(5-18)
Координаты градиента Wla^ j по углам базовых операций W = {w(-, •)}
определяются частными производными:
5J v "V / ( \ ( \\ ду.к-1 (тк-1)
—T = L L (vk-1)-V-1(vk-1)| • х----------• (5.19)
V; /K-1eEfr(z^,v^)vK-l
В отличие от выражения (5.13) здесь появилось дополнительное суммирование по
индексу Уд . Это связано с тем, что изменение угла ядра Л влияет на все координа-
ты его выходного вектора. Выполняя для каждой частной производной в выраже-
нии (5.19) последовательное дифференцирование вдоль пути z A... zK-1 получим:
qy.K-l(vK_l) ау.х(УХ) х к-1/ \
----—j,-----= ——j------w/.+l (^+b VX+1 )• • • Wк-l V«K-1, VK_i).
da да д ' '
Для ядра второго порядка с номером Л из (5.18) следует:
-х.х (O)sinazj + x^ (l)cosa^, если Уу=0,
x.^(0)cosa^ + х.х (l)sina^,
Z j'- I
если = 1.
да\
Л
Координаты градиента можно вычислить рекуррентно, используя алгоритм
Error BackPropagation. Обобщенные ошибки вычисляются по выражениям (5.16),
а из (5.19) следует, что координаты градиенты определяются соотношением
oa , oa у 1
В контуре обучения нет необходимости использовать стабилизирующие
нелинейные функции, поскольку устойчивость автоматически обеспечивается за
счет нелинейности функций косинусов и синусов. На рис. 5.12 показана зависи-
мость ошибки обучения от числа эпох. Для алгоритма были установлены сле-
дующие параметры:
147
Topology - ^топология Кули-Тьюки с прореживанием по времени
epsi1оп=0.02; ^точность обучения
gamma=0.9; %коэффициент обучаемости
R—8; %число повторений цикла обучения для одного примера
Е—70;% число эпох в циклах обучения
Рис. 5.12. Ошибка обучения спектрального трансформирующего преобразования
Обучение осуществлялось по первому примеру из набора, показанного на
рис. 5.10. Как видно из рис. 5.12, обучение преобразования досрочно заверши-
лось при достижении ошибки, меньшей заданной. Проверка алгоритма обучения
для двух примеров показала, что после уменьшения первоначальной ошибки до
некоторого уровня дальнейшее повторение тренировок не приводит к снижению
ошибки. Такое поведение объясняется тем, что ортогональное перестраиваемое
преобразование имеет меньшее число степеней свободы, чем неортогональное.
5.10. Быстрые перестраиваемые преобразования
в квантовых вычислениях
Квантовые вычисления (вычисления, основанные на методах квантовой ме-
ханики) были инициированы в начале 80-х гг. XX в. работами Ричарда Фейнма-
на [41], [42]. В 1994 г. Питер Шор показал, что NP-сложная задача — разложение
целых чисел на множители - может быть решена на квантовом компьютере за
полиномиальное время [43]. Этт результат дал толчок к бурному развитию кван-
товых вычислений. В августе 2000 г. было объявлено о первом практическом ус-
пехе [Reuters] «IBM Says It Develops Most Advanced Quantum Computer («IBM -
разработала первый квантовый компьютер»). В данной разработке впервые был
148
реализован квантовый регистр на пяти атомах. Практически было доказано, что
квантовый компьютер способен решать некоторые задачи гораздо быстрее, чем
обычный компьютер.
Классический компьютер работает с состояниями из конечного числа бит.
Регистр длиной п имеет конечное множество состояний 2я, поскольку каждый
бит имеет только 2 состояния. В квантовом компьютере функциональным анало-
гом бита является «/-бит, который ассоциируется с двумерным комплексным
пространством. В пространстве «/-бита выделены 2 базисных вектора |о) и |1).
Кроме базисных состояний для «/-бита возможны также состояния, представ-
ляющие собой любые линейные комбинации базисных векторов: ср - а|о) +13|1),
где сГ +р" =1. Квантовый регистр представляет собой конечный набор «/-бит.
Базисными состояниями квантового регистра являются тензорные произведения
базисных состояний входящих в него «/-бит. Для обозначения тензорных произ-
ведений в квантовой механике используются сокращения:
| хп-1) ® I хп-2 ) ® ® I *0 ) = I• • • х0 ) •
Согласно общим принципам квантовой механики, возможным состоянием кван-
тового регистра длиной п может быть любой вектор единичной длины в ком-
плексном пространстве размерностью 2й. Квантовое состояние регистра запи-
сывается в виде
где суммирование производится по всем возможным базисным состояниям. Для
вектора единичной длины сумма квадратов коэффициентов ах всегда равна
единице. Квантовые состояния в комплексном пространстве задаются с точно-
стью до фазового множителя е/<р. Квадрат значения каждого коэффициента ах
интерпретируется как вероятность нахождения квантового регистра в данном
базовом состоянии. Состояние квантового регистра называется запутанным, если
его невозможно представить в виде произведения квантовых состояний входя-
щих в него д-бит.
Эволюция состояний квантового регистра во времени описывается уравне-
нием Шредингера, решением которого являются унитарные преобразования
размерностью 2й. При квантовых вычислениях в «/-регистре приготавливается
начальное состояние в виде базовых состояний «/-бит. Затем используется неко-
торое унитарное преобразование над отдельными «/-битами, зависящее от ре-
шаемой задачи, в итоге возникает новое состояние квантового регистра. Резуль-
татом вычислительной операции считается состояние квантового регистра, кото-
149
рое имеет вероятность, достаточно близкую к единице. Эффективность кванто-
вых вычислений достигается за счет того, что одновременно с унитарным пре-
образованием над состояниями «/-бита «бесплатно» выполняется тензорное про-
изведение, экспоненциально расширяющее область действия унитарного преоб-
разования. Наибольший эффект достигается для факторизуемых квантовых со-
стояний, однако и для широкого класса запутанных состояний возможна реали-
зация полиноминально эффективных алгоритмов.
Элементарная квантовая операция на регистре определяется двумерным
унитарным преобразованием, действующим в пространстве одного g-бита. Дан-
ное преобразование (унарный вентиль) задается комплекснозначной матрицей
размером 2x2:
|о) 11)
^=|о) w00
11) w10 ТГц
В канонической форме унитарная матрица второго порядка может быть записана
в виде
W =
e^°°cos0
ч e-^’sinO
e/Yoisin0
-e/Y11 cos 0?
(5-20)
Условие унитарности в этом случае сводится к соотношению между углами
комплексных экспонент:
Y00 ~ Yoi — Y10 “ Y11 •
Бинарные вентили задаются унитарными матрицами размером 4x4. При-
мером может служить элемент «управляемый фазовый сдвиг» [44], задаваемый
матрицей
|00) |01) 110) 111)
loo) 1 0 0 0
И' = |01) 0 1 0 0
110) 0 0 1 0
|11> 0 0 0 е/(Р
Можно показать, что результирующее состояние регистра после бинарного вентиля
является запутанным. Последовательная комбинация элементарных преобразова-
ний в принципе позволяет выполнить любое квантовое вычисление. Существенным
вопросом является эффективность вычислений. В работе [43] для построения эф-
фективного квантового вычисления Шор использовал модификацию быстрого ал-
горитма Фурье с основанием 2. Как было показано ранее, быстрое преобразование
Фурье может быть реализовано с помощью быстрых перестраиваемых преобразо-
150
ваний. В общем случае быстрые перестраиваемые преобразования могут быть ис-
пользованы для формирования широкого набора унитарных преобразований. При-
менительно к квантовым вычислениям размерность преобразования должна быть
равна степени двойки. Это ведет к тому, что все ядра преобразования структурно-
подобны и представляют собой унитарные матрицы размером 2x2. Когда все ядра
Рис. 5.13. Квантовая схема БНС
с однородными ядрами в слое
в пределах слоя параметрически одина-
ковы, то каждый слой преобразования
однозначно сопоставляется с одним q-
битом квантового регистра. В этом слу-
чае эквивалентный унитарный оператор,
который описывает эволюцию состояния
^-битного регистра размерностью п , вы-
ражается кронекеровским произведением
матриц ядер: Н = ITq х W[ х... х Wn_\. На
рицей преобразования Адамара: W = —j=
рис. 5.13 показана квантовая схема подобного вычисления. В ней число квантовых
операций равно размерности квантового регистра, поэтому данное преобразование
является максимально эффективным. Результирующее состояние для данной кван-
товой схемы всегда факторизуемо.
Следует отметить, что моделирование квантового регистра на обычном
компьютере приводит к NP-сложной задаче. На рис. 5.14 показана квантовая
схема быстрого преобразования Фурье для размерности 23. В отличие от преды-
дущего случая квантовая схема содержит бинарные вентили управляемого фазо-
вого сдвига. Значение фазового сдвига и число бинарных вентилей зависят от
номера слоя быстрого преобразования. Все унарные вентили определяются мат-
1 1 И
г j 1 |. Детали построения квантовой
схемы изложены в работе [45]. Результирующее состояние квантового регистра
является запутанным, тем не менее, квантовая схема полиномиально эффективна.
Рис. 5.14. Квантовая схема быстрого преобразования Фурье
Технология классификации обычно имеет дело с образами. В квантовом ва-
рианте образом является квантовое состояние регистра. Задача распознавания
образа сводится к построению такого унитарного преобразования, которое фор-
151
мирует на выходе одно из базисных состояний регистра с вероятностью, близкой
или равной единице. По существу подобная задача была рассмотрена при по-
строении приспособленных спектральных преобразований. Было показано, что
настройка сводится к фрактальной декомпозиции функции и выбору параметров
ядер преобразования. Методы декомпозиции основаны на фрактальной фильт-
рации и отличаются только комплексным характером фрактальных фильтров.
Для размерности 2 можно предложить более общий способ выбора пара-
метров ядер, чем было изложено ранее. Обозначим через гф(г/, у) коэффициен-
ты ядра в слое z, а через фг- (г/) (здесь и далее точка над символом означает ком-
плексную величину, а «черточка» - комплексно-сопряженную) - соответствую-
щую компоненту фрактального разложения функции-образа f(u). Значениями
функции f(u), заданной на интервале длиной 2”, являются коэффициенты ба-
зисных векторов состояния квантового регистра. Как было показано ранее, спек-
тральный оператор будет приспособлен к функции, если ядра будут приспособ-
лены к соответствующим компонентам фрактального разложения функции. Для
унитарных ядер условие приспособленности имеет вид:
X)Ф,™ (ит ) = 1 ПРИ vm = хт>
ит
(11 т, vm ) Фу'” (ит ) — ® при \>т Ф Хт.
J'nl
Например, для компоненты фот (и1П) = ар т (um)eja“m и ядра вида (5.20), при-
способленного по первому столбцу, данные условия приводятся к виду:
(р.т (О)еЛУо° a°)cosO + ср.то (1)еу(У1° ai)sinO = l,
ср.™ (oW^01 a°)sinO-<р.т (1)е^У11 a|^cos0 = 0.
Отсюда следуют расчетные формулы для определения параметров ядер:
tg0 = (p.w(l)/(p.w(O), Уоо-CCq, Ую=аь У01 -а0 = У11 “а1-
Углы yoi, уц данными формулами определяются неоднозначно, для опре-
деленности можно положить yoi = а0’ У11 - а1 • Если исходное состояние кван-
тового регистра совпадает с функцией образа, то квантовое состояние после воз-
действия оператора быстрого преобразования будет в точности совпадать с од-
ним из базовых состояний. В общем случае квантовый алгоритм выполняет эле-
ментарные преобразования над состояниями квантового регистра, а не отдель-
ных д-бит, поэтому в случае сильно запутанных состояний вычислительная эф-
фективность падает до NP-класса.
152
6. ДВУМЕРНЫЕ БЫСТРЫЕ ПРИСПОСОБЛЕННЫЕ
ПРЕОБРАЗОВАНИЯ
Небольшая двусмысленность никогда еще никому не
вредила.
Закон Сухара. Азбука Мерфи
Традиционно для обработки изображений используются быстрые ортого-
нальные преобразования. Цель обработки обычно заключается в фильтрации или
сжатии изображения. В обоих случаях необходимы некоторые априорные зна-
ния, которые касаются либо вида изображения, либо помехи. В зависимости от
этой информации выбирается тип используемого преобразования. Например, ес-
ли известны пространственные частоты помехи, то применяется преобразование
Фурье и фильтрация помехи производится в частотной области. Для решения за-
дачи сжатия необходима статистическая информация о классе изображений, для
того чтобы без особых потерь для восприятия удалить малозначимые компонен-
ты сжимаемых отображений. Для сжатия обычно применяются ортогональные
косинусные и вейвлет-преобразования, базисные функции которых близки к
собственным векторам ковариационных матриц широкого класса изображений.
Сами собственные векторы, упорядоченные в матрицу, образуют ортогональное
преобразование Карунена-Лоэва. К сожалению, это преобразование не имеет
быстрого алгоритма и поэтому не используется при больших размерностях дан-
ных. Однако его важной отличительной особенностью является возможность
обучения по статистически накопленным данным.
Подобное качество можно распространить и на быстрые преобразования,
поставив перед собой цель настроить значения коэффициентов базовых опера-
ций таким образом, чтобы учесть априорную информацию и сохранить при этом
условие ортогональности. Быстрые преобразования имеют меньшее число сте-
пеней свободы, чем преобразование Карунена-Лоэва, поэтому возможности
обучения будут ограничены. Тем не менее, их достаточно для настройки по
крайней мере на одну главную компоненту преобразования Карунена-Лоэва, и
уже это позволяет решать целый класс задач, связанных с эффективным сжати-
ем, адаптивной фильтрацией и распознаванием изображений.
Обозначим через F(UV, Ux^ матрицу изображения размером NyxNx.
При воздействии на изображение линейного преобразования H(Uy,Ux;Vy,Vx^
получается массив из Му х Мх коэффициентов. Двумерное преобразование вы-
полняется по правилу
Ny-1 -1
Дг„гд.)= Z £ F^y-uAH(uy’u*’vy-vA- («-о
u v =0L7 =0
У x
153
Двумерное преобразование называется ортогональным (точнее, унитарным), ес-
ли выполняется условие
Ny-lAL-l
t/ =017 =0
J\.)H(Uy,Ux;V^V^ =
1, если Vy =V'v и Vx = Vx,
О, если Vv *V'v или Vx * V'x, '
(6-2)
где символом надчеркивания «-» помечено комплексно-сопряженное преобразо-
вание. Для ортогонального преобразования выполняется: Ny=My, NX=MX.
Рассмотренная ранее парадигма быстрых перестраиваемых преобразований
достаточно просто распространяется на многомерное пространство. Грамматика
формального языка, представленная в разд. 1, полностью сохраняется, основные
отличия заключаются в многомерной интерпретации букв алфавита. Для двумер-
ного преобразования любая буква алфавита заменяется двумерным символьным
вектором, в котором каждая координата соответствует одной из размерностей.
6.1. Двумерные быстрые преобразования
Необходимым условием существования быстрого алгоритма является воз-
можность мультипликативной декомпозиции значений обоих размерностей изо-
бражения в равное число сомножителей:
Ny = PbPi -Pii-i’
Nх ~ Pi) /’I •••Pn-i
Индексы х, у здесь означают принадлежность к осям координат исходного изо-
бражения. Данное условие не является жестким ограничением, поскольку неко-
торые сомножители могут быть единичными. Тем не менее, чем большее число
неединичных сомножителей содержат декомпозиции, тем выше вычислительная
эффективность быстрого алгоритма. Используя сомножители декомпозиций как
основания системы счисления, представим значения координат точек изображе-
ния в позиционной форме:
Uy ~ fan—2 " 1,\ М() )’ Щ ~ ’и\ ^0 )’ (6-3)
* * * * *
где вес т-го разряда определяется выражением рт-\Рт-2 Р\Ро-> а ит ~ Раз-
рядная переменная, принимающая значения |^0, рт J (звездочка здесь заменяет
индексы х, у). Аналогично можно представить координаты спектральных коэф-
фициентов в плоскости Гх J;
154
Алгоритм быстрого преобразования обычно представляется в виде графа с различ-
ной топологией. Поразрядную форму удобно использовать для описаний топологий
быстрого алгоритма. Например, для топологии Кули-Тьюки с прореживанием по
времени граф может быть описан в виде лингвистического предложения
{ип-1ип-2 ио){ип-1ип-2 • • • и\ Ч))• • •
\ип-\ип-2• • \vn-lvn-2 •••vlvo) •
Первое и последнее слова предложения соответствуют координатам значений в
пространственной и спектральной областях. Число слов в предложении равно
п +1. Промежуточные слова определяют координаты U™,Unxl и V™, I7'" для то-
чек преобразуемого изображения во внутренних слоях быстрого алгоритма. Для
алгоритма с замещением значений выполняется условие
U™+i=V™, U™+i=V™. (6.4)
По топологическому предложению несложно построить граф быстрого преобра-
зования. В общем случае топологии для направлений х и у могут быть разны-
ми, но правило их построения всегда должно удовлетворять системному инвари-
анту быстрых алгоритмов. На графе топологии можно выделить базовые опера-
ции (ядра) W™ т [ujnUm', v^v^), представляющие собой четырехмерные матри-
цы размером | р'^; Р]п, р*п | (т = 0,1,2,...,и-1). Взаимосвязь между базо-
выми операциями определяется фактор-графом - структурной моделью быстро-
го преобразования. Для выбранной топологии граф структурной модели описы-
вается лингвистическим предложением
{ип-\ип-2 и1 ){ип-1ип-2 • • • ^2 Ч) )• • •
• • \ип—\ип—2 • • • ит+\^т—\^т—2 • • • vo)- • \vn-2vn-3 • • • v0 ) •
Каждое слово в этом предложении определяет номер базовой операции i*1 в
слое т. Число слов в предложении равно п . На рис. 6.1 показана структурная
модель быстрого двумерного преобразования для размерности изображения
8x8. Входное изображение поступает на нижний слой, а спектральные коэффи-
циенты получаются в верхнем слое. Вершинам модели соответствуют ядра пре-
образования. Ядро в слое т выполняет двумерное преобразование над про-
странственным блоком размером pjn х р*п:
(6.5)
155
Рис. 6.1. Структурная модель двумерного быстрого преобразования
Соответствия U*1 ,и*п) взаимно-однозначно определяются по лингвисти-
ческим предложениям топологической и структурной модели. При компактной
топологии в межслойном переходе устанавливаются соответствия ?7”,+1 =
U™11 = V™. Алгоритм быстрого двумерного преобразования заключается в после-
довательном вычислении выражений (6.5) по всем возможным слоям. Фрагмент 6.1
представляет реализацию алгоритма быстрого двумерного преобразования.
function
S=Execute 2D Fast Transform(К,F,Py,Px,Gy,Gx,Topology X,Topology_Y)
^Выполнить быстрое 2б-преобразование, заданное массивом ядер К над
2D -функцией F
% К - массив ядер по слоям K{m}{Zy,Zx}(uy,их,vy,vx);
% F(Uy,Ux) - входная 20-функция
% Topology_X, Topology_Y - указатели на функции топологий по коорди-
натам X и Y
% S(Vy,Vx) - выходной 20-спектр
% Vy,Vx - координаты спектральной области
% Ру,Рх - размерности входного пространственного поля
% Gy,Gx - размерности выходного спектрального поля
% © А.Ю.Дорогов
n-length(К); %число слоев преобразования
S1-F;
for m=1:n
156
Wm=K{m); %ядра слоя
[Ly,Lx]-size(Wm); «число ядер в слое
S2^zeros(size(SI)); ^предопределение только для ортогональных
%преобразований
for Zx=l:Lx
for Zy=l:Ly
W=Wm{Zy,Zx};
[Pym,Pxm,Gym,Gxm]-size(W); % размерности ядра
for vxm=l:Gxm
for vym=l:Gym
s-0;
for uxm=l:Pxm
[ux,vx,Umx,Vmx]= invTopology(Px,Gx,m,Zx,uxm,vxm,
Topology X) ;
for uym=l:Pym
[uy,vy,Umy,Vmy]= invTopology(Py,Gy,m,Zy,uym,vym,
Topology_Y);
s=s+S1(Umy,Umx)*W(uym,uxm,vym,vxm);
end
end
S2(Vmy,Vmx)=s;
end
end
end
end
S1-S2;
end
S=S2;
Фрагмент 6.1. Алгоритм быстрого двумерного преобразования
Вычислительная эффективность. Оценим вычислительную эффектив-
ность быстрого алгоритма для ортогонального двумерного преобразования.
В качестве базы для сравнения будем использовать вычислительные затраты при
прямом выполнении преобразования, которые, как и прежде, будем оценивать
числом операций умножения. Полное число операций умножения равно числу
элементов четырехмерной матрицы преобразования. При размерностях изобра-
жения Nx х Nу это значение будет равно:
Zo=(NxNyf.
Для быстрого алгоритма (см. (6.5)) количество ядер в слое т:
~ (Nx/рт / Р'т ) •
Для каждого ядра в слое требуется выполнить zm ={ртРт} операций умноже-
ния. При числе слоев равном п общее число операций умножения для быстрого
алгоритма
157
п-1
~ ^mzm
т=0
Выигрыш по быстродействию будем оценивать величиной Q = Zq/Z. Под-
ставив в эту оценку значения затрат получим:
22 РтР'т
т-0
Для численной оценки выполним расчет для изображений, размеры кото-
рых кратны степени двойки. Размеры ядер в этом случае целесообразно выбрать
равными двум. Полагая Nx = Ny = N, получим п - log2^V, тогда
N2
0 = — ----.
41og2^V
7 Я
Например, для N = 128 = 2 получим 0 ® 585, а для N = 256 = 2 будем
иметь 0 = 2048. Вычислительная эффективность быстрого алгоритма стреми-
тельно растет с увеличением размерности изображения.
6.2. Мультипликативная декомпозиция элементов матрицы
быстрого преобразования
В разд. 5 было построено мультипликативное разложение элементов мат-
рицы быстрого преобразования для одномерного случая. Покажем, что подобное
разложение существует и в двумерном варианте.
„ * *
Задание конкретных значении для всех разрядных переменных ит, vm (где
т пробегает значения 0,1,...,«-1) определяет некоторый путь в топологиче-
ском графе между парой элементов начального и конечного слоев. Из однознач-
ности поразрядного представления чисел следует, что такой путь единствен для
каждого парного сочетания пространственных точек входного и выходного сло-
ев. Из выражения (6.1) следует, что
(б.б)
Дифференцируя (6.6) по правилу дифференцирования сложной функции получим:
IT .TZ TZ ' _ dFn~X dsn~2 dFl 6SQ
y^x^y^x) дрП-х dsn-2 dFn 2 ds°dF°'
158
Из условия (6.4) следует, что для всех т справедливо------- = 1, а из (6.5) - что
dSm~x
dSm / . . \
----= т \umum’’vmvm)- Таким образом получим, что каждый элемент че-
cFm h > 'у
тырехмерной матрицы преобразования Н выражается через элементы ядер в
виде произведения:
H{Uy, Ux, Уу, FX^=W ; , 2 (wh-2w«-2; vn-2vn-l)---
‘Л > 1Х
.0 (wb w0; (6.7)
lX ’ ly
где поразрядные выражения индексов ядер слоя т для выбранной топологии
имеют вид:
т / х х х х х х\ -т у у у v v у\ /г о\
lx ~ \lln-}lln-2-"Um+lvm-lvm-2’”v0/’ly ~ \и'п-\и'п-2’"и'т+\У'т-\у'т-2’"УЬ /’ ^^)
Подставив выражение (6.7) в условие ортогональности (6.2), после преобразова-
ний получим, что оно выполняется, когда ортогональными являются все ядра,
т. е. для любых т, i”' ,1™ справедливо:
У У и"" )irm I = •!’’если= " v” ’
:iii -т \ m ill' nl nl / -m -m \ l" 1" ’ Tn 7П ] \
uymuxm x'y x,y ' ' I 0, если или vm .
6.3. Фрактальная фильтрация изображений
В разд. 5 было показано, что последовательная фрактальная фильтрация
служит удобным инструментом для настройки одномерных быстрых приспособ-
ленных преобразований. На каждом шаге фрактальный фильтр кратно сокращает
размер временной базы одномерного сигнала. Подобным образом для двумерно-
го случая фрактальная фильтрация представляет собой кратно-масштабную об-
работку изображений, последовательно сжимающую его размеры вплоть до
единственной точки. Схему последовательной фрактальной фильтрации изобра-
жений можно представить в виде пирамиды (рис. 6.2). Основанием пирамиды
является исходное изображение F(Uy,Ux^, для которого аргументы Uy и Ux
представлены в позиционной системе счисления (см. (6.3)).
Для выполнения первого шага зафиксируем в этом позиционном представ-
лении все разряды, кроме двух младших и u'q . Если варьировать младшие
разряды по всем возможным значениям, то получим выборку размером хр$ .
159
Под фрактальным фильтром будем понимать произвольный функционал Ф, за-
данный на этой выборке. Формально это можно записать в виде выражения
г-. I! V V V\
F\\\u'n-\un-2’"u\ b
[ип-\ип-2 '"Щ
Fili.y цУ ^,У^У\ ^х^х
\\ип-]ип-2'"и1 и0 /Дип-]ип-2'"и] и0
Рис. 6.2. Схема фрактальной фильтрации изображения
Очевидно, что изображение Fj будет кратно уменьшенным по размерам по
отношению к исходному изображению. Функционалом, например, может быть
правило вычисления среднего значения выборки или ее медианы. Фрагмент 6.2
представляет алгоритм двумерной фрактальной фильтрации изображений.
function [Fyx,F2]=Fractal_2D_filter(F,Gx,Gy,m,Filter)
% Фрактальная фильтрация двумерных функций
% F - 2Б-функция (матрица) на входе
% m - масштабный уровень фильтра
% Gx,Gy - основания системы счисления для аргументов функции F
% Filter - указатель на функцию фильтра
% Fyx - 2D-функция на выходе фильтра с редуцированной размерностью
% F2 - 2Б-функция на выходе фильтра с восстановленной размерностью
к входной функции F
% Gxn,Gyn - редуцированные значения размерностей для функции Fyx
% © А.Ю.Дорогов
k=length(Gx) ; %число масштабных уровней
Mx=prod(Gx); % диапазон изменения аргумента
My-prod(Gy); % диапазон изменения аргумента
if k==l % проверка на одномасштабность
Finp-F(:);
Fyx—feval(Filter,Finp,m);
160
else
for y=l:My ^фильтрация по строкам
Finp-reshape(F(у,1:Mx), Gx);^кратно-масштабное представление
строки
Fout=feval(Filter,Finp,m); ^фрактальная фильтрация
Fy(y, :)=Fout ( :) '; ^переход к векторному представлению строки
end
M=Mx/Gx(m);% количество столбцов уменьшилось за счет выполнен-
ной %фильтрации по строкам
for х=1:М %фильтрация по столбцам
Finp-reshape(Fy(1:Му,х),Gy);%кратно-масштабное представление
столбца
Fout=feval(Filter,Finp,m); ^фрактальная фильтрация столбца
Fyx(:,х)=Fout(:)'; %переход к векторному представлению столбца
end
end
F2=Retrieve 2D size(Gx,Gy,Fyx,m); ^Восстановление размеров изображения
о.__________________________________________________________________
'о
function F-Retrieve_2D_size(Gx,Gy,Fyx,m)
^Восстановить размер вектора фильтрованной функции
% Gx,Gy- основания системы счисления для аргументов функции F
% Fyx фильтрованная функция
% m - масштабный уровень фильтра
% F - многомерный образ фильтрованной функции с восстановленной
% размерностью
% Gxn,Gyn - новые значения размерностей для функции Fyx
% © А.Ю.Дорогов
k=length(Gx) ; %число масштабных уровней
Mx=prod(Gx); % диапазон изменения аргумента
My=prod(Gy); % диапазон изменения аргумента
avs=setdiff([1:k],m); %множество варьируемых разрядных переменных
for х=1:Мх
[vx{1:к}]=ind2sub(Gx,х); %поразрядное представление номера х
Vx= SUB2ind(Gx(avs),vx(avs));
for y=l:My
[vy{1:к}]=ind2sub(Gy,у); %поразрядное представление номера x
Vy=SUB2 ind(Gy(avs),vy(avs));
F (y, x) -=Fyx (Vy, Vx) ;
end
end
function V=SUB2ind(G,v)
^стандартная MatLab-функция sub2ind не работает, если размерность
вектора v %меньше 2. Данная функция устраняет этот недостаток
if length(v)==0
V=l;
elseif length(v)==l
V=v{1};
else
V=sub2ind(G,v{1:end)) ;
end
Фрагмент 6.2. Алгоритм фрактальной фильтрации изображений
161
В приведенном алгоритме используется раздельная фрактальная фильтра-
ция по строкам и столбцам. Такое разделение не является обязательным и реали-
зовано только с целью преемственности представленных ранее алгоритмов од-
номерной фрактальной фильтрации.
На выходе алгоритма фильтрованное изображение с помощью функции
F=Retrieve 2D size(Gx,Gy,Fyx,m) восстанавливается до размеров исходного
изображения. Если выполнить скалярное деление исходного изображения на
восстановленный фильтрованный образ, то получим первый множитель искомой
декомпозиции. После первого шага фрактальной фильтрации исходное изобра-
жение можно формально представить в виде произведения
р{[и'п-\ип-2 '"и\ uq )> {ип-\ип-2 '"и\ иЬ )) =
= (\Un-\Un-2 "~и\ ] >\ип-\ип-2"'и\ // Л1 , ' ("Ь ’ "О )’
t \
где /.) ,х (г/л , uq ) - набор двумерных функций-множителей, зависящих от раз-
' 76Л) v и 7
рядных переменных и^ и u'q , а индексы , j'q выделяют функцию из набора.
Значения этих индексов устанавливаются равными значениям аргументов изо-
бражения Fp т. е. j'q = ---Wi и jq . Изображение
Fj в свою очередь также может быть представлено как произведение изображе-
ния F2 на множители из набора f .уj. Повторяя операцию фракталь-
ной фильтрации и разложения многократно, достигнем вершины пирамиды и
получим в результате мультипликативную декомпозицию изображения в виде
F{{ип-1 ин-2 ’ ’ ’"] "О )• fc-1^-2 • • • и\ иЬ )) =
= Л /' , (""-!• "п-1 )/;' , \Un-2’ ип-2)--/:У.; ("1 ’ "1 ("О' "о)" (6 9>
J л— п—1 * п—"l-J п—2 J\ J\ Jo JO
где j^=^n_xuyn_2---uym^ и Jo =(<-1^-2-••^+1)-
При использовании мультипликативной декомпозиции для построения ор-
тогональных преобразований необходимо при разложении двумерной функции
нормировать формируемые множители к уровню единичной энергии. Фрагмент 6.3
представляет алгоритм мультипликативной декомпозиции двумерной функции с
нормировкой образуемых множителей.
162
function
[Factor,Fout,Gxn,Gyn]=Get_Censor_2D_Factor(Gx,Gy,Filter,Finp,m)
^Получить нормированный поблочно фрактальный 20-множитель Factor с
%цензурированием нулей и функциональный остаток разложения - фильт-
рованную %20-функцию Fout с редуцированной размерностью
% Gx,Gy- основания системы счисления для аргументов функции Finp
% Finp - нефильтрованная функция с полной размерностью
% Filter - указатель на функцию фильтра
% Fout - выходная функция фильтра, размерность совпадает с Fyx
% m - масштабный уровень фильтра
% Factor - образ фактор-множителя, имеет ту же размерность, что и Finp
% Factor - разделяется на прямоугольные блоки размерностью Gy(m)*Gx(m)
% эти блоки являются опорными функциями ядер
% Gxn, Gyn - редуцированные значения размерностей для функции Fyx
% Fyx— фильтрованная функция на входе с редуцированной размерностью
% avs - множество варьируемых разрядных переменных
% © А.Ю.Дорогов
[Fyx,F2inp]-Fractal—2D_fliter(Finp,Gx,Gy,m,Filter);
k=length (Gx); %число масштабных уровней
avs=setdiff([1:k],m); ^множество варьируемых разрядных переменных
Gxn-Gx(avs);
Gyn-Gy(avs);
if k==1
Norm=norm(Finp ( :) );
Factor=Finp/Norm;
Fout-Fyx*Norm;
return
end
Mx=prod(Gxn); % диапазон изменения аргумента для Fyx
My=prod(Gyn); % диапазон изменения аргумента для Fyx
Fout-Fyx;
for х=1:Mx
[vx{avs}]=ind2sub(Gxn,х); %поразрядное представление номера х
for у=1:Му
[vy{avs}]=ind2sub(Gyn,у); %поразрядное представление номера у
if abs(Fyx(у,х))<10е-4 %цензурирование нулей
Fyx (у, х) =1;
end
S=0; mX=[];
for vxm=l:Gx(m) %просмотр блока (опорной функции ядра) по
координате %Х
vx{m}=vxm;
X=sub2ind(Gx,vx{1:k});
mX=horzcat(mX,X); ^накопление множества индексов столбцов
блока
mY=[];
for vym=l:Gy(m) %просмотр блока (опорной функции ядра) по
%координате Y
vy{m}-vym;
Y=sub2ind(Gy, vy{1:k}) ;
163
mY=horzcat(mY,Y); ^накопление множества индексов строк блока
Fc=Finp(Y, X)/Fyx(у,x);
Factor(Y,X)-Fc; Сформирование фактор-множителя
S-S+FcA2; ^накопление квадратов элементов фактор-множителя
end
end
Norm-sqrt(S); /норма фактор-множителя
if Norm==0 /если норма нулевая, фактор-множитель выбирается
в виде /единичной нормированной матрицы
Fr- eye(length(mY),length(mX));
Factor(mY,mX)-Fr/norm(Fr);
else
Factor(mY,mX)-Factor(mY,mX)/Norm; ^нормированный блок
(опорная /функция ядра) фактор-множителя
Fout (у,х)=Fyx(у,х)*Norm; /коррекция фильтрованного образа
end
end
end
Фрагмент 6.3. Алгоритм мультипликативной декомпозиции изображения с нормировкой
множителей
6.4. Настройка приспособленных двумерных преобразований
Если сравнить полученную декомпозицию изображения (6.9) с декомпози-
цией быстрого преобразования (6.7), то нетрудно заметить, что они подобны.
При этом множество индексов ядер в каждом слое покрывает множество индек-
сов функций-множителей. Отсюда следует конструктивный вывод, что быстрое
преобразование будет приспособлено к изображению, когда функции-множите-
ли разложения (6.9) будут приспособлены к ядрам. Фактически для каждой дву-
мерной функции-множителя нужно достроить ортогональные функции до пол-
ного набора базисных функций ортогонального ядра. Это можно легко сделать,
используя алгоритм ортогонализации Грамма-Шмидта [39]. Недостающие по
количеству ядер наборы функций-множителей могут быть дополнены их повто-
рением. Выбор дополнительных функций не влияет на условие приспособленно-
сти быстрого преобразования, но влияет на вид остальных базисных функций
преобразования. Фрагмент 6.4 представляет алгоритм построения ядер быстрого
двумерного преобразования, приспособленного к двумерной функции.
function
K=Create_orthogonal_2D_fast_transform_kernelsR2(S,Px,Py,Filter,
Topology_X,...Topology_Y)
/функция строит набор 20-ядер быстрого ортогонального преобразования,
/приспособленного к изображению S с повторением ядер
% S - изображение двумерной функции
% Рх,Ру - матрицы оснований системы счисления для строк и столбцов
матрицы S
164
% Filter - указатель на функцию фрактального фильтра
% %Topology_X,Topology_Y - указатели на функции топологий
преобразования
% К - массив ядер по слоям K{m){Zy,Zx}(uy,их,vy,vx);
% © А.Ю.Дорогов
k-length(Px) ; %число слоев быстрого преобразования
N-prod(Py); %число строк матрицы S
M-prod(Px); %число столбцов матрицы S
Qy-InPermutation(Ру,Ру,Topology_Y); %построить перестановку для
терминального %рецепторного поля
S-S(Qy, :); %перестановка строк
Qx-InPermutation(Px,Px,Topology_X); %построить перестановку для
терминального %рецепторного поля
S=S(:,Qx); %перестановка столбцов
s=l; %масштабный уровень фильтра
Finp-3;
Рхп-Рх;
Руп-Ру;
for m=l:k
[ Fac-
tor, Fout,Pxn,Pyn]=Get_Censor_2D_Factor(Pxn,Pyn,Filter,Finp,s);
^Factor - поблочно нормированный фактор-множитель, размерность
%совпадает с Finp
% Fout - фильтрованная матрица с редуцированной размерностью
Lx-Get KernelAmount(Px,Px,m); % число ядер в слое по координате X
Ly=Get_KernelAmount(Ру,Ру,т); % число ядер в слое по координате Y
um=l; vm=l;
for Zx=l:Lx
[ux,vx,Um,Vm]= invTopology(Px, Px, m,Zx,um,vm,Topology_X);
x=SUB2ind(Pxn,ux(m+1:k)); %номер блока по координате X
for Zy=l:Ly
[uy,vy,Um,Vm]= invTopology(Py,Py,m,Zy,um,vm,Topology_Y);
y=SUB2ind(Pyn,uy(m+1:k)); %номер блока по координате Y
f2D=Select_Block(Factor,х,у,Px(m),Ру(m)); ^выделение блока
из ^матрицы
W3D-Create_2D_orthogonal_adapted_kernelR(f2D); ^построить
^трехмерное ядро
K{m}{Zy,Zx}=W3D; %набор ядер 2В-преобразования
end
end
Finp=Fout;
end
Фрагмент 6.4. Алгоритм построения ядер двумерного быстрого приспособленного
преобразования
Результаты экспериментов с приспособленными преобразованиями для двух
изображений представлены в виде таблицы. Цветные изображения преобразовыва-
лась к черно-белому варианту и из них вычиталась постоянная составляющая. Для
165
Обработка изображений приспособленными двумерными преобразованиями
каждого изображения было построено быстрое приспособленное преобразова-
ние. Это преобразование использовалось для обработки собственного и чужого
изображений. В таблице представлены двумерные спектры для обоих случаев.
6.5. Построение объемных фракталов
Двумерные быстрые преобразования наследуют фрактальные свойства одно-
мерных преобразований, поэтому их можно использовать для построения регуляр-
ных фракталов. Задача эта существенно проще, чем настройка приспособленного
преобразования, поскольку для построения
регулярного фрактала все ядра преобразова-
ния должны быть выбраны одинаковыми.
Губка Кантора. Фрактал является об-
общением фрактала Кантора на трехмерный
случай. В качестве ядра следует выбрать
трехмерную матрицу размером 3x3x3.
Рис. 6.3 отображает графический образ мат-
рицы. Элементы матрицы принимают зна-
чения 0 и 1. Фрагмент 6.5 представляет ал-
горитм формирования ядра.
Рис. 6.3. Трехмерное ядро
для 3 D-фрактала Кантора
166
function [К,P]=Get_Cantor_3D_Kernels(n)
^Создать ядра преобразования для SD-фрактала Кантора
% Px,Py,Gx,Gy - массивы оснований разрядных переменных с родовыми
именами i и %j по координатам X,Y.
% К - массив ядер по слоям K{m){Zy,Zx)(uy,их,vy,vx);
% W(Uy,Ux,Vy,Vx) - 20-преобразование.
% Uy,Ux - координаты входного поля,
% Vy,Vx - координаты спектральной области
% п -порядок предфрактала
% Р - размерность ядер
P=ones(1,п)*3;
W3D=Cantor_3D_Kernel;
K=FillKernel(P,W3D);
function W3D=Cantor_3D_Kernel()
^построить ЗО-ядро Кантора
W2D1=[1 1 1; 1 0 1; 1 1 1]; %20-ядро фрактала Кантора
W2D2-[1 0 1; 0 0 0; 1 0 1];
W2D3-[1 1 1; 1 0 1; 1 1 1];
W3D( :, :,1,1)=W2D1;
W3D(:, :,2,1)=W2D2;
W3D(:, :,3,1)=W2D3;
o. _______________________________________________________________
function K=FillKernel(P,W3D)
^заполнение массива ядер одинаковыми ядрами
%Р основания разрядных переменных
%W3D - ЗО-ядро
n-length(Р) ;
ZY-prod(Р(1:п-1)); %число ядер в слое по координате Y
ZX=ZY;
for m=l:n
for Zy=l:ZY
for Zx=l:ZX
K{m){Zy,Zx)=W3D; ^заполнение множества ядер
end
end
end
Фрагмент 6.5. Алгоритм формирования ядра для ЗО-фрактала Кантора
Для построения фрактала необходимо по элементам ядер быстрого преоб-
разования восстановить значения матрицы преобразования. Для этой цели мож-
но воспользоваться выражением (6.7), определяющим декомпозицию элементов
матрицы в произведение элементов ядер. Фрагмент 6.6 представляет алгоритм
построения двумерной матрицы преобразования.
function
W=Build_2D_Fast_Transformation(Рх,Ру,Gx,Gy,К,Topology_X,
Topology_Y)
% Построить матрицу быстрого 20-преобразования по массиву ядер
% Px,Py,Gx,Gy - массивы оснований разрядных переменных
с родовыми именами i и %j по координатам X,Y.
167
% К - массив ядер по слоям K{m}{Zy,Zx}(uy,их,vy,vx);
% W(Uy,Ux,Vy,Vx) - ортогональное 2и-преобразование.
% Uy,Ux - координаты входного поля,
% Vy,Vx - координаты спектральной области
% © А.Ю.Дорогов
k-length(Рх); % число слоев - порядок предфрактала
Nx—prod(Рх);
Их-prod(Gx);
Ny-prod(Ру) ;
Му-prod(Gy) ;
W=zeros(Ny,Nx,My,Mx); %Создание четырехмерной матрицы преобразования
for Ux=l:Nx
[их{1:k}]=ind2sub(Px,Ux);
for Uy=l:Ny
[uy{1:k}]-ind2sub(Py, Uy) ;
for Vx=l:Mx
[vx{1:k}]-ind2sub(Gx,Vx);
for Vy=l:My
[vy{1:k}]=ind2sub(Gy, Vy);
f=l;
for m=l:k
[Zx,Uex(m),Vex(m)]-Get_Kernel_Receptor_Axon_Value(ux,vx,Px,Gx,m,
Topology_X);
[Zy,Uey(m),Vey(m)]—Get_Kernel_Receptor_Axon_Value(uy,vy,Py,Gy,m,
Topology_Y);
f=f*K{m}{Zy,Zx}(uy{m},ux{m},vy{m},vx{m});
end
W(Uey(l) ,Uex(l) , Vey (k) , Vex (k) ) =f ;
end
end
end
end
Фрагмент 6.6. Алгоритм построения матрицы двумерного перестраиваемого преобразования
Рис. 6.4 демонстрирует графический образ матрицы преобразования, по-
строенной по данному алгоритму для предфрактала Кантора третьего порядка.
3 3 3
Размер сформированной матрицы 3’ х 3 х 3 .В отличие от спектрального пре-
образования основания разрядных переменных по одной из координат спек-
тральной области выбираются единич-
ными, в частности, для рассмотренного
случая было выбрано
PX=P=G,,=[3 3 3]. Сд.=[111].
Это первый случай, когда прихо-
дится специально выбирать основания
системы счисления для получения пре-
образований с заданными свойствами.
Более детально эти вопросы будут рас-
смотрены в 7.4.
Рис. 6.4. ЗО-фрактал Кантора
168
Губка Серпинского. Трехмерный фрактал Серпинского строится на про-
странственной базе, кратной степени двойки. Рис. 6.5 представляет графический
образ ядра, используемого для построения фрактала. Элементы матрицы ядра
принимают значения 0 и 1. Ядро имеет размеры 2x2x2. Рис. 6.6 представляет
3D-предфрактал Серпинского четвертого порядка.
Рис. 6.5. ЗО-ядро для фрактала Серпинского Рис. 6.6. ЗО-фрактал Серпинского
Фрагмент 6.7 представляет алгоритм генерации ядер.
function [К,Р]=Get_Serpinsky_3D_Kernels(п)
%Создать ядра ЗБ-фрактала Кантора
% Px,Py,Gx,Gy - массивы оснований разрядных переменных с родовыми
именами i и j по координатам X,Y.
% К - массив ядер по слоям K{m){Zy,Zx)(uy, ux, vy, vx) ;
% W(Uy,Ux,Vy,Vx) - 2Б-преобразование.
% Uy,Ux - координаты входного поля,
% Vy, Vx - координаты спектральной области
% п -порядок предфрактала
% Р - размерности ядер по аксоновым полям
P=ones(1,п)*2;
W3D=Serpinsky_3D_Kernel;
K=FillKernel(P,W3D) ;
О.___________________________________________________________________
function W3D-Serpinsky_3D_Kernel()
^построить ЗБ-ядро Серпинского
W2D1=[1 1; 1 0];
W2D2=[0 1; 1 1];
W3D(:,:,2,1)=W2D1;
W3D(: , :,1,1)-W2D2;
Фрагмент 6.7. Генератор ядер для ЗО-фрактала Серпинского
ЧАСТЬ II. СЛАБОСВЯЗАННЫЕ НЕЙРОННЫЕ СЕТИ
170
7. МНОГОСЛОЙНЫЕ ЯДЕРНЫЕ НЕЙРОННЫЕ СЕТИ
Если даже допущение ошибочно, результат может
выглядеть вполне правдоподобно.
Равновесие Бернса. Азбука Мерфи
При исследовании быстрых перестраиваемых преобразований отмечались
их родственные связи с нейронными сетями прямого распространения. Результа-
ты, полученные для быстрых преобразований, допускают полезное обобщение в
контексте нейронных сетей. В этом разделе будут рассмотрены нейронные сети,
близкие по структуре к алгоритмам быстрого преобразования, и оценены выгоды
от взаимного проникновения двух технологий.
7.1. Цели и задачи нейротехнологии
Научно-техническое направление, связанное с разработкой устройств пере-
работки информации на основе принципов функционирования естественных
нейронных систем, относится к области нейротехнологии. Искусственные ней-
ронные сети возникли как попытки математического моделирования некоторых
характерных функций биологических нейронных сетей головного мозга, со-
стоящих из нервных клеток, называемых нейронами, объединенных в последо-
вательно-параллельные сети. К настоящему времени это направление выдели-
лось в самостоятельную дисциплину — нейрокомпьютинг с собственным матема-
тическим аппаратом, которое далеко отошло от первоначальной концепции. Тем
не менее, биологические основы до сих пор являются питательной средой для
генерации новых идей.
Принципиальное значение в биологических сетях имеет структура связей
между нейронами. По убеждению многих нейробиологов [46], «...в конце кон-
цов, будет доказано, что уникальные свойства каждого человека — способность
чувствовать, думать, обучаться и помнить, заключены в строго организованных
сетях синаптических взаимосвязей между нейронами человеческого мозга». Со-
вокупность идей и научно-техническое направление, определяемое описанным
представлением о мозге, получило название коннекционизм. С коннекционизмом
тесно связаны следующие положения:
1 ) система образована множеством вычислительных элементов, которые оди-
наковы и чрезвычайно просты, все поведение определяется структурой связей;
2 ) структура связей достаточно богата по своим возможностям и достаточ-
но избыточна, чтобы скомпенсировать бедность выбора элементов, их ненадеж-
ность, возможные разрушения части системы.
Идеи нейрокомпьютинга возникли практически одновременно с зарождением
последовательных ЭВМ. Ключевая работа Мак-Каллока и Питтса по нейровычисле-
ниям [47] появилась в 1943 г., на 2 года раньше знаменитой докладной записки фон
171
Неймана о принципах организации вычислений в последовательных универсальных
ЭВМ. Широкоизвестная книга Н. Винера «Кибернетика», ознаменовавшая рожде-
ние этой науки в 1948 г., имеет подзаголовок «Управление и связь в животном и
машине» [48]. Главная задача нейротехнологии - разработка методов создания
функциональных нейронных систем, решающих те или иные прикладные задачи.
Первый успех нейротехнологии связывают с персептроном Розенблатта
(1958 г.) [49]. Позднее в 1969 г. Минский и Пейперт [50] математически обосно-
вали ограниченность (как им казалось) персептрона, что послужило началом ох-
лаждения научных кругов к нейрокомпьютингу и к идеологии искусственных
нейронных сетей в целом.
Новый импульс идея создания технических средств на нейропринципах по-
лучила в 1982-84 гг. после теоретических работ физика Джона Хопфилда, кото-
рый предложил и исследовал модели нейронных сетей с обратными связями
[51]. К этому времени размеры элементарных деталей вычислительных уст-
ройств сравнялись с размерами элементарных «преобразователей информации»
в нервной системе живых организмов. Эти обстоятельства послужили стимулом
для пристального внимания инженеров к идеологии нейронных сетей.
К настоящему времени технология нейрокомпьютинга прошла достаточно
длительный путь развития. Следующие классы задач традиционно решаются в
контексте искусственных нейронных сетей:
• Классификация образов. Определение принадлежности входного образа,
представленного вектором признаков, к одному или нескольким предварительно
установленным классам. Приложения: распознавание речи, распознавание тек-
ста, классификация сигналов электрокардиограмм, классификация клеток крови.
• Кластеризация. Классификация образов «без учителя» основана на подо-
бии и различии образов и размещении близких образов в одном кластере. При-
ложения: фильтрация данных, сжатие данных, исследование структуры данных.
• Аппроксимация функций. Нахождение аналитической или алгоритмиче-
ской формы генератора функции. Приложения: решение инженерных и научных
задач моделирования.
• Предсказание/прогноз. Предсказание значения у(п + 1) в некоторый бу-
дущий момент времени tn+\ по п дискретным отсчетам последовательности
у (1), у (2),..., у(п) в предшествующие моменты времени Z|, /2, • • •, tn. Приложе-
ния: предсказание цен на фондовой бирже, прогноз погоды, оценка ресурса ра-
боты оборудования.
• Оптимизация. Нахождение решения, удовлетворяющего системе ограни-
чений при экстремальном значении целевого функционала. Приложения: задачи
выбора и принятия решений, оптимальная фильтрация.
172
• Ассоциативная память. Содержимое памяти может быть вызвано по час-
тичному входу или искаженному содержанию. Приложения: ассоциированный
поиск данных, мультимедийные информационные системы.
• Управление. Построение управляющего воздействия м(/), при котором
система следует по желаемой траектории, диктуемой эталонной моделью. При-
ложение: системы управления и поведения роботов, системы оптимального
управления двигателями, управление химическими реакторами.
Можно выделить следующие характерные свойства нейротехнологии, ко-
торые обеспечивают ее широкое приложение [52]—[57]:
• Нейротехнология дает стандартный способ решения нестандартных задач.
Для каждой новой задачи не требуется проектировать специализированный ал-
горитм - нейронная сеть способна гибко изменять свои характеристики, под-
страиваясь под конкретную задачу.
• Искусственные нейронные сети особенно эффективны там, где трудно
или экономически неоправданно реализовать явный алгоритм.
• Структура нейронной сети позволяет распараллелить вычисления. Мате-
матическое обеспечение нейронных сетей дает возможность решить проблему
эффективного использования высокопараллельных суперкомпьютеров. Очеви-
ден переход от программной эмуляции к программно-аппаратной реализации
нейросетевых алгоритмов с резким увеличением числа разработок чипов с ней-
росетевой архитектурой.
В настоящее время методы нейротехнологии активно внедряются в систе-
мы обработки аэрокосмических изображений и гидроакустических сигналов,
управления интеллектуальными робототехническими комплексами, распознава-
ния слитной речи, моделирования многомерных динамических объектов в ре-
альном времени, классификации осколков распада при столкновении частиц вы-
соких энергий, моделирования ретины глаза, улитки уха и др. В целом этот класс
приложений характеризуется высокой размерностью данных (до 1000 и более
переменных) и критичностью к времени обработки (вплоть до тысячных долей
секунды), что требует использования больших нейронных сетей высокого быст-
родействия. Разработка методов проектирования подобных нейронных сетей яв-
ляется основным содержанием второй части книги.
7.2. Математические модели нейронных сетей
7.2.1. Модели одиночных нейронов
Типичной моделью нейрона является объект типа «вход-выход». На рецеп-
торные входы модели поступает множество сигналов, каждый из которых явля-
ется выходом другого нейрона. На единственном выходе (аксоне) формируется
173
реакция на входное воздействие. Функциональное наполнение модели во многом
зависит от цели исследования. Нейрофизиологами разработано множество моде-
лей [58], [59], достаточно полно отражающих внутренние процессы в нейроне.
Они используются при исследовании динамики процессов в нервной клетке и
моделируют ее реакции на различные воздействия. Задача исследования способ-
ности нейрона к информационной обработке входных сигналов в таких моделях
не ставится. Из-за высокой сложности моделирующих алгоритмов нейрофизио-
логические модели редко применяют для построения искусственных нейронных
сетей, предназначенных для обработки данных.
В технических приложениях используются более простые модели нейро-
нов, отражающие, как правило, только те свойства, которые явно связаны с об-
работкой информации. К этим свойствам относятся: суммирование сигналов, не-
линейная обработка, динамические задержки
выходного сигнала. Иногда используются
стохастические модели нейронов, отражаю-
щие мнение ряда физиологов о вероятност-
ной природе обработки информации мозгом
человека, однако наибольшее применение в
технических приложениях нашли детерми-
Рис. 7.1. Формальный нейрон
Мак-Каллока-Питтса
нированные модели нейронов, среди которых наиболее популярна модель фор-
мального нейрона У. С. Мак-Каллока и У. Питтса, предложенная в 1943 г. [41].
Формальный нейрон (рис. 7.1) представляет собой сумматор для взвешен-
ных входных сигналов. Выход сумматора поступает на нелинейный элемент,
моделирующий пороговое свойство нейрона. Модель нейрона определяется сис-
темой уравнений:
N
S - У W;X,-,
i-\
Рис. 7.2. Функция активации однополярных нейронов
174
Рис. 7.3. Функции активации двуполярных нейронов
где Wj - синаптический вес; 5q - константа смещения; f (U) - нелинейная функ-
ция активации. В качестве нелинейной функции активации обычно используется
л. 1л.
сигмоидная функция у =--------г— и функция гиперболического тангенса
1 + е“Л?
у = th(Xs) (рис. 7.2, 7.3).
7.2.2. Архитектура нейронных сетей прямого распространения
Архитектура определяется способом представления данных, набором опе-
раций, допустимых при обработке данных, и структурой нейронной сети. В фор-
мальных математических моделях способ представления данных и класс допус-
тимых операций устанавливаются выбранной моделью сигнального пространст-
ва. Для нейронных сетей наибольшее применение нашли 3 вида сигнальных
пространств: векторное линейное пространство, вероятностное пространство,
нечеткое пространство. В дальнейшем ограничимся рассмотрением только ли-
нейного векторного пространства.
Нейронная сеть с архитектурой Розенблата. Одной из первых моделей
нейронной сети был персептрон Розенблата - однослойная сеть, построенная из
формальных нейронов Мак-Каллока [49] (рис. 7.4). Обрабатываемые данные
представлены в виде векторов линейного векторного пространства. В этой моде-
ли на вход каждого нейрона /]• подаются все координаты входного вектора. Вы-
ходные переменные определяются уравнениями:
л N л
У)= fj Y.wilxi+sOj
М=1 7
Коэффициенты Wy и константы смещения sqj вычисляются по специаль-
ному алгоритму обучения. Подробный анализ возможностей персептрона вы-
полнил Минский в работе [50]. Убедительные доводы Минского, доказавшего
175
Рис. 7.4. Персептрон Розенблата
неспособность персептрона выполнять ряд элементарных операций, надолго при-
остановили работы в области практического использования нейронных сетей. Од-
нако для многослойных сетей выводы Минского оказались неверными. Многослой-
ные сети решали широкий спектр задач, недоступных однослойным персептронам,
и после появления удобных алгоритмов обучения типа Error Backpropagation [60],
[61] прикладное использование многослойных сетей стало доминирующим.
7.2.3. Многослойные нейронные сети и особенности их применения
Наибольшее распространение в технических приложениях получили мно-
гослойные нейронные сети прямого распространения (рис. 7.5), что обусловлено
исключительной простотой их алгоритмической реализации, наличием развитых
методов обучения, возможностью параллельного выполнения вычислений. В этих
сетях каждый нейрон предшествующего слоя связан со всеми нейронами после-
дующего слоя взвешенными синаптическими связями. Каждая связь - это по
крайней мере одна операция умножения, поэтому для многослойной сети по-
требность в вычислительных ресурсах, связанные с ее технической реализацией,
растет пропорционально квадрату размерности обрабатываемых данных. Это ве-
дет либо к резкому снижению быстродействия, либо к значительному увеличе-
нию аппаратных затрат.
Слой 1 Слой 2 Слой 77-1 Слой п
Рис. 7.5. Многослойная нейронная сеть прямого распространения
176
Очевидно, что быстродействие может быть улучшено прореживанием си-
наптических связей, но это влечет за собой снижение уровня «интеллекта» ней-
ронной сети. Таким образом, основной проблемой проектирования больших
нейронных сетей является наличие системного противоречия между быстродей-
ствием и качеством нейронной сети. Стратегий прореживания связей может
быть предложено великое множество. Но среди них целесообразно выбрать та-
кой вариант, который по структуре связей обеспечивал бы оценку как быстро-
действия нейронной сети, так и уровня ее интеллекта. Рассматриваемая в этом
разделе концепция многослойных ядерных нейронных сетей позволяет решить
данную задачу. Суть концепции заключатся в том, что предлагается перенести
решение по прореживанию связей с топологического уровня на структурный и
благодаря этому существенно упростить проектирование и анализ сетей с огра-
ниченными связями без потерь функциональных возможностей.
7.3. Многослойные ядерные нейронные сети
Нейронные сети с ядерной организацией были предложены автором в
1996 г. [62] и являются структурным расширением класса многослойных сетей
прямого распространения. Наполнение нового класса осуществляется за счет це-
ленаправленного ограничения связей между нейронами смежных слоев. Много-
слойность сети сохраняется, однако все нейроны в пределах слоя группируюся в
модули - нейронные ядра, представляющие собой однослойные персептроны
малой размерности.
Концепция структурной организации ядерных сетей предполагает, что все
нейроны ядра имеют общее рецепторное поле (рис. 7.6). При этом постулирует-
ся, что рецепторные поля нейронных ядер не пересекаются и все связи являются
инъективными (см. приложение, п. 1), т. е. связь структурного уровня, поки-
дающая нейронное ядро, не может ветвиться на несколько последующих ядер.
Эти условия совпадают с принципами построения быстрых перестраиваемых
преобразований и позволяют реализовать идеологию БНС.
Рис. 7.6. Трехслойная ядерная нейронная сеть
177
Нейронные сети с ядерной организацией обладают рядом качеств, имею-
щих важное практическое значение:
• модульность структуры позволяет выполнить декомпозицию сложной се-
ти, что упрощает аппаратную и программную реализации;
• нейронное ядро является наиболее простым вариантом реализации ней-
ронного модуля;
• инъективность межъядерных связей вводит структурный уровень в мате-
матичекую модель нейронной сети, что позволяет получить аналитические оцен-
ки ее достижимых характеристик;
• структура сети может быть оптимизирована под конкретную задачу;
• сокращение числа синаптических весов позволяет существенно увеличить
вычислительную эффективность и использовать этот класс нейронных сетей для
обработки данных высокой размерности в системах реального времени.
Нейронное ядро на структурном уровне определяется парой чисел: размер-
ностью рецепторного поля и числом нейронов в ядре. В многослойных сетях
нейронные ядра связаны между собой операторами перехода, для которых струк-
турной характеристикой является ранг оператора. Поставив в соответствие каж-
дому ядру вершину направленного графа, а каждому оператору перехода на-
правленную дугу, получим графическое отображение нейронной сети, которое
является ее структурной моделью. На рис. 7.7 показана структурная модель, ко-
торая соответствует нейронной сети рис. 7.6. На структурной модели отображе-
ны размерности нейронных ядер как весовые функции вершин и ранги межъя-
дерных операторов как весовые функции дуг.
(1,2) (1,2)
Рис. 7.8. Структурная модель многослойного персептрона
178
Для полносвязанных многослойных персептронов (см. рис. 7.5) структур-
ная модель, очевидно, будет представлять собой линейный граф (рис. 7.8), где
каждому нейронному ядру отвечает нейронный слой.
7.3.1. Ранговые матрицы ядерных нейронных сетей
Ранговые матрицы являются алгебраической формой представления струк-
турной модели. Каждая ранговая матрица соответствует одному межслойному
переходу и определяет ранги операторов связей между ядрами смежных нейрон-
ных слоев. Для структурной модели на рис. 7.7 ранговые матрицы для двух меж-
слойных переходов будут иметь вид:
7?1
Д О Г
0 2 0
<0 1 b
Д О П
ч0 2 1J’
R2
Номер строки в ранговой матрице соответствует номеру ядра в предшест-
вующем слое, а номер столбца — номеру ядра в последующем слое. Набор ранго-
вых матриц вместе со структурными характеристиками ядер составляет струк-
турное описание ядерной нейронной сети. Поскольку все связи в сети являются
инъективными, то для каждого нейронного ядра справедливы выражения:
РТ• gj • <7-’)
i к
где т - номер нейронного слоя; /у7-1 - ранги входящих дуг; г1^ - ранги исхо-
дящих дуг; (р™ gj j - структурные характеристики нейронного ядра. Обозна-
чим через Gm число нейронов в слое т. Из соотношений (7.1) следует:
G =LSj = lAjjk-
j j к
Таким образом, это значение равно сумме всех элементов ранговой матрицы Rm.
Синаптическая карта нейронного ядра представляет собой прямоугольную матрицу
размером р™ х g™. Ранг оператора нейронного ядра, очевидно, удовлетворяет ус-
т ( т т\ т-г
ловию г, <\р j , g j I. При исследовании потенциально достижимых свойств сети
можно полагать, что в этом условии всегда выполняется равенство. Построенная
модель является достаточным структурным описанием ядерной нейронной сети.
7.3.2. Построение топологии ядерной сети
Свяжем с каждым нейронным слоем 2 линейных векторных пространства:
пространство рецепторов и пространство аксонов и обозначим их для слоя с но-
мером т через Ет ,Dm соответственно. Эту пару пространств в дальнейшем бу-
179
дем называть ассоциированными или собственными пространствами нейронного
слоя. Оператор нейронного слоя отображает вектор из пространства рецепторов
в пространство аксонов. Оператор слоя можно задать матрицей, вводя базисы в
ассоциированные векторные пространства. Вариантов определения базисов бес-
конечно много, но для упрощения модели выберем их таким образом, чтобы ба-
зисные векторы взаимно-однозначно соответствовали контактам терминальных
полей нейронного слоя. В этом случае значение уровня сигнала на терминаль-
ном контакте будет определять точно одну координату вектора. Поскольку каж-
дая координата вектора представляет собой одномерное подпространство, то
терминальные контакты естественным образом разбивают ассоциированные
пространства на одномерные подпространства (базовые направления):
Ет =ef Фе^Ф...Фе^,
Dm =5f Ф5^Ф...Ф5^,
где к - число рецепторов; I - число аксонов; - одномерные подпро-
странства в пространстве рецепторов и пространстве аксонов.
Нейронные слои т и т +1 связаны между собой оператором межслойного
перехода, который обозначим через Рт. При инъективных операторах межъя-
дерных связей устанавливается взаимно-однозначное соответствие между базо-
выми направлениями смежных слоев, так что
где индексы и, у базовых направлений связаны взаимно-однозначным числовым
отображением (подстановкой) qm:V ~^>U (см. приложение, п. 1).
Обозначим через \е™} и {d™} наборы базисных векторов для пространств
Ет Dm. Каждый базисный вектор принадлежит базовому направлению. Инъек-
тивный оператор назовем транслирующим, если его действие определено условием
т+\ ( im ) пт
еи =\dv )р
Транслирующий оператор устанавливает однозначное соответствие между ба-
зисными векторами двух смежных собственных пространств, при этом базисный
вектор пространства аксонов предшествующего слоя переводится в базисный
вектор пространства рецепторов следующего слоя.
Топология нейронной сети. Реализация нейронной сети связана с некото-
рым «пространственным размещением» нейронных ядер в пределах нейронных
слоев. При аппаратной реализации нейронной сети топология естественным об-
разом транслируется в топологию кристалла, а при программной реализации оп-
180
ределяет адреса операндов и граф алгоритма. Систему «пространственных коор-
динат» можно задать введением линейных порядков на множестве рецепторов и
множестве аксонов нейронного слоя. Пронумеруем рецепторы и аксоны нейрон-
ных ядер локально в пределах нейронного ядра и глобально в пределах нейрон-
ного слоя. Топологией нейронного ядра z в слое т будем называть пару число-
вых отображений »мГ:
.т
i
и™ и™
ит
т
Pi
Pi1 ?
рТ
1 2
1 2
Эти отображения определяют точное однозначное соответствие между глобаль-
ными и локальными порядковыми номерами рецепторов и аксонов. Топология
межъядерных связей задается соответствием
т ( т 1 1 т т+1
Pij ~ / Я. & j ’
т
где подстановка q соответствует транслирующему оператору межслоиного пе-
рехода.
Алгоритм построения топологии. Для одной и той же структурной моде-
ли можно построить множество различных топологий. Рассмотрим алгоритми-
ческую форму построения топологии на основе ранговой матрицы. Вариант та-
кого построения для быстрых преобразований был представлен в разд. 1. В отли-
чие от быстрых преобразований ранговая матрица ядерной сети может иметь
ранги связей, отличные от единицы, и поэтому предложенный ранее алгоритм
необходимо модифицировать.
Обозначим через Тт = {1,2,...,Dm] числовое множество, состоящее из
Dm элементов, где Dm равно сумме рангов всех связей в межслойном переходе
с номером т. Для каждого межслойного перехода ранговая матрица
т т т
'll гп т
т т т
Rm = r21 ^2
т т т
па П<2 Пс1
заполняется элементами числового множества Тт = {1,2,..., Dm}, образуя мат-
рицу подмножеств (рис. 7.9), и далее для нахождения топологических множеств
выполняется проектирование по строкам и столбцам. Вспомогательные подста-
А В ( А\~^ В
новки q , q являются сомножителями в разложении q = \q ) q
181
т
И
'т
21
(кт)1
(И2
(.Vm\
Рис. 7.9. Схема алгоритма построения топологий
Использование двух подстановок вместо одной позволяет получить сим-
метричный алгоритм, который более удобен в использовании. Если qA -qB, то
( В г
q = \q ) <1 =1> гДе 1- тождественная подстановка. Будем называть тополо-
гию компактной в межслойном переходе, если выполняется: q = i, и расширен-
ной в противном случае. Ниже приведен пример построения компактной тополо-
гии для первого межслойного перехода нейронной сети, показанной на рис. 7.7.
1 2 -> (1,2)
(3,4) 5 -> (3,4,5)
Ф Ф Ф
(1) (3,4) (2,5)
Задание топологии определяет конфигурацию связей в графе нейронной се-
ти, поэтому представление нейронной сети, подобное графу, показанному на
рис. 7.6, будем называть также топологической реализацией.
1 I 1
Рис. 7.10. Матричное представление топологии трехслойной нейронной сети
Топологию нейронной сети графически можно представить в виде логиче-
ского произведения матриц смежности графа топологической реализации. На-
пример, топологии нейронной сети, показанной на рис. 7.6, отвечает произведе-
ние матриц, показанное на рис. 7.10. Матрицы-сомножители назовем топологи-
ческими матрицами ядерной нейронной сети. Топологические матрицы можно
рассматривать и как матрицы отношений связанности между рецепторами и
182
нейронами в данном слое. Тогда произведение топологических матриц можно
трактовать как логическое произведение отношений.
Рис. 7.11. Матричное представление расширенной топологии трехслойной нейронной сети
В логическом произведении матриц используются операции дизъюнкции и
конъюнкции вместо обычных операций сложения и умножения. Результатом ло-
гического произведения будет (0,1)-матрица, определяющая отношение связан-
ности рецепторов первого слоя с нейронами последнего слоя.
Для расширенной топологии между топологическими матрицами смежных
слоев необходимо вводить перестановочную матрицу, соответствующую под-
становке qm. На рис. 7.11 приведен пример матричного представления расши-
ренной топологии нейронной сети. Межслойные подстановки (представленные в
виде произведения циклов) в данном случае равны:
д' = (23)(45), д2 = (24)(35).
7.3.3. Операторная модель ядерной нейронной сети
Обработка данных в каждом ядре I слоя т определяется нелинейным опе-
ратором А™ так, что
где к - число ядер в слое т. Передача между ядрами задается проектирующими
операторами Р™ . Поскольку рецепторные поля нейронных ядер не пересекаются,
то полный оператор нейронного слоя представим прямой суммой операторов ядер
Ат = А? ®А% ®---®А™,
а оператор межслойной передачи разлагается в прямую сумму межъядерных
проектирующих операторов:
Рт = ®®Р^,
7
I J
где индексы I и j определяют номера связанных ядер в смежных слоях. В ре-
зультате входной вектор для каждого ядра j в слое т +1 будет равен прямой
сумме векторных компонент по всем связям данного ядра с ядрами предшест-
вующего слоя:
183
-'7+‘ =©(>'/" И'- (7.3)
i
Последнее выражение по форме совпадает с правилом умножения вектора-
строки на матрицу с элементами Р™, где координатами вектора являются ком-
поненты К777. Аналогично можно считать, что выражение (7.2) представляет со-
бой умножение вектора (xf7, X™, , X™} на диагональную матрицу с элемен-
тами Л777. Формально следуя правилу умножения вектора на матрицы, из (7.2),
(7.3) нетрудно получить символическое выражение для преобразования данных
в w-слойной нейронной сети:
Yn = ф ф ф•••ффХ1 Л1 Р1. А2Р2. ..-Рп~х Ап . (7.4)
•„ ™ *1 '1 *1*2 *2 *2*3 *« -1*« *« v 7
*я-1*я-2*и-3 *2 *1
В нелинейных системах принцип суперпозиции не выполняется и опера-
торные произведения не ассоциативны. В выражении (7.4) скобки, определяю-
щие последовательность операций, не расставлены, но предполагается, что все
операции над входным вектором выполняются строго в порядке следования ней-
ронных слоев, начиная с первого.
7.3.4. Алгоритм обработки данных в нейронной сети
с ядерной организацией
В алгебраической форме топология выражается набором частичных под-
становок (у77,ц-77, определяющих размещение нейронных ядер. Рассмотрим по-
строение алгоритма обработки данных на основе алгебраического представления
топологии нейронной сети.
Выделение векторных компонент X777, Y™ будем рассматривать как дейст-
вие частичных подстановок ст?7, ц*** на векторы Хт, Ym и записывать эту опе-
рацию в виде:
X777 =Xm*G™, Ym =Ym . (7.5)
Поскольку рецепторные поля ядер не пересекаются, то
ст777 (СТГ) = О’ М/ (мГ) = О Для любых z Ф j. (7.6)
Нейронные слои связаны между собой перестановочным оператором, дей-
ствие которого определено подстановкой q :
xw+1
= Ym *qm.
(7-7)
184
Операция «*» обозначает действие подстановки на вектор (такая форма
обычно используется в теории абстрактной алгебры). Операторы межслойного
перехода индуцируют локальные операторы связи между нейронными ядрами
так, что
х7+1=2Х,*р"- (?»)
i
Ш Ш АИ+1
где pzy :vz- —> Uj - частичная подстановка, соответствующая оператору проек-
тирования 7^” (подробней о частичных подстановках см. приложение, п. 3).
Символ X обозначает в данном случае прямую сумму векторов. Частичная ПОД-
АМ
становка ру удовлетворяет условиям точности и однозначности:
1~т\1т\ . .т i т\ 1т\ /м+1
(Р/у ДР// ) с 1 ’ (Р/у ) (Р/у ) I
где im и iw l 1 - тождественные числовые отображения на множествах локаль-
ных индексов аксонов и рецепторов связанных ядер. Из выражений (7.5), (7.7),
(7.8) при выполнении условия (7.6) следует
га /га) 1 тт+\ /7О1
Р/у =ЦЧ J <1 (7-9)
Отображение р'у определяет топологию связи. В матричном представлении
действие оператора нейронного ядра можно записать в виде:
cin vW'u/W vw cm(ст\
si =Xj IVj , Yi ^Fi (Д- ),
где - синаптическая карта ядра; F.m ( ) - многомерная функция активации.
В координатной форме последние выражения представляются следующим образом:
а (7.10)
V,“(/» = .//"(а"'!/,)),
где а,Ь — индексы локальных координат; w™ (а, Ь) — элементы синаптической
карты . Передача данных между ядрами в координатной форме в соответст-
вии с (7.8) определяется правилом
где для каждого i индекс b пробегает всю область допустимых значений. Вы-
ражения (7.5), (7.9)—(7.11) полностью определяют алгоритм обработки данных в
нейронной сети с ядерной организацией.
185
7.3.5. Обучение ядерных нейронных сетей
Для многослойных нейронных сетей без обратных связей наибольшее рас-
пространение получил градиентный алгоритм обучения Error Backpropagation.
Обучение нейронной сети заключается в определении такого набора значений
синаптических весов, который минимизирует критерий J на фиксированной па-
ре векторов (%, Z), где X - входной вектор нейронной сети; Z - желаемый
выходной вектор. Математическое выражение для критерия J имеет вид
J = £(y(E)-z(r))2, (7-12)
V
где у (И) - координаты выходного вектора нейронной сети; N - желаемое зна-
чение координат выходного вектора.
Обучение нейронной сети обычно проводится на нескольких парах (%, Z),
но для понимания идеи построения предлагаемого алгоритма достаточно огра-
ничиться одной парой. В алгоритме Error Backpropagation для минимизации кри-
терия J применяется метод градиентного поиска. Градиент вычисляется после-
довательно по весовым коэффициентам каждого слоя, начиная с последнего, при
этом рекуррентно используются результаты вычисления на каждом предшест-
вующем слое. Для сетей с ядерной организацией применим классический вари-
ант алгоритма Error Backpropagation с некоторой модификацией, учитывающей
структурные особенности ядерной нейронной сети.
Рассмотрим реализацию одного шага алгоритма обучения для ядерной ней-
ронной сети. Пусть Ат и Ат ! - внутренние смежные слои нейронной сети.
Обозначим весовые коэффициенты синаптических карт нейронных ядер через
w™(a, Ь) для слоя Ат и wy7+1(w, v) для слоя Ат 11. Для слоя Ат обработка дан-
ных определена выражением (7.10), аналогичное выражение для слоя Am+i бу-
дет иметь вид
(v)=w,,;*1 («, v). (7.13)
и
В алгоритме обучения параллельно с настройкой синаптической карты
удобно реализовать подбор нелинейных функций за счет изменения смещения
их аргументов. Формально смещение (например, в слое Ат) реализуется добав-
лением фиктивной координаты х™ (*) (как правило, имеющей константное зна-
чение, равное +1), и кроме того, для каждого нейрона ядра добавляется настраи-
ваемое значение синаптического веса w”1 (*, 6). Этот прием позволяет сохранить
186
вид выражений (7.10) и (7.13), считая при этом, что количество слагаемых в этих
суммах увеличено на единицу. Для слоя Ат координаты градиента определяют-
ся частными производными. Используя (7.12) получим:
cJ dJ cs™ cJ m,
---------—--------------—------X' (c
cw?'(a,b) cs”' cw^^b) cs™ '
В последнем выражении введено обозначение
ЬТ(Ь) = —
ds™
Аналогично для слоя Ат+^ можно записать:
Sd 5»г+1/ \ т+\, \
------- = о ;-(у) X j (и),
5и-7+1(И,у)---------7 1
где
(7.14)
(7-15)
(7-16)
(7-17)
s;+1(v) =
dJ
&7+1(у) ’
Величины 577(Z?) и 5^+1(у) в алгоритме обучения Error Backpropagation называ-
ются обобщенными ошибками (точнее, эти величины следовало бы назвать коэф-
фициентами чувствительности критерия J к вариациям координат вектора со-
стояния нейронной сети). Установим математическую связь между обобщенными
ошибками смежных слоев. Пусть dJ - приращение критерия, порожденное изме-
нением координаты состояния s™ (Z?). Тогда на основании (7.15) можно записать:
dJ = P™(b)ds™(b). (7.18)
Локальные связи между смежными вершинами в покоординатном представлении
задаются частичными подстановками р,у так, что и = (Ь)р™. Поскольку р™ -
однозначное отображение, то для каждой пары (z, Z?) существует единственное
значение j, для которого р™ Ф 0. Следовательно, изменение координаты s™ (Z?)
приводит к изменению только координат состояния Sy74-1 (у) так, что с учетом
(7.17) получим
б/У = ^5'”+1(уЫ7+1(у), (7.18)
у
но при этом
-rm
dsm+I =dyP(b) и<7+1 (WpW v) = _2L_< (b)w"+I ((b)pW, v).
187
Подставляя последнее выражение в (7.19) и сравнивая с (7.18) после преобразо-
вания получим:
= М ((b)pW, V . (7.20)
ds^(b)“ J J \ J )
Выражение (7.20) позволяет рекуррентно вычислить обобщенные ошибки для всех
скрытых слоев. Значения градиента определяются по формулам (7.14) и (7.16).
По подобной схеме можно определить обобщенную ошибку 5, приведен-
ную к входу нейронной сети. По аналогии с (7.18) положим, что изменение кри-
терия, порожденное изменением координаты 5(^7) приведенной ошибки, опре-
деляется выражением
dJ =
где U - глобальный номер рецептора входного слоя (коэффициент «2» добавлен
с целью упрощения схемы каскадирования нейронных сетей). Нетрудно пока-
зать, что приведенная ошибка связана с обобщенными ошибками первого слоя
соотношением
Ь(Л7)225} (Л)и^ (у/, Л). (7.21)
2 ь
где u = (U)<j\ , a i - номер ядра, которому принадлежит координата с номером
U. Найдем теперь значения координат градиента для последнего слоя нейрон-
ной сети (слой с номером п). Выражение (7.12) для критерия J перепишем в
следующем виде:
^XX^yW-z/v)) ,
j V
где j — номер ядра в последнем слое; v — индекс координаты в пределах j -го
ядра. Отсюда следует, что значение градиента синаптической карты ядра j бу-
дет равно:
(7.22)
где
dynAv) дУ”М &?(у) дЛ п( \
----------— —-----------------—--------X ’ \И) .
dwnj (и, у) dsnj (у) джП] (и, у) dsnj (у) J
(7.23)
188
Последнее равенство следует из того, что s"(v) = ^х" (u)v/- (г/, v). Подставляя
и
dJ
теперь (7.23) в (7.22), получим---= 5” (v)x^ (и), где величина
dwnj (и, г)
S"(v)=2(HG)-z,(v)] С// . (7.24)
1 VJ 1 ’е^М
является координатным представлением обобщенной ошибки последнего слоя.
В глобальных координатах последняя формула примет вид
5"(И) = 2(/(Г)-г(Г))-^----. (7.25)
ds4v)
Таким образом, определены значения координат градиента для всех слоев ней-
ронной сети. В соответствии с принципом градиентного поиска новые значения
синаптических весов определяются из старых аддитивной коррекцией в направ-
лении антиградиента:
^new = ^old - YVJ(^),
где у - коэффициент обучаемости, который, как правило, определяется эмпири-
чески. На следующем шаге вновь вычисляется выходной вектор уп и вся проце-
дура повторяется до минимизации критерия J.
7.3.6. Каскадирование многослойных нейронных сетей
Каскадирование позволяет объединить две или более нейронных сети в по-
следовательно связанную цепь с общим алгоритмом обучения. Для математиче-
ского анализа процедуры каскадирования достаточно рассмотреть нейронную
сеть, образованную двумя последовательно включенными нейронными сетями
(рис. 7.12).
ZA 6В
Рис. 7.12. Каскадное включение нейронных сетей
На приведенной схеме каждая нейронная сеть представлена векторным че-
тырехполюсником, где пара вход-выход (X, У) образует канал прямой передачи
данных, a (Z, 5) - обратный канал. Обобщенные ошибки (дд, Дд) и эталонные
векторы (Z^, Zg) используются на этапе обучения нейронных сетей, а прямой
канал - как на этапе обучения, так и в рабочем режиме обработки данных. Из
189
схемы вытекают следующие векторные соотношения: Хв = YA, ZA = YA 8#.
Подставляя последнее выражение в координатной форме в (7.25) для сети NNA
получим
5^ (И) 25g (И)
dsnA(Y)
и далее используя формулу (7.21) найдем
8^(К)= У S' (i)w' ((И)а' М.
os’i(V) ь ‘ Л 1 ’
Полученная формула по форме совпадает с выражением (7.20). Таким обра-
зом, приведенная схема каскадирования реализует «гладкое» сопряжение ней-
ронных сетей по потоку обратного распространения ошибок, позволяя обучать
совместно две нейронные сети по одному критерию.
При построении алгоритмов наибольшее применение нашли две стратегии
обучения: последовательная адаптация и стратегия группового обучения. В пер-
вом случае нейронная сеть многократно обучается одному примеру до достиже-
ния заданной точности. При этом коррекция синаптических весов сети выполня-
ется на основе рассчитанного градиента после каждого этапа обратного распро-
странения ошибки. После обучения одному примеру выполняется переход к
обучению следующего и так до полного предъявления всех примеров, в целом
составляющих эпоху обучения. Эпохи повторяются до достижения заданной
точности обучения нейронной сети всему множеству примеров. При групповой
стратегии нейронной сети последовательно предъявляются все обучающие при-
меры и по каждому примеру рассчитываются градиенты, которые суммируются
по всем примерам одной эпохи. Коррекция синаптических весов выполняется
при завершении эпохи. Обе стратегии имеют свои преимущества и недостатки.
Заведомо трудно определить, какая стратегия будет наиболее эффективной в ка-
ждом конкретном случае. Далее будут рассмотены программные реализации ал-
горитмов обучения для обеих стратегий.
7.3.7. Программная реализация алгоритма последовательной
адаптации ядерных нейронных сетей
Алгоритм обучения, рассмотренный в 7.3.5, может быть эффективно ис-
пользован при аппаратной реализации, поскольку явным образом выделяет ней-
ронные ядра слоя, в которых матричные операции можно выполнить параллель-
но. При программной реализации этого алгоритма все операции матричного ум-
ножения выполняются поэлементно. На языке высокого уровня это порождает
множество циклов, связанных с выделением нейронных ядер, их элементов и
190
выполнением скалярных операций умножения. В результате быстродействие ал-
горитма падает. Рассмотрим программную реализацию другой формы градиент-
ного алгоритма, позволяющей эффективно использовать встроенные матричные
операции языков высокого уровня и операции над разреженными матрицами.
Для ядерной нейронной сети предварительно построим массив топологиче-
ских матриц по всем нейронным слоям (см. 7.3.2). Ограничимся рассмотрением
согласованной топологии слоев, когда межслойные перестановочные матрицы
отсутствуют. Поскольку топологические матрицы имеют много нулевых эле-
ментов, то для их хранения можно использовать класс разреженных матриц язы-
ка высокого уровня. Порождение слоев нейронной сети можно выполнить, ис-
пользуя топологическую матрицу как шаблон. Вместе с весовой матрицей слоя
создается также вектор смещений для настройки функций активации. В данной
реализации вектор смещений сохраняется в последней строке матрицы весов
нейронного слоя. Фрагмент 7.1 содержит программную реализацию алгоритма
инициализации нейронной сети.
function W-Create NeuralNet(Т)
% Создать и случайным образом инициализировать слои ядерного
% преобразования, заданные топологическими матрицами
% W - набор ячеек - каждая ячейка содержит матрицу весов нейронного
слоя
% Т - набор ячеек - каждая ячейка содержит топологическую матрицу
нейронного слоя,
% значение ненулевого элемента определяет номер ядра
% © А.Ю.Дорогов
L=length(T); %число слоев
for m=l:L
[I,J,V]-find(T{m}) ;
Vr=rand(size(V))— 0.5;
W{m}-sparse(I,J,Vr); ^создание матрицы весов слоя с равномерно
распределенными значениями
[N,M]-size(T{m});
Ofs=rand(1,М)-0.5; %создание вектора смещений с равномерно
распределенными значениями
W{m}-vertcat(W{m},Ofs) ; %вектор смещений сохраняется в послед-
ней строке матрицы весов
End
Фрагмент 7.1. Алгоритм инициализации нейронной сети
Обозначим через Тт топологическую матрицу слоя т, а через Wm — мат-
рицу весов нейронного слоя (синаптическую карту). Обработка входного векто-
ра Хт в нейронном слое определяется матричным преобразованием
и покоординатной функцией нелинейного преобразования:
191
ym(H = /(Sm(r)),
где /(•) - функция активации. Одновременно с выполнением преобразования
прямой передачи вычисляются производные функций активации:
dFm(Sm(V>)
dS
Фрагмент 7.2 представляет программную реализацию алгоритма последователь-
ной обработки данных по слоям.
function [Out,YM,dF]=Execute_Layer_NeuralNet(W,Inp, Active_Types)
% Выполнить послойное преобразование вектора Inp в вектор Out
% преобразование выполняется последовательным умножением вектора
% слева на матрицы слоя
% W - набор ячеек - каждая ячейка содержит матрицу весов слоя
% Inp - входной вектор-строка
% Out - выходной вектор-строка
% YM - набор ячеек - выходные векторы по слоям
% dF - набор ячеек - значения производных для функций активации по слоям
% Active_Types - типы функций активации по слоям
% © А.Ю.Дорогов
L=length(W); %число слоев
Х=1пр; %входной вектор
X(end+l)=l; %наращивание входного вектора координатой смещения
for k=1: L
S=X*W{k}; %передача по слоям
switch Active_Types (k)
case 'L' % линейная функция активации
Active=@Linear;
case 'T' ^гиперболический тангенс
Active=@Tanh;
case 'S' ^сигмоидная функция
Active=@Sigmoid;
end
[Y,dY]=feval(Active, S,l); ^нелинейное преобразование по выходу
dF{k)-dY; %вектор значений производных функций активации в слое
YM{k}-Y; %выходной вектор слоя
X=Y;
X(end+l)^l; %наращивание входного вектора координатой смещения
end
Out-Y; %выходной вектор
Фрагмент 7.2. Послойное преобразование данных в нейронной сети
В приведенном фрагменте размерность входного вектора каждого слоя ис-
кусственно увеличивается на одну координату с единичным значением. Это не-
обходимо для автоматического вычисления смещений аргументов функций ак-
тивации при выполнении матричного умножения. Фрагмент 7.3 содержит про-
граммные реализаций функций активации.
192
function [у,dy]=Tanh(s,a)
^Функция активации - гиперболический тангенс
% s -аргумент
% а - параметр
y=tanh(s*a); %значение функции
dy=a*(1-у.Л2 ) ; Означение производной
function [у,dy]-Sigmoid(s,а)
% Функция активации - сигмоид
% s -аргумент
% а - параметр
у=1/(l+exp(-s*a)); %значение функции
dy=a*(l-y).*у; %значение производной
о.
О ----
function [у,dy]=Linear(s,а)
% Функция активации - линейная
% s -аргумент
% а - параметр
y=s*a; Означение функции
dy=a*ones(size(s)); %значение производной
Фрагмент 7.3. Программная реализация функций активации
Ошибка обучения на выходе п -слойной нейронной сети определяется вы-
ражением
8 = У - 7
ип лп •
Обратное распространение обобщенной ошибки по слоям определяется матрич-
ным преобразованием
h 1 = 5 W'
а также покоординатным нелинейным преобразованием
(П = а^-1 (^-1(7)) (у),
cS
где функция
dS
является производной от функции активации для
нейрона с номером V в слое т -1. Подобно (7.14) можно получить, что коорди-
наты градиента для слоя т определяются выражением
cJ
= 8,„ '.'Л.
При вычислении градиента должна учитываться топология слоя, поэтому по-
следнее выражение следует переписать в виде
193
где Т (U, V) - элементы топологической матрицы, принимающие значения 0 или 1.
Фрагмент 7.4 представляет функцию вычисления градиента для слоя нейронной
сети.
function Gradient=Find_Sparse_Gradient2(X,delta,Т)
^Расчет градиента для разряженной матрицы включая смещения
%Gradient - разреженная матрица градиента с топологией слоя
%Х - вектор-строка - входной вектор слоя
% delta - вектор строка, обобщенная ошибка на выходе
% Т - топологическая матрица слоя
% © А.Ю.Дорогов
[I, J, S>find (Т) ;
D=length(I) ;
for k=l: D
i-I(k); j=J(k); ^индексы ненулевого элемента топологической
матрицы
G(k,1)=Х(i)*delta(j); ^вычисление координаты градиента
end
Gradient-sparse(I, J, G) ; Сформирование разреженной матрицы градиента
%градиент для смещений равен delta и добавляется последней строкой к
%матрице градиента
Gradient-verteat(Gradient, delta) ;
Фрагмент 7.4. Вычисление градиента для нейронного слоя
Матрица градиента в последней строке содержит координаты, относящиеся
к весам смещений, которые также настраиваются в процессе обучения нейрон-
ной сети. После вычисления градиента по всем нейронным слоям выполняется
коррекция весовых матриц в направлении антиградиента:
^new=^old-YVJm,
где у - коэффициент обучаемости. Фрагмент 7.5 представляет функцию одного
цикла градиентного обучения нейронной сети по одному примеру.
function
[Wnew,delta]-BackPropagation_NeuralNet(W,T,Xz,Zx,YM,gamma,dF)
% Градиентное обучение нейронной сети по одному примеру
% Алгоритм обратного распространения ошибки с коррекцией приращений
% W - набор ячеек, каждая ячейка содержит матрицу весов слоя
% включая смещения
% Wnew - набор ячеек, каждая ячейка содержит матрицу весов слоя
% после обучения
% Т - набор ячеек, каждая ячейка содержит топологическую матрицу слоя
% Xz - вектор-строка - входной вектор обучающего примера
% Zx - вектор-строка - выходной вектор обучающего примера
% gamma - коэффициент обучаемости
% dF - значения производных функции активации по слоям
% © А.Ю.Дорогов
L=length(W); %число слоев преобразования
df=dF{L}; % Значение производных функций активации для последнего слоя
delta-2*(YM{L}-Zx) ,*df; ^ошибка на выходе преобразования
194
Х{1}=Xz;
X(2:L)=YM(1:L-l); ^входные векторы по слоям
for k=L:-1:1
Wl=W{k}; % матрица весов слоя
Gradient=Find_Sparse_Gradient2(Х{k},delta,T{k}); %расчет градиента
Wnew{k}=Wl-gamma*(Gradient) ; ^нелинейная коррекция матрицы ве-
сов слоя
h=delta*Wl'; ^распространение обобщенной ошибки на предшест-
вующий слой
if к>1
df=dF{k-l}; % Значение производных функций активации для слоя
к-1
delta=df.*h(1:end-1);
else
delta-h (1:end-1); ^обобщенные ошибки смещений не распростра-
няются на предшествующий слой
end
end
Фрагмент 7.5. Функция одного цикла градиентного обучения нейронной сети к одному примеру
Фрагмент 7.6 содержит функцию, выполняющую многократную трениров-
ку по одному примеру, и циклический переход к следующему примеру. Цикл по
всем примерам определяет эпоху обучения. По каждой эпохе оценивается мак-
симальная ошибка. Эпохи повторяются до достижения заданной точности.
function
[W,delta,Error]-Training OneExample NeuralNet(T,W,X,Zx,gamma,
epsilon,Rp,Active_Types)
% Обучение нейронной сети на одном примере
% W - массив ячеек, каждая ячейка содержит матрицу весов слоя
% delta - обобщенные ошибки на входе преобразования
% X - входной вектор примера
% Zx - целевой вектор примера X
% Y{m} - выходные векторы по слоям преобразования
% Т - массив ячеек, каждая ячейка содержит топологическую матрицу слоя
% gamma - коэффициент обучаемости
% epsilon - допустимая ошибка обучения
% Rp - число шагов обучения
% Active_Types - типы функций активации по слоям
% © А.Ю.Дорогов
Error(1)-2*epsilon;
for r-l:Rp
[Y,YM,dF]^Execute Layer NeuralNet (W,X, Active_Types);
%преобразование вектора X в вектор Y
Error(г)=max(abs(Y-Zx)); ^ошибка обучения
[W,delta]=BackPropagation_NeuralNet(W,T,X,Zx,YM,gamma,dF);
%обратное распространение ошибки с коррекцией весов
if Error (г)<epsilon
break
end
end
Фрагмент 7.6. Функция тренировки нейронной сети по одному примеру
195
Фрагмент 7.7 представляет корневую функцию алгоритма градиентного
обучения нейронной сети.
function
[W,ErrS]=Gradient_Teaching_NeuralNet(W,T,X,Y,epsilon,gamma,E,Rp,
Active Types)
% Градиентное обучение ядерного преобразования с построением
функции ошибки
% Т- массив ячеек, каждая ячейка содержит топологическую матрицу слоя
% X,Y - обучающее множество
% epsilon - точность в абсолютных единицах
% gamma - коэффициент обучаемости - множитель градиента
% Е - число эпох в циклах обучения
% Rp -число повторений цикла обучения для одного примера
% W - массив ячеек, каждая ячейка содержит слабозаполненную
матрицу весов одного %слоя
% преобразования. Последняя строка матрицы - веса смещений
% ErrS - ошибки по эпохам цикла обучения
% Active_Types - типы функций активации по слоям
% © А.Ю.Дорогов
D=length(X(:,1)); %число обучающих примеров
for i=l:Е
for m=l:D %перебор примеров в эпохе обучения
Хт=Х(т,:); %входной вектор
Ym=Y(т,:); %выходной вектор
[W,delta,Error]=Training_OneExample_NeuralNet(Т,W,Xm,Ym,gamma,
epsilon,Rp,Active_Types);
ErrEpoch(m,1)=Error(1); ^ошибка на первом цикле обучения
title(horzcat('Epoch Number=',num2str (i),' Error=',num2str (Error (1))));
^визуальный контроль
drawnow;
end
ErrS(i)=max(ErrEpoch(:)); ^оценка ошибки за эпоху
if ErrS(i)<epsilon
break % досрочное завершение обучения при достижении заданной точ-
ности
end
end
Фрагмент 7.7. Полный алгоритм обучения нейронной сети
Пример. На рис. 7.13 показана быстрая нейронная сеть размерностью 8x8
в топологиии Кули-Тьюки с прореживанием по времени. Крупные вершины
графа соответствуют нейронным ядрам, а малые - координатам векторов.
В качестве входных векторов использовались 4 первые функции косинус-
ного преобразования, а в качестве выходных - 4 функции унитарного кода
(рис. 7.14). Все нейронные ядра имеют размерность 2x2.
196
Рис. 7.13. Быстрая нейронная сеть в топологии Кули-Тьюки с прореживанием по времени
и.с>
0.4 п о
U .L ——и—i
и
П
U. 3 л i
и i i 7 i 1
—0.5
л ! 1 i
и П |_J 1
—U. 5
П
и. э 1 I
0 i i i
-0.5
123456789
a
1
0.5
0
1
0.5
0
1
0.5
0
1
0.5
0 123456789
6
Puc. 7.14. Обучающее множество:
a - входные векторы; б - выходные векторы
197
На рис. 7.15 показана функция зависимости максимальной ошибки обуче-
ния от номера эпохи. Для алгоритма были установлены следующие параметры:
Topology - ^топология Кули-Тьюки с прореживанием по времени,
epsilon—0.02; ^точность обучения
garrma-0.1; %коэффициент обучаемости
R=8; %число повторений цикла обучения для одного примера
Е=200;% число эпох обучения
Функции активации: 1,2-й слой - гиперболический тангенс, 3-й слой -
Рис. 7.15. Зависимость ошибки обучения БНС от числа эпох
для алгоритма последовательной адаптации
Как видно из рисунка, обучение преобразования досрочно завершилось при
достижении порогового уровня ошибки. Ядра преобразования могут быть зада-
ны не квадратными, а прямоугольными матрицами, в этом случае векторы входа
и выхода имеют разную размерность.
7.3.8. Программная реализация алгоритма обучения
с групповой стратегией
Рассмотрим разновидность алгоритма группового обучения, получившего
название RPROP (Resilient backpropagation). Алгоритм был предложен М. Remil-
ler и Н. Braun в 1993 г. [63]. В алгоритме с групповой стратегией осуществляется
накопление градиента по всем обучающим примерам в пределах эпохи и только
после этого производится коррекция весов нейронной сети. Особенность данно-
го алгоритма состоит в том, что от накопленного градиента используются только
знаки его координат, а численные значения градиента игнорируются. Это эври-
стическое решение было мотивировано желанием ускорить обучение при малых
значениях координат градиента и обеспечить устойчивость алгоритма при боль-
198
ших значениях. Знаки координат градиента указывают направление изменения
весов. Значение изменения было предложено рассчитывать, следуя на каждой
эпохе с номером t следующему правилу:
-4, (у. П-
О иначе.
если -----------
если -----------< О,
(U, V)
Здесь величина (U, V), называемая корректирующим значением в слое т в
эпохе t, в свою очередь определяется правилом
р+Д^1 (L/, И), если
dJ >
Д^(С/,К) = .П-Л^-Ду.К), если
dJ cJ
div^(u,v)ewb(u,v)
Д^„1 (L7, И) иначе.
Здесь числа p+ и p устанавливаются из условия 0 < р < 1 < р+.
Адаптивное эвристическое правило работает следующим образом. Всякий раз,
когда частные производные соответствующих весов W}n (U, V) изменяют свои
знаки, это означает, что последняя коррекция весов была слишком велика и ал-
горитм проскочил локальный минимум. В этом случае корректирующее значе-
ние Д^ {U, V) уменьшается умножением на коэффициент р < 1. После измене-
ния корректирующего значения частные производные предыдущего шага обнуля-
ются, что позволяет исключить адаптацию к последовательности обучающих эпох.
В том случае, когда частные производные сохранили свой знак, корректирующее
значение А(т(и, V) слегка увеличивается умножением на коэффициент р+ >1 с
целью ускорить сходимость на неглубоком регионе пространства весов.
Экспериментально установлено, что хорошие результаты по сходимости
алгоритма можно получить, если выбрать р- =0.5 и р1 =1.2. Кроме значений
р+ и р- RPROP-алгоритм использует 3 добавочных параметра: начальное кор-
ректирующее значение До, ограничение сверху Дтах и ограничение снизу
Amin- Когда алгоритм запускается, все значения ^m(U,V) устанавливаются
199
равными Aq . Типичное значение Aq = 0.1. Для того чтобы предотвратить появ-
ление слишком больших или слишком малых значений весов, любые изменения
А^ (U, V) всегда ограничиваются сверху значением Атах, а снизу - Amjn. Ти-
пичные значения: Атах = 50 и Amin = 10-6. Фрагмент 7.8 содержит листинг го-
ловной программы алгоритма RPROP.
function [W,ErrS]=Gradient_Teaching_NeuralNet_RPROP_Acm
W,T,X,Y,epsilon,gamma,E,Active Types)
% Градиентное обучение ядерного преобразования с построением
функции ошибки
% Алгоритм RPROP с накоплением градиента
% Т- массив ячеек, каждая ячейка содержит топологическую
матрицу слоя
% X,Y - обучающее множество
% epsilon - точность в абсолютных единицах
% gamma - коэффициент обучаемости - множитель градиента
% Е - число эпох в циклах обучения
% W - массив ячеек, каждая ячейка содержит слабозаполненную
матрицу весов одного слоя
% преобразования. Последняя строка матрицы - веса смещений
% ErrS - ошибки по эпохам цикла обучения
% Active_Types - типы функций активации по слоям
% © А.Ю.Дорогов
[GradientOld,Update_Value] = Init_Update_Value_Gradient(Т);
B-length(X(:,1)); %число обучающих примеров
for i=l:Е
Gradient=Init_Gradient(Т) ;
for m=l:D %перебор примеров в эпохе обучения
Хт-Х(т,:); %входной вектор
Ym-Y(т,:); %выходной вектор
[W,delta,Error(т,1),Gradient!]-Training_OneExample_NeuralNet_Acm
(Т,W,Хт,Ym,Active Types);
Gradient=Acm_Gradient(Gradient,Gradient!) ;
end
[W,Update_Value,Gradient]-Change_Neural_Weights_RPROP(W,Update_
Value,Gradient,GradientOld);
ErrS(i)-max(Error); ^оценка ошибки за эпоху
GradientOld=Gradient;
title (horzcat('Epoch Number=',num2str(i) , '
Error-',num2str(ErrS(i) ) ) ) ;
%номер обучающего вектора
drawnow;
if ErrS (i)<epsilon
break % досрочное завершение обучения при достижении
заданной точности
200
end
end
о____________________________________________________________
function [Gradient,Update_Value] = Init_Update_Value_Gradient(T)
^Инициализация начальных значений приращений
%Т - массив ячеек - набор топологических матриц
% Update_Value - корректирующее значение
L-length(Т);
Upd-0.1; %начальное значение Update_Value
for m=l:L
Upd_Value= spones(T{m})*Upd;
[N,M]=size(Upd_Value);
Ofs-ones(1,M)*Upd;
Upd_Value-vertcat(Upd_Value,Ofs);
Update_Value{m}-Upd_Value;
Gradient{m}-sparse(N+1,M);
end
function Gradient=Init_Gradient(T)
^Инициализация градиента
%T - массив ячеек - набор топологических матриц
% Gradient - градиент
L=length(Т);
for m=l:L
[N,М]=size(Т {m});
Gradient{m}^sparse(N+l, M) ;
end
Фрагмент 7.8. Программная реализация алгоритма обучения RPROP
Функция Training_OneExample_NeuralNet_Acm( ) вычисляет градиент для
одного обучающего примера эпохи. Функция Acm_Gradient() накапливает гра-
диент по всем примерам эпохи. Функция Change_Neural_Weights_RPROP() кор-
ректирует веса нейронной сети по завершении эпохи. Фрагмент 7.9 содержит
перечисленные функции.
function [W,delta,Error,Gradient]-Training_OneExample_NeuralNet_
Acm (T,W,X,Zx,Active_Types)
% Обучение нейронной сети на одном примере
% W - массив ячеек, каждая ячейка содержит матрицу весов слоя
% delta - обобщенные ошибки на входе преобразования
% Error - максимальная ошибка по координатам
% X - входной вектор примера
% Zx - целевой вектор примера X
% Y{m} - выходные векторы по слоям преобразования
% Т - массив ячеек, каждая ячейка содержит топологическую матрицу слоя
% Active_Types - типы функций активации по слоям
% © А.Ю.Дорогов
201
[Y,YM,dF]=Execute_Layer_NeuralNet (W,X, Active_?ypes); %преоб-
разование ^вектора X в вектор Y
[delta,Gradient]-BackPropagation_NeuralNet_Acm(W,T,X,Zx,YM,dF);
Error=Error_Example(Y,Zx); ^ошибка преобразования
о.
function Gradient-Acm_Gradient(Gradient,Gradient?)
% Накопление градиента
% Gradient - накопленное значение
% Gradient? - градиент, вычисленный по одному примеру
L=length(Gradient); %число слоев сети
for m=l:L
G=Gradient{m};
G?=Gradient?{m};
G=G+G?;
Gradi ent{m}=G;
end
function [delta,Gradient]=BackPropagation_NeuralNet_Acm
(W, ?, Xz , Zx, YM, dF)
% Вычисление градиента нейронной сети по одному примеру
% Алгоритм обратного распространения ошибки
% W - набор ячеек, каждая ячейка содержит матрицу весов слоя
% Wnew - набор ячеек, каждая ячейка содержит матрицу весов слоя
% после обучения
% OfsNew - набор ячеек, каждая ячейка содержит вектор весов
% смещений после обучения
% ? - набор ячеек, каждая ячейка содержит топологическую матрицу слоя
% Xz - вектор-строка - входной вектор обучающего примера
% Zx - вектор-строка - выходной вектор обучающего примера
% gamma - коэффициент обучаемости
% dF - значения производных функции активации по слоям
% © А.Ю.Дорогов
L=length(W); %число слоев преобразования
df=dF{L}; % Значение производных функций активации для последнего
слоя
delta=2*(YM{L]-Zx).*df; ^ошибка на выходе преобразования
Х{1}=Xz;
X(2:L)-YM(1:L-l); %входные векторы по слоям
for k-L:-1:1
Wl-W{k}; % матрица весов слоя
Gradient{k]-Find_Sparse_Gradient2(X{к},delta,?{к]); %расчет
градиента
h=delta*Wl'; %распространение обобщенной ошибки на предшест-
вующий слой
if к>1
df=dF{k-l}; % Значение производных функций активации для слоя к-1
delta=df. *h (1 :end-1);
else
202
delta-h(1:end-1);
end
end
o. ___________________
'O ----- - - - - --------------------------
function [Wnew,Update_Value,Gradient]=Change_Neural_Weights_
RPROP(W,Update_Value,Gradient,GradientOld)
%Коррекция весов нейронной сети по значению градиента для алгоритма
RPROP
% © А.Ю.Дорогов
L=length(W);
for m=l:L
[Update_Value{m},Gradient{m},dW]=RPROP_Algorithm(Update_Value{m},
Gradient{m},GradientOld{m});
Wl=W{m};
Wnew{m)-Wl+dW;
end
Фрагмент 7.9. Функции вычисления градиента по одному обучающему примеру
в алгоритме RPROP
function [Update_Value,Gradient,dW]=RPROP_Algorithm(Update
Value,Gradient,GradientOld)
^Функция коррекции приращений весов по алгоритму RPROP
% Update_Value - корректирующее значение
% Gradient - градиент текущей эпохи
% GradientOld - градиент предыдущей эпохи
% dW - приращение веса
% © А.Ю.Дорогов
иМах=50; ^Ограничение корректирующего значения сверху
uMin=0.000001; %Ограничение корректирующего значения снизу
nUplus=1.2; %Фактор увеличения корректирующего значения
nUminus-0.5; %Фактор уменьшения корректирующего значения
[N,М]=size(Update_Value);
dW=sparse(N,М);
Sign=sign(Gradient.*GradientOld); «выделение знака
[I,J]=find(Sign>0) ;
Update_Value(I,J)=Update_Value(I,J)*nUplus;
Update_Value(I,J)=min(Update_Value(I,J),uMax);
dW(I,J)--sign(Gradient(I,J)).*Update_Value(I,J);
[I,J]=find(Sign<0);
Update_Value(I,J)=Update_Value(I,J)*nUminus+spones
Update_Value(I,J))*uMin;
Gradient(I,J)=0;
[I,J]=find(Sign==0) ;
dW(I,J)--sign(Gradient(I,J)).*Update_Value(I,J);
Фрагмент 7.10. Функция расчета корректирующих значений в алгоритме RPROP
203
Рис. 7.16. Зависимость ошибки обучения от номера эпохи для алгоритма PROP
Рис. 7.16 представляет график зависимости ошибки от номера эпохи для ал-
горитма RPROP для быстрой нейронной сети, показанной на рис. 7.13, и обу-
чающего множества (рис. 7.14). Все описанные функции являются стандартны-
ми для алгоритмов со стратегией группового обучения. Фрагмент 7.10 содержит
функцию RPROP AlgorithmO, отражающую специфику алгоритма RPROP.
7.3.9. Двойственное функционирование нейронных сетей.
Пространства модальных состояний
В рассмотренных алгоритмах обучения можно выделить 2 режима работы:
режим эмуляции, когда нейронная сеть выполняет преобразование вектора от
входного рецепторного поля к выходному аксоновому, и режим обратного распро-
странения ошибки, когда нейронная сеть реализует передачу ошибок от выходного
аксонового поля к входному рецепторному. Вместо одной сети со встречными по-
токами данных в ряде случаев удобно рассматривать комбинацию из двух однона-
правленных нейронных сетей: прямой и об-
ратной (рис. 7.17). Обратную сеть также назы-
вают двойственной. Функционирование пря-
мой сети определяется уравнениями (7.10),
(7.11), а двойственной (7.20). Напомним,
что для трансформирующих перестраиваемых
преобразований процедура градиентного обу-
чения также приводит к необходимости двой-
ственного рассмотрения преобразования.
Рис. 7.17. Прямая и двойственная
нейронные сети
204
Обучающее множество задано набором пар векторов (X, Z), где X вход-
ной вектор нейронной сети, Z - желаемый выходной вектор. При исследовании
способности нейронной сети (или трансформирующего перестраиваемого преобра-
зования) к обучению подмножества векторов X и Z, можно заменить их линей-
ными оболочками, представляющими собой линейные пространства, в этом случае
ошибки и 5^ также будут линейными пространствами. В свою очередь на входе
и выходе каждого ядра определяются сигнальные пространства в прямой и двойст-
венной сетях. Эти пространства можно рассматривать как своего рода модальные
состояния структурной модели, где степени модальности определяется размерно-
стью пространств (см. приложение, п. 4). В ряде случаев модальные состояния
можно определить непосредственно по структурной модели, что позволяет, как бу-
дет показано в разд. 8, оценить способность нейронной сети к обучению.
7.4. Регулярные ядерные нейронные сети
с реконфигурируемой структурой и топологией
Структура сети считается регулярной, если существует правило, выражаю-
щее симметрию в характеристиках узлов сети и организации межмодульных
связей. Рассмотренный в разд. 1 формальный язык описания быстрых преобра-
зований является удобным средством проектирования сетей с регулярной струк-
турой и топологией. Если топология сети повторяет топологию быстрого преоб-
разования, то эти нейронные сети будем называть быстрыми. Для БНС справед-
ливы все оценки быстродействия, полученные для быстрых преобразований.
В отличие от быстрых преобразований в ядерных нейронных сетях ранги
межмодульных связей не обязаны быть единичными. К счастью, формальный
язык допускает простые расширения, которые позволяют описывать регулярные
сети с неединичными рангами связей. Регулярность сети может проявляться на
уровне структуры и уровне топологии. Сети с регулярной структурой могут
иметь как регулярную, так и нерегулярную топологию. В данном разделе огра-
ничимся рассмотрением нейронных сетей только с регулярной топологией.
7.4.1. Объектно-ориентированная модель реконфигурируемой
регулярной нейронной сети
Любая программная реализация нейронной сети должна обладать способ-
ностью к реконфигурации структуры и топологии, для того чтобы обеспечить
возможность адаптации к прикладной задаче. В минимальном варианте это мо-
жет быть изменение размерностей терминальных полей при сохранении струк-
туры и топологии сети. В общем случае неизменяемым свойством является
только регулярность, все остальные характеристики подвергаются модификации.
205
Подходящей математической моделью реконфигурируемой сети может
служить модель «класс-объект», получившая широкое распространение в со-
временных языках программирования. В этом контексте будем рассматривать
регулярную нейронную сеть как объект программного класса. Взаимодействие с
объектом реализуется через набор допустимых функций (методов). Функции
класса позволяют изменять структурные и топологические характеристики ней-
ронной сети, сохраняя при этом свойства регулярности и слабой связанности.
В контексте формального языка набор функций можно рассматривать как поро-
ждающую грамматику, описывающую всевозможные расширения языка, а в
контексте объектно-ориентированного подхода - как интерфейс управления
объектом. В данном разделе будут рассмотрены несколько методов реконфигу-
рации сети, основанных на конструкциях формального языка, представленного в
разд. 1. Описание методов, как правило, приводится для уровня топологического
представления. Переход от топологии сети к структурной модели не представля-
ет трудностей и подробно описан в 7.3.
7.4.2. Изменение размерности нейронных ядер
Терминальные слои. Рассмотрим регулярную к-слойную нейронную сеть.
Пусть алфавит языка для топологического представления задан парой таблиц:
щ ик_^ М= V1 •••
Р] Рк-Ъ V&0 £1 £к-1
где py , gy_ ~ размерности нейронных ядер соответствующих слоев. Размерности
терминальных полей определяются произведениями:
N = PqPvPk_\, M = gQgv-gK_x.
Для изменения размерности терминальных полей (при сохранении структуры
сети) достаточно изменить значения размерностей pq и gK_]. Введем две объ-
ектные функции Rcp(y?) и Axn(g), модифицирующие основания pq и gK_p
Значения аргументов функций должны удовлетворять условиям р, g > 1.
Пример. В разд. 1 была рассмотрена структурная модель для алгоритма
БПФ с порождающим соотношением z'A = (j]J2-"Azk-a-2zk-a-3-"zo)- Тополо-
гическая траектория для данной сети в схеме «с прореживанием по частоте» оп-
ределяется лингвистической моделью
Swlw2) < v0 V1 "2 >
где разрядные переменные имеют следующий набор оснований:
U Uq U2
ч 2 2 2 у
V vo Vi V2
.2 2 2?
(7.26)
(7.27)
206
Операции Rcp(l), Ахп(1) для данной сети приводят к изменению весов ядер
терминальных слоев. На рис. 7.18 показана структурная модель с новыми значе-
ниями терминальных полей. Алфавит языка после действия функций определя-
ется таблицами:
Рис. 7.18. Структурная модель сети с измененными терминальными полями
Рис. 7.19. Топологическая реализация нейронной сети
с измененными терминальными полями
На рис. 7.19 показано графическое представление новой топологической
реализации. Введенные функции класса несложно обобщить, добавив аргумент,
определяющий номер слоя: Rcp(X, р), Axn(X, g). В таком варианте функции
будут изменять размерности полей для нейронных ядер слоя X.
7.4.3. Изменение ранга межъядерных связей
Регулярные нейронные сети с рангами связей больше единицы не принад-
лежат классу быстрых нейронных сетей. Вычислительная эффективность для
этого класса сетей ниже, чем у однотипных БНС, но они, как правило, обладают
более высоким «уровнем интеллекта», чем БНС. На уровне структурных моде-
лей изменение ранга отражается только в изменении весов дуг и инцидентных к
207
ним вершин, каноническое предложение, определяющее структуру сети, при
этом не изменяется. На рис. 7.20 показана структурная модель трехслойной ней-
ронной сети с рангами больше единицы.
Рис. 7.20. Структурная модель регулярной сети с рангами связей больше единицы
Конструкции формального языка позволяют достаточно просто описывать
данный класс сетей и на уровне топологий. Пусть ф, А],..., гк_2 - ранги связей в
межслойных переходах. Расширим алфавит языка разрядными переменными
€q , q,..., ек-2 , задав их основания следующей таблицей:
<еЪ'е0 ех ... ек_р
U П гк-2 у'
Поскольку все связи являются точными и однозначными, то для каждого
межслойного перехода X существует взаимно-однозначное соответствие между
аксонами и рецепторами смежных слоев, так что
Р ={(u)sk ®Wc,. ®гх). UM =(MSl
Таким образом, топологическая траектория для рассматриваемого примера оп-
ределяется лингвистическим предложением
[<«0wlz/2) (v0e0wlw2> (v0e0vlw2) (v0Hv2)] •
На рис. 7.21 показано правило построения топологического графа. Введем
объектную функцию RnkfZ, г). Эта функция устанавливает ранг связей (г > 1) в
межслойном переходе X (л-0,1,..., к-2). Область действия функции может
быть расширена и для терминальных полей нейронной сети, если определить
дополнительные разрядные переменные e_j и ек_[. В этом случае функция мо-
жет быть использована для изменения размерности терминальных полей. На-
пример, топологическая траектория
208
[(«0z/1z/2e_1) (vqZ/^2) (vQVp/2 ) (vovl v2 )]
определяет трехслойную сеть с расширенным входным рецепторным полем.
и <UqU^U2> <v0e0w1w2> <V0V1M2> <V0V,V2> V
о ООО г о
ООО ООО
1 001 / 0001 001 001 1
2 010 Л, 2
X 0010 J 010 010
3 011 л \\ ООН он он 3
4 1 оо с \ 100 100 4
5 101 \\ 5
6 \\ 0101 // 101 101 6
7 НО \ \\ 0110^ но но 7
8 111 ' \\\ 0111 111 111 8
9 \\ ' 1000 9
10 \\ 1001 10
11 Ч 1010 11
12 Ч 1011 12
13 ' 1100 13
14 1101 14
15 1110 15
1111
Рис. 7.21. Правило построения топологического графа для регулярных сетей
с рангами связей больше единицы
Интерес представляет вырожденный вариант, когда основания всех разряд-
ных переменных и и v равны единице. В этом случае каждый слой содержит
только одно ядро, а переменные расширения е_ ।, <?о, q,..., ек_2, ек_| определя-
ют размерности ядер. Например, для топологического предложения
[(z/QW] и2е_!) ( v0e0^l ^2 ) { v0v1 elw2 ) (v0 V1 v2e2 )],
где
Рис. 7. 22. Полносвязанная трехслойная сеть
интерпретирующий граф будет иметь вид, показанный на рис. 7.22. Очевидно,
что данный граф определяет многослойную полносвязанную нейронную сеть.
Таким образом, классическая многослойная сеть принадлежит множеству струк-
турных реализаций реконфигурируемых регулярных сетей.
209
7.4.4. Изменение числа нейронных слоев
Будем рассматривать алфавитные наборы букв с именами и и v как 2 ли-
нейных связанных списка, для которых определены транзакционные функции
вставки и удаления. Обозначим эти функции следующим образом: Ins(X, р, g),
Rmv(X). При выполнении операции вставки добавляются новые разрядные пе-
ременные с именами иу, у^ и значениями оснований р и g. Все последующие
элементы списка изменяют свою нумерацию. При X = 0 и X = к операция встав-
ки добавляет новые разрядные переменные в начало и конец алфавитных спи-
сков. Функция Rmv(X) удаляет из списков переменные с текущим номером X и
корректирует позиционные номера последующих переменных. Предполагается,
что операции вставки и удаления не изменяют тип порождающей схемы.
Пример. Пусть исходные алфавитные списки переменных определены таб-
лицами (7.27), а топологическая траектория - предложением (7.26). Выполним
операцию вставки Ins(l, 1,1). Новые списки примут вид:
Uq Uy U2 U^ I
ч2 1 2 2 J
V1 v2 уз'
1 2 2,
а новое топологическое предложение будет представлено следующим образом:
{v0UyU2U3) (vqvp^z/s) (г0Г1Г2«з) (v0Vlv2V3)] .
На рис. 7.23 показан интерпретирующий граф для данного предложения.
7.4.5. Объединение и деление нейронных слоев
Введем вначале вспомогательную функцию модификации нейронного слоя:
Mdf (Х,/>, g). Данная функция изменяет характеристики нейронных ядер в слое
X, ее можно рассматривать как композицию функций модификации полей
Rcp(X, р) и Axn(X, g).
Под объединением нейронных слоев будем понимать удаление одного слоя
с одновременной модификацией другого так, чтобы при этой операции размер-
ности терминальных полей остались неизменными. Обозначим функцию объе-
210
динения через Unf(X, m), где X и т - номера объединяемых слоев (Хеш).
Пусть (.Рх., &А.)’ (Pm->Sm) ~ характеристики нейронных ядер указанных слоев,
тогда функцию объединения можно представить композицией функций:
Unf (X, т) = Mdf (X, р)Рт, g^gm) n Rmv(m).
Деление нейронного слоя можно рассматривать как функцию, обратную к
функции объединения. При выполнении операции деления ядра слоя X модифи-
цируются и добавляется новый слой в позицию т (m > X). Понятно, что деление
слоя допустимо, если размерности его нейронных ядер представляются произве-
дениями чисел, например р^ = Р\Р\ и g\ = g{g£. Функция деления формально
определяется следующей композицией объектных функций:
Div(X,m,p{,g{) = Mdf (X, рх/ р'^, gx/g^)nIns(m, p£, g£).
Предполагается, что функции объединения и деления слоев не изменяют тип по-
рождающей схемы.
Пример. Пусть алфавитные списки определены таблицами (7.27) а тополо-
гия сети - предложением (7.26). Выполним операцию объединения двух послед-
них слоев, используя функцию Unf (1,2). В результате получим следующие ал-
фавитные списки:
tl Z/g Z/j
(7.28)
Поскольку тип порождающей схемы сохраняется, то топологическое предложение
может быть получено из (7.26) удалением букв //j, V2 • В результате будем иметь:
На рис. 7.24 показана графическая интерпретация данного предложения.
Рис. 7.24. Топология нейронной сети с объединенными слоями
211
Используя функцию деления можно последовательно построить быструю
нейронную сеть, начиная с единственного ядра. Пусть, например, алфавит задан
таблицами:
Z/Q
Выберем топологическую схему «с прореживанием по частоте» и ранги
связей равными единице. Выполнив операцию деления Div (0,1,2,4), получим
алфавитные списки вида (7.28). Выполнив затем операцию Div (1,2,2,2), полу-
чим алфавитные списки вида (7.27). Результирующая трехслойная нейронная
сеть показана на рис. 7.25.
Рис. 7.25. Топологическая реализация трехслойной БНС
по схеме «с прореживанием по частоте»
Рассмотренный набор объектных функций не является исчерпывающим и
демонстрирует только основные методы реконфигурации регулярных сетей.
7.5. Программная реализация алгоритма проектирования
топологий регулярных ядерных сетей
Для регулярных сетей при рангах связей, отличных от единицы, в слова то-
пологических предложений необходимо добавить разряды расширения с осно-
ваниями, равными рангам межслойных связей. Разряды добавляются в аксоно-
вые и рецепторные топологические слова для каждой пары смежных слоев. Ме-
стоположение дополнительного разряда должно быть задано при проектирова-
нии. В терминальных полях нейронной сети также могут быть заданы разряды
расширения и указана их адресная позиция. Таким образом, для проектирования
п -слойной регулярной сети необходимо дополнительно задать 2 списка:
R =
е-1 ео е1
еп-2
гп-2
еп-\ |
rn-l /
еп-2
ап-2
ап-\
S-1 го П
чя_1 aQ ах
Первый список (7?) определяет полный перечень разрядов расширения и
значения их оснований. Значения оснований для внутренних аксоновых и рецеп-
212
торных полей равны рангам межслойных связей (rg г\ ••• гп_2), а для терми-
нальных полей - коэффициентам кратности расширения поля (r_j и гп_\). Вто-
рой список (А) определяет адресную позицию разряда расширения в топологи-
ческом слове.
В разд. 1 было предложено при кодировании топологических слов рецеп-
торных полей (переменные типа w) использовать целые положительные числа
больше единицы, а для разрядных переменных аксоновых полей (переменные
типа v) — отрицательные числа меньше 0. Например, топологическое слово
{v0vlw2w3> получало код Г = [4 2 —2 -1] (в MatLab левым позициям массива
соответствуют младшие разряды и индексация начинается с 1). Код представля-
ется массивом чисел и определяет адресную позицию и номер разряда. Для то-
пологии с разрядами расширения предлагается сохранить принцип кодирования,
добавив в код разряд расширения в виде значения NaN. В MatLab значение NaN
определяет неопределенную величину, которая может быть размещена в числовом
массиве. Например, топологическое слово с разрядом расширения по-
лучит код Т = [4 NaN 2 -2 -1]. Номер разрядной переменной расширения
нет необходимости указывать, поскольку действие разрядной переменной огра-
ничено одним межслойным переходом. Фрагмент 7.11 содержит функцию, до-
бавляющую переменные расширения в коды топологических слов.
function [TuE,TvE]-Add_Topological_Extension(Tu,Tv,m, A)
% Кодирование топологических слов для расширенного регулярного пре-
образования
% Преобразования с неединичными рангами межслойных связей
% Добавить расширения к кодам топологических слов быстрого преобра-
зования
% Tu,Tv - коды топологических слов регулярного быстрого преобразования
% ш - номер слоя
% А - номера позиций разрядов расширения в топологическом слове,
% первый и последний элементы массива А относятся к словам терми-
нальных полей
% TuE,TvE - расширенные коды топологических слов,
% позиция разряда расширения кодируется значением NaN
% © А.Ю.Дорогов
enu=A(m); %позиция разряда расширения в кодовом слове рецепторов
env=A(m+l); %позиция разряда расширения в кодовом слове аксонов
L=length(Tu);
TuE=[Tu(1:enu-1), NaN,Tu(enu:L)];
TvE=[Tv(1:env-1), NaN,Tv(env:L)];
Фрагмент 7.11. Функция кодирования топологических слов при добавлении разрядов
расширения
213
При построении топологии по коду слов и значению разрядных перемен-
ных и, у, е определяется номер рецептора или аксона. Фрагмент 7.12 содержит
функцию восстановления значения топологического слова.
function Wr=GetExtTopologyWord_Value(u, v, е, Р, G, г, Т)
% Получить значение расширенного топологического слова
% Т - код расширенного топологического слова
% u,v - номера строк и столбцов ядра (ячейки)
% е - значение разряда расширения
% P,G - основания разрядных переменных для представлений u,v
% г - ранг межслойных связей
% © А.Ю.Дорогов
n-length(Т);
w— { } ;
for k-1:n
m=T(k);% индекс разрядной переменной
if m>0 %рецепторы
w(k)=u(m); Означение разрядной переменной
Bw(k)=P(m); %вес разрядной переменной
elseif m<0 %аксоны
w(k)=v(-ш);
Bw(к)=G(-ш);
elseif isnan(m) %разряды расширения
w(к)=е;
Bw(к)=г;
end
end
Wr=sub2ind([Bw,1],w{1:end}); Означение топологического слова
Фрагмент 7.12. Функция восстановления значения топологического слова по его коду
и разрядным переменным
Данная функция используется для вычисления номеров рецепторов и аксо-
нов, а также номеров нейронных ядер для всех нейронных слоев. Фрагмент 7.13
представляет базовую функцию топологических расчетов для расширенной ре-
гулярной топологии.
function [Zm,Um,Vm]-Get_KernelExt_Receptor_Axon_Value
(u,v,eu,ev,P,G,m,Topology,R,A)
%Получить номер ядра и глобальные номера рецепторов и аксонов в слое m
% для расширенной регулярной топологии
% Topology - указатель на функцию топологии
% u,v - номера строк и столбцов ядра
% eu,ev - значения переменных расширения
% P,G - основания разрядных переменных для представлений u,v
% R - ранги межслойных связей
% А - позиции переменных расширения в словах топологического предложения
% m - номер слоя
% Zm - номер ядра, соответствующий переменным u,v
% Um - номер рецептора в слое m
214
% Vm - номер аксона в слое m
% © А.Ю.Дорогов
[Tu, Tv, Tz ] =f eval (Topology, P, G, m) ; “«Кодирование для быстрого ^преобразования [TuE,TvE]=Add Topological Extension(Tu,Tv,m,A); логических слов %для раширенного преобразования топологических %Кодирование слов топо-
ru=R(m); %ранг связи в слое m rv=R(m+1);% ранг связей в слое т+1 Um-GetExtTopologyWord Value(u,v,eu,Р,G,ru,TuE); %глобальный номер
рецептора в %слое m Vm-GetExtTopologyWord Value(u,v,ev,P,G,rv,TvE); %глобальный номер
аксона в слое %m Zm=GetTopologyWord Value(u,v,P,G,Tz); %номер ядра в слое m
Фрагмент 7.13. Функция топологических расчетов для расширенной регулярной топологии
Дополнительные функции, используемые в этом фрагменте без добавочных
комментариев, описаны в разд. 1.
7.6. Оценка быстродействия ядерных нейронных сетей
Общепринятой характеристикой быстродействия алгоритма является число
операций умножения, необходимое для его реализации. Сравним по критерию
быстродействия ядерные нейронные сети и полносвязанные многослойные пер-
септроны. В полносвязанных сетях для любой пары смежных слоев каждый ней-
рон предшествующего слоя связан со всеми нейронами последующего слоя. Ес-
ли обозначить через Р{ размерность рецепторного поля слоя z, а через Gj — чис-
ло нейронов в слое, то произведение PjGj будет определять число операций ум-
ножения при обработке данных в слое z. Суммируя по всем слоям, получим сле-
дующую формулу расчета числа операций:
п
Z0=Ypfii’
i-1
где п - число слоев в нейронной сети. Полагая М = тах(Д, Gy) (по всем z), по-
2
лучим удобную оценку Zq < пМ . Для ядерных нейронных сетей число опера-
ций умножения для j -го ядра слоя z равно произведению pljglj Суммируя по
всем ядрам и всем слоям, получим
zz
Z = Z2>'/8/'
i=l J
Полагая т = max(/>y, gy) (по всем z, у) и обозначив через К среднее число
2
ядер в слое, получим оценку Z < пКт . Для сопоставления следует считать, что
215
оба типа нейронных сетей имеют при-
мерно одинаковое число нейронов по
слоям, в этом случае М = Кт . Оценивая
вычислительную эффективность БНС
отношением числа вычислительных опе-
раций, получим Z^/Z = О(К). Размеры
ядер обычно ограничены, поэтому вычис-
лительная эффективность ядерной ней-
Рис. 7.26. Двухслойная ядерная нейронная сеть
ронной сети тем выше, чем больше размерность вектора входных данных. Одна-
ко эффект проявляется уже и при малых размерностях. Например, для сети, при-
веденной на рис. 7.26, точное значение отношения Zo/Z равно двум.
216
8. МОДУЛЬНЫЕ СЛАБОСВЯЗАННЫЕ НЕЙРОННЫЕ СЕТИ
Вещи, которые не равны ничему другому, равны друг
другу.
Первый постулат изоморфизма. Азбука Мерфи
В разд. 7 был выполнен алгоритмический переход от технологии быстрых
перестраиваемых преобразований к технологии нейронных сетей. При этом ядер-
ный принцип структурной организации был перенесен от быстрых преобразова-
ний к нейронным сетям с полным сохранением условий инъективности межъя-
дерных связей. В отличие от быстрых преобразований в ядерных нейронных сетях
размеры нейронных ядер в пределах слоя можно произвольно изменять, и наряду
с одноранговыми связями между ядрами допускается использовать связи любого
ранга. В результате оказалась, что класс ядерных нейронных сетей включает в се-
бя классические нейронные сети прямого распространения и быстрые нейронные
сети. Таким образом, от частной задачи построения быстрых нейронных сетей
приходим к расширению класса нейронных сетей прямого распространения.
Однако при переходе от быстрых преобразований к ядерным нейронным
сетям одно условие было потеряно - это принцип слабой связанности сети. В на-
стоящем разделе восполним эту потерю и будем рассматривать нейронные сети,
которые обладают всеми особенностями ядерной нейронной сети и, кроме того,
являются слабосвязанным. На этом пути полезно сделать еще одно обобщение,
заменив ядро нейронным модулем. Отличия будут не очень большими, но ре-
зультаты будут иметь большую общность. В структурных моделях несколько
выйдем за границы многослойных сетей и будем рассматривать слоистые слабо-
связанные сети, в которых существуют связи между модулями несмежных слоев.
Как будет показано далее, реализация принципа слабой связанности позволит
получить аналитические оценки уровня «интеллекта» нейронной сети в зависи-
мости от ее структуры. Для других структурных типов нейронных сетей это сде-
лать в настоящее время не удается.
8.1. Концепция модульности нейронных сетей
В нейробиологии и технических приложениях под нейронными модулями
понимают морфологически обособленные группы нейронов, которые взаимо-
действуют между собой только через внешние рецепторные и аксоновые поля.
Скрытые нейроны модулей обрабатывают информацию, поступающую через
входное рецепторное поле модуля, и формируют реакцию в выходном аксоно-
вом поле модуля. Поскольку модульность в нейронную сеть привносится приня-
тым правилом морфологического обособления, иногда возможно несколько ва-
риантов модульного представления для одной и той же нейронной сети.
217
В данном разделе рассматривается правило модульного обособления, осно-
ванное на условии инъективности межмодульных связей [64]. Это условие при-
водит к тому, что нейронные модули в сети не имеют пересечений рецепторных
или аксоновых полей, что позволяет разработать достаточно простые математи-
ческие методы системного исследования такого рода нейронных сетей. Принцип
инъективности связей является ограничением, сужающим класс рассматривае-
мых модульных нейронных сетей, но это ограничение нисколько не снижает
функциональные возможности сетей, поскольку покрывает все другие варианты
организации связей. Способ приведения межмодульных связей общего вида к
инъективным показан на рис. 8.1. По существу при инъективном покрытии точ-
ки ветвления связей погружаются в нейронные модули. Использование моделей
с инъективными связями упрощает также и аппаратную реализацию модульной
сети, поскольку исключаются точки ветвления в межмодульном пространстве и
каждой одноранговой инъективной связи ставят в соответствие одну физиче-
скую линию («один провод»).
Рис. 8.1. Приведение межмодульных связей общего вида к инъективным:
а - межмодульные связи общего вида; б - эквивалентное покрытие инъективными связями
Инъективность связей в математических моделях модульных сетей позво-
ляет достаточно просто выделить структурный уровень в модельном представ-
лении в виде ориентированного графа (рис. 8.2). На уровне структурных пред-
ставлений нейронный модуль характеризуется размерностью pz- входного ре-
цепторного поля и размерностью gj выходного аксонового поля.
Пара чисел (Pi,gi) рассматривается как вес вершины графа. Межмодуль-
ные инъективные связи однозначно характеризуются рангами операторов, свя-
зывающих смежные нейронные модули. Значения рангов рассматриваются как
веса дуг ориентированного графа.
Понятие структурной модели уже вводилось ранее для описания структур-
ных характеристик быстрых перестраиваемых преобразований и ядерных ней-
ронных сетей, здесь же оно обобщается на более широкий класс нейронных се-
218
тей. Структурная модель не содержит информации о представлении обрабаты-
ваемых данных. Погружение структурной модели в пространство рецепторных и
аксоновых полей порождает топологическую модель нейронной сети, по кото-
рой уже можно реализовать алгоритм обработки данных.
Рис. 8.2. Структурная модель модульной сети
Модульные сети прямого распространения (в том числе и слабосвязанные)
в общем случае не являются строго многослойными, в слоистых сетях возможны
связи между модулями несмежных слоев. Для слоистых сетей требуется разви-
тие собственных методов обучения. Отметим ряд дополнительных предпосылок,
которые приводят к необходимости исследования модульных нейронных сетей.
Гносеологические предпосылки:
• Морфология нейронных сетей в порядке возрастания иерархических уров-
ней описывается следующими понятиями: нейрон, межнейронная связь, нейрон-
ное ядро, межъядерная связь, нейронный слой, нейронная сеть. Естественным про-
должением данной последовательности являются понятия нейронного модуля и
межмодульной связи. На новом уровне иерархии предметом исследования являет-
ся совокупность нейронных модулей и связей между ними. Каждый модуль пред-
ставляет собой нейронную сеть со своей собственной внутренней организацией и,
в частности, может включать в себя набор модулей меньшей размерности.
• Для описания сложных систем обычно применяются сотни и тысячи пока-
зателей. Число экспериментальных наблюдений по каждому показателю состав-
ляет от нескольких десятков до нескольких сотен, редко - тысяч. Это выдвигает
большие проблемы перед технологиями реконструктивного анализа сложных сис-
тем. Современная методология реконструктивного анализа [65] основана на кон-
структивной процедуре индукции, обеспечивающей развитие первоначально ото-
бранных простых структур в конечные результативные структуры большой слож-
ности. Модульность нейронной сети позволяет выполнить иерархическую деком-
позицию сложной задачи в ряд более простых подзадач, а соответствующая
219
структура сети может быть оптимизирована под конкретную задачу. В этом каче-
стве нейронная сеть может служить средством моделирования структуры данных.
• Доказано, что биологические нейронные сети имеют модульную организа-
цию ([66]—[68]) и, по-видимому, этот факт является результатом эволюционного
развития биологических нейронных структур. Использование искусственных ней-
ронных сетей в технических приложениях началось с копирования биологических
нейронных сетей. Модульная идеология искусственных сетей, реализованная в ма-
тематических моделях и технических приложениях, позволяет продвинуться в по-
нимании структурной организации мозга и механизмов мышления человека.
• Принцип модульной организации на основе инъективных связей вводит
ограничения на разнообразие возможных структур нейронных сетей, но позво-
ляет построить удобный математический аппарат для их структурного анализа и
синтеза. Наличие этих ограничений ведет к некоторой избыточности в представ-
лении нейронных сетей, но не снижает их функциональные возможности.
• Структурный анализ модульной сети во многом инвариантен внутренне-
му устройству модулей. Вместо нейронного модуля это может быть звено сис-
темы автоматического регулирования или узел коммутационной системы, по-
этому результаты исследования модульных сетей на структурном и морфологи-
ческом уровнях могут иметь значимость в смежных областях знаний.
Технические предпосылки:
• Техническая реализация больших и сверхбольших нейронных сетей на
современных универсальных компьютерах по необходимости имеет модульную
распределенную структуру, поскольку технически невозможно реализовать сверх-
большую нейронную сеть на одном процессоре.
• При программной реализации быстродействие модульных сетей может
варьироваться в широких пределах в зависимости от выбранной структуры. Это
качество делает перспективным использование модульных нейронных сетей в
системах реального времени при реализации на обычных универсальных ком-
пьютерах или контроллерах с универсальной архитектурой. Актуальной являет-
ся задача структурного синтеза быстрых нейронных сетей, обладающих в то же
время высокой эффективностью при обработке данных.
• Использование технологии сверхбольших интегральных схем (СБИС) для
реализации нейронных сетей приводит к необходимости разделения нейронных
сетей на однородные фрагменты. Размер фрагмента определяется площадью кри-
сталла, энергопотреблением, числом внешних выводов, причем последний аспект
в настоящее время приобрел решающее значение. Проблема выводов, возникшая
при реализации кристалла, продолжается и при построении схем соединений ме-
жду ними. От схем соединения требуется регулярность в организации связей по
220
возможности с минимальным числом других кристаллов. Таким образом, возни-
кает задача разбиения нейронной сети на модули с ограниченным числом исхо-
дящих связей, образующих регулярную или близкую к ней топологическую
структуру. Эта же задача обратно распространяется и на отдельные кристаллы,
для которых может быть исследована реализация фрагментов нейронных сетей с
топологией ограниченных связей. Ограничение межнейронных связей позволяет
существенно экономить площадь и энергопотребление кристалла.
• Построение специализированных компьютеров большой мощности осно-
вано на массовом распараллеливании вычислений. Суперкомпьютеры часто
строятся как коммутационная сеть с высокой пропускной способностью, в узлах
которой расположены процессоры. Для реализации коммутационных систем ис-
пользуются специальные технические решения, исключающие или существенно
снижающие взаимную блокировку процессоров при обмене данными. Широкое
распространение получили коммутационные схемы типа «Banyan», «Омега»,
«Обобщенный куб» и др. [69]—[71]. Как правило, коммутационные системы
имеют регулярную топологию. Реализация нейронных сетей на суперкомпьюте-
ре должна быть подчинена структуре коммутационных связей, что приводит к
необходимости исследования модульных нейронных сетей с заданной структу-
рой связей, и в частности с регулярной топологией.
• Методы обучения нейронных сетей можно разбить на две большие груп-
пы: методы локального обучения и методы глобального обучения. Использова-
ние локальных методов имеет преимущества в скорости обучения, и поэтому
они могут использоваться в системах реального времени. Однако локальные ме-
тоды имеют тенденцию интенсивного использования памяти и часто не обеспе-
чивают требуемого уровня качества обучения [72]. Глобальные методы требуют
меньшего объема памяти, обеспечивают более высокое качество обучения, но
работают медленнее. Преимущества обоих подходов можно реализовать, ис-
пользуя модульную организацию нейронных сетей, комбинируя локальное обу-
чение отдельных модулей с глобальным обучением всей сети. Кроме того, при
раздельном обучении нейронные сети в меньшей мере подвержены эффекту пе-
реучивания при поступлении новых знаний.
8.2. Топологические модели модульных нейронных сетей
Вернемся к определениям, сформулированным для ядерных нейронных се-
тей (см. 7.3.2), добавив при этом небольшие уточнения, которые позволят про-
двинуться дальше в построении моделей. В конкретной реализации нейронной
сети для каждого модуля А определены терминальные поля рецепторов и аксо-
нов. Свяжем с терминальными полями нейронного модуля 2 линейных вектор-
ных пространства: пространство рецепторов и пространство аксонов. Эти про-
221
странства будем называть сигнальными пространствами, ассоциированными с
нейронным модулем, или собственными пространствами нейронного модуля.
Для изолированного модуля размерность пространства рецепторов следует при-
нять равной числу рецепторов, а размерность пространства аксонов - числу ак-
сонов. Нейронный модуль в такой трактовке представляется оператором, кото-
рый преобразует сигнальный вектор из пространства рецепторов в сигнальный
вектор пространства аксонов.
Оператор можно задать, вводя базисы в векторные пространства. Вариантов
определения базисов бесконечно много, но для упрощения модели выберем бази-
сы таким образом, чтобы их базисные векторы взаимно-однозначно соответство-
вали контактам терминальных полей. В этом случае значение уровня сигнала на
терминальном контакте будет определять точно одну координату вектора. По-
скольку каждая координата вектора представляет собой одномерное подпростран-
ство, то терминальные контакты естественным образом разбивают ассоциирован-
ные пространства на одномерные подпространства (базовые направления):
ЕА = Ф £2 ©... Ф E/J ,
Da =б/фб^Ф •••©§/,
где к - число рецепторов; I- число аксонов; ef, бу - одномерные подпростран-
ства в пространстве рецепторов и пространстве аксонов. В линейной алгебре та-
кое разбиение принято называть градуировкой, а векторные пространства с за-
данной градуировкой - градуированными пространствами [73].
Градуированные связи. Пусть А,В - непосредственно связанные модули.
Будем называть связи между модулями градуированными, если инъективность
поддерживается между базовыми направлениями смежных модулей, т. е.
(&j ) = • Пусть d'j ,ef являются базисными векторами, принадлежа-
J D
щими подпространствам 5)-, £z- соответственно. Инъективную градуированную
связь будем называть транслирующей, если для базисных векторов выполняется
условие лdaEb = > т- е- существует однозначное соответствие между ба-
зисными векторами. Число пар базисных векторов d'j,e^, удовлетворяющих
последнему условию, определяет ранг межмодульной связи. Каждой градуиро-
ванному транслирующему морфизму можно взаимно-однозначно сопоставить
АВ
точное однозначное числовое отображение р :j ->i, которое ранее было на-
звано топологией связи (базовые сведения о числовых отображениях представ-
лены в приложении, п. 1).
тп
Топология модульных сетей. Любая конкретная реализация нейронной
сети связана с некоторым «пространственным размещением» нейронных моду-
лей. Систему «пространственных координат» можно задать, определив линей-
ные порядки на множестве рецепторов и множестве аксонов нейронной сети.
Например, можно присвоить каждому рецептору сети порядковый номер
U е (1,2,..., А), а каждому аксону порядковый номер V е (1,2,..., М), где N -
полное число рецепторов, а М - полное число аксонов сети. Для каждого ней-
ронного модуля А с числом рецепторов рА и числом аксонов gA определим
локальные порядки на соответствующих подмножествах рецепторов и аксонов.
С этой целью введем порядковые номера иА е (1,2,...,рА} и у^ е(1,2,..., g^).
Будем называть топологией нейронного модуля пару числовых отображений
^А-и -^>иАп цл:Г ~^vA,
определяющих точное однозначное соответствие между глобальными и локаль-
ными порядковыми номерами. Данные отображения удобно задавать таблицами
следующего вида:
(щ и2 ... иРА' % v2 V У
<5-1 = > Нд= •
J 2 ... РА, J 2 ... gAy
Алгоритм построения топологии модульной нейронной сети. Рассмот-
рим графическую форму построения топологии на основе ранговой матрицы.
Алгоритм может быть использован для любых сетей с инъективными связями,
поэтому в качестве примера построим топологию сети с обратными связями (см.
рис. 8.2). Тот факт, что вершина Ла непосредственно предшествует вершине Ар,
будем обозначать Аа > Ар. Структурная модель модульной сети может быть
записана в виде ранговой матрицы R = [ |, выражающей отношение А& -> Ар
для всех пар (а, 0). В ранговой матрице индекс а определяет номер строки, а
0 - номер столбца. Например, ранговая матрица для структурной модели, пока-
занной на рис. 8.2, будет иметь следующий вид:
а/ /Р 1 2 3 4 5 OUT gi
INP 2 0 1 0 0 0 3
1 0 2 0 1 0 0 3
R = 2 0 2 0 1 0 0 3
3 0 1 0 1 1 0 3
4 0 0 0 0 0 1 1
5 0 0 2 0 0 2 4
Pi 2 5 3 3 1 3
223
Обозначим через Т = {1,2,D] числовое множество, состоящее из D
элементов, где D равно сумме рангов всех связей структурной модели. Это зна-
чение может быть также получено суммированием всех элементов ранговой
матрицы R. Для модуля Aj топология задана таблицами:
'С/, и2 ... ир\ Т, 72 Vg/
' J 2 ... рА) 1 J 2 gA)
Верхние строки этих таблиц представляют собой образы рецепторных и ак-
соновых полей на множестве Т. Обозначим эти образы соответственно UA',
VA' и назовем топологическими множествами модуля . Для пары связанных
модулей,таких, что А^ > А^, справедливо
Рар = (Ра) стр ’
где рар - топология связи. Разместим (произвольным образом) числовое множе-
ство Т в виде матрицы, по структуре подобной ранговой матрице R:
7q1 Т02 7оЛ+1
711 712 71, £+1 -У и1
тк\ 7*2 • 7*,*+1 -> vk
Ф Ф • • г
и1 и2 • • ик+1
тов
В каждой ненулевой позиции размещается подмножество Ту с числом элемен-
ту. Топологические множества UA‘ и VA‘ могут быть получены
объединением подмножеств Ту по столбцам и строкам матрицы множеств. Ниже
показана схема алгоритма и пример его применения для построения топологии
нейронной сети на рис. 8.2.
1 2 3 4 5 6
0 (1,2) (3)
1 (4,5) (6)
2 (7,8) (9)
3 (Ю) (И) (12)
4 (13)
5 (14,15) (16,17)
U2 =(4,5,7,8,10)
224
В данной матрице индекс 0 соответствует вершине INP, а индекс (Л + 1) -
вершине OUT. Нижние строки отображений ст д., Нл задают порядок элемен-
тов в топологических множествах.
Рис. 8.3. Топологическая реализация модульной нейронной сети
Порядок можно установить, задав некоторую развертку матрицы множеств
(например, слева направо, сверху вниз), в этом случае частичные подстановки
Одцд определяются однозначно. На рис. 8.3 приведена одна из возможных
топологических реализаций нейронной сети, соответствующая структурной мо-
дели на рис. 8.2. Дуги на графе помечены элементами числового множества Т.
8.3. Обучение модульных нейронных сетей прямого распространения
Нейронный модуль, как правило, обладает собственной, иногда достаточно
сложной, организацией. В искусственных нейронных сетях свойства модуля оп-
ределяются оператором преобразования входного вектора рецепторного поля в
выходной вектор аксонового поля. Рассмотрим случай, когда все модули сети
являются статическими, а связи между ними инъективными. Будем полагать
Рис. 8.4. Нейронный модуль
с обратным распространением ошибки:
X - входной вектор; Y- выходной вектор;
8Г, 8., - обобщенные ошибки;
JV - набор перестраиваемых параметров
также, что все модули удовлетворяют ус-
ловиям двойственного распространения [74],
т. е. по оператору, определяющему прямое
прохождение сигнала через нейронный мо-
дуль, и критерию обучения всегда можно
построить оператор обратного распростра-
нения для ошибки обучения. На рис. 8.4
225
приведено графическое представление нейронного модуля, удовлетворяющего
указанным условиям.
Обучение одиночного нейронного модуля. В статическом модуле прямое
распространение сигнала описывается нелинейным оператором
У = F(XJE),
где X и У - входной и выходной векторы нейронного модуля; W - синаптиче-
ская карта весовых коэффициентов. Зададим для каждого модуля критерий обу-
чения в виде скалярной функции
J =J(X, И\У, Z),
где Z - эталонный вектор. Нейронная сеть считается обученной, когда значение
критерия достигнет минимума (в пределе - нулевого значения) для каждой фик-
сированной пары X, Z обучающего множества. По определению, обобщенные
ошибки будут определяться частными производными:
* 2 dJ
•' дх у dY
Здесь и далее все векторы рассматриваются как вектор-строки, в том числе опе-
ратор дифференцирования «набла» представляется строкой следующего вида:
_ d _( d d d у
x dX dx\ ' dx2 ' ' dxn ?
Нетрудно получить связь между обобщенными ошибками:
dJ dJ dY е ..
or ----=-------^ОуН ,
А dX dY dX y
ы dY dF . „ ,
где H =----=--- - якобиан векторной функции г по векторному аргументу
dX dX
X. Матрица Н определяет оператор обратного распространения ошибок для
нейронного модуля. Если в нейронном модуле размерность аксонового поля
меньше чем рецепторного, то модуль имеет ненулевое ядро отображения
ker(//) 0. При обучении сети алгоритм минимизирует выходную ошибку 5^ и
при ненулевом ядре это может достигаться на некотором подмножестве ненуле-
вых значений . Другими словами, существует множество обученных вариан-
тов нейронной сети с различающимися синаптическими весами, все они счита-
ются допустимыми для заданного набора обучающих примеров.
Обучение нейронного модуля заключается в минимизации критерия J по
параметрам W для каждой фиксированной пары X, Z. Алгоритм обучения
представляет собой итерационный процесс поиска минимума критерия по мето-
ду градиента. На каждом шаге алгоритма градиент определяется выражением
226
, dJ dJ dY * e
V Vi/*' — — — U kJ n
dW dY dW y
(8-1)
dY dF(X,W)
где 5 =--=----------- - якобиан векторной функции F по векторному аргумен-
dW dW
ту IV. Матрицу 5 уместно назвать матрицей чувствительностей выходного вектора
к вариации настраиваемых параметров. На каждом шаге итерационной процеду-
ры корректируются настраиваемые параметры в направлении антиградиента:
^new ^old ’
где у - коэффициент обучаемости, который определяет размер шага алгоритма.
Алгоритм обучения. Рассмотрим вначале 2 модуля. Для пары связанных
модулей А и В обозначим транслирующий оператор межмодульной связи через
РАВ (данному оператору соответствует отображение р^5). Оператор РАВ вы-
полняет точное и однозначное частичное отображение базисного вектора аксо-
нового поля модуля А в базисный вектор рецепторного поля модуля В. По-
скольку межмодульные связи инъективны, то рецепторные поля нейронных мо-
дулей не пересекаются, то же самое можно сказать об аксоновых полях. Данное
характерное свойство связей математически записывается следующим образом:
рАВ^рАВ) 1 (рАВ) 1 рАВ czIEb, (8.2)
где ID ,1Ев~ тождественные операторы для соответствующих векторных про-
странств. На рис. 8.5 показан фрагмент нейронной сети из двух связанных модулей.
Рис. 8.5. Двухмодульная нейронная сеть
Передача данных между модулями в прямом направлении определена оператор-
ным уравнением
j^B _ уАрАВ
Обобщенная ошибка нейронной сети, приведенная к выходу модуля А, может
быть записана как
dYA dXB dYA
227
При совместном обучении двух модулей эталонное значение для модуля А
должно быть подчинено условию ZA = YA - 5'^. Если все модули сети нормаль-
ны, то обучение нейронного модуля А завершится, когда выходная ошибка всей
нейронной сети достигнет нулевого значения.
Рассмотрим теперь модульную сеть общего вида. Обозначим через Inp
множество входных модулей сети, а через Out множество выходных модулей.
Пусть пара (%, Z) определяет обучающий пример, в котором X входной век-
тор сети, a Z - желаемый вектор, соответствующий выходному вектору сети У.
Критерий обучения сети может быть записан в виде
J = -(У - z)(y - Z)7,
2
где У = YU' и Z = ZU' •< а символ X в данном случае обозначает
t/yeOut t/;eOut
прямую сумму векторов. Цель обучения заключается в минимизации критерия
J . Обобщенная ошибка на выходе сети
_ Л _</(}'- Z)(F Z)'* „
dY---------(Y~z>- L
aI aI Out
Пусть теперь символ В обозначает некоторый внутренний модуль нейрон-
ной сети и Г"1 (5), Г(5) - его рецепторная и аксоновая окрестности. Обобщен-
ная ошибка, приведенная к выходу модуля В:
Д? = £ д^(рЯС') (8.3)
СуеГ(В)
а обобщенная ошибка, приведенная к входу модуля:
Д? = иВНВ, (8.4)
D Д
где Н - матрица обратного распространения ошибок. Обобщенная ошибка д v
распространяется на модули рецепторной окрестности, так что
в v1 -Л п-Л5
Дх = L аур •
4еГ-1(В)
Отсюда с учетом условия (8.2) можно получить:
= яв(рА’В) \ (8.5)
При необходимости можно найти обобщенную ошибку, приведенную к входу
нейронной сети, учитывая условия инъективности:
228
Дх= Z «»'• <8-6)
Це Inp
Соотношения (8.3)-(8.6) полностью определяют алгоритм вычисления обобщен-
ных ошибок. После того как для каждого модуля U определены обобщенные
ошибки, градиент по синаптическим весам можно вычислить согласно (8.1):
V7 I п С
где SU - матрица чувствительностей для модуля U. Новые значения настраи-
ваемых параметров определяются аддитивной коррекцией старых значений в
направлении антиградиента:
wu = w4a - vV , J
rrnew rrold i v }f, l J •
Если коэффициент обучаемости у может отличаться для различных модулей,
тогда нейронные модули будут обучаться с разной скоростью.
8.4. Математические модели слабосвязанных нейронных сетей
8.4.1. Концепция слабой связанности
Класс слабосвязанных нейронных сетей соответствует идеологии сетей пря-
мого распространения, но устанавливает определенные ограничения на структу-
ру связей, реализуя принцип структурного самоподобия. Частными случаями
слабосвязанной сети являются структурная модель алгоритма быстрого преобра-
зования Фурье, модели коммутационных схем типа «Banyan» и других подобных
сетей. Но наиболее значимым фактором, определяющим интерес к слабосвязан-
ным сетям, является то, что для самоподобных структур удается получить ана-
литические оценки достижимых характеристик нейронных сетей.
В данном разделе рассматриваются методы структурного анализа и синтеза
модульных слабосвязанных сетей. Структурный синтез слабосвязанных сетей
интерпретируется как пошаговый процесс порождения (генезиса) нейронной се-
ти из одного родительского модуля. Исследуется математическая модель порож-
дения модульной нейронной сети с предопределенной генетической программой
(для регулярных ядерных сетей подобный сценарий рассматривался в 7.4.5). До-
казываются условия, при которых сохраняется слабая связанность нейронной
сети на каждом шаге синтеза. Структурный анализ слабосвязанных сетей связан
с оценкой их качественных показателей, которые включат в себя пластичность,
разрешающую способность, обобщающую способность и быстродействие.
8.4.2. Морфология слабосвязанных сетей
Модульную нейронную сеть будем представлять ориентированным графом
Я (Л, Г), где множество вершин А составляет набор нейронных модулей, а множе-
ство дуг Г определяет связи между модулями. Введем необходимые определения.
229
Множество вершин сети, воспринимающих внешний входной вектор, назо-
вем афферентом сети. Вершины афферента непосредственно связаны с фиктив-
ной вершиной Inp.
Множество вершин, формирующих внешний выходной вектор, назовем
эфферентом сети. Вершины эфферента непосредственно связаны с фиктивной
вершиной Out. Афферент и эфферент будем называть также терминальными
подмножествами и обозначать далее Afr(//) и Efr(H).
Пусть В - некоторая вершина сети. Назовем афферентом вершины В
(обозначается далее Afr(5)) подмножество вершин афферента сети, связанных
дугами с вершиной В. Подобным образом эфферентом вершины В назовем
подмножество вершин эфферента сети (обозначается далее Efr(7?)), связанных
дугами с вершиной В. Афференты и эфференты вершин будем также называть
терминальными проекциями вершины.
Обозначим через Г-1 (В) рецепторную окрестность вершины В, а через
Г (В) - ее аксоновую окрестность. Очевидно, что
Afr(£)= J А*г(Л) и Efr(£)= IJ Efr(C). (8.7)
ЛегЛв) СеГ(В)
Определение. Модульную сеть назовем слабосвязанной, если для любой
вершины сети терминальные проекции вершин любой ее окрестности не пересе-
каются. Другими словами, если А[, Л2 е Г-1 (7?), то Afr(Aj)o Afr(A2)^0, и
если Q,C2 еГ(Л), то Efr(Q)nEfr(C2)^0. В этом случае объединения (8.7)
представляют собой прямые суммы множеств (разбиения). На рис. 8.6 показан
пример слабосвязанной модульной сети. В данной сети имеем:
Afr(J5) = (T1,T2,4|, ЕЙ(Л5) = {Л5},
АГг(л1) = {4}, ей(4) = {л5,4|,
Afri.-T)-Мд. Efr(4) = {4. А},
Рис. 8.6. Слабосвязанная модульная есть
230
Подобным образом можно получить терминальные проекции всех осталь-
ных вершин. Нетрудно проверить, что терминальные проекции вершин любой
окрестности не пересекаются.
Таким образом, условие слабой связанности может быть выражено парой
симметричных условий:
Afr(5)= £ АГг(Л),
АеГ"<В> (8.8)
Efr(5)= Efr(C),
СеГ(В)
где символ X обозначает прямую сумму соответствующих множеств. Первое вы-
ражение устанавливает, что в слабосвязанной сети для любой вершины В аффе-
рентые проекции вершин ее рецепторной окрестности не пересекаются. Второе
выражение устанавливает аналогичное условие для эфферентных проекций. Фак-
тически оба выражения двойственны друг другу, и если выполняется одно из них,
то обязательно будет выполнено и другое. Докажем это утверждение.
Теорема 1. О двойственности.
Доказательство. Пусть для всех вершин сети выполнено первое условие из
(8.8), но не выполнено второе, тогда существует по крайней мере пара вершин
Cj, С2, принадлежащих аксоновой окрестности вершины В, таких, что
Efr(Cj) n Efr(C2 ) 0. Но это означает, что в некотором слое М, находящемся
между вершиной В и эфферентным слоем, существует вершина М', которая
связана дугами с вершинами С),С2 (рис. 8.7). Пусть _ вершины рецеп-
торной окрестности для М', тогда очевидно, что Afir(Ai)n Afr(jV2) Это
противоречит принятому предположению о выполнении первого условия выра-
жения (8.8), что и доказывает двойственность условий.
Рис. 8.7. Параллельные пути в модульной сети
Теорема 2. В слабосвязанных сетях отсутствуют параллельные пути.
Доказательство. Предположим противное. Пусть 2 параллельных пути
сходятся в вершине В, проходя через ее окрестные вершины и . По усло-
вию параллельности пути имеют точку пересечения в некоторой вершине А',
231
предшествующей вершинам Л) и . Следовательно, афференты вершин и
Л2 пересекаются так, что Afr(J| )n Afrf^) = Afr(J'), но это противоречит ус-
ловию слабой связанности. Поскольку утверждение справедливо для любой
вершины, включая терминальные, то отсюда следует невозможность параллель-
ных путей для всей сети .
Для многослойных слабосвязанных сетей целесообразно ввести дополни-
тельные структурные понятия. Пусть В - вершина некоторого нейронного слоя
т. Подмножество вершин в слое т, афференты которых совпадают с Afr(fi),
будем называть рецепторным доменом вершины В и обозначать D(B) или
Dom^ (5). Аналогично подмножество вершин слоя т, эфференты которых сов-
падают, назовем аксоновым доменом вершины В и обозначим Е(В) или
Dom„(2?). Например, для вершины 5, (рис. 8.8) введенные подмножества бу-
о
дут иметь следующие наполнения:
Aft (S,) = {/I,, А2, ,43), Efr(В,) = (Q, С3},
Dom р (В, | = Е{ В,) = f В,. В,}, Dorn? (В,) = О {В ) = | В,, В2}.
Рис. 8.8. Трехслойная модульная нейронная сеть
Теорема 3. В многослойной слабосвязанной сети рецепторные и аксоновые
домены любой вершины В пересекаются только по этой вершине, т. е.
Dom„(7?)nDom„ (В) = В для любых В. (8.9)
г о
Доказательство. Предположим, что в пересечение доменов входит две вер-
шины В\ и Т?2, но тогда эти вершины имеют общие терминальные окончания и,
следовательно, принадлежат параллельным путям, что противоречит теореме 1.
Можно показать, что в слабосвязанной сети одноименные терминальные
подмножества различных вершин каждого нейронного слоя либо не пересекают-
ся, либо совпадают и существует взаимно-однозначное соответствие между до-
менами слоя и одноименными терминальными проекциями.
232
8.4.3. Генезис слабосвязанных сетей
В биологических сетях рост нервной ткани в онтогенезе обусловлен делением
клеток-нейронов. Можно предположить, что на макроуровне этому процессу соот-
ветствует деление нейронных модулей. Следуя этой парадигме, будем полагать, что
для нейронного модуля допустимо разложение в двухдольную структуру с полным
набором связей между порожденными модулями. На рис. 8.9 показан механизм та-
кого разложения. Генетический принцип, который приводит к порождению слабо-
связанной нейронной сети, можно сформулировать в виде теоремы.
Рис. 8.9. Процесс деления нейронного модуля
Теорема 4. Слабосвязанность сети не нарушается, если при разложении мо-
дуля в двухдольную структуру вершины-потомки наследуют и разделяют связи
вершины-ро дителя.
Для доказательства данного предложения воспользуемся методологией тео-
рии категорий [75] (базовые сведения о теории категорий приведены в приложе-
нии, п. 2). Структурный граф модульной сети можно рассматривать как математи-
ческую категорию Н(А, Г), в которой объектами являются нейронные модули, а
морфизмами - бинарные соответствия связи между вершинами. Единицами катего-
рии являются тождественные морфизмы, определенные на вершинах графа. Мно-
жество объектов категории обозначим ОЬ#, а множество морфизмов - Мог#.
Отображение F категории Н в категорию Я' называется функтором, если
1) F(A) е Ob# для любого А е Ob#;
2) F(a) g Mor#, (f(t4), F(#)), когда a g Mor#(А, В);
3) ^(1л) = 1 /.-(j) для любой единицы е Mor#(А, А).
В расширенной трактовке функтор - это отображение одной категории в
другую с тем или иным набором свойств. Следуя этому обобщенному понима-
нию функтора, назовем порождающим функтором (или более кратко - криэй-
тором - от англ, creator} тройку отображений F = (Fp,Fg, л), где Fp - функтор
деления рецепторного поля; Fg - функтор деления аксонового поля (оба функ-
233
тора удовлетворяют набору свойств 1—3); л — плотное соответствие между поро-
жденными вершинами в двухдольном графе. Условие наследования и разделе-
ния связей накладывает дополнительные ограничения на функторы FD, F„:
г о
а) функторы должны быть точными и однозначными по морфизмам, т. е.
если аир- входной и выходной морфизмы родительской вершины, то
F,;1(F,,(a)) = a и F;‘(Fg(p)) = ₽
и для любых морфизмов а', 0' порожденной категории Н' должно выполняться
Fp (^‘(а')) = а' и Fg (г;1 (₽')) =
б) функторы должны быть точными по объектам, т. е. для любого объекта
FeOb^, F~^ = В и F~^ (Fg(B)} = В . Таким образом, функторы Fp и
F„ порождают непересекающиеся подмножества вершин-потомков и однознач-
о
но индексируют их морфизмами (при однозначном индексировании каждый
морфизм индексирует не более одной вершины потомка, потомок может быть
индексирован несколькими морфизмами).
Покажем, что если порождающий функтор воздействует на вершину слабо-
связанной сети Н, то порожденная сеть Н' также является слабосвязанной. По-
скольку исходная сеть слабосвязанная, то входные морфизмы {а} родительской
вершины В (см. рис. 8.9) разделяют афферентное множество Afr(S) на непере-
секающиеся классы:
Afr(F) = @ Ай-(ДХ). (8.10)
*(в)
Поскольку функтор Fp точен и однозначен по морфизмам, то
Fp(a) = u!,
а из точности по объектам следует
fp(b)=®b;z,
а
где В'а - вершины-потомки, однозначно индексированные морфизмами {а}.
Сравнивая с (8.10) получим:
Afr(F') = @ Afr(A).
ЛеГ-'(в;)
Аналогично для вершин-потомков аксоновой области выходные морфизмы {0}
однозначно индексируют порожденные вершины Вр и разделяют эфферентную
проекцию родительской вершины так, что
234
Efr(7T) = ф Efr(C).
СеГ(^)
С другой стороны, поскольку я - полное соответствие, то все порожденные
вершины-потомки рецепторной области имеют общую терминальную проекцию,
разделенную в прямую сумму вершинами так, что для любой вершины В'
Efr(2?') = ф EfrCS").
В’еГ(В')
Аналогично для вершин-потомков аксоновой области можно записать
Afr(7T) = ф AfrCS').
В'еГЧв")
Таким образом, терминальные проекции вершин любой окрестности поро-
жденной вершины-потомка не пересекаются, и, следовательно, криэйтор реали-
зует индукцию (репродукцию) слабой связанности на структурном графе ней-
ронной сети. Базой индукции может быть сеть, состоящая из одного модуля.
Очевидно, что такая сеть является слабосвязанной. Отметим, что нет необходи-
мости выбирать соответствие л строго полным, достаточно, чтобы оно покры-
вало все порожденные вершины .
Рис. 8.10. Слоистая слабосвязанная сеть с транзитными связями
Когда криэйтор на каждом шаге индукции воздействует на все нейронные
модули слоя, то порожденная сеть будет многослойной последовательной сетью
(пример на рис. 8.8). В том случае, когда криэйтор на каждом шаге действует
только на отдельные модули слоя, то сеть будет слоистой с транзитными связя-
ми, соединяющими модули несмежных слоев (рис. 8.10).
235
8.5. Алгоритм структурной генерации слабосвязанной сети
8.5.1. Наследование связей
При воздействии криэйтора на некоторый модуль нейронной сети порожда-
ется двухдольная структура из вершин-потомков, которая заменяет родитель-
ский модуль. Алгоритм воздействия криэйтора F = (Fp, Fg, л) на вершину В
можно представить следующим образом:
к I
Fn(B)=®B:, B.rJF = true для любых i, j,
P /=1 8 j=\ , ]
где Bt - вершины рецепторной области порожденной структуры; Bj - вершины
аксоновой области; символ Ф в данном случае обозначает объединение вершин
в подмножество.
На каждом порождающем шаге вершины потомков наследуют и разделяют
связи своих родителей. Обозначим через Г-1 (7?) и Г(7?) подмножества вершин,
составляющих рецепторную и аксоновую окрестности вершины В. Будем пола-
гать, что мощности этих подмножеств равны соответственно:
card (г-1 (В)) = п, card(r(7?)) = т.
Воздействие криэйтора на связи должно удовлетворять принципу наследо-
вания и разделения связей. Поскольку функторы криэйтора точны и однозначны
по морфизмам, то каждая связь наследуется только одной вершиной-потомком:
Fp(jiAuB) = nAuBi ze(l,2,...,A), (8.11)
FjnBCv) = nBJcv у e (1, 2,..., 7), (8.12)
где вершины Ан е Г-1 (В), Cv е Г(5); к <п, I < т . Правило наследования мо-
жет быть случайным или детерминированным. При случайном наследовании
связи распределяются «по жребию» на основе реализации некоторого вероятно-
стного процесса.
Детерминированное наследование в общем случае определяется тремя ус-
ловиями:
• приоритетом вершин окрестности наследования;
• приоритетом вершин-потомков;
• процедурой наследования.
Например, может быть предложено следующее соглашение о наследовании
(назовем его «право младшего»): в окрестности наследования наивысшим при-
оритетом обладают вершины младшего поколения, а при равенстве в поколени-
ях - вершины младших номеров. Среди вершин-потомков наивысшим приорите-
том обладают вершины младших номеров.
236
При реализации данного правила инициатива при распределении связей
принадлежит вершинам-потомкам, которые последовательно, в порядке убыва-
ния собственного приоритета, наследуют связи с наиболее приоритетными вер-
шинами окрестности наследования.
8.5.2. Криэйторы градуированных нейронных сетей
В градуированной сети с каждым модулем А связаны 2 линейных про-
А А
странства: пространство рецепторов Е и пространство аксонов D и задана
градуировка разложением этих пространств в прямые суммы одномерных под-
пространств (см. 8.2):
ЕА = еА Фез Ф---Фе^, (8.13)
DA = 8А®8А Ф---Ф5^, (8.14)
где р - число входных рецепторов модуля A; g - число выходных аксонов мо-
дуля А; еа , 8р - одномерные подпространства (базовые направления).
Пусть А и В - непосредственно связанные нейронные модули и
\\/АВ \Da ) —> Ев - транслирующее отображение аксонового пространства моду-
ля А на рецепторное пространство модуля В. Отображение у45 также является
градуированным, т. е. существует одна или несколько непересекающихся пар
индексов (а, 0), таких, что
/15 \__5 zq 1 с\
V (^а) —е0 • (8.15)
Число пар, удовлетворяющих соотношению (8.15), равно операторному
рангу связи и далее обозначается гАВ. Для градуированных нейронных сетей из
условия инъективности связей следует
ЕЕ * * * * * * В = ф \\iA,,B ( DA" ), DB = ф (\|ЛСг) '(^М,
4еГ-1(В) СуеГ(В)
где символ Ф обозначает прямую сумму подпространств. Из последних соот-
ношений получим:
п т
РВ=1>АА А = Х'-ВС'- (8-16)
U-\ V = 1
В отличие от общего случая слабосвязанных сетей для градуированного ва-
рианта можно дать более детальное алгоритмическое представление криэйтора.
Обозначим через Р, G соответственно размерности рецепторного и аксонового
полей родительского модуля. Функтор Fp криэйтора при воздействии на модуль
237
выполняет разложение рецепторного поля. Для алгоритмического описания вме-
сто имен модулей удобно использовать их характеристики, тогда воздействие
функтора Fp можно записать следующим образом:
fp(b) = fp((p,g)) = ®(a,&),
г = 1
где z - локальный номер вершины-потомка; (/;,•, gz-) - размерности рецепторно-
го и аксонового полей z -й вершины-потомка в рецепторной области. Аналогич-
но функтор F„ выполняет разложение аксонового поля:
о
Fi,(S)=Fl,((P.G))=®(r/.^),
7=1
где j - локальный номер вершины-потомка; (pj, g- характеристики верши-
ны-потомка в аксоновой области. Из условий градуировки следует, что
к I
р=^Рь G=Hgj-
z=l j=l
/ к к I
gi = Pj = SL rip E gi = E Pj'
j-1 i=l z=l j-1
(8-17)
При воздействии на связи функторы Fv и F„ разделяют их между потом-
г о
ками, как определено ранее, соотношениями (8.11), (8.12). В этих выражениях
соответствия и —>i и v — > j устанавливаются правилами наследования, кроме
того, правила наследования должны удовлетворять условиям (8.16), которые для
вершин-потомков примут вид:
р,=ъл‘в'
и
V
8.5.3. Криэйторы ядерных нейронных сетей
Ядерные нейронные сети относятся к модульным градуированным нейрон-
ным сетям, в которых каждый модуль представляет собой однослойный персеп-
трон, называемый ядром. Таким образом, тип модуля существенно ограничен, но
это же обстоятельство позволяет предложить критерий оптимального выбора
порождающих криэйторов для данного типа модулей. Одним из критерием оп-
тимальности в данном случае может служить быстродействие синтезируемой
слабосвязанной нейронной сети.
Быстродействие нейронных сетей обычно оценивается числом операций
умножения, которое требуется для обработки входного вектора (см. разд. 1). Для
238
родительского ядра с характеристикой Р, G синаптическая карта имеет вид мат-
рицы размером Р xG, поэтому при умножении этой матрицы на входной вектор
ядра требуется выполнить Zq = PxG операций умножения. Ядро содержит так-
же нелинейные функции активации, но в данном анализе их влияние на быстро-
действие учитываться не будет. При воздействии криэйтора ядро распадается в
двухслойную структуру с характеристиками вершин-потомков: (_P/,g/)- для
рецепторной области и (pj,gj) - для аксоновой области. Число операций ум-
ножения для порожденной структуры можно определить выражением
к 1
Z = PiSi + Е PjSj (8-18)
z=l /=1
С точки зрения быстродействия разложение ядра имеет смысл, если выполнено
условие
Z<ZQ, (8.19)
где Zq - число операций умножения для родительского ядра. Структурные ха-
рактеристики ядер-потомков следует выбирать так, чтобы минимизировать зна-
чение Z . Из условий градуировки следует, что
к 1
P=XPi’ G=Xgp
z=l j=l
/ к к I
gi = Е riP Pj = Y rij’ Xgi=YPj-
7=1 z=l z=l 7=1
(8.20)
Можно показать, что при ограничениях (8.20) минимум по критерию Z
достигается, когда:
gi~g, Pj~P, g,P~ const для любых/, j; (8.21)
Pi= g; = — = — = h, h = const для любых z, j.
' k 1
$22)
Проще всего выполнить условия (8.21). В этом случае порожденная струк-
тура в рецепторной области будет иметь ядра с одинаковым количеством нейро-
нов, но может обладать различными размерами рецепторных полей. Подобным
образом ядра аксоновой области будут иметь одинаковые размеры рецепторных
полей, но, возможно, разное число нейронов. Ядра-потомки рецепторной и аксо-
новой областей полносвязаны между собой. Будем считать, что ранги всех свя-
зей между потомками ядра равны г. В этом случае справедливы соотношения:
g = rl, р = гк. (8.23)
239
Структуры и порождающие их криэйторы, для которых выполняются усло-
вия (8.21), (8.23) и условия равенства рангов вновь образованных связей, будем
называть квазирегулярными. Дальнейшее рассмотрение ограничим только клас-
сом квазирегулярных криэйторов. Для квазирегулярных структур число опера-
ций умножения будет определяться выражением
Z = Pg + Gp.
В этом случае условие целесообразности разложения (8.19) можно предста-
вить в виде
Pg + Gp<PGy, (8.24)
где коэффициент у < 1 определяет гарантированный выигрыш по быстродейст-
вию при разложении ядра.
Для ядерных нейронных сетей правило наследования должно быть дополнено
количественной оценкой результата, связанной со структурными характеристиками
ядер. Например, учитывая (8.21) можно предложить следующий вариант соглаше-
ния (принцип «наследование равных долей»): устанавливается «размер наследст-
ва», равный сумме рангов связей с родительским ядром. Это значение, очевидно,
равно Р для рецепторной области и G - для аксоновой области. Связи между по-
рожденными потомками и ядрами смежного слоя распределяются так, чтобы в мак-
симальной степени были выполнены приближенные равенства:
Р\ =Р2 =РЗ =--- = Рк> gi =g2 =g3 =’” = gz-
При данном принципе наследования каждый потомок наследует связи с
примерно равной количественной мерой. Соотношение параметров разложения
к, I определяет стратегию построения сети. Наиболее простой в реализации яв-
ляется стратегия, когда параметр I фиксируется (например, Z = 2), a p,g,r вы-
бираются на основании условия (8.23) и выражений (8.20).
8.5.4. Программная реализация алгоритма структурного синтеза
ядерной слабосвязанной сети
Ранговая матрица межслойного перехода с номером т связывает между
собой ядра слоев т и т + 1. При программной реализации алгоритма использу-
ется особая форма хранения ранговых матриц. Поскольку ранговая матрица сла-
босвязанной сети является слабозаполненной, т. е. содержит много нулевых эле-
ментов, хранить ее в виде двумерного массива невыгодно из-за неоправданных
затрат памяти. Более того, в этом случае существенно усложняется реализация
алгоритма структурного синтеза. Для построения эффективного способа хране-
ния можно воспользоваться свойством ранговой матрицы, которое заключается в
том, что сумма всех элементов матрицы равна числу нейронов в данном слое и
совпадает с размерностью рецепторного поля последующего слоя:
240
D = Mm=Nm^=^>f
i J
Будем хранить ранговую матрицу Rm в виде вектора-столбца длиной D,
который, как и матрицу, будем обозначать символом Rm и называть вектором
связей. Вектор связей Rm последовательно сверху вниз разбивается на поля дли-
ной , где j - номер ядра в слое т +1. Значение каждого элемента поля рав-
но z, где i - номер ядра слоя т, с которым связано ядро j слоя т +1. Каждое
поле соответствует одному столбцу матрицы Rm . Если значение ранга г™ > 1, то
номер i повторяется в j -м поле г[- раз.
Пример. Ниже показана ранговая матрица с индексами строк и столбцов и
ее эквивалентное представление в виде вектора связей:
Пунктиром разделены два поля. В данном случае таблица связей занимает в
памяти больше места, чем ранговая матрица, однако при больших размерах мат-
рицы ситуация коренным образом меняется.
Фрагмент 8.1 представляет функцию создания ранговой матрицы (в вектор-
ной форме) при делении ядра.
function Rnew=Create_new_RangMatrix(ik,il,k,1,г)
% Построить ранговую матрицу связей ядер-потомков разделенного ро-
дительского ядра
% Ранговая матрица представлена вектором-столбцом, разделенным на поля
% размер каждого поля равен размерности рецепторного поля потомка
% аксоновой области. Элемент поля определяет номер вершины-потомка
% рецепторной области, связанный с потомком аксоновой области.
% ik,il - начальные номера вершин ядер-потомков рецепторной и аксоновой
% областей
% к - число ядер потомков в рецепторной области
% 1 -число ядер потомков в аксоновой области
% г - ранг связей между ядрами-потомками
% © А.Ю.Дорогов
Rnew=[];
Rl=[];
for n=ik:k+ik-l ^нумерация ядер-потомков рецепторной области
241
dR=ones(г,1)*n; %г-кратное повторение номера при неединичном ранге
Rl=vertcat(R1rdR); %наращивание ранговой матрицы
end
for m=il:l+il-l %полное отношение связанности между ядрами-потомками
Rnew-vertcat(Rnew,R1);
end
Фрагмент 8.1. Функция создания частной ранговой матрицы при делении ядра
Кроме ранговой матрицы для каждого слоя сохраняется пара векторов, оп-
ределяющих размерности рецепторных и аксоновых полей нейронных ядер в
слое т:
fP\m) = \p{ р2 pk), fG^ = \S{ ё2 ••• Si )
При порождении нового слоя выполняется деление ядер таким образом,
чтобы обеспечить квазирегулярность и вычислительную эффективность порож-
даемой структуры. Фрагмент 8.2 представляет функции деления родительского
ядра. Одним из аргументов функции Split_Kemel2 является максимально воз-
можный ранг порождаемых связей. Фактический ранг подбирается исходя из ус-
ловия вычислительной эффективности порождаемой структуры.
function [D,k,g,p,г,sgn]=Split_Kernel2(Р,G,1,rjnax,grnt)
% Квазирегулярное деление ядра:
% отношение связанности полное, все вновь образованные связи имеют
одинаковый ранг
% P,G- размерности родительского ядра
% D - число нейронов в порожденном слое
% к - число ядер-потомков рецепторной области
% 1 - число ядер-потомков аксоновой области
% r_max - максимальный ранг связей между ядрами-потомками
% grnt - гарантированное снижение вычислительных затрат (grntcl)
% g - размерность аксонового поля ядер рецепторной области
% р - размерность рецепторного поля ядер аксоновой области
% г - фактический ранг связей между вершинами-потомками
% sgn=l - признак допустимости деления ядра
% © А.Ю.Дорогов
sgn-1 ;
for r=r_max:-l:l
g=r*l; ^размерность аксонового поля ядер рецепторной области
p=floor((P*G*grnt-P*g)/G) ; %размерность рецепторного поля ядер
аксоновой области
k=floor(p/r); %число ядер-потомков рецепторной области
if p<r*k %проверка регулярности образуемых связей
continue %снижение ранга связей
else
p=r*k;
break %завершение цикла подбора ранга
end
end
242
D=k*l*r; %число нейронов в порожденном слое
if р<2 %проверка целесообразности деления родительского ядра
sgn=0; %деление ядра не целесообразно
end
О ___________________________________________________________________
function A-Field_Split(Df,n)
^Квазиравномерное деление поля на п
% Df - размерность поля
% п - число частей
% А - массив разбиения
% © А.Ю.Дорогов
p-round(Df/п);
if Df/n>p
s=Df-p*n;
A(1:s,1)=p+l;
A (s +1: n, 1) =p ;
elseif Df/n<p
s=Df-(p-1)*n;
A (1: s, 1) =p;
A(s+1:n,1)=p-1;
elseif Df/n==p
A (1 : n, 1) =p ;
end
Фрагмент 8.2. Функции деления родительского ядра
Фрагмент 8.3 представляет функцию создания структурной модели слабо-
связанной ядерной нейронной сети. При синтезе делению всегда подвергается
последний слой сети, поэтому для него нужно обеспечить максимальные раз-
мерности порождаемых ядер, например, выбрав значение 1 = 2.
function [Layers,R]=Create_Structure_Model(N,M,r_max,1,grnt)
% Создать квазирегулярную структурную модель слабосвязанной нейрон-
ной сети
% N - размерность рецепторного поля сети
% М - размерность аксонового поля сети
% г max - максимальный ранг связей между вершинами-потомками
% 1 - число ядер-потомков в аксоновой области
% grnt - гарантированное снижение вычислительных затрат при делении
ядра (grntcl)
% Layers - массив структур
% Layers(m).fР= размерности рецепторных полей ядер слоя
% Layers(m).fG= размерности аксоновых полей ядер слоя
% R - ранговые матрицы - набор ячеек. Каждая ячейка содержит ранговую
% матрицу в векторной форме хранения.
% Векторная форма получается разверткой по столбцам адресных связей
целевых вершин
% ранговой матрицы. При ранге связи, отличном от единицы, адрес в
развертке % повторяется по значению ранга
% © А.Ю.Дорогов
[D,k,g,p,r,sgn]=Split_Kernel2(N,М,1,r_max, grnt) ;
if sgn--0 %деление родительского ядра нецелесообразно
243
return
end
fP=Field_Split(N,к); Уделение рецепторного поля родительского ядра
Layers(1).fP=fP;
Layers(1).fG(1:k,1)=g; %аксоновые поля ядер-потомков рецепторной области
fG=Field_Split(М,1); %деление аксонового поля родительского ядра
Layers(2).fG=fG;
Layers(2).fP(1:1,1)=p; %рецепторные поля ядер-потомков аксоновой области
R{1}=Create_new_RangMatrix(1,1,k,1,r_max);%Построить первую ранго-
вую матрицу
п-2; %номер следующего разделяемого слоя
while 1 %цикл порождения слоя сети
fPnew=[]; fGnew=[]; fPa=[]; fGr=[]; Rnew=[];
fP=Layers(n).fP; ^размерности рецепторных полей ядер слоя
fG=Layers(n).fG; ^размерности аксоновых полей ядер слоя
L=length(fР); %число ядер в слое
ik=l; il=l; ^начальные номера ядер-потомков рецепторной и ак-
соновой областей
for t=l:L %деление ядер последнего слоя
P=fP(t); %размерность рецепторного поля родительского ядра
G=fG(t); %размерность аксонового поля родительского ядра
[D,k,g,р,г,sgn]=Split Kernel2(P,G, 1, г max,grnt); %деление ядра
if sgn==0 %деление ядер слоя нецелесообразно
return % новый слой не образуется
end
dfGa=Field_Split(G,1); %аксоновые поля потомков аксоновой бласти
dfPr=Field_Split(Р,к); %рецепторные поля потомков рецептор-
ной области
dfGr=ones(k,1)*д; %аксоновые поля потомков рецепторной области
dfPa=ones(1,1)*р; %рецепторные поля потомков аксоновой области
fGnew=vertcat(fGnew,dfGa);
fPnew=vertcat(fPnew,dfPr);
fPa=vertcat(fPa,dfPa);
fGr=vertcat(fGr,dfGr);
dRnew=Create_new_RangMatrix(ik,il,k,1, r) ; % ранговая матрица
для ^разделяемого ядра
ik=ik+k; %нумерация ядер-потомков рецепторной области
il=il+l; %нумерация ядер-потомков аксоновой области
Rnew=vertcat(Rnew,dRnew); %наращивание ранговой матрицы слоя
end
Layers(n).fG=fGr; ^обновление размерностей аксоновых полей по-
следнего слоя
Layers(n).fP=fPnew; %обновление размерностей рецепторных полей
последнего %слоя
Layers(п+1).fG=fGnew; % формирование аксоновых полей потомков
нового слоя
Layers (п+1) .fP=fPa; %формирование рецепторных полей потомков
нового слоя
R{n}=Rnew; %добавление новой ранговой матрицы
п=п+1;
end
Фрагмент 8.3. Функция синтеза структурной модели слабосвязанной ядерной нейронной сети
244
На рис. 8.11 показан результат синтеза структурной модели слабосвязанной
ядерной нейронной сети для размерности терминальных полей (23,17). Вместо
номеров ядер на рисунке показаны их размерности. Деление ядер выполнялось с
гарантированным показателем эффективности 0.8 и максимальным рангом связей,
равным 1. Вычислительная эффективность построенной структуры составляет
0.53 от однослойного персептрона с той же размерностью терминальных полей.
Рис. 8.11. Синтезированная структурная модель ядерной слабосвязанной сети
Можно предложить еще несколько стратегий целесообразного деления яд-
ра, для примера рассмотрим одну из них. Обозначим через D число нейронов в
порожденном слое при действии криэйтора на ядро размерности (Р, G). Для
квазирегулярной порожденной структуры
D = rgk = rpl,
где г - ранг связей в образовавшейся двухдольной структуре. Условия целесо-
образности деления ядра (8.24) при у = 1 преобразуются к виду
Р— + G— < PG. (8.25)
кг 1г
Из условия (8.25) следует, что максимальный выигрыш по быстродействию бу-
дет достигнут, если Pl - Gk . В этом случае справедливо соотношение
Pl + Gk = 2jPl Gk ,
и тогда из (8.25) получим:
D<Q.54lkr4PG .
245
Выберем
D = rJPG.
При таком выборе разложение в двухдольную структуру будет целесооб-
разно, если 1к/г>А. Несмотря на то, что на каждом шаге выигрыш по вычисли-
тельной эффективности ниже, чем при первой стратегии (поскольку здесь у = 1),
но глобальный выигрыш может оказаться выше. Фрагмент 8.4 представляет ал-
горитм деления ядра для данной стратегии.
function [D,k,g,p,r,sgn]-Split_Kernel!(Р,G,1,г)
% Квазирегулярное деление ядра:
% отношение связанности полное, все вновь образованные связи имеют
одинаковый ранг
% P,G- размерности родительского ядра
% D - число нейронов в порожденном слое
% к - число ядер-потомков рецепторной области
% 1 - число ядер-потомков аксоновой области
% g - размерность аксонового поля ядер рецепторной области
% р - размерность рецепторного поля ядер аксоновой области
% г - фактический ранг связей между вершинами-потомками
% sgn^l - признак допустимости деления ядра
% О А.Ю.Дорогов
sgn=l;
D=sqrt(P*G)*r;
k=floor(D/(l*r) ) ;
D=k*l*r; %число нейронов в порожденном слое
p-k*r; %размерность рецепторного поля ядер аксоновой области
g=l*r; %размерность аксонового поля ядер рецепторной области
if G<3 %проверка целесообразности деления родительского ядра
sgn-0; %деление ядра нецелесообразно
end
Фрагмент 8.4. Альтернативная стратегия квазирегулярного деления ядра
Рис. 8.12. Синтезированная структурная модель слабосвязанной сети.
Альтернативная стратегия
246
На рис. 8.12 представлен результат синтеза слабосвязанной сети размерно-
сти (23,17) для альтернативной стратегии при ранге связей г = 1. Вычислитель-
ная эффективность построенной модели оказалась равной 0.38.
8.5.5. Программная реализация алгоритма построения
топологии ядерной нейронной сети
Алгоритм построения топологии ядерной нейронной сети был описан в
7.3.2. Особенность программной реализации связана с формой хранения ранго-
вых матриц и топологических множеств. В соответствии с представленным ал-
горитмом для построения топологии межслойного перехода с номером т необ-
ходимо разместить числовое множество Т'п = jl, 2,..., Dm j (где Dm )
i J
в поле ранговой матрицы. При хранении ранговой матрицы в виде вектора его
Рис. 8.13. Схема построения
топологического множества
аксонового поля
размер также равен Dm, поэтому размещение выпол-
няется просто заменой элементов при сохранении по-
лей разбиения вектора. Поля полученного вектора в
этом случае будут определять топологические множе-
ства рецепторных полей U™ слоя т + \. Для опреде-
ления топологических множеств аксоновых полей слоя
т необходимо выполнить «проекцию» вектора через
числовое множество Тт. Пример подобной проекции
для построения топологического множества аксоново-
го поля ядра с номером 2 показан на рис. 8.13.
Фрагмент 8.5 представляет функцию построения топологии межслойного
перехода. Топологические множества и U"' 1' хранятся в виде векторов-
столбцов, разделенных на поля. Размеры полей определяются размерностями
нейронных ядер.
function [V,U]=Find_Adj acent_Topology(Rm)
%Построить топологию межслойного перехода
% Rm - ранговая матрица межслойного перехода в векторной форме
% V - топологические множества аксоновых полей предшествующего слоя
% U - топологические множества рецепторных полей последующего слоя
% © А.Ю.Дорогов
D=length(Rm);
U= [1 : D] ' ;
V= [ ] ;
K=max(Rm);% число аксоновых полей в предшествующем слое
for п=1:К
ind=find(Rm==n); %найти позиции аксонового поля
247
V=vertcat(V,U(ind) ) ;
end
Фрагмент 8.5. Функция построения топологических множеств аксоновых
и рецепторных полей смежных слоев
Для терминальных полей сети состав топологических множеств не зависит
от других слоев сети и может быть выбран произвольно. Для построения квази-
регулярных топологий в приведенных программах сохраняется естественная
упорядоченность элементов при размещении числовых множеств Тт. Это пра-
вило распространяется и на терминальные поля.
Для того чтобы воспользоваться алгоритмом обучения, рассмотренным в
7.3.7, топологические множества необходимо преобразовать в слабозаполненные
топологические матрицы. Фрагмент 8.6 представляет полную программную реа-
лизацию алгоритма построения топологии ядерной нейронной сети по ее струк-
турной модели.
function T=BuildTopology KernelNetwork(Layers,R)
^Построить топологию для ядерной нейронной сети по структурной модели
% Layers - массив структур,
% Layers(m).fР= размерности рецепторных полей ядер слоя
% Layers(m).fG= размерности аксоновых полей ядер слоя
% R - ранговые матрицы - набор ячеек. Каждая ячейка содержит ранговую
% матрицу в векторной форме хранения.
% Векторная форма получается разверткой по столбцам адресных связей
целевых %вершин ранговой матрицы. При ранге связи, отличном от еди-
ницы, адрес в %развертке повторяется по значению ранга
% © А.Ю.Дорогов
L=length(Layers); %число слоев
fPl-Layers (1) .fP;
N=sum(fPl); %размерность входа сети
fGe-Layers(end).fG;
M-sum(fGe); %размерность выхода сети
U{1}=[1:N]';
V{L}=[1:М]';
for m=l:L-l
Rm=R{m};
[V{m},U{m+1}]-Find_Adjacent_Topology(Rm); ^построение тополо-
гических ^множеств
end
for m=l:L ^преобразование к топологическим матрицам
fP=Layers(m).fP; fG-Layers(m).fG;
Um=U{m}; Vm=V{m};
K=length(fP);
ti=l; tj=l;
!=[]; J=[]; z=[];
for z=l:К
p=fP(z);
g=fG(z);
i=Um(ti:ti+p-l);
248
j-Vm(tj:tj+g-1);
[Iz,Jz]-meshgrid(i,j);
I-vertcat(I, I z ( : ) ) ;
J-vertcat(J,Jz (:));
Z-vertcat(Z,ones (size (Iz (:)))*z);
ti-ti+p;
tj-tj+g;
end
T{m}-sparse(I, J, Z) ;
end
Фрагмент 8.6. Программная реализация алгоритма построения топологии ядерной
нейронной сети по структурной модели
Рис. 8.14. Топологическая реализация слабосвязанной ядерной нейронной сети
На рис. 8.14 показана топологическая реализация нейронной сети, постро-
енной по структурной модели, представленной на рис. 8.12. На рисунке выделе-
ны нейронные ядра. Нумерация ядер и координат векторов начинается с нулево-
го индекса. Входы смещений не показаны.
249
9. ПЛАСТИЧНОСТЬ НЕЙРОННЫХ СЕТЕЙ
Теория всегда лучше объяснений.
Закон Вудворда. Азбука Мерфи
В биологических работах термин «пластичность» используется как качест-
венная характеристика способности нейронной сети обучаться при воздействии
внешних факторов. Для искусственных нейронных сетей адекватной количест-
венной оценкой может служить число независимых настроек, существующих в
сети. Это значение, как правило, меньше полного количества синаптических ве-
сов (исключением является однослойный персептрон, для которого соблюдается
равенство). В механике для оценки числа независимых координат используется
понятие «число степеней свободы». Близкую аналогию можно провести и для
нейронных сетей. В самом деле, нейронную сеть прямого распространения мож-
но представить как нелинейный оператор, преобразующий входной вектор в вы-
ходной. Полное множество операторов образует многообразие* в многомерном
пространстве, в котором каждый оператор сети можно рассматривать как некото-
рую материальную точку. Изменение синаптических весов нейронной сети при-
водит к перемещению точки-оператора в пространстве операторов. Следуя далее
механической аналогии, будем называть число независимых координат, необхо-
димое и достаточное для однозначного определения местоположения точки-опе-
ратора в пространстве операторов, числом степеней свободы нейронной сети и
рассматривать эту величину как количественную оценку пластичности сети. Чис-
ло степеней свободы, по существу, определяется максимальной размерностью ка-
сательного пространства к операторному образу нейронной сети.
В предложенном способе оценки пластичности неявно предполагается, что
операторное многообразие нейронной сети локально дифференцируемо по всем
координатам, т. е. является непрерывным и гладким. Поскольку оценивается
размерность касательного пространства, то в контексте оценки пластичности
можно ограничиться линейными операторами. Более того, для оценки достижи-
мых свойств предлагается использовать максимальную размерность касательно-
го пространства операторного образа. Понятно, что данная оценка не изменится,
если вместо полного операторного многообразия нейронной сети рассматривать
только его часть (трансверсальную область), в которой размерность касательно-
го пространства достигает максимума. Эту выделенную часть называют моде-
лью «общего положения».
* Многообразие - геометрический объект, локально устроенный как векторное линейное про-
странство.
250
9.1. Системные модели «общего положения»
Концепция «общего положения» в моделировании является выражением фун-
даментального понятия «типичности» при совместном размещении геометрических
образов в векторном пространстве. В задаче проектирования использование моде-
лей общего положения сужает область поиска оптимальных решений, в задаче ана-
лиза - позволяет оценить потенциально достижимые возможности исследуемой
системы. В обоих случаях это приводит к упрощению методов исследования.
Операторное многообразие нейронной сети формируется взаимным пересе-
чением операторных многообразий нейронных модулей. Локально каждое опе-
раторное многообразие устроено как некоторое линейное подпространство в
пространстве операторов, поэтому многообразия пересекаются по векторным
подпространствам. Для двух подпространств L\, векторного пространства L
под общим положением понимается [73] такое их размещение, при котором их
пересечение имеет минимальную, а сумма - максимальную размерность (под
суммой или объединением подпространств понимается их линейная оболочка).
Другой термин для этого же понятия - L\, L2 пересекаются трансверсально.
Подпространства в «общем положении» либо не пересекаются, а если пересека-
ются, то размерность их пересечения бппД =dimZj +dim£2 -dimZ. На-
звание «общее положение» обусловлено тем, что в некотором смысле большин-
ство пар подпространств L\, Z? находятся в общем положении, а другие распо-
ложения являются вырожденными. Примеры общего положения: 1) две прямые
двумерного пространства, пересекающиеся в одной точке, 2) непересекающаяся
пара прямых в трехмерном пространстве, 3) пара плоскостей трехмерного про-
странства, пересекающихся вдоль линии, и т. д. Теоретическим обоснованием
моделей «общего положения» являются теоремы Сарда [76], раскрывающие
смысл типичности и большинства. По теореме Сарда трансверсальных отобра-
жений настолько много, что их можно обнаружить в сколь угодно малой окрест-
ности любого гладкого отображения.
Для модульной нейронной сети задача расчета степени пластичности разделя-
ется на две подзадачи: в первой требуется определить пластичность отдельных мо-
дулей, а во второй - используя полученные данные и информацию о структуре сети
и следуя принципу трансверсальности при объединении операторных многообразий,
определить пластичность всей сети. Рассмотрим обе эти задачи последовательно.
9.2. Операторные многообразия нейронных модулей
Как уже отмечалось, в контексте оценки пластичности нейронной сети
можно полагать, что нейронный модуль описывается линейным оператором.
Пусть Е и D - ассоциированные пространства для модуля А с размерностями
251
М и N. Ограничиваясь моделью общего положения, будем считать, что при
варьировании параметров операторное множество модуля совпадает с многооб-
разием линейных отображений Nr\E D ранга г. В [77] было показано, что
множество матриц ранга г, имеющих размеры М xN , образуют многообразие
размеры dim Ar -Nr + Mr - r~ . Покажем, что этот результат применим к опера-
торному множеству нейронного модуля.
Как известно [78], полное множество линейных операторов, действующих
из пространства Е в D, изоморфно тензорному произведению Е ® D, которое
является линейным пространством размерности М • N. По теореме о структуре
линейного отображения [73] для каждого оператора ранга г существуют такие
прямые разложения пространств:
Е = Е0®Е1 Dx ®D0 = D- (9.1)
что D\ изоморфно* Е\ и имеет размерность г, a Eq составляет ядро отображе-
ния. Подпространство Dq называют коядром, оно характеризует степень неоп-
ределенности (неоднозначности) оператора. Множество разложений вида (9.1)
разделяется на подмножества, отличающиеся выбором пары Ех, Dj.
Рассмотрим подмножество операторов фсА;., для которого пара подпро-
странств EX,DX фиксирована. Из разложения (9.1) нетрудно видеть, что под-
множество операторов Аг представляет собой объединение подмножества опе-
раторов ранга г, осуществляющих отображение из пространства Е в Dx, и под-
множества операторов ранга г, осуществляющих отображение из £) в D. На
языке тензорных произведений это можно записать так:
Ar ^(E®Dx)vj(Ex ®D). (9.2)
Отсюда, следуя правилу вычисления размерности объединения подпространств
[73], получим:
dim/lr = dim(E ® Dx) + dim(£) ® Z>)- dim(E ® Dx }су(Ех ® D). (9.3)
Пересечением множеств является подмножество операторов, осуществляющих
отображение из подпространства Ех в Dx, поэтому
dim(E ® ) n (Ej ® £>) = г2.
Поскольку dimE = N , dim D = М, dim Ej = dim Dj = г, то из (9.3) следует:
2
dim Ar - Nr + Mr - г .
* Изоморфизм - взаимно-однозначное отображение множеств с сохранением допустимых опе-
раций и отношений между элементами.
252
Выражение (9.2) задает отображение каждой фиксированной пары в
пространство размерности dim Аг. Другими словами, множество Аг представ-
ляет собой многообразие, для которого подмножества Аг являются картами, со-
ставляющими атлас многообразия [79]. Размерность карты многообразия равна
размерности касательного пространства и таким образом определяет степень
пластичности для модуля общего положения.
Модуль двойственного функционирования в составе сети. Обозначим
:£) —> Е множество всех операторов ранга г, действующих из пространства
D в пространство Е. Разложение (9.1) симметрично для класса прямых и об-
ратных отображений, поэтому А* также представляет собой многообразие и
-и
существует естественный изоморфизм Аг Аг, который задается совпадением
11
пар (Е), Dj) для карт Аг и A? . Данный изоморфизм является выражением двой-
ственности в представлении модуля (рис. 9.1). В режимах прямого и обратного
Рис. 9.1. Модули в прямой
и двойственной сетях
функционирования размерность выходного
сигнального пространства модуля не может
быть больше г. Следовательно, модуль мо-
жет реализовать не более чем Nr степеней
свободы при прямом функционировании и не
2
более чем Mr — при обратном. При этом г
степеней свободы являются общими. Если
модуль находится в составе сети, то размер-
ности входных сигнальных пространств Хс£иУсЛв прямой и двойствен-
ной сетях в общем случае меньше максимально возможных. Это ограничивает
возможности по реализации степеней свободы модуля. Действующее число сте-
пеней свободы модуля в составе сети
- 2 2
dim Ar - sxr + Eyr - г,
(9-4)
где sx, су — размерности входных подпространств в прямой и двойственной се-
тях, г = min (г, .vA, су) - действующий ранг нейронного модуля. Сигнальные под-
пространства в различных сечениях двойственной сети можно рассматривать как
модальные состояния структурного уровня, где степень модальности определя-
ется фактическими размерностями подпространств (см. приложение, п. 1).
Назовем модуль А нормальным относительно окружения X, Y, если вы-
полнено условие г > min (,vA, су). В этом случае г - min(5A, су), и тогда из (9.4)
нетрудно получить, что
253
dim Ar = sxcy. (9.5)
Назовем модуль нормальным (без наречия «относительно»), если он имеет ранг,
максимально возможный для его размерности*. Другими словами, для нормаль-
ного модуля г = min(7V, Л/). Очевидно, что нормальный модуль всегда норма-
лен относительно своего окружения, поскольку sx < N, су < М. При систем-
ном анализе наибольший интерес представляют потенциально достижимые воз-
можности нейронной сети. Понятно, что с увеличением ранга внутримодульного
преобразования такие возможности увеличиваются. В этом случае при анализе
можно полагать, что всегда выполняется равенство r = min(/V, Л/). Для опера-
ции нахождения минимума в дальнейшем будем использовать обозначение «° »,
иначе называемое логическим умножением. Например, в этом обозначении ус-
ловие нормальности модуля будет записываться в виде r — N°M.
9.3. Пластичность модульных нейронных сетей
Будем полагать, что многообразие операторов в модульной нейронной сети
образуется только за счет вариации параметров модулей. Межмодульные связи
при этом считаются фиксированными.
Влияние модулей. Выделим в сети некоторый модуль А ранга г и предпо-
ложим, что его параметры варьируются, в то время как параметры всех остальных
модулей фиксированы в общем положении. Поскольку модуль находится в соста-
ве сети, то размерности пространств состояний модуля в прямой и двойственной
сетях в общем случае меньше размерностей модуля по входу и выходу. Дейст-
вующее число степеней свободы модуля обозначим S(A). Подобным образом
выделяя и поодиночно варьируя остальные модули, получим, что вклад всех мо-
дулей в общее число степеней свободы сети определяется суммой ^S(A).
А
Влияние связей. Биективные межмодульные связи устанавливают точное
и однозначное соответствие между модальными состояниями смежных модулей,
т. е. каждая связь, рассматриваемая как двойственное отображение, является
нормальной и ее влияние можно оценивать выражением (9.5). Однако в отличие
от модулей связи фиксированы, и поэтому их присутствие в сети приводит к
«связыванию» степеней свободы. Из этого следует, что каждая фиксированная
* В дифференциальной геометрии для обозначения отображений с указанными свойствами ис-
пользуется терминология «регулярность» или «правильность». Термин «регулярность» уже
был использован в тексте для других целей, термин «правильность» выпадает из контекста,
наиболее близким синонимом указанных терминов является термин «нормальность», который
и используется в дальнейшем.
254
межмодульная связь (допустим, между модулями В) ранга гАВ уменьшает
общее количество степеней свободы сети на величину
В-А (А АВ}(—В АВ}
sc = у с or J\s °r ;,
где sB, сА и c размерности пространств модальных состояний в прямой и
двойственной сетях (вторая форма записи более удобна при конусе связей).
Рис. 9.2 иллюстрирует действие фиксированной межмодульной связи в сети
двойственного распространения.
Рис. 9.2. Межмодульная связь в нейронной сети двойственного распространения
Таким образом, формула расчета числа степеней свободы для всей модуль-
ной сети будет иметь вид
(9.6)
А А=> В
Если все модули нормальны:
S(H) = - Z °гАВ)^в °гАВ'>- (9.7)
А А=> В
9.4. Расчет модальных состояний в слабосвязанных нейронных сетях
Выражения (9.6), (9.7) можно использовать для расчета степени пластично-
сти только в том случае, если известны модальные состояния нейронной сети.
Модальные состояния в двойственной сети порождаются наличием на ее входе и
выходе пространств обучающих примеров.
Для оценки потенциальных свойств нейронной сети будем полагать, что
эти пространства имеют максимально возможную размерность, определяемую
размерностью терминальных полей сети. Схема формирования модальных со-
стояний двойственной сети показана на рис. 9.3. Рассмотрим конус связей
(рис. 9.4) в модульной сети прямого распространения.
Модальные состояния для конуса связей в общем виде определяются выра-
жениями:
В В В В |! А: А.В
С — S о г , .V — II С 1 or ’ ,
А^ГЧв)
где символ U условно показывает, что размерность sB следует определять для
объединения подпространств, порождаемых модулям окрестности. Размерности
255
этих подпространств известны и равны сА' ° гА‘В, однако размерность их объеди-
нения в общем случае вычислить не удается, поскольку пространства могут иметь
пересечения, обусловленные наличием предшествующих связей между модулями.
Рис. 9.3. Схема формирования модальных состояний модульной сети (N- размерность
входа сети; М-размерность выхода сети; X, Z - пространства обучающих примеров)
Рис. 9.4. Конус связей в сети прямого распространения
В случае слабосвязанных сетей задача существенно упрощается, поскольку
для любого модуля слабосвязанной сети существует единственный путь, связы-
вающий его с входным терминальным пространством. Этот путь выделяет в
терминальном пространстве независимое подпространство. Размерность этого
подпространства легко вычислить: оно будет равно логическому произведению
рангов всех дуг пути от терминальной области до данного модуля. Поскольку
все выделенные таким образом подпространства независимы, то объединение
подпространств перед модулем В на самом деле будет прямой суммой, а это оз-
начает, что формула для вычисления размерности трансформируется к виду:
в в в В v1 4 45
4-еГ Чв)
(9-8)
256
Рис. 9.6. Схема графического
отображения состояния модуля
Рис. 9.5. Конус связей в сети обратного распространения
Поскольку условия слабой связанности сети содержат 2 двойственных вы-
ражения, то, следуя принципу двойственности, для сети обратного распростра-
нения можно записать следующие выражения для расчета размерностей подпро-
странств (рис. 9.5):
сл= У sC^rC'B. (9.9)
С,еГ(В)
9.5. Графический расчет пластичности слабосвязанных сетей
Ограничимся рассмотрением случая, когда все модули сети нормальны.
Простота описания модульной сети данного класса в пространстве модальных
состояний позволяет предложить наглядный метод расчета пластичности непо-
средственно по структурной модели сети.
Покажем методику расчета на примере мо-
дульной сети, представленной на рис. 8.6.
При графическом изображении каж-
дую вершину структурной модели разобьем
на 4 сектора (рис. 9.6). В верхнем секторе
записывается ранг вершины. Для нормаль-
- В ( В В\ тэ
ных модулей г = min (р , g ). В левом и
правом секторах запишем переменные со-
В -В
стояния s ,с , в нижнем секторе - число
степеней свободы вершины.
Для нормальных модулей 5(2?) = 5 с , т. е. равно произведению значений
левого и правого секторов вершины. В выражениях (9.8), (9.9) введем перемен-
ные 5 (Л/Z?) = сА’- ° гАВ'- и с (Q, 5) = ° гС'В, которые назовем терминальны-
257
ми состояниями дуг. При графическом расчете для каждой дуги будем указывать
ее терминальные состояния (рис. 9.7). В центре над дугой укажем ее ранг, а в
прямоугольнике под дугой значение
Тгй(Л, 5) = (sB ° гАВ)(сА ° гАВ) = с (A, B)s(A, В) .
Рис. 9.7. Графическое отображение дуги
Последнее произведение равно уменьшению общего числа степеней свобо-
ды сети, полученному за счет существования данной дуги. В соответствии с
формулой (9.7) для расчета общего числа степеней свободы достаточно просум-
мировать по всем вершинам А значения 5 (А), а по всем дугам А^> В - значе-
ния Тгй(Л, В) и вычесть одну сумму из другой:
В(Я) = ^5(Л)- £ Тгс1(Л,В). (9.10)
А А=>В
На рис. 9.8 показан пример графического расчета числа степеней свободы.
Методика расчета:
1. В верхние секторы вершин записываются их ранги.
2. В левые секторы вершин афферента сети записываются значения, равные
размерностям их рецепторных полей.
3. В правые секторы вершин эфферента сети записываются значения, рав-
ные размерностям их аксоновых полей.
4. Следуя уравнениям (9.8), перемещаясь по вершинам, слева направо по-
следовательно заполняются левые секторы вершин и переменные состояния дуг
(цифры над дугой) в прямой категории сети.
5. Следуя уравнениям (9.9), перемещаясь по вершинам, справа налево за-
полняются правые секторы вершин и переменные состояния дуг (подчеркнутые
цифры под дугой) для двойственной категории сети.
6. Для каждой вершины перемножаются значения левого и правого секто-
ров и результат записывается в нижний сектор вершины.
7. Для каждой дуги (А, В) перемножаются состояния с (А, В), s(A,B) и
результат записывается в прямоугольник под дугой.
8. Суммируются значения всех нижних секторов вершин, и из этого значе-
ния вычитается сумма по всем дугам значений в прямоугольниках. Полученный
результат представляет собой число степеней свободы нейронной сети.
258
Л3(3,4) Л5(5,6)
S(H) - 12 + 12+ 12 + 36 + 24+ 16 + 25 + 28-1-1-1-6-4-4-9-6-9-9-115
Рис. 9.8. Графический расчет числа степеней свободы модульной
слабосвязанной сети без смещений
Фрагмент 9.1 содержит программную реализацию алгоритма расчета числа
степеней свободы слабосвязанной нейронной сети.
function [Sf,Z, Е]=Get_Free_Degrees(R,Layers)
^Рассчитать число степеней свободы и вычислительную эффективность
% слабосвязанной нейронной сети с нормальными модулями
%R - массив ячеек, каждая содержит ранговую матрицу межслойного пе-
рехода
% ранговая матрица может быть представлена в форме full или sparse
%Layers - массив ячеек, каждая содержит веса ядер слоя нейронной сети
% Sf - число степеней свободы
% Z - число вычислительных операций
% Е - выигрыш по числу операций умножения
% © А.Ю.Дорогов
K=length(Layers); %число слоев нейронной сети
fP=Layers(1) .fР; ^размерности рецепторных полей
Vertex(1).s=fP; %модальные переменные в первом слое
Z=0 ;
for m=l:К
fP=Layers(m).fP;
fG-Layers(m).fG; ^размерности аксоновых полей
fR-min([fP,fG],[],2); %ранги модулей
259
Vertex(m).r=fR; %ранги модулей
Z-Z+sum(fP.*fG); %число операций умножения
end
N=sum(Layers(1) .fP(:)) ; ^размерность входного поля нейронной сети
M=sum(Layers(end).fG(:)); %размерность выходного поля нейронной сети
E=(N*M)/Z; % выигрыш по числу операций умножения
%Прямой проход алгоритма расчета
for ш=1:К-1
c=min([Vertex(m).s,Vertex(m).r],[ ] ,2) ;
Vertex(m).c-c;
Rm=R{m);
[N, M]=size(Rm);
for j =1:M
s(j,1)-sum(min( [c,Rm(:,j) ], [ ],2)) ;
end
Vertex(m+1). s-s;
end
%Обратный проход алгоритма расчета
fG=Layers(К).fG;
Vertex(К).c_=fG;
for m=K:-1:2
s_-min([Vertex(m).c_,Vertex(m).r],[],2);
Vertex(m).s_=s_;
Rm=R{m-l};
[N, M] =size (Rm) ;
for i=l:N
c_(i,1)-sum(min([s_,Rm(i, :) '], [ ],2));
end
Vertex(m-1). c =c ;
end
%Влияние вершин
SA=0;
for m=1:К
SA=SA+sum((Vertex(m).s).*(Vertex(m).c_));
end
^Влияние связей
Trd=0;
for m=l:K-l
Rm-R{m};
[N,M]=size (Rm) ;
for i=l:N
for j =1:M
dT-min (Vertex (m) . c (i) , Rm (i, j ) ) *min (Vertex (m+1) . s_ (j ) , Rm (i, j ) ) ;
Trd=Trd+dT;
end
end
end
Sf=SA-Trd; “«число степеней свободы
Фрагмент 9.1. Алгоритм расчета числа степеней свободы слабосвязанной нейронной сети
260
9.6. Пластичность регулярных нейронных сетей
Регулярные перестраиваемые преобразования и нейронные сети этого струк-
турного типа (см. 7.4) строятся на основе порождающих схем, генерирующих
слабосвязанные структуры. Регулярность структуры позволяет получить конеч-
ные формулы для расчета степени пластичности. Исследуем эти вопросы снача-
ла для быстрых преобразований, а затем обобщим на регулярные преобразова-
ния общего вида.
Быстрые преобразования. Быстрое перестраиваемое преобразование бу-
дем рассматривать как модульную нейронную сеть, где роль модулей выполня-
ют базовые операции (ядра). Эта сеть является слабосвязанной. По построению
быстрого преобразования ранги всех межмодульных связей равны единице, а все
ядра в пределах слоя имеют совпадающие структурные характеристики. Обозна-
чим через (рт, gm) размерности ядер слоя т, а через кт - их число. Нетрудно
заметить, что при единичных рангах связей значения модальных переменных
.vf2, cf7 прямой и двойственной сетей совпадают с размерностями нейронных
ядер. Учитывая это обстоятельство из формулы (9.10) получим:
к-1 к-2
S(H) = £ Ртёткт ~ Dm> С9-11)
т—0 т—0
где Dm - количество связей в межслойном переходе с номером т. Например,
для сети на рис. 9.9 число степеней свободы 5(Н) - (3 • 3 • 6 + 3 • 2 • 6 + 2 • 2 • 6) -
-(18 +12) = 84.
Рис. 9.9. Структурная модель трехслойной БНС
На рис. 9.10 показана структурная модель алгоритма БПФ для размерности,
равной 8. Отличительная особенность модели в том, что все слои имеют одина-
ковое число нейронов, совпадающее с размерностью входного рецепторного по-
ля. Обозначим эту размерность через N. Кроме того, для каждого нейронного
261
ядра число нейронов совпадает с размерностью рецепторного поля ядра, т. е.
рт =gw в результате расчетная формула (9.11) для перестраиваемого преобра-
зования, подобного БПФ, примет вид
5(Я)- ^(gw) ^-(к-1)Я. (9.12)
т-0
Рис. 9.10. Структурная модель алгоритма БПФ
Для построения перестраиваемых преобразований часто используются се-
ти, в которых все ядра имеют одинаковую размерность, тогда число ядер в каж-
дом слое совпадает: k = N/g. Кроме того, для БПФ размерность преобразова-
ния, число слоев и размерность ядра связаны между собой соотношением
п = log„7V . При этих условиях формула (9.12) примет вид
о
5(Я) - ngN - (и - 1)Я = tf((g - l)logg7V +1).
Применяя эту формулу для структурной модели на рис. 9.10 получим:
5(H) = 8((2-l)log28 + l) = 32.
Реконфигурируемые слабосвязанные сети. Для слабосвязанных рекон-
фигурируемых нейронных сетей (см. 7.4) ранг связей может отличаться от еди-
ничного, но он фиксирован в пределах одного межслойного перехода. Граф
структурной модели при увеличении ранга связей внешне не меняется, изменя-
ются только веса дуг и вершин. Размерность ядер в слое т при неединичных
рангах будет (rm_^pm, gmrm), где гт_\, гт - ранги связей в смежных межслой-
ных переходах. Число вершин в каждом слое не зависит от ранга связей и для
любой порождающей схемы (см. 1.10) определяется выражением
кт ~ Рт+\Рт+2'"Рк.-\ё0ё\---ёт-\'
262
Число связей Dm в межслойном переходе также не зависит от их ранга, но
влияет на число степеней свободы, очевидно, пропорционально рангу. С учетом
данных замечаний формула (9.11) трансформируется к виду:
к-1 к-2
S(H) — rm_[PmSmrm^m ~ ^тгт
т-0 т-0
Отметим, что первое слагаемое равно числу операций умножения в сети и оп-
ределяет вычислительную эффективность. В регулярной структуре каждое ядро слоя
т имеет gm исходящих связей, поэтому полное число связей в слое Dm = kmgm.
9.7. Пластичность многослойной нейронной сети
прямого распространения
Сеть прямого распространения — это классический вариант многослойной
нейронной сети, где каждый нейрон предшествующего слоя связан с каждым
нейроном последующего слоя (см. 7.2.3). Сопоставив каждому нейронному слою
один нейронный модуль, получим структурную модель (рис. 9.11). На рисунке
структурная модель представлена для прямой и двойственной сетей. На графе
структурной модели показаны также модальности состояний для нейронных мо-
дулей. Полагая, что N - размерность входного рецепторного поля, для сети
прямой передачи можно записать следующие рекуррентные соотношения для
расчета степеней модальности:
51=W, si+x=Ci_xori_X i, Ci = Si or-. (9.13)
Рис. 9.11. Структурные модели прямой и двойственной полносвязанных многослойных сетей
Будем полагать, что все модули являются нормальными, так что для ранга
каждого модуля выполнено условие ц = р1 ° gl, где pl ,gl - размерности ней-
ронного модуля. В этом случае для сети прямой передачи получим:
Si = rf, где rf = Tj ° 1'2 °... ° /;_1, и = N.
Аналогично для сети обратной передачи имеем:
Сп=М, Si=Ci°ri, Ci=rf.
263
где rf = ri+\ ° ri+2 °... ° ° rn, и rf = M . Подставляя переменные состояния в
(9.7) получим:
п п~\ i
5(Я) = Е г?'? ~ Е [Г1 ° ri ° ri,i+l)\rM ° ri+\ ° ri,i+\) •
i -1 i = 1
Поскольку ri M =gl = pl+i, TO rf ° r, ° ri M = rf+i и rf+} о ri+1 о ri i+} = rf. Тогда
окончательно имеем:
п u-l
s(//)=L'iY-L';W- (9i4)
Z=1 Z=1
Примеры. Рассмотрим двухслойную нейронную сеть с параметрами
/7-2, -/V, g}=p2=D, g2=M.
На основании (9.14) можно записать S = rf rf + rfif - rf rf , где rf = N, rf = r\ =
= No g^ = N ° D, rf = ^ = ° M = D°M , rf — M .
В результате будем иметь следующую расчетную формулу:
S = N(D°M) + (N □ £>)М-(#□£>)(£> о М). (9.15)
На рис. 9.12 показан график данной зависимости. Рассмотрим различные варианты:
1. Пусть D < min(7V, М), тогда 5 = ND + DM - D2.
Рис. 9.12. Пластичность двухслойной нейронной сети
Из этой формулы очевидно, что наихудшей пластичностью обладает сеть со
структурой типа «двухсторонний узел» (рис. 9.13). Для этого типа сети значение
D = 1 и, следовательно, S = N + М.
264
Рис. 9.13. Нейронная сеть «двухсторонний узел»
2. Пусть D > max(7V, М), тогда из формулы (9.15) следует
5 - NM + NM - NM = NM.
Это значение является максимально возможным для класса операторов, действую-
щих из пространства размерности N в пространство размерности М. Отметим, что
значение NM совпадает с числом степеней свободы однослойного персептрона.
Слой
Рис. 9.14. Нейронная сеть «односторонний узел»
3. Структуры типа «односторонний узел» (рис. 9.14) часто используются
для реализации аппроксиматоров функций. Рассмотрим число степеней свободы
для такой сети. Из формулы (9.15) при условии М = 1 следует
S = N + (у oD)-(N °D) = N,
т. е. пластичность данной сети не зависит от числа нейронов в первом слое. Од-
нако, с другой стороны, для задач аппроксимации нелинейных функций необхо-
димо обеспечить достаточный «запас» по элементарным нелинейностям [80],
реализуемым функциями активации нейронов.
9.8. Пластичность двухслойной модульной сети
Структурная модель сети показана на рис. 9.15. При транслирующих связях
имеем
rii ^Pj и П) gf •
265
Рис. 9.15. Обобщенная структурная модель двухслойной
модульной нейронной сети
Очевидно, что размерности сети связаны с характеристиками модулей следую-
щими соотношениями:
к т
7=i
где к,т - число модулей в первом и во втором слоях; N - размерность входа
сети; М- размерность выхода. Ограничимся случаем, когда все модули нор-
мальны, в этом случае
А А А
7 =Pi °gi ’
В В В
j =Pj °Sj
В пространстве модальных состояний сеть описывается следующими вы-
ражениями:
к к к
В v А ''С А А 5Г Я
5 / = ° rij ° Г1 ° ri.i =l^Pi ° ГУ ’
Z=1 Z=1 Z=1
mm m
—A v1 —В V1 В В v1 В
Ci = Qrij = LSj °rj °rU = bSj
>1 >1 7=1
Пластичность нейронной сети в соответствии с (9.7) будет определяться выра-
жением
к т кт, . . .
= •'sOk ’'-/)> (’Л6>
1=1 7=1 1=17=1
-В В В В А А А А
VJXQSj or^gjorj ° Гу = gj о Гу , Ci о Гу = Pi °ri ° Гу = Pi о Гу .
Подставив значения модальностей состояний в (9.16) окончательно получим
266
km m к km
sw-Yi’i Zgj "'if + 'LSjljJ’’ij-'L'L(gj °r4)(a"°'i,)
i—l j-l 7=1 i—\ i—\ j-\
Рассмотрим частные случаи:
1. В приложениях для двухслойной сети обычно выполнены условия
А В
Pi ~ rij ’ SJ ~ rij'
Отсюда следует
т т к к
Xsj orij = lLrii=S^ Yjb °rij=Xrij= Pj,
7=1 7=1 1=1 1=1
и тогда
к т кт
<=1 /=1 1=17=1
2. Пусть теперь выполнены противоположные условия:
А . В .
Pi ±rij- gj 1Гц-
Тогда
т т к к
T.Sj °rij = ^gj =м, Z^i4 °rij = =N-
7=1 7=1 1=1 1=1
Нетрудно получить, что в этом случае S(H) = NM. Этот результат устанавлива-
ет верхнюю границу возможного числа степеней свободы двухслойной модуль-
ной сети, которая, как можно было ожидать, равна пластичности однослойного
персептрона.
9.9. Топологическая пластичность нейронных сетей
Для нейронной сети с транслирующими связями по топологической реализа-
ции всегда можно построить структурную модель. Как показано в 3.3, обратный
переход от структурной модели к топологической реализации неоднозначен, что
можно трактовать как свойство топологической пластичности нейронной сети.
Степень топологической пластичности будем оценивать мощностью множества
топологических реализаций, отвечающих данной структурной модели.
Ядерные сети. Рассмотрим метод расчета степени топологической пла-
стичности на примере двухслойной ядерной нейронной сети. Обозначим ней-
ронные слои символами А и В. Каждому нейронному слою соответствует пара
множеств (О, Q), где О - множество рецепторов слоя, а О - множество нейро-
нов. Топологию нейронной сети можно задать через топологию нейронных ядер
и топологию межслойного перехода. Топология нейронного ядра определяется
топологией его рецепторного и аксонового полей. Топологии рецепторных по-
267
лей первого слоя и топологии аксоновых полей последнего поля не зависят от
межслойных связей и поэтому могут быть рассмотрены отдельно. Рассмотрим
вначале топологии рецепторных полей первого слоя. Нейронные ядра делят ре-
цепторное поле первого слоя на непересекаюгциеся подмножества:
&А = 0^ +0^+... + ©/<*,
где card &А = pf - размерность рецепторного поля ядра z, к - количество ядер
в слое А\ card©^ = N- размерность рецепторного поля первого слоя и выпол-
к
нено условие: = N. Все множество топологий рецепторного поля можно
Z—1
получить произвольным образом разбивая множество &А на подмножества. Бу-
дем считать, что две топологии рецепторных полей совпадают, если они имеют
одинаковый состав подмножеств &А. Пронумеруем все рецепторы числами от 1
до N . Тогда разбиению рецепторного поля нейронного слоя по нейронным ядрам
будет соответствовать разбиение числового множества N = рА + р£ +... + р£, а
переход от одной топологии к другой можно рассматривать как перестановку на
числовом множестве {1, 2, ...,У{ с указанным разбиением. Упорядоченный на-
бор чисел [р\ , рА ,> Рк ) обозначим через 0А и назовем композицией тополо-
гии. Перестановки образуют симметрическую группу порядка У!, а множество
различающихся топологий представляет собой орбиту композиции ЭА. Длину
орбиты можно вычислить по формуле расчета числа «перестановок с повторе-
ниями» [81]. Таким образом, число различных топологий будет равно
У!
Для расчетов обычно используют информационную меру
/(ел) = 1оё2
У
р№1.„р^
(9-17)
которая называется информацией разбиения [82]. Аналогичные рассуждения для
аксоновых полей выходного слоя приводят к выражению
/(co5) = log2
(9-18)
D / D D D \
где I - количество ядер в слое В; <о“ = ^gf, g2 , • • •, gf ) - композиция тополо-
гии аксонового поля слоя В', М - число нейронов в выходном слое, причем
268
/
Л/ = ^g5 . Рассмотрим теперь топологию межслойного перехода. Обозначим
7=1
через
% П2 пГ
D Г21 г22 Г21
К =
^2 ГкЬ
ранговую матрицу, определяющую межслойные связи. Поскольку рецепторные
поля не пересекаются, то
к I
52 rij = D = cardQ^ = card©5.
7=17=1
/ к
Выполнены также условия: gf = V п; и Pj ~ 52 ^7 ’ Топология аксоновых по-
7=1 ' 1=1
лей слоя А и топология рецепторных полей слоя В взаимозависимы, что обу-
словлено наличием связей между ними. Разместим числовое множество
Т = {1,2,..., D] в виде матрицы:
f т т Т \
У11 у12 ••• Л/
т= Т2\ Т22 ••• Т21
Jk\ Тк2 Тк1,
которая подобна ранговой матрице R в том смысле, что для элементов матрицы
Ту выполняются условия card Ту = Гу. Ограничимся компактной топологией (см.
разд. 3). Если собрать все подмножества Ту- по строкам, то получим разбиение
числового множества, определяющее топологию аксоновых полей слоя А. Ана-
логично объединение подмножеств Ту по столбцам определяет топологию ре-
цепторного поля слоя В. Очевидно, что перестановки элементов в пределах
подмножеств Ту- не изменяют топологию межслойного перехода. Взаимную за-
висимость топологий будем трактовать как пересечение композиций смежных
полей. Вновь используя формулу расчета числа «перестановок с повторениями»
получим информационную меру
7(«/W) = log2 . (9.19)
lllh
i j
269
которая определяет длину орбиты топологий межслойного перехода. Суммируя
выражения (9.18), (9.19) окончательно получим информационную оценку степе-
ни топологической пластичности двухслойной сети:
I = + i(mA ne5) + i(mB).
В качестве примера выполним расчет для структуры нейронной сети, пока-
занной на рис. 7.26:
/ (0Л) = log2 — = log2 20 = 4.32, Z (со5) = log2 — = log210 = 3.32,
I n QB) = log2 6! = 7.49 .
2!2!1!1!
Таким образом, степень топологической пластичности для данной струк-
турной модели
I = 4.32 + 3.32 + 7.49 = 15.13 бит.
Для аналитического анализа степени пластичности удобно использовать
приближенные асимптотические выражения, основанные на известной формуле
Стирлинга для факториалов:
log2Z7! = п (log2Z7 - О (1)) ,
где о(1) —> 0 при п оо. Используя это приближение для выражения (9.17) по-
лучим:
к
к ( к А А \
Д9Ц s ..^log^ + MOg2w =-\ X^yiog2^y =ж(ел).
Z=1
к к А /
где н(®А) = - log2- энтропия разбиения. Аналогично из формул
м=1 /
(9.18), (9.19) получим:
l(mB) ~ МН (со5), l(mA r>eB)~DH(aA nO5).
На основе полученных выражений нетрудно определить условия, при которых
топологическая пластичность будет принимать максимальные значения. Поскольку
функция энтропии принимает максимальные значения при равенстве слагаемых
суммы, то максимум пластичности будет достигнут при выполнении условий:
\Nj к' \М) /’ \.DJ kl
для любых z, j. Следовательно,
/(e^)<Mog^, /(со5) < Mlog2/, z(a/n05)<Dlog2£Z. (9.20)
270
Для рассмотренного примера к = 2,1 = 2, N - 6, М = 5, D = 6. Подставляя эти
значения в формулы (9.20) получим: /(о^) < 6,/(со5) < 5,/(со"4 п О5) <6. От-
сюда степень пластичности для всей сети I <17 бит. Это значение может слу-
жить верхней оценкой достижимой топологической пластичности для данной
структурной модели.
Модульные сети. Для модульных сетей структурная модель описывается
единственной ранговой матрицей, включающей в себя модули INP и OUT . Рас-
смотрим расчет топологической пластичности на примере нейронной модульной
сети, представленной на рис. 3.2. Ранговая матрица для данной сети имеет вид
а/ /Р 1 2 3 4 5 OUT 8i
INP 2 0 1 0 0 0 3
1 0 2 0 1 0 0 3
/? = 2 0 2 0 1 0 0 3
3 0 1 0 1 1 0 3
4 0 0 0 0 0 1 1
5 0 0 2 0 0 2 4
Pi 2 5 3 3 1 3 17
Обозначим сумму всех элементов матрицы через D. При построении топологии
числовое множество Т = {1,2,...,D] произвольным образом размещается на не-
нулевых позициях ранговой матрицы, образуя подмножества 7}/ (алгоритм по-
строения топологий описан в 3.2). Очевидно, что перестановки элементов мно-
жества Т в пределах подмножеств Ту не изменяют топологии сети, поэтому то-
пологическая пластичность модульной сети будет определяться выражением
/ - log2D! - ЕЕ1°ё2^!-
i j
Для рассматриваемого примера значение топологической пластичности
/ - log217! - 5log2 2 = 171og217 - 5 = 64.7 бит.
Представленный метод расчета топологической пластичности позволяет
сравнивать между собой структурные модели нейронных сетей. Можно пола-
гать, что чем выше степень топологической пластичности, тем выше способ-
ность нейронной сети адаптироваться к структуре данных и, следовательно, тем
выше способность нейронной сети к обучению.
271
10. ОЦЕНКИ КАЧЕСТВА НЕЙРОННЫХ СЕТЕЙ
Если бы обстоятельства позволили, все вещи были
бы лучше.
Закон Лонгина. Азбука Мерфи
10.1. Построение оценок качества нейронных сетей
Рис. 10.1. Системная модель
классификации образов
При практическом использовании нейронных сетей особое место занимает
вопрос о предельных возможностях нейросетевых реализаций в различных зада-
чах. Наиболее характерными областями применения нейронных сетей являются
распознавание образов и аппроксимация многомерных отображений. Рассмотрим
более детально каждую их этих задач и связанные с ней методы оценки качества
нейронных сетей. Как и прежде, ограничимся сетями прямого распространения.
Распознавание образов. Обобщенная
схема системы распознавания образов [83]
представлена на рис. 10.1. Элементам схемы
сопоставляются следующие смысловые поня-
тия: U - множество распознаваемых образов
(генеральная совокупность); D - множество
информативных признаков; С - множество
эталонных классов образов. Тогда отображе-
ние ц можно интерпретировать как систему измерения информативных признаков,
отношение р - как решающее правило, а отношение е - как экспертную классифи-
кацию образов. Нотацию ц", р", е" будем использовать для обозначения обратных
отношений, а 1р, 1(7,1/) - для обозначения тождественных отношений.
Естественно полагать, что число классов не превышает числа образов гене-
ральной совокупности. В этом случае экспертиза является идеальной, когда вы-
полняются условия ее# о е"е = 1(;, т. е. когда отображение е является пол-
ной проекцией. Будем полагать, что решающее правило безошибочно, т. е.
е = цр. Сделав естественные предположения об однозначности измеряющего
отображения (ц"ц cz 1 р) и полноте использования признакового пространства
ja
решающим правилом (ppff 1р) при идеальной экспертизе получим:
lp cz ее" =црр"ц", => цц" zolp,
1С = е#е = р#ц#цр, => р#р - 1с.
Таким образом, при обучении на генеральной совокупности образов изме-
ряющее отображение является функциональным, а решающее правило - полной
272
проекцией (см. приложение, и. 1). Следуя [83] назовем такую схему классифика-
ции невырожденной, или типичной.
Разделяющая мощность. Любая система распознавания обладает конеч-
ной емкостью, поэтому число распознаваемых образов не может быть произ-
вольным. При оценке качества обучаемой системы интерес представляет зави-
симость ошибки распознавания от числа распознаваемых образов. При этом
обычно предполагается, что схема классификации является типичной. Функцио-
нальные зависимости ошибок, как правило, имеют выраженный пороговой уро-
вень по числу распознаваемых образов; ошибки распознавания резко возрастают
при превышении порога. Пороговый уровень называется разделяющей мощно-
стью или емкостью класса решающих правил.
Существует проблема выбора тестового набора образов для испытания сис-
тем распознавания. Первый вопрос, на которой следует, прежде всего, ответить:
«Что является объектом распознавания?» В зависимости от этого выбирается
модель пространства образов. В окружающем мире объектами распознавания,
как правило, являются геометрические фигуры. В этом случае наиболее подхо-
дящей математической моделью мира является аффинное пространство. В аф-
финном пространстве учитывается только взаимное размещение точек фигуры и
игнорируются абсолютные координаты их размещения. Когда образы представ-
лены точками аффинного пространства, то в качестве тестового набора стан-
дартно используют образы в виде точек «общего положения» [84]. По определе-
Рис. 10.2. Множество точек общего
положения на плоскости
нию, множество, состоящее из N точек п -
мерного аффинного пространства, называют
множеством точек общего положения, если
ни одно из его подмножеств, состоящее из
777 + 1 точек (tt7<AO, не лежит на (тт7-1)-
мерной гиперплоскости. Простейшим вари-
антом является размещение точек на двумерной плоскости (рис. 10.2). Из опре-
деления следует, что, во-первых, точек общего положения на двумерной плоско-
сти не может быть больше трех, и, во-вторых, 3 точки плоскости не должны ле-
жать на одной прямой.
Если одну из точек множества выбрать в качестве начала координат (обо-
значим эту точку через О), то положение остальных точек можно задать векто-
рами {х1, х2,..., xw}, соединяющими их с началом координат. Другими слова-
ми, система векторов образует т -мерный репер с началом в точке О. Из опре-
деления общего положения следует, что ни один из т образованных векторов не
может быть выражен через комбинацию (ттг-1) оставшихся. Следовательно,
система из т векторов является линейно независимой. В векторном пространст-
ве размерности п максимальное число линейно независимых векторов равно п,
273
поэтому в аффинном пространстве размерности п число точек общего положе-
ния не может превышать N = п +1.
Достаточно просто получить оценку разделяющей мощности для линейной
системы классификации. Общий вид линейного решающего правила задается
функцией
/(х) = wjxj + w2x2 +... + wnxn + w0,
где вектор х = (xj, х2,..., х„) определяет координаты точки относительно нача-
ла координат О в заданном репере, а вектор н>г = (w0, Wj,wn) - веса решаю-
{12 к I
w , и> ,..., И’ ) набор решающих правил и
X = {б, х1, х2,..., хт} - координатные образы точек общего положения в п-
мерном аффинном пространстве с началом в точке О (точка О имеет нулевые
координаты в собственном репере). В процессе распознавания к каждому образу
применяется весь набор решающих правил. В результате для образа х формиру-
ется вектор у, число координат которого к равно количеству решающих правил
в наборе W. Пробегаясь по всем образам х1, получим множество векторов
У = , j1,..., ут}, где вектор соответствует точке О пространства образов.
Рассматривая векторное пространство У как аффинное, векторы у1 будем
считать точками. Образы X различимы набором линейных решающих функций
W, если точки у1 в пространстве У образуют репер размерности т. Это усло-
вие соответствует невырожденной схеме распознавания.
Выберем в качестве начала координат в пространстве У точку с координата-
ми у® = И7(О), тогда из определения общего положения следует, что линейная ком-
бинация Л| (j1 - ) 4- Х2 (j2 - ) -г... + (ут - у° ) равна нулю только тогда,
когда все Xz- равны нулю. Векторы (j* - далее будем называть решениями.
Расширим каждый вектор х единичной координатой, положив
х = (xj, х2,..., хп, 1), что не влияет на линейную независимость векторов. Будем
считать, что W - это матрица, в которой коэффициенты решающих функций
размещены вдоль столбцов, тогда линейная комбинация решений выражается
следующим образом:
X 1 (У' - у0) + Му2 у° ) + • • • + Кп (у”1 - У°) - -V1 И' 4- Х2х2^ 4-... 4- kmxmW =
= (XjX1 4-А.2Х2 4-...+Х„,х'")и\
274
Из последнего выражения следует, что при ненулевой линейной комбинации
входных векторов-образов линейная комбинация решений может быть равна ну-
лю, только если матрица W (рассматриваемая как оператор) имеет ненулевое яд-
ро в пространстве X. Но в этом случае векторы решений должны быть линейно
зависимы и, следовательно, образы не различимы. Таким образом, для различимо-
сти образов необходимо, чтобы матрица решающих функций W обладала нуле-
вым ядром. Отсюда следует, во-первых, что количество решающих функций в на-
боре W должно быть не меньше числа распознаваемых образов (k>m), и, во-
вторых, т решающих функций должны быть независимы в пространстве размер-
ности п . Для п -мерного аффинного пространства максимальное число точек, на-
ходящихся в общем положении, равно п +1, следовательно, линейная схема клас-
сификации способна различить не более чем п 4-1 образов. Таким образом, полу-
чили, что линейная схема имеет разделяющую мощность п +1.
Для типичной системы распознавания примем, что множество распозна-
ваемых образов состоит из произвольного множества точек общего положения,
заданного в аффинном пространстве размерности п. Система измерения в аф-
финном пространстве заключается в выборе начала координат, задании репера и
определении значений координат образов в выбранном репере. Для каждого об-
щего размещения точек существует свой набор правил W, обеспечивающий их
разделение. Множество всех решающих функций, принадлежащих наборам W,
образует аффинное пространство размерности п . Координаты точек аффинного
пространства определяются весами решающих функций. Любые две несовпа-
дающие точки аффинного пространства образуют вектор, а множество векторов
является пространством, сопряженным с пространством образов X .
Нейронная сеть реализует нелинейное отображение векторных про-
странств. Если разделяющая мощность нейронной сети оценивается значением
d, то ранг г нелинейного отображения не может быть меньше d -1 (иначе
нельзя будет распознать репер порядка d -1). При гладких нелинейностях опе-
ратор нейронной сети в малом может рассматриваться как линейный, поэтому
выводы о разделяющей мощности, полученные для линейной схемы, частично
применимы и для нейронных сетей, но здесь они определяют только нижнюю
границу разделяющей мощности. За счет нелинейных свойств нейронной сети
эту границу, как правило, можно превысить.
Размерность Вапника-Червоненкиса. Полезная оценка качества нели-
нейной системы распознавания на образах общего положения была предложена
В. П. Вапником и А. Я. Червоненкисом [85]. Для упрощения рассматривалась
обучаемая система распознавания с единственным выходом в ситуации наихуд-
шего случая. Авторы предложили конструктивную оценку вычисления емкости
класса решающих правил, основанную на подсчете возможного числа способов
275
разделения множества образов на 2 класса (числа дихотомий). Оценка была на-
звана VC-размерностью. По определению [86], VC-размерностью параметриче-
ского множества решающих функций F(x, и>) является такое максимальное
число d, что множество образов X = (б, х1, х2,..., } может быть разделено на
2 класса 2^+1 способами при всех допустимых вариациях параметров и>. Пока-
жем, что для множества линейных решающих функций g Rn+^, действующих
на множестве точек-образов общего положения в аффинном пространстве раз-
мерности п , VC-размерность равна п +1.
Во-первых, нужно показать, что возможно реализовать любое линейное
разделение множества точек общего положения на 2 класса. Обычно для обра-
зов, индексированных элементами {0,1,2,..., V), разделение на 2 класса опре-
деляют условием:
W1X1 + ™\.х2 + ... + И’|Х^ + Wq > 0 для z е I,
wlx/ + W\.x'2 + + н’1хи + w0 - О для j е Л
Ir\J = <Z) и I u J = {0,1,2,..., N}.
Образ х° имеет нулевые координаты, поэтому в зависимости от выбранной
принадлежности х° классу I или J всегда выполняется либо условие wq < 0,
либо Wq > 0. От неравенств можно перейти к равенствам, задав некоторый поро-
говый уровень 5 > 0, тогда задача построения разделяющей плоскости сводится
к решению системы уравнений:
WiXj + WjX2 +... + = 5- wq для z e I,
w\X\ + +... + v\xJn = -5 - w0 для j e J,
Ir\J = <Z) и /uJ = {1,2,...,V}.
Для N = n имеем систему линейных уравнений с квадратной матрицей
( 1 1 1 )
Х1 х2 • хп
2 2 2
Х1 х2 • хп
п п П
(Х1 х2 • хп )
Поскольку множество образов составлено из точек общего положения, то
строки этой матрицы независимы, определитель отличен от нуля и решение сис-
темы уравнений существует и единственно. Следовательно, для любого разбие-
ния множества точек общего положения на 2 класса всегда существует разде-
ляющая плоскость.
276
Количество возможных вариантов разбиения определяется суммой всех
возможных сочетаний образов при разбиении множества, состоящего из п +1
точки, на две части. Разбиения считаются различными, если они отличаются со-
ставом классов. Разбиения, в которых один из классов пуст, также учитываются
при подсчете. Число дихотомий с мощностью двух классов к и п +1 - к, оче-
видно, равно числу сочетаний
гк (п + 1)!
-77+1 <п + \-к)\к\'
Суммируя по всем комбинациям классов, получим:
D = Си+1 + Си+1 + Q+1 + • • • + C^+l + ЧнД
Известно [87], что эта сумма равна 277+1. Таким образом, на множестве то-
чек общего положения разделяющая мощность линейных решающих правил
совпадает с размерностью Вапника-Червоненкиса.
Обобщающая способность. В практических реализациях система распо-
знавания обучается на конечном наборе образов tcU, который является неко-
торой выборкой из генеральной совокупности. В этом случае мнение экспертов
определяется отношением е? cz е. Будем полагать, что система идеально обуча-
ется на выборке, т. е. &t = цр?, где р? с р. Когда обученной системе предъявля-
ется образ, не вошедший в обучающую выборку, и система распознает его со-
гласно глобальному мнению экспертов е, то говорят, что обученная система об-
ладает свойством обобщения. Максимальное обобщение достигается при р( = р.
Оценим вначале обобщенную способность для линейной схемы классифи-
кации. Линейные решающие правила реализуют аффинное отображение
/(х1)-/(х2) = (х1 -x2)w.
Если двум точкам пространства образов отвечает одно решение, то левая
часть данного выражения равна нулю. Отсюда следует, что ненулевой вектор
х1 -х2 должен принадлежать ядру линейного отображения w. Линейное ото-
бражение имеет ненулевое ядро, если ранг отображения меньше размерности
входного пространства (т. е. г<п). Ядро представляет собой линейное про-
странство Xq размерностью п — r. В аффинном пространстве Xq - это плос-
кость, проходящая через начало координат. Понятно, что все точки аффинной
плоскости размерности п-r, параллельной пространству Xq и проходящей че-
рез точку образа (рис. 10.3), отображаются в одну точку пространства решений.
Если разделяющая мощность линейной схемы оценивается значением d, то
ранг отображения w не может быть меньше d (иначе нельзя будет распо-
знать репер порядка d -1). Когда линейная схема реализует максимальную раз-
277
деляющую мощность в пространстве об-
разов размерности п, то d =п + 1 и
г = п. В этом случае операторное ядро
содержит только нулевой вектор, и, сле-
довательно, такая линейная схема не
способна к обобщению. Таким образом,
разделяющая МОЩНОСТЬ И обобщающая Рис- Ю-З. Обобщающая плоскость образа
способность линейной схемы взаимосвязаны; для увеличения обобщающей спо-
собности необходимо уменьшать разделяющую мощность и устанавливать ее
ниже максимально возможной.
Если предъявляемый образ не принадлежит обобщающей плоскости, то
вектор решения отличается от эталонного и в такой ситуации линейного правила
принципиально не достаточно для отнесения образа к одному из эталонов. В ли-
нейной схеме такая ситуация интерпретируется как отказ от распознавания. Для
усиления обобщающей способности линейную схему можно дополнить некото-
рым нелинейным правилом, например оценивающим расстояние отклика у(х)
до ближайшего эталона. В общем случае система классификации, обученная на
конечной выборке, обладает только частичным обобщением, некоторые образы
либо не распознаются (отказ системы), либо происходит ошибка распознавания.
Нейронная сеть реализует компактное нелинейное отображение пространств,
поэтому фактически вместо аффинной обобщающей плоскости для каждой точки-
образа будем иметь собственную криволинейную поверхность с касательным
пространством размерности п - г, где г - ранг оператора нейронной сети. Ней-
ронная сеть обладает обобщающей способностью, если п — г > 0. К сожалению,
текущее значение операторного ранга сети неизвестно и может меняться в про-
цессе обучения. По структурной модели нейронной сети можно получить только
верхнюю границу для значения ранга, но это мало что дает для оценки обобщаю-
щей способности. Как и в линейной схеме, обобщающая способность нейронной
сети может быть усилена дополнительным нелинейным решающим правилом,
оценивающим расстояние отклика у(х) до ближайшего эталона.
Оценка обобщающей способности. Для оценки обобщающей способности
можно использовать вероятностный и детерминированный подходы. При вы-
числении вероятностной оценки обобщающей способности предполагается, что
конечная обучающая выборка {X. К} длины N формируется из генеральной
совокупности случайным образом.
Глобальное мнение эксперта выражено функцией е(х). При использовании
для обучения нейронной сети конечной выборки длиной N получим решающее
правило Р; ср и оценку обобщающей способности (р) как вероятность того,
что у(х) = е(х).
278
Если теперь рассмотреть полный набор всех решающих правил {р}, кото-
рый система распознавания может реализовать для обучающей выборки разме-
ром N, то можно оценить максимальное расхождение 5 = max|g^(p)-g(p)|.
Р
Для заданного значения э > О теорема Вапника-Червоненкиса (1971) [86] дает
верхнюю границу того, что вероятность максимального расхождения превышает э :
Рг(5 > э) < 4A(2V)exp(- э2 N/s),
где A(V) - «функция роста», равная числу различимых бинарных дихотомий, раз-
деляющих множество N точек общего положения на 2 класса. Функция роста пер-
воначально растет как 2N вплоть до некоторого критического значения числа об-
разов N = c/vc , при этом значение вероятности уменьшается, затем рост функции
замедляется и вероятность стабилизируется. Значение <7VC совпадает с VC-размер-
ностью. Эта характеристика дает возможность оценить число обучающих приме-
ров, для того чтобы получить хорошую обобщающую способность системы рас-
познавания. К сожалению, предложенная оценка дает слишком завышенный ре-
зультат, и использовать ее можно только при больших объемах выборки.
Работы Вапника получили дальнейшее развитие в комбинаторном подходе
Воронцова [88] В аксиоматике Воронцова не вводится полное множество клас-
сифицируемых объектов и аксиоматика ограничивается существованием только
генеральной выборки длиной L с равной вероятностью реализации всех воз-
можных упорядочений элементов выборки. Генеральная выборка объектов раз-
деляется на две подвыборки: скрытую (длиной I) и контрольную (длиной к):
X = JuI, ГпГ=0.
Множество классификаторов Л(ц) порождается некоторым методом обу-
чения ц на множестве выборок. Обобщающая способность оценивается вероят-
ностью того, что среднее отклонение частот ошибок на скрытой и контрольной
подвыборках не превысит значения е с надежностью т|:
|"Ц| а=ц(1)
Воронцов установил связь данного критерия с результатами метода сколь-
зящего контроля (cross-validation) [89], часто используемого для оценки качества
классификаторов.
К недостаткам статистических методов можно отнести следующие:
• Статистические оценки полностью зависят от используемой генеральной
выборки. Замена выборки и изменение ее длины приводят к изменению оценок.
279
• Контроль выборки на наличие противоречий для множества классифика-
торов не производится, что ведет к неустранимым методическим ошибкам.
• Для обучающей выборки не проверяется условие представительности по
классам. В результате возможны дополнительные методические ошибки.
• Методы не пригодны для малых выборок из-за отсутствия статистической
значимости результатов.
• Не определено правило выбора порогового уровня допустимого расхож-
дения частот ошибок и степени надежности получаемых оценок.
• Необходимо дополнительно оценивать уровень эмпирического риска.
• Общая задача измерения обобщающей способности по существу является
задачей оценки квантильных уровней двумерного распределения.
Детерминированной количественной оценкой обобщающей способности мо-
жет служить максимальный радиус удаления паттернов от центра класса. В 10.5
будет рассмотрен метод экспериментального определения детерминированной
оценки обобщающей способности нейронной сети.
Аппроксимация функций и отображений. В классической задаче аппрок-
симации функций известен набор непрерывных аппроксимирующих функций и
исследуется зависимость ошибок аппроксимации от гладкости аппроксимируе-
мых функций. Для нейронных сетей характерна задача аппроксимации много-
мерных функций. А. Н. Колмогоров доказал теорему [90] о представимости не-
прерывных многомерных функций конечной композицией одномерных нели-
нейных функций. Данная теорема послужила теоретической основой использо-
вания нейронных сетей для решения задачи аппроксимации. Последующие ис-
следователи акцентировали свое внимание на вопросах конструктивного выбора
нелинейных функций, оценки размерности конечных композиций, оценки ско-
рости сходимости процедуры аппроксимации [91]—[95]. Обобщенная теорема
аппроксимации применительно к нейронным сетям была доказана в работе [96].
Аппроксимация функций на основе нейронных сетей имеет ряд особенно-
стей. Во-первых, для нейронных сетей аппроксимируемые функции всегда зада-
ны на конечном числе точек и поэтому точная аппроксимация на дискретном
интервале не гарантирует хорошую аппроксимацию в промежуточных точках.
Возникающие ошибки зависят от обобщающей способности нейронной сети.
При отсутствии априорной информации о функциях задача является некоррект-
но поставленной. Во-вторых, нейронные сети, как правило, используются для
аппроксимации не одиночных функций, а многомерных отображений. В этом
случае нейронная сеть имеет несколько выходов. При многослойной структуре
аппроксимирующие функции взаимозависимы, при этом мощность сети может
быть принципиально не достаточной для аппроксимации заданного отображе-
280
ния. В-третьих, для обучения нейронных сетей принципиально используются
конечные выборки, поэтому существует проблема представительности и непро-
тиворечивости выборок.
Задачи распознавания и аппроксимации тесно связаны между собой. Резуль-
таты их решения напрямую зависят от характеристик качества нейронной сети.
10.2. Оценка способности нейронной сети к аппроксимации отображений
Необходимость в аппроксимации многомерных отображений возникает, ко-
гда по экспериментальным данным (представленным в виде таблицы наблюде-
ний) необходимо построить непрерывную модель исследуемого объекта, входом
и выходом которого являются многомерные векторы. Каждое наблюдение ото-
бражается одной строкой таблицы, выражающей актуализацию допустимого
внутреннего состояния объекта в заданном пространстве признаков. Физические
ограничения эксперимента обычно не позволяют наблюдать все возможные со-
стояния объекта, поэтому таблица данных представляет собой некоторую огра-
ниченную выборку из генеральной совокупности возможных наблюдений. Есте-
ственными требованиями к выборке являются полнота (по отношению к приме-
няемому набору информативных признаков) и представительность (по отноше-
нию к проявлению структурных ограничений объекта) [65].
Будем полагать, что объект исследования обладает неизменяемой структурой
и характеризуется устойчивым функционированием. Поведение такого рода объ-
екта можно описать многомерным отображением f : х —> у, где х, у - входной и
выходной векторы. Таблица наблюдений (X, У), включающая т наблюдений,
представляет собой набор строк (хр У1), (х2, У'2.)"'{хт^ Ут)> кот°рые будем рас-
сматривать как обучающее множество нейронной сети. Длина каждой строки таб-
лицы равна N + М, где N и М - размерности векторов х и у соответственно.
Цель состоит в том, чтобы с помощью нейронной сети прямого распространения
аппроксимировать поведение объекта, т. е. подобрать такой оператор нейронной
сети, который с некоторой точностью моделирует отображение f. В общем слу-
чае возможности нейронной сети недостаточны для адекватного моделирования
поведения объекта, поэтому комбинации некоторых наблюдений нейронная сеть
будет воспринимать как противоречия. Реально можно говорить только об ап-
проксимации некоторого подмножества из генеральной совокупности наблюде-
ний объекта. В контексте задачи аппроксимации будем отождествлять понятия
«модель объекта» и «модель данных». Аппроксимационную способность нейрон-
ных сетей исследуем для двух моделей генеральной совокупности данных.
Теоретико-множественная модель данных. Пусть имеется множество
объектов, для которых генеральная совокупность наблюдений имеет вид
281
(ХЪ У1)’(х2’ У2)"'(хт^ Ут)^ где т ~ мощность множества наблюдений. В об-
щем случае генеральная совокупность наблюдений может быть бесконечным
множеством. Будем рассматривать множество объектов как тройку (X, F, Y),
где X - допустимое множество входных векторов, Y - допустимое множество
выходных векторов, a F - допустимое множество отображений, устанавливаю-
щих соответствие = /(хг), /eF. В такой трактовке модель описывает мно-
жество объектов, удовлетворяющих некоторым общим ограничениям. Для кон-
кретного объекта с неизменяемой структурой отображение f фиксировано для
всей генеральной совокупности наблюдений, но и в этом случае для нейронной се-
ти некоторые подмножества наблюдений могут быть противоречивы. Дадим поня-
тию «противоречие» математическую формулировку в контексте нейронной сети.
1. Будем говорить, что подмножест-
во векторов X cz X не противоречит
множеству Y, если для всех х g X ото-
бражение f является однозначным* (DI -
регулярным в терминологии Цаленко [83]).
Обозначим через fx сужение отображе-
ния f на X. Тогда в соответствии с оп-
ределением:
Рис. 10.4. Модели противоречий
fx fx 1 =D idx и fx 1 fx^ idr >
где id , idy - тождественные отображения на множествах X и Y соответст-
венно. Это определение является следствием того, что нейронная сеть прямого
распространения с однозначными функциями активации способна моделировать
только однозначные отображения. На рис. 10.4, а показана мнемоническая схема
однозначного отображения, а на рис. 10.4, б - схема отображения, которая в
данной ситуации приводит к противоречиям для нейронной сети.
2. Можно поставить задачу аппроксимации обратного отображения /-1, в
этом случае понятие противоречия вводится дуальным образом. Будем говорить,
что подмножество векторов У с К не противоречит множеству X, если для всех
y^Y отображение f является точным (ВК-регулярным по Цаленко). Обозначим
через f сужение отображения f на Y . Тогда в соответствии с определением:
fy fy 1 с- idy и fy 1 fy о idx ,
См. приложение, п. 1.
282
где id^-, id у - тождественные отображения на множествах X и Y соответствен-
но. На рис. 10.4, б показана мнемоническая схема точного отображения, а схема
на рис. 10.4, а в данной ситуации приведет к противоречиям нейронной сети.
Подмножества векторов наблюдений X и У , одновременно удовлетво-
ряющих условиям 1 и 2, находятся в биективном соответствии. Если обозначить
через f сужение f на X, У то
И f-' / = idj7.
Пару (Х,У) назовем абсолютно непротиворечивым подмножеством на-
блюдений. Выделим множество объектов F%y с F, имеющих общее абсолютно
непротиворечивое подмножество (X, У). По отношению к выделенной группе
объектов выборку будем считать представительной, если таблица наблюдений
содержит абсолютно непротиворечивое подмножество.
Таким образом, теоретико-множественная модель, устанавливая требования
к обучающим выборкам нейронной сети по условиям непротиворечивости, по-
зволяет селектировать объекты, пригодные и не пригодные для аппроксимации с
помощью нейронных сетей.
Аффинная модель данных. Аффинная модель распространяется на мно-
жество объектов, признанных пригодными для аппроксимации с помощью ней-
ронных сетей. В этой модели предполагается, что для всех объектов множество
X и множество У генеральной совокупности наблюдений составляют линейные
векторные пространства, так что:
а) если Xj g X и XjeX, то ctxz + (Зху g X , где а, 0 - произвольные скаляры;
б) если у>1 е У и yj е У, то r[pz + цуу е У, где т|, ц - произвольные скаляры.
Всякое линейное пространство L можно рассматривать как аффинное про-
странство N. Для этого достаточно векторы назвать точками и каждой паре век-
торов а, b поставить в соответствие вектор b-a^L.
Далее будем использовать обозначения X д и У^, если необходимо под-
черкнуть, что пространства X и У рассматриваются как аффинные. Аффинная
модель наблюдаемых данных описывается тройкой (Хд, Е,Уд), где F - класс
линейных аффинных отображений, определяющий множество объектов. По-
скольку при гладких функциях активации нейронная сеть в малом реализует ли-
нейное аффинное отображение, то данная модель позволяет оценить возможно-
сти нейронной сети для локальной аппроксимации отображений. Локальная ап-
проксимируемость отображений, очевидно, является необходимым условием
аппроксимируемости объекта в большом.
283
Пусть (ej. ^2..£4 ) - система линейно независимых векторов пространст-
ва X . Последовательность точек xg+ej, xg+^2,..., xg+^. пространства ХА
является к -мерным репером с началом в точке хд и обозначается далее через
. Отображение f'.XA YA называется аффинным [73], если для любых то-
чек X, Xq G Хд
/(х)-/(х0) = (х-х0)ы,
где w.X^-Y - линейное отображение. Обозначим точку /(хд) через j0. Тогда
образ репера Rx^ в пространстве YA можно записать в виде последовательности
точек Jo + qw, jg + .., jg + e^w. Если w - невырожденное преобразование,
то эта последовательность будет к -мерным репером в пространстве YA с нача-
лом в точке Jo.
Для каждого конкретного объекта отображение w фиксировано. В классе
F выделим подмножество аффинных отображений F cz F, для которого суще-
ствует пара многомерных аффинных плоскостей Хд = YA, образующих абсо-
лютно непротиворечивое множество наблюдений. Подмножеству F соответст-
вует класс линейных отображений W: X —> У, таких, что
7(x)-7(x0) = (x-x0)w.
По теореме о структуре линейного отображения для каждого w g W суще-
ствуют прямые разложения пространств X = Xq Ф X и Y = Yq Ф Y , такие, что
подпространство Xq является ядром отображения, Уо - коядром, а подпро-
странства X и Y (изоморфные друг другу) имеют размерность к , равную рангу
линейного отображения w. Все отображения класса W имеют общее ядро Xq .
Сумма отображений из класса W и умножение их на скаляр также являются
отображениями с ядром Xq. Это означает, что класс W с общим структурным
свойством: Xq Ф X — > Y Ф Уо образует векторное подпространство и, следова-
тельно, определяет одну из карт многообразия отображений ранга к . Ранее было
показано, что размерность многообразия линейных отображений ранга к
dimWfc = Nk + Мк-к2, к < min(7V, М),
где N - размерность пространства X; М - размерность пространства У. Данное
выражение дает основание разбить множество аффинных объектов по значению
ранга к в последовательность вложенных классов F^. Каждый класс F^ в аффин-
ном пространстве представляет собой многообразие размерности dim F/c = dim .
Любой элемент из F^ способен отображать к -мерный репер пространства XА в
284
к -мерный репер пространства Уд. Напомним, что для задания одномерного ре-
пера необходимы две точки, для задания к -мерного репера необходимы к ь 1
точек общего положения.
Любая реальная таблица наблюдений для объекта из класса конечна и
содержит ограниченную выборку V = (xj, у\), (х2, У2)'"(хт-> Ут)- Выборку на-
зовем представительной для объекта f из класса /7., если на множестве приме-
ров можно найти подмножество размером к +1, такое, что векторы xz- и yt об-
разуют к -мерные реперы. Такие примеры назовем независимыми.
Для того чтобы аппроксимировать любой объект f класса , число сте-
пеней свободы нейронной сети должно быть не меньше чем dim F^, т. е. необ-
ходимое условие может быть записано в виде
S > dim Fk =Nk +Мк-к2. (10.1)
Достаточное условие аппроксимации будет выполняться, если множество опера-
торов нейронной сети покрывает многообразие F^. К сожалению, это условие
удается проверить только экспериментально.
Аффинная модель данных, устанавливая количественные требования к опе-
раторному многообразию нейронной сети, позволяет выбрать структуру сети,
пригодную для аппроксимации объектов. Оценить ранг отображения к в ряде
случаев можно по обучающей выборке. Максимальный операторный ранг ней-
ронной сети должен быть не ниже ранга аппроксимируемого отображения.
В 10.3 приведен метод расчета операторного ранга модульной нейронной сети.
10.3. Вычисление операторного ранга модульной нейронной сети
Модульная нейронная сеть, в которой выделены вход INP и выход OUT,
представляет собой класс операторов, реализующих отображение 3qNP —> Уфит •
При малых вариациях векторов операторы нейронной сети подобны линейным
операторам, поэтому можно говорить о ранге оператора для каждой точки опе-
раторного многообразия. Ранг нелинейного оператора определяется рангом мат-
рицы Якоби [79]. Максимальный ранг операторного многообразия JjNP —> Уфит
назовем операторным рангом нейронной сети. Этот параметр, очевидно, являет-
ся характеристикой модели общего положения. Рассмотрим метод вычисления
ранга для модульной нейронной сети с нормальными модулями.
Пусть X некоторое сечение, разбивающее сеть на две несвязанные подсе-
ти, одна из которых содержит вершину INP, а вторая вершину OUT. Каждое
сечение состоит из множества дуг. Назовем рангом сечения число
285
r(X) = r(a),
aeX
где a - ребра, принадлежащие сечению X. Сечение с минимальным рангом бу-
дем называть минимальным сечением.
Утверждение 1. Ранг модульной сети с нормальными модулями равен
рангу минимального сечения.
Доказательство. Любое сечение разбивает оператор нейронной сети в ком-
позицию двух последовательных операторов. Известно, что ранг композиции
операторов не превышает ранга каждого оператора. Сечение можно также рас-
сматривать как оператор, входящий в композицию. Отсюда индуктивно следует,
что ранг сети не превышает ранга минимального сечения. По условию все моду-
ли являются нормальными, поэтому ранг минимального сечения всегда меньше
или равен рангу операторов композиции, образованной минимальным сечением.
Таким образом, операторный ранг сети с нормальными модулями равен рангу
минимального сечения .
Рассмотрим на примере алгоритм нахождения ранга. На рис. 10.5 показана
модульная нейронная сеть и последовательность шагов алгоритма вычисления
ранга для этой сети. Алгоритм заключается в последовательном упрощении гра-
фа за счет удаления взвешенных цепей, ведущих из вершины INP в вершину
OUT . Под весом цепи будем понимать ранг минимального ребра, ей принадле-
жащего. При удалении взвешенной цепи ранг принадлежащих ей ребер умень-
шается на значение веса цепи. Если ранг ребра становится равным нулю, то реб-
ро удаляется. Последовательность выбора удаляемых цепей может быть произ-
вольной. Пусть, например, на первом шаге выбирается цепь (INP, А[, Ад, OUT),
вес цепи равен 7 ° 6 ° 9 = 6. При удалении цепи ранги всех ребер данной цепи
уменьшаются на значение, равное весу цепи (рис. 10.5, шаг 1). На втором шаге
выбирается цепь (INP, Л2, Ад, OUT), ее вес равен 8°2оЗ = 2. Выбранная цепь
удаляется (рис. 10.5, шаг 2). На третьем шаге выбирается цепь (INP, А\, А^, OUT),
ее вес равен 1 о 3 о 7 = 1. На следующем шаге удаляется цепь (INP, Л2, А\, А$, OUT)
с весом, равным 6 ° 2 ° 4 = 2. На последнем шаге остается единственный путь
(INP, Л2, Л3, OUT) с весом, равным 2. Алгоритм завершается, когда оборваны
все цепи между вершинами INP и OUT . На каждом шаге алгоритма ранг каж-
дого сечения уменьшается на значение веса цепи. Разрыв графа на несвязанные
части произойдет в минимальном сечении. Суммируя ранги всех удаленных це-
пей получим, что ранг сети г = 6 + 2 + 1 + 2 + 2 = 13.
286
Рис. 10.5. Алгоритм расчета операторного ранга нейронной сети
Если модули не являются нормальными, то алгоритм сохраняется, ио при
вычислении веса цепи необходимо учитывать ранги вершин, через которые опа
проходит. При удалении взвешенной цепи ранг вершины уменьшается на значе-
ние веса цепи. Если ранг вершины становится равным нулю, то вершина удаля-
ется вместе с подходящими к ней ребрами.
287
10.4. Измерение разделяющей мощности нейронных сетей
Проблема измерения заключается в выборе подходящего набора тестовых
образов. Необходимо использовать такой набор тестовых образов, чтобы для
любой нейронной сети оценку можно было бы вычислить аналитически и прове-
рить экспериментально. Из вышеизложенного материала можно сделать вывод,
что наиболее полно данным требованиям удовлетворяют тестовые образы в виде
точек общего положения. Любое подмножество из к +1 точек общего положе-
ния образует к -мерный репер. Факт распознавания к -мерного репера линейным
оператором заключается в том, что в выходном пространстве его образом может
быть любой к -мерный репер.
Векторы репера часто интерпретируют как ребра объемной фигуры с пло-
скими гранями (симплекса). Размеры симплекса могут быть сколь угодно малы-
ми, поэтому в пределе можно считать, что множество операторов нейронной се-
ти локально представимо множеством аффинных отображений:
/(х)-/(х0) = (х-х0)И\
При условии произвольности к -мерных реперов на входе и выходе сети
множество линейных отображений W должно быть изоморфно тензорному про-
изведению векторных пространств размерности к . Отсюда следует, что множе-
ство аффинных отображений с разделяющей мощностью уровня к должно по-
крывать операторное пространство размерности к" и, следовательно, степень
О
пластичности класса отображений должна удовлетворять неравенству > к~ .
Далее, если преобразование w g W отображает к -мерный репер, в к -мерный
репер то rank (w) > к. Используя данные рассуждения, можно получить сле-
дующую аналитическую оценку для разделяющей мощности нейронной сети с
линейными функциями активации:
к < min (y/s, rank(FF)).
Для нейронной сети с нелинейными функциями активации полученная оценка
определяет нижнюю границу разделяющей мощности. Точность оценки зависит
от выполнения достаточных условий операторного покрытия.
Экспериментальная оценка разделяющей мощности может быть получена
проведением испытаний нейронной сети по распознаванию точек произвольного
к -мерного репера входного пространства. Нелинейная нейронная сеть опреде-
ляет компактное многообразие операторов, поэтому тестовые реперы также
должны быть ограничены некоторым многомерным кубом. Наиболее удобно ис-
пользовать ортонормированные реперы, условие ортогональности не является
обязательным, но ускоряет процесс обучения сети. Можно предложить следую-
щую методику экспериментального определения разделяющей мощности:
288
1. Фиксируется выходной репер максимальной размерности. Типично это
может быть унитарный код, когда только одна из координат каждой точки репе-
ра отлична от нуля (одной из точек репера является точка с нулевыми координа-
тами). Конкретное значение ненулевой координаты зависит от вида функций ак-
тивации выходного слоя.
2. Начиная с к = 1 последовательно строятся входные тестовые ортонормиро-
ванные реперы. Тестовый репер может быть построен из случайного набора линей-
но независимых векторов выполнением ортогонализации Грамма-Шмидта [97].
3. Векторы входного и выходного реперов объединяются в пары, образуя
обучающее множество.
4. Нейронная сеть обучается на построенных примерах. Статистическая ус-
тойчивость обеспечивается многократным повторением процедуры обучения
при случайном выборе стартовой точки. Фиксируется минимальная ошибка обу-
чения за цикл испытаний.
Число независимых примеров
Рис. 10.6. Экспериментальная оценка разделяющей мощности
двухслойной полносвязанной нейронной сети
5. Строится график зависимости ошибки обучения от числа независимых
примеров (рис. 10.6). Целочисленная позиция фронта резкого возрастания ошиб-
ки обучения, уменьшенная на единицу, определяет максимальную размерностью
распознаваемого репера.
Экспериментальные результаты. Рассмотрим 2 примера использования
данной методики.
289
1. Полносвязанная двухслойная сеть типа «узкое горло» размерностью 8 по
входу и выходу обучалась к набору примеров, представленных в таблице. Каждая
строка таблицы является обучающим примером и содержит входной и выходной
векторы данных. Набор входных векторов образует ортогональный базис Адама-
ра, а набор выходных векторов - ортогональный унитарный код. Начальные точки
реперов соответствовали нулевым векторам и определяли дополнительный при-
мер при максимальной выборке. Для полносвязанной двухслойной нейронной се-
ти формула расчета числа степеней свободы имеет вид: 5 = ND + DM - D~ , где
N,M - размерности сети (в данном случае N = М = 8); D - число нейронов в
первом слое. Операторный ранг сети также равен D. В эксперименте использо-
валась нейронная сеть с сигмоидными функциями активации в первом слое и
линейными - во втором. В процессе эксперимента для каждого значения D оп-
ределялась позиция фронта резкого возрастания ошибки. Результаты экспери-
мента показали хорошее согласие с теорией (см. рис. 10.6).
Обучающее множество
Входной вектор Выходной вектор
1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
1 -1 1 -1 1 -1 1 -1 0 1 0 0 0 0 0 0
1 1 -1 -1 1 1 -1 -1 0 0 1 0 0 0 0 0
1 -1 -1 1 1 -1 -1 1 0 0 0 1 0 0 0 0
1 1 1 1 -1 -1 -1 -1 0 0 0 0 1 0 0 0
1 -1 1 -1 -1 1 -1 1 0 0 0 0 0 1 0 0
1 1 -1 -1 -1 -1 1 1 0 0 0 0 0 0 1 0
1 -1 -1 1 -1 1 1 -1 0 0 0 0 0 0 0 1
—X-W=4
Рис. 10.7. Экспериментальная оценка разделяющей мощности БНС
ТУ— 8
#= 16
2. На рис. 10.7 показаны результаты экспериментальной оценки разделяю-
щей мощности для быстрых нейронных сетей размерностей N = 4,8,16 (с раз-
мером нейронных ядер 2x2). Экспериментальные оценки составили соответст-
290
венно 3, 5,8. Формулы для расчета степени пластичности приведены в разд. 9.
Операторный ранг данных сетей равен их размерности. В эксперименте исполь-
зовалась нейронная сеть с активационными функциями гиперболического тан-
генса. Разрешающая мощность вычислялась как максимальное целое, удовле-
творяющее неравенству к < . Расчетные оценки соответственно равны 3, 5,8
и в данном случае совпадают с экспериментальными. В других экспериментах
отмечено, что измеренная разделяющая мощность выше расчетной. Это объяс-
няется тем, что теоретическая оценка не учитывает нелинейные свойства сети и
фактическую конфигурацию ее операторного множества.
10.5. Измерение обобщающей способности нейронных сетей
Для оценки обобщающей способности образуем классы, окружив каждую
точку общего положения сферическим облаком точек (рис. 10.8). Выберем ради-
ус сферы таким образом, чтобы обеспечить экспертную разделимость классов,
полагая, что мнение эксперта определяется по минимальному расстоянию между
образом генеральной совокупности и центрами классов.
Рис. 10.8. Тестовое множество
в пространстве признаков
Реализуем невырожденную систе-
му распознавания (см. 10.1) на основе
нейронной сети и решающего правила.
Нейронная сеть выполняет функцио-
нальное преобразование образа в аф-
финное пространство признаков. Сис-
тема измерения в аффинном простран-
стве признаков заключается в выборе
начала координат, задании репера и оп-
ределении значений координат образов
в выбранном репере. Репер в простран-
стве признаков может быть произволь-
ным, но для обеспечения помехоустой-
чивости целесообразно выбрать его ор-
тонормированным с привязкой к началу координат (в простейшем случае это
может быть унитарный код). Нейронная сеть обучается на подмножестве точек
общего положения пространства образов так, чтобы каждому эталону класса со-
ответствовал один вектор репера. Размер подмножества определяется из условия
безошибочного обучения нейронной сети (максимальный размер обучающего
подмножества равен разделяющей мощности испытуемой нейронной сети). Сис-
тема измерения преобразует образ генеральной совокупности в паттерн про-
странства признаков.
291
Решающее правило поддерживается метрической схемой классификации, ко-
торая по минимальному расстоянию между паттерном и точками репера формирует
результат распознавания. Обобщающая способность оценивается максимальным
радиусом сферы безошибочного распознавания образов, нормированным к мини-
мальному расстоянию между центрами классов. В этом случае радиус сферы, ок-
ружающей эталон, не превышает половины минимального расстояния до ближай-
шего соседнего эталона. Это значение используется как база нормирования для ра-
диуса сферы выбранного эталона. При экспериментальном исследовании относи-
тельный радиус всех окружающих сфер синхронно изменяется в диапазоне от О
до 1. Схема измерения обобщающей способности показана на рис. 10.9.
Экспертиза - е Измерение - ц Решающее правило - р
Рис. 10.9. Схема измерения обобщающей способности нейронных сетей
Результаты экспериментов. Для формирования входного обучающего на-
бора использовались векторы ортогонального косинусного преобразования. Ор-
тогональный репер привязывался к началу координат. Нулевая точка использо-
валась в обучающем множестве как один из образов. Векторы выходного репера
были представлены унитарным кодом. Облака классов содержали по 2000 точек,
которые случайно размещались на сферах заданного радиуса. Количество точек
в облаке выбиралось из условия надежности фиксации факта безошибочного
распознавания. Относительные радиусы сфер совпадали для всех классов. Экс-
перименты проводились для однослойной и двухслойной нейронных сетей.
Однослойная нейронная сеть. Размерность сети по входу и выходу равня-
лась восьми (рис. 10.10). Размерность обучающего репера изменялась от 1 до 8.
Обучение нейронной сети по реперу проводилось при помощи алгоритма Еггог-
BackPropagation без накопления градиента. Обученной сети предъявлялось полное
множество точек окружающих сфер, и выполнялся контроль ошибок распознава-
ния. В процессе проведения экспериментов радиусы сфер уменьшались до ис-
чезновения ошибок распознавания. Найденное значение радиуса принималось за
оценку обобщающей способности при заданном размере обучающего репера.
При повторении эксперимента наблюдалась небольшая зависимость обоб-
щающей способности (в пределах 10 %) от стартовой точки процедуры обуче-
ния. Эксперименты проводились для сети с линейной, тангенциальной и сиг-
моидальной функциями активации. Результаты для одного из экспериментов
представлены на рис. 10.10. Можно отметить, что обобщающая способность ней-
ронной сети с линейными функциями активации оказалась существенно выше,
чем сети с функциями активации в виде гиперболического тангенса и сигмоида.
292
Рис. 10.10. Однослойная нейронная сеть
Двухслойная нейронная сеть. Эксперименты проводились на двухслойной
нейронной сети прямого распространения «с узким горлом» (рис. 10.11, а). Размер-
ность сети по входу и выходу равнялась 8. Исследовались 2 варианта нейронных
сетей, отличающихся функциями активации. В первом варианте оба слоя сети име-
ли линейные функции активации нейронов, а во втором - первый слой имел линей-
ные функции активации, второй слой — сигмоидные функции. Число нейронов в
скрытом слое (D) варьировалось от 1 до 9. Число классов в экспериментах выбира-
лось на верхней границе разделяющей мощности линейной нейронной сети (это на
единицу больше, чем число нейронов в скрытом слое). Для обучения линейной
нейронной сети использовался алгоритм ErrorBackPropagation без накопления гра-
диента, а для нелинейной - алгоритм PROP [5]. На рис. 10.11, б показана зависи-
мость обобщающей способности от числа достоверно распознаваемых классов.
Рис. 10.11. Зависимости обобщающей способности двухслойной нейронной сети
от числа нейронов в скрытом слое
Во втором эксперименте исследовалась зависимость обобщающей способ-
ности от числа классов для двухслойной нейронной сети с числом нейронов в
скрытом слое равным 2. Функции активации: первый слой - линейные, второй
слой - сигмоидные. Нижняя граница разделяющей мощности для данной сети
293
равна 3, но за счет нелинейных свойств сеть безошибочно обучалась на реперах
вплоть до 8-го порядка. Для обучения нейронной сети использовался алгоритм
PROP. Топология сети и результаты эксперимента показаны на рис. 10.12. Из
графика видно, что с увеличением числа достоверно распознаваемых классов
обобщающая способность нейронной сети падает практически до нуля.
Рис. 10.12. Зависимость обобщающей способности от числа распознаваемых классов
Предложенный метод оценки обобщающей способности не требует обуче-
ния нейронной сети на выборках большого объема. Результаты экспериментов
обладают повторяемостью, достаточной для практических целей. Принцип из-
мерения обобщающей способности имеет наглядную геометрическую интерпре-
тацию, что позволяет получить априорную оценку конфигурации множества
достоверно распознаваемых образов нейросетевого классификатора.
294
Список литературы
Основная
1. Кухарев Г. А., Шмерко В. П., Янушкевич С. Н. Техника параллельной
обработки бинарных данных на СБИС: Справ, пособие. Минск: Вышэйш. шк.,
1991.226 с.
2. Солодовников А. И., Спиваковский А. М. Основы теории и методы спек-
тральной обработки информации. Л., 1986. 272 с.
3. Cooley J., Tukey J. An algorithm for the machine calculation of complex Fou-
rier series // Math. Comput. 1965. Vol. 19. P. 297-301.
4. Good I. J. The Interaction Algorithm and Practical Fourier Analysis // J. of
Royal Statistical Soseity. Ser.B. 1958. Vol. 20, No 2. P. 361-372.
5. 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.
6. Эндрюс Г. Применение вычислительных машин для обработки изобра-
жений / Пер. с англ: Под ред. Б. Ф. Курьянова. М., 1977. 160 с.
7. Лабунец В. Г. Единый подход к алгоритмам быстрых преобразований
//Применение ортогональных методов при обработке сигналов и анализе сис-
тем: Межвуз. сб. / Уральск, политехи, ин-т. Свердловск, 1980. С. 4-14.
8. Рабинер Л., Гоулд. Теория и примененение цифровой обработки сигна-
лов / Пер. с англ. М.: Мир, 1978. 848 с.
9. Дагман Э. Е., Кухарев Г. А. Быстрые дискретные ортогональные преоб-
разования. Новосибирск: Наука, 1983. 228 с.
10. Дорогое А. Ю. Системные инварианты быстрых преобразований // Тр.
IV межрегиональной школы-семинара «Распределенные и кластерные вычисле-
ния», Красноярск, 14-16 сент. 2004.
11. Andrews Н. С., Caspari К. L. Degrees of Freedom and Modular Structure in
Matrix Multiplication // IEEE. Tp. Computer 1971. Vol. C-20, No - Feb. P.113-141.
12. Дорогое А. Ю. Быстрые нейронные сети. СПб.: Изд-во С.-Петерб. ун-та,
2002. 80 с.
13. Прутков К. Сочинения. М.: Худож. лит., 1976. 381 с.
14. Азбука Мерфи / Пер. с англ, и сост. С. В. Махотина; Худ. А. В. Камен-
чуков. Минск: ООО «Попурри», 2004. 448 с.
15. Трахтман А. М., Трахтман В. А. Основы теории дискретных сигналов на
конечных интервалах. М.: Сов. радио, 1975. 208 с.
16. Волкова В. Н., Денисов А. А. Основы теории систем и системного ана-
лиза: Учеб, для студентов вузов. СПб.: Изд-во СПбГТУ, 1999. 512 с.
17. Уосерман Ф. Нейрокомпьютерная техника: Теория и практика / Пер. с
англ. М.: Мир, 1992. 240 с.
295
18. Фукунага К. Введение в статистическую теорию распознавания образов.
М.: Наука, 1979. 368 с.
19. Биргер И. А. Техническая диагностика. М.: Машиностроение, 1978. 240 с.
20. Дуда Р., Харт П. Распознавание образов и анализ сцен. М.: Мир, 1976.
411 с.
21. Парлет Б. Симметричная проблема собственных значений. Численные
методы / Пер. с англ. М.: Мир, 1983. 384 с.
22. Ту. Дж., Гонсалес Р. Принципы распознавания образов. М.: Мир, 1978.
411 с.
23. Ахмед Н. Д., Рао К. Р. Ортогональные преобразования при обработке
цифровых сигналов. М.: Связь, 1980. 248 с.
24. Алексеев А. А., Солодовников А. И. Диагностика в технических системах
управления: Учеб, пособие для втузов / Под ред. В. Б. Яковлева. СПб., 1997. 188 с.
25. Уилсон Дж. Алгебраическая проблема собственных значений / Пер. с
англ. М.: Наука, 1977. 544 с.
26. Малинецкий Г. Г., Потапов А. Б. Современные проблемы нелинейной
динамики. М.: Эдиториал УРСС, 2000. 336 с.
27. Кроновер Р. М. Фракталы и хаос в динамических системах. М.: Пост-
маркет, 2000. 350 с.
28. Макаренко Н. Г. Фракталы, аттракторы, нейронные сети и все такое:
Лекции по нейроинформатике // Нейро информатика 2002: 4-я Всерос. науч.-техн,
конф., М., 23-25 янв. 2002. Ч. 2. С. 136-169.
29. Stark J. Iterated function systems as neural networks // Neural Networks.
1991. Vol. 4. P. 679-690.
30. Дорогое А. Ю., Шестопалов M. Ю. Нейросетевое моделирование регу-
лярных фракталов // Нейрокомпьютеры. Разработка и применение. 2007. № 6.
С. 3-15.
31. Дорогое А. Ю. Структурный анализ слабосвязанных нейронных сетей
Управление в социальных, экономических и технических системах // Управле-
ние в технических системах: Тр. Межресп. науч, конф., Кисловодск, 28 июня—
2 июля 1998 / Кисловодск, 1998. Кн. 3. С. 75-80.
32. Дорогое А. Ю. Структурный синтез модульных слабосвязанных ней-
ронных сетей. Ч. 1. Методология структурного синтеза модульных нейронных
сетей // Кибернетика и системный анализ. 2001. № 2. С. 34^42.
33. Дорогое А. Ю. Структурный синтез модульных слабосвязанных ней-
ронных сетей. Ч. 2. Ядерные нейронные сети // Кибернетика и системный ана-
лиз. 2001. №4. С. 13-20.
34. Божокин С. В., Паршин Д. А. Фракталы и мультифракталы / НИЦ «Ре-
гулярная и хаотическая динамика». Ижевск, 2001. 128 с.
296
35. Barnsley M. Fractals Everywhere. Boston: Academic Press, 1987.
36. Каппелини В., Константинидис А. Дж., Эмилиани П. Цифровые фильт-
ры и их применение / Пер. с англ. М.: Энергоатомиздат, 1983. 360 с.
37. Астафьева Н. М. Вейвлет-анализ: основы теории и примеры применения
//Успехи физических наук. 1996. Т. 166, № 11. С. 1145-1170.
38. Ильин В. А., Ким Г. Д. Линейная алгебра и аналитическая геометрия.
М.: ТК Велби, Изд-во «Проспект», 2007. 400 с.
39. Белман Р. Введение в теорию матриц. М.: Наука, 1976. 352 с.
40. Растригин Л. А. Системы экстремального управления. М.: Наука, 1974.
630 с.
41. Feynman R. Simulating physics with computers // Intern. J. of Theoretical
Physics 1982. Vol. 21, № 6, 7. P. 467-488.
42. Feynman R. Quantum mechanical computers // Optics News 1985. №11.
Also in Foundations of Physics 1986. № 16(6). P. 507-531.
43. Shor P. W. Algorithms for quantum computation: Discrete logarithms and
factoring // Proc. 35th Annual Symposium on Foundations of Computer Science (Shafi
Goldwasser, ed.), IEEE Computer Society Press. 1994. P. 124-134.
44. Риффель Э., Полак В. Основы квантовых вычислений // Квантовый
компьютер и квантовые вычисления. 2000. Т. 1, № ЕС. 4-57.
45. Ekert A., Hayden Р., Inamori Н. Basic concepts in quantum computation
11 Centre for Quantum Computation University of Oxford OXI 3PU, United Kingdom.
16 Jan. 2000.
46. Кэндел Э., Хьюбел Д., Стивенсон Ч. Малые системы нейронов // Мозг.
М.: Мир, 1984. 280 с.
47. McCulloch W.W., Pitts W. A logical calculus of the ideas imminent in nerv-
ous activity // Bulletin of Mathematical Biophysics. 1943. Vol. 5. P. 115-133. (Рус-
ский перевод: Маккаллок У. С., Питтс У. Логическое исчисление идей, относя-
щихся к нервной деятельности. Автоматы. М.: Изд-во иностр, лит., 1956.)
48. Винер Н. Кибернетика, или управление и связь в животном и машине.
М.: Наука, 1983. 344 с.
49. Розенблатт Ф. Принципы нейродинамики. Перцептрон и теория меха-
низмов мозга. М.: Мир, 1965. 480 с.
50. Минский М., Пайперт С. Персептроны. М.: Мир, 1971. 261 с.
51. Hopfield J. J. Neural Networks and Physical systems with emergent collec-
tive computational abilities // Proc. Nat. Sci. USA. 1982. Vol. 79. P. 2554-2558.
52. Горбань А. Нейроинформатика и ее приложения // Открытые системы.
1998. № 4-5 (30-31). С. 36^11.
53. Галушкин А. И. Современные направления развития нейрокомпьютер-
ных технологий в России // Открытые системы. 1997. № 4. С. 25-28.
297
54. Artificial Neural Networks // A Tutorial Computer. 1996. Vol. 29, No. 3.
P. 31^41. (Русский перевод: Открытые системы. 1997. № 4. С. 16-24.)
55. Роберт Хехт-Нильсен. Нейрокомпьютинг: история, состояние, перспек-
тивы // Открытые системы. 1998. № 4—5 (30—31). С. 23—28.
56. Горбань А. Н., Россиев Д. А. Нейронные сети на персональном компью-
тере. Новосибирск: Наука, 1996. 276 с.
57. Ежов А. А., Шумский С. А. Нейрокомпьютинг и его приложения в эко-
номике и бизнесе (Учебники экономико-аналитического института МИФИ)
/МИФИ. М., 1998. 224 с.
58. Синхронизация в нейронных ансамблях / Г. Д. Абарванель, М. М. Раби-
нович, А. Селвертон, А. Баженов // Успехи физических наук. 1996. Т. 166, № 4.
С. 363-390.
59. Куффлер С., Николс Дж. Нейроны как проводники электричества // От
нейрона к мозгу. М.: Мир, 1979. Гл. 7. С. 132-141.
60. Rumelhart D. Е., Hinton G. Е., Williams R. J. Learning internal representa-
tions by error propagation // Parallel Distributed Processing: Exploration in the Micro-
structure of Cognition, D. E. Rumelhart and J. L. McClelland (Eds.). Cambridge, MA:
MIT Press, 1986. Vol. 1. P. 318-362.
61. Rummelhart D. E., Hinton G. E., Williams R. J. Learning representations by
back-propagating errors //Nature. 1986. Vol. 323. P. 533-536.
62. Дорогое А. Ю., Алексеев А. А. Структурные модели быстрых нейрон-
ных сетей // Тр. II Междунар. симп. «Интеллектуальные системы» (INTEL'S_96),
СПб., июнь 1996 / Под ред. К. А. Пупкова. Т. 2. М.: Изд-во ПАИМС, 1996.
С.138-143.
63. Riedmiller М., Braun Н. A direct adaptive method for faster backpropagation
learning: The RPROP algorithm // In Rpoc. of the IEEE Intern. Conf, on Neural Net-
works (ICNN), San Francisco, 1993. P. 586-591.
64. Моделирование модульных нейронных сетей в операционной среде ре-
ального времени / А. Ю. Дорогое, А. А. Алексеев, Д. Г. Головкин, В. Е. Пименов
// Нейронные, реляторные сети и модели: Тр. Междунар. науч-техн. конф., Уль-
яновск, 19-21 мая 1998. Т. 1. С. 55-58.
65. Качанова Т. Л., Фомин Б. Ф. Реконструктивный анализ поведения слож-
ных систем по эмпирическим данным. СПб., 1997. 68 с. (Препринт № 1).
66. Lorente de No R. Studies on structure of the celebral cortex // J. Psychol.
Neurol. 1933. Vol. 45. P. 381-392.
67. Коган А. Б. Функциональная организация нейронных механизмов мозга.
Л.: Медицина, 1979. 228 с.
68. Маункасл В. Организующий принцип функции мозга - элементарный
модуль и распределенная система// Дж. Эдельман, В. Маункасл. Разумный мозг:
298
Кортикальная организация и селекция групп в теории высших функций головно-
го мозга / Пер. с англ. Н. Ю. Алексеенко; Под ред. Е. К. Соколова. М.: Мир,
1981. 133 с.
69. Сверхбольшие интегральные схемы и современная обработка сигналов
/Пер. с англ.; Под ред. С. Гука, X. Уайтхауза, Т. Кайлата. М.: Радио и связь,
1989. 472 с.
70. Uhr L. Algorithm-Structured Computer Arrays and Networks: Parallel Archi-
tecturts for Perception and Modelling. N. Y.: Academic Press, 1984.
71. Thurber K. J. Large Scale Computer Architecture. N. J.: Hayden, Rochelle
Park, 1976.
72. Hayken S. Neural Networks a Comprehensive Foundtion / Macmillan Pub-
lished Company. USA, 1994. 696 p.
73. Кострикин А. И., Манин Ю. И. Линейная алгебра и геометрия: Учеб,
пособие для вузов. 2-е изд., перераб. М.: Наука, 1986. 304 с.
74. Горбань А. Н., Россиев Д. А. Нейронные сети на персональном компью-
тере. Новосибирск: Наука, 1996. 276 с.
75. Цаленко М. Ш., Шульгейфер Е. Г. Основы теории категорий. М.: Наука,
1974. 256 с. (сер. «Современная алгебра»)
76. Дубровин Б. А., Новиков С. П., Фоменко А. Т. Современная геометрия:
Методы и приложения. Т. 2. Геометрия и топология многообразий. 5-е изд.,
испр. М.: Эдиториал УРСС, 2001. 296 с.
77. Введение в топологию / Ю. Г. Борисович, Н. М. Близняков, Я. А. Израи-
левич, Т. Н. Фоменко. М.: Наука, Физматлит, 1995. 416 с.
78. Ефимов Н. В., Розендорн Э. Р. Линейная алгебра и многомерная геомет-
рия. М.: Наука, 1970. 528 с.
79. Фоменко А. Т. Наглядная геометрия и топология. Математические обра-
зы в реальном мире. М.: Изд-во «ЧеРо» Моск, ун-та, 1998. 416 с.
80. Fundamentals of neural Networks, Architectures algorithms and application.
USA, Florida: Lourence Fauselt, 1994. 461 p.
81. Ежов И. И., Скороход А. В., Ядренко М. И. Элементы комбинаторики.
М.: Наука, 1977. 80 с.
82. Гоппа В. Д. Введение в алгебраическую теорию информации. М.: Наука,
Физматлит, 1995. 112 с.
83. Гисин В. Б., Цаленко М. Ш. Алгебраическая теория систем и ее прило-
жения // Системные исследования. Методологические проблемы: Ежегодник.
1984. М.: Наука, 1984. С. 130-151.
84. Гонсалес Р., Дж. Ту. Принципы распознавания образов. М.: Мир, 1978.
411 с.
299
85. Вапник В. П., Червоненкис А. Я. Теория распознавания образов (стати-
стические проблемы обучения). М.: Наука, 1974. 415 с.
86. Vapnik V. М. The Nature of Statistical Learning Theory. N. Y.: Springer-
Verlag, 1995. 188 p.
87. Виленкин H. Я. Комбинаторика. M., 1969. 328 c.
88. Воронцов К. В. Комбинаторная теория надежности обучения по преце-
дентам: Автореф. дис. ... д-ра физ.-мат. наук. М., 2010. 272 с.
89. Kohavi R. A study of cross-validation and bootstrap for accuracy estimation
and model selection // 14th Intern. Joint Conf, on Artificial Intelligence, Palais de
Congres. Montreal, Quebec, Canada, 1995. P. 1137-1145.
90. Колмогоров A. H. О представлении непрерывных функций нескольких
переменных в виде суперпозиции непрерывных функций одного переменного и
сложения // Докл. АН СССР. 1957. Т. 114, № 5. С. 953-956.
91. Barron A. R. Universal approximation bounds for superpositions of a sig-
moidal function // IEEE Transaction on Information Theory. 1993. Vol. 39, No 3.
P. 930-945.
92. Breiman L. Hiding heperplanes for regression, classification and function ap-
proximation // IEEE Transaction on Information Theory. 1993. Vol. 39, No 3. P. 999-
1013.
93. Jones L. K. A simple lemma on greedy approximation in Hilbert space and
convergence rates for Projection Pursuit Regression // The Annals of Statisics. 1992.
20(1). P. 608-613.
94. Mhaskar H. N. Approximation properties of multi-layer feedforward artificial
neural network // Advances in Computational Mathematics. 1993. No 1. P. 61-80.
95. Галушкин А. И. Теория нейронных сетей: Учеб, пособие для вузов.
Кн. 1. М.: ИПРЖР, 2000. 416 с. (Нейрокомпьютеры и их применение.)
96. Горбань А. Н. Обобщенная аппроксимационная теорема и вычисли-
тельные возможности нейронных сетей // Сибирский журнал вычислительной
математики. 1998. Т. 1, № 1. С. 12-24.
97. Белман Р. Введение в теорию матриц. М.: Наука, 1976. 351 с.
Дополнительная
98. Мальцев А. И. Алгебраические системы. М.: Наука, 1970. 392 с. (сер.
«Современная алгебра».)
99. Скорняков Л. А. Элементы теории структур. М.: Наука, 1982. 160 с.
100. Дорогов А. Ю., Алексеев А. А. Категории ядерных нейронных сетей
//Всерос. науч.-техн. конф. «Нейроинформатика-99», М., 20-22 янв. 1999. Ч. 1.
М., 1999. С. 55-64.
300
101. Дорогое А. Ю. Генезис слабосвязанных нейронных сетей // Всерос. на-
уч.-техн. конф. «Нейроинформатика-99», М., 20-22 янв. 1999. Ч. 1. М., 1999.
С. 64-70.
102. Дорогое А. Ю. Модальные категории модульных нейронных сетей //
XII Междунар. конф, по нейрокибернетике. Проблемы нейрокибернетики, Рос-
тов-на-Дону, 1999. С. 137-141.
103. Дорогое А. Ю., Алексеев А. А. Применение методологии теории кате-
гории к анализу модульных нейронных сетей. Нейроинформатика и ее приложе-
ния // Материалы IX Всерос. семинара, Красноярск, 5-7 окт. 2001 / ИПЦ КГТУ.
Красноярск, 2001. С. 57-60.
104. Дорогое А. Ю. Системные категории модульных нейронных сетей //
Нейрокомпьютеры: разработка и применение. 2001. № 11. С. 4-21.
105. Дорогое А. Ю. Применение модальных множеств для структурного
анализа модульных систем // Материалы IV Всерос. семинара «Моделирование
неравновесных систем», Красноярск, 12 14 окт. 2001 / ИПЦ КГТУ. Красноярск,
2001. С. 37-41.
106. Дорогое А. Ю., Шестопалов М. Ю. Категорные модели несущих про-
странств модульных сетей // Материалы IX Всерос. семинара «Моделирование
неравновесных систем», Красноярск, 13-15 окт. 2006 / ИПЦ КГТУ. Красноярск,
2006. С. 53-56.
107. Фрид Э. Элементарное введение в абстрактную алгебру. М.: Мир,
1979. 259 с.
108. Математические методы в теории систем. Новое в зарубежной науке:
Сб. стат, под ред. А. Н. Колмогорова, С. П. Новикова. М.: Мир, 1979. Вып. 14.
328 с.
301
ПРИЛОЖЕНИЕ
ЭЛЕМЕНТЫ ТЕОРИИ АЛГЕБРАИЧЕСКИХ СТРУКТУР
Бросая в воду камешки, смотри на круги, ими обра-
зуемые; иначе такое бросание будет пустой забавой.
Козьма Прутков
По убеждению автора, теория алгебраических структур является базовым ин-
струментом для построения и исследования математических моделей модульных
нейронных сетей. Этот аппарат позволяет не только обеспечить математическую
строгость в построении моделей, но и развить основные результаты по исследова-
нию достижимых возможностей нейронных сетей, опираясь на формализацию по-
нятия коннекционизма. Уникальность этой теории состоит в том, что достаточно
простые основы приводят к очень глубоким результатам, которые находят широкое
применение не только в математике, но и во многих прикладных науках.
В основном тексте издания автор сознательно избегал использования тер-
минологии и результатов теории алгебраических структур с целью обеспечить
доступность материала для широкого круга читателей. Тем не менее, полностью
отказаться от основных понятий данной теории не удалось. Поэтому автор счел
нужным привести необходимый базовый материал для удобства пользования из-
данием и для читателей, стремящихся расширить свой кругозор и почувствовать
пути современного развития теории нейронных сетей. Обзор результатов теории
алгебраических структур выполнен по работам А. И. Мальцева [98], В. Б. Гиси-
на, М. Ш. Цаленко, Л. А. Скорнякова [99]. Применение теории алгебраических
структур к нейронным сетям представлено в работах [100]—[106].
1. Множества, бинарные отношения, отображения множеств, соответ-
ствия. Множества. Совокупность предметов или понятий, объединенных ка-
ким-нибудь общим свойством, называется множеством. Предметы, входящие в
состав множества, называются его элементами.
Утверждение, что предмет а является элементом множества А, сокращен-
но записывается в виде a g А. Может случиться так, что элементы некоторого
множества сами являются множествами. Два множества называются равными,
если они состоят из одних и тех же элементов, т. е. каждый предмет, являющий-
ся элементом одного множества, является элементом и другого.
Там, где это удобно для записи множества, будут использоваться последо-
вательности его элементов, заключенные в фигурные скобки. Порядок записи
может быть произвольным, например, {4,1,2,7}, {1, 2,4,7}, {4,7,1,2} представ-
ляют одно и то же множество. Последовательности могут содержать повторения
элементов, что несущественно для определения самого множества. Наряду с
множествами, имеющими элементы, рассматривают также пустое множество, не
302
имеющее ни одного элемента. Все пустые множества, по определению, равны и
обозначаются символом 0.
Множество А называется подмножеством, или частью множества В (сим-
волически А с В), если каждый элемент А является элементом В. Согласно оп-
ределению произвольное множество А и пустое множество 0 являются под-
множествами множества А. Запись Acz В означает, что А есть подмножество
множества В, отличное от В. Например, множество {1,2}, состоящее из двух
элементов, имеет 4 части 0, {1,2}, {2}, {1,2}. Множество, состоящее из конечно-
го числа п элементов, имеет 1п различных частей. Очевидно, что для любых
множеств А, В, С из А с В, В с А следует А = В, из АсВ, В с С следует
Л с С, из Л с В, В с С следует Л с С и т. д.
Объединением, или суммой множеств А,В (символически ЛиВ). называ-
ется множество, получаемое объединением элементов А и В в одно множество.
Таким образом, утверждение а е (А о В) означает, что а е А или В. Например,
{1,2,4} и {2,3, 5, 6} = (1,2,3,4,5,6}. В частности, для любого множества А име-
п
ем Au А = A, 0\j А - А . Выражение А\ и А-, и... и Ап = А^ обозначает объе-
z=l
динение элементов множеств Д, ^2,..., Ап .
Пересечением, или общей частью множеств А, В (символически АслВ},
называется множество, содержащее те и только те предметы, которые одновре-
менно принадлежат множествам А и В. Если А и В общих элементов не име-
ют, то их пересечение пусто. Так, {1,3}п{2,4,5} = 0, ctz- =
'а\ а2 ..
1 2
а„.
<5/
Si,
В частности, для любого множества А имеем Ас\А = А, 0 а Л = 0. Выражение
п
А\ п А2 п. .. n Ап = Q Aj обозначает общую часть системы множеств А\, А2,..., Ап ,
Z=1
т. е. совокупность тех предметов, которые являются элементами каждого из
множеств А\, А2,..., Ап .
Теоретико-множественные операции объединения и пересечения могут слу-
жить хорошим примером бинарных операций, производимых над множествами.
Привычные арифметические действия сложения, умножения, деления, вычитания,
производимые над парами чисел, также являются примером бинарных операций.
Операция возведения числа в квадрат или изменения его знака на противополож-
ный является примером унарной операции. Для множеств примером унарной опе-
рации является операция дополнения. Подмножества В\ с А и В2 с А являются до-
303
полняющими, если В-^ и = А и п 52 = 0. Обозначая операцию дополнения
штрихом «'», можно записать В{ = В2 и В2 = Вр Понятно, что А' = 0 и 0' = А.
Если подмножества А\ и Л2 не пересекаются, то их объединение будем назы-
п
вать прямой суммой и обозначать Ф Л2. Выражение А^ Ф Л2 Ф... Ф Ап = Ф4
Z=1
обозначает прямую сумму элементов множеств Лр Л2,..., Ап при условии
Ai (~\ Aj = 0, если z Ф j.
Отношения. Декартовым произведением множеств А и В (символически
Ах В) называется совокупность пар вида (а,Ь). Например, если А = {1,2},
В = {4, 5}, то Ах В = {(1,4), (1,5), (2, 4), (2,5)}. Порядок элементов в паре суще-
ствен, поэтому в общем случае А х В ф В х А. Ясно, что если множества А и В
конечные и А содержит т элементов, а В - п элементов, то произведение
Ах В содержит т п пар. Свойства декартовых произведений множеств рас-
смотрены в и. 2.
Всякое подмножество а декартова произведения Ах В произвольных мно-
жеств А,В называется отношением, определенным на паре множеств А, В. Ес-
ли (tz, Z?) е а, то говорят, что элемент а находится в отношении а к элементу b,
или, что отношение а для а, b истинно. Вместо (а, Z>) е а пишут также aab
или а(<7, Z?). Отношение, заданное на паре множеств А, А, называется бинарным
отношением, заданным на множестве А.
Поскольку отношения являются подмножествами, то для них справедливы
операции пересечения, объединения и дополнения. В частности, для произволь-
ных а е А, ЬеВ:
я (аи|3) 6 <=> aab или а$Ь,
а(апр)й <^> aab и а$Ь,
аа'Ь о не aab.
В связи с этим часто вместо объединения, пересечения и дополнения отно-
шений говорят об их дизъюнкции, конъюнкции и отрицании. Например, отноше-
ние равенства «=», определяемое на множестве натуральных чисел N , можно по-
нимать как совокупность диагональных пар (0,0),(1,1),.... Дополнением этого
отношения будет отношение неравенства «^». Отношение порядка «<» есть сово-
купность пар (а, 6), у которых а <Ь. Отношение «<» совпадает с объединением
< о =, а пересечение < п = пусто, т. е. представляет собой ложное отношение.
Помимо операций «о, о,'» важное значение имеют еще две операции над
отношениями - обращение и умножение отношений, которые определяются еле-
304
дующим образом. Если а - отношение, определенное на паре множеств А, В, то
обратным отношением (символически а ') называется отношение, определенное
на паре В,А и состоящее из тех пар (b,a), для которых (а,/»)еа, т. е.
ЬаГ^Ь <=> aab. Например, если < отношение порядка, то а <-1 b<^>b<a<^>a>b
и поэтому <-1=>.
Пусть теперь отношение а задано на паре множеств А, В и отношение 0
задано на паре множеств В, С. Произведением а0 отношений а, 0 называется
отношение, определенное на паре множеств А, С и такое, что
я(а0)с (а А, с е С) истинно тогда и только тогда, когда в В найдется такой
элемент х, для которого истинны аах и х0с. Если же отношение а определено
на паре множеств А, В, а отношение 0 на паре С, D и В ф С, то произведение
ос0 считается неопределенным.
Отношение равенства, определенное на множестве Ах А, часто обозначают
символом . Оно состоит из всех диагональных пар (а, а), а А. Если множе-
ство А заранее фиксировано, то вместо пишут i . Легко убедиться, что для
любого бинарного отношения а, определенного на множестве А, выполнено
ал. = we. Отметим, что предполагаемое равенство аоГ1 = i для некоторых отно-
шений может оказаться неверным.
Исходя из определений произведения и обращений, легко убедиться, что
для произвольных отношений ос,0,у справедливы тождества
ос(0у) = (а0)у, (ос0)—1 = 0-1а-1.
При этом если отношения рассматриваются на парах различных множеств,
то последние тождества следует понимать так, что из определенности левой или
правой части равенства вытекает определенность и другой части равенства и
совпадение значений обеих частей.
Существует ряд тождеств, связывающих операции умножения и обращения
с булевыми операциями:
(а 9 = (а') 1,
(ас0)-1 = а-1 с0-1, (ап0) 1=а-1п0-1, (П.1)
а(0 и у) = а0 и ау, (0 иу)а = 0аоуа. (П.2)
Однако для конъюнкции справедливо только включение (0 п у)ос с 0оспуа.
Можно показать, что равенство в последнем выражении будет выполняться
только если оса-1 = i.
305
Отображения. Отношение а, определенное на паре множеств А, В, на-
зывается отображением А в В, если для каждого a g А существует один и
только один элемент Ь<еВ , удовлетворяющий отношению aab. Элемент назы-
вается образом элемента а и обозначается b = Jma<7. Если b = да, то элемент а
называется прообразом элемента b при отображении а. Совокупность всех
прообразов элемента b в А при данном отображении а называется полным
прообразом элемента и обозначается Doma/>. Отображение для числовых мно-
жеств удобно задавать таблицей, состоящей из двух строк:
А 5 3 4>
a =
v3 4 1 3,
В верхней строке в произвольной последовательности пишутся обозначе-
ния элементов множества А, а под ними записываются обозначения их образов в
множестве В. Умножение отображений, заданных таблицами, производится по
способу, непосредственно видному из следующего примера:
А 2 3 4Уд b с (Г
уа b с d? у и v,
Отображение а множества А в множест-
во В называется отображением А на В (или
сюръективным отображением), если каждый
элемент Ь^В имеет в А хотя бы один прооб-
раз. Графическая интерпретация показана на
рис. П.1.
Отображение а множества А на В на-
зывается взаимно-однозначным, если обратное
отношение a 1 является отображением В на
А. Для того чтобы отображение, заданное
А 2 3 4"
у и vj
Рис. П.1. Графическая интерпретация
сюръективного отображения
таблицей, было взаимно-однозначным, необходимо и достаточно, чтобы каждый
элемент из В встречался в нижней строке задающей таблицы один и только
один раз. Делая нижнюю строку верхней, а верхнюю нижней, получим таблицу
обратного отображения. Пусть a — какое-нибудь отображение множества А в
себя и аа = Ь. Тогда говорят, что отображение а переводит точку а в точку b.
Если да = а, то а называется неподвижной точкой отображения a. Все точки
множества А являются неподвижными точками тождественного отображения t.
Если a - взаимно-однозначное отображение А на В, то
aa 1=i^’ a 1a = i£- (П.З)
Многозначные и частичные отображения. Понятие отображения допускает
полезное обобщение на класс произвольных отношений. Пусть a — произвольное
306
отношение, определенное на паре множеств А, В. Как и в случае отображений,
элемент Ь<= В будем называть образом элемента а е А, если aab истинно. Теперь,
в общем случае, могут существовать такие элементы в А, у которых или совсем нет
образа в В, или есть несколько образов в В. По этой причине отображение, отве-
чающее произвольному отношению а, называется частичным мультиотображе-
нием (часто используется более короткий термин «соответствие»).
Если соответствие а из множества А в множество В таково, что для каж-
дого элемента а е. А множество аа либо состоит лишь из одного элемента, либо
является пустым, то а называется частичным отображением из А в В.
Для конечных множеств А и В широко используются матричное и графо-
вое представления соответствий. Пусть А = [щ, ..., ап}, В = Ьт}.
Соответствию а сопоставляется матрица размера п х т, строки которой поме-
чены элементами из А, столбцы - элементами из В, а на пересечении строки
и столбца bj стоит 1, если a^abj истинно, и 0 в противном случае. Например,
А = [а, Ь, с] , В = [х, у), тогда а сопоставляется матрица
х У
Г rv “1 1 1
Га= £ = (П.4)
а L У J b о 1 v 7
с 1 0
Произведению соответствий будет отвечать логическое произведение мат-
риц Га ° 7р = Гар. Правило логического произведения внешне подобно обычно-
му произведению матриц, но операция умножения чисел заменена на операцию
представления соответствия
вычисления минимума этих чисел, а операция
сложения заменена на операцию вычисления
максимума. Понятно, что результирующая мат-
рица также будет состоять из нулей и единиц.
При графическом представлении соответствия
а элементы множеств А и В изображаются точ-
ками на плоскости. Обычно эти точки обозначают-
ся теми же символами, что и соответствующие
элементы множеств. Точки а и b соединяют на-
правленной дугой от а к Ь, если aab истинно. Например, соответствие а, заданное
матрицей (П.4), сопоставляется графу, показанному на рис. П.2.
Соответствие а:А^>В называется точным, если аа-1 На рис. П.З
показано графовое представление точного соответствия.
307
Соответствие а: Л —> 5 называется однозначным, если а 'а g . Ha рис. П.4
показано графовое представление однозначного соответствия. Однозначное соответ-
ствие а:А->В называется функциональным, если аа1 гэ iA и а-1ас1й, На
рис. П.5 показано графовое представление функционального соответствия.
Функциональное соответствие а:А—>В называется проекцией, если
aa,-1 Z) \А и а-1а = 1g . На рис. П.6 показано графовое представление проекци-
онного соответствия. Проекционное соответствие в отличие от однозначного яв-
ляется сюръективным, поскольку его образ полностью покрывает множество В.
Рис. П.5. Функциональное соответствие
Рис. П. 6. Проекционное соответствие
Функциональное соответствие a: А — > В называется инъекцией, или вложе-
нием, если aa 1 = iA и a cz . На рис. П.7 показано графовое представление
инъекционного соответствия. Инъекция двойственна проекции. Соответствие,
которое одновременно является инъекционным и проекционным, называется би-
ективным, или взаимно-однозначным.
Точное и однозначное соответствие в общем случае является частичной би-
екцией (рис. П.8). Оно отличается от инъекции только тем, что область его опре-
деления не покрывает все множество А. Инъекционное соответствие является
вариантом точного и однозначного соответствия.
308
Рис. П. 7. Инъекционное соответствие
Рис. П.8. Точное и однозначное соответствие
Важный класс соответствий образуется, когда множества А и В совпадают.
Соответствия данного класса называются эндоморфизмами. Простейший пример эн-
доморфизма уже многократно использовался в тексте — это диагональное отношение
i. В матричной форме диагональному отношению соответствует единичная матрица
1 0004
0 10 0
0 0 10
ч0 0 0 1,
Размер матрицы равен числу элементов в множестве А.
Эндоморфизм а.А^ А называется рефлексивным, если аэт Рефлексив-
ный эндоморфизм включает в себя полностью отношение равенства.
Эндоморфизм сс.А->А называется симметричным, если а = а-', и тран-
2
зитивным, если а зэ а.
Далее, комбинируя введенные понятия можно дать определения предпо-
рядка, порядка, эквивалентности.
Так эндоморфизм а; А —> А называется предпорядком, если он рефлекси-
2
вен и транзитивен, т. е. а з i и а зэ а. Предпорядок называется порядком, ес-
ли, кроме того, i = а а а-1.
Важное значение имеет понятие эквивалентности. Эквивалентностью на-
зывается эндоморфизм, обладающий свойствами рефлексивности, симметрично-
сти и транзитивности.
Графовое представление эквивалентности показано на рис. П.9. При графи-
ческом изображении эквивалентности обычно используют ненаправленные дуги.
Для соответствий а: А —> В близкими к понятию эквивалентности являются ди-
функциональные отношения. На рис. П.10 показана графовая форма дифункцио-
нального соответствия.
В матричной форме эквивалентность всегда приводится к блочно-диаго-
нальной матрице. Для данного примера матрица отношения будет иметь вид, по-
казанный на рис. П. 11.
309
Рис. П.11. Матричное представление
эквивалентного соответствия
Рис. П.12. Полное отношение
между множествами
Полное отношение в математике - это бинарное отношение, при котором
любые два элемента двух множеств соотносятся друг с другом некоторым обра-
зом. Полное отношение является частным случаем дифункционального отноше-
ния. Пример полного отношения показан на рис. П.12.
2. Свойства декартовых произведе-
ний множеств. Декартовы произведения мно-
жеств также являются множествами, и для
них применимы операции дизъюнкции и
конъюнкции. Рассмотрим основные свойства
этих операций. В графическом представлении
исходными множествами Е и D будут от-
резки прямых, а декартовыми произведения-
ми - прямоугольные области плоскости.
• Пересечение декартовых произведе-
ний. Графическая интерпретация показана
на рис. ПЛЗ. Из рисунка очевидно выпол-
нение соотношения
Рис. П.13. Графическая интерпретация
декартовых произведений множеств
310
(Ej xD|)g(£2 xD2)-(Ei пЕ2)х(А ^D2).
• Объединение декартовых произведений. На рис. П.14 показана графиче-
ская интерпретация объединений. Из рисунка следует, что
(^1 xD[)o(E2 xD2)c(E1uE2)x(D1 uD2).
(£1 x £)j) u (£2 x D2)
Рис. П.14. Графическая интерпретация объединений декартовых произведений множеств
На рис. П.15 показан частный случай объединения, когда выполнены включе-
ния Е2 с Е[ и D2 с Dj. В этом случае, очевидно, выполняется строгое равенство
(Ej хЕ>1) и(Е2 х D2) - (Е1 и Е2) х (Е>1 о D2).
3. Алгебра частичных подстановок. Рассмотрим теоретические основы
проектирования топологий модульных нейронных сетей с инъективными связями.
Под алгеброй понимается совокупность элементов, замкнутая относительно
некоторых операции. Множество допустимых операции называется сигнатурой
Рис. П.15. Частный случай объединения
декартовых произведений
алгебры, а совокупность элементов - не-
сущим множеством. В качестве несуще-
го множества рассмотрим класс функ-
циональных соответствий, заданных на
паре числовых множеств:
Л = {1,2,..., А}, В = {1,2,..., М}.
По определению (см. и. 1), функцио-
нальные соответствия являются частич-
ными точными и однозначными. В даль-
нейшем всякое функциональное соответ-
ствие, заданное на числовых множествах,
будем называть частичной подстановкой.
Частичные подстановки будем задавать в
311
виде таблицы, состоящей из двух строк. В верхней строке будут записываться
элементы множества А, а под ними их образы во множестве В. Если образ не-
которого элемента из множества А будет пустым, то в соответствующую пози-
цию второй строки будем записывать символ «*» и называть его пустым элемен-
том. Например:
Л = (1,2, 3,4, 5}, 5 = (1,2,3},
И 2 3 4 5'1
а= I.
^3 1 * 2
Столбец в таблице будем называть значимым, если он не содержит пустого
элемента. Число значимых столбцов в таблице назовем рангом частичной под-
становки и обозначим rank (а). При записи таблиц незначимые столбцы часто
будем опускать.
Рассмотрим операции над частичными подстановками. Умножение частич-
ных подстановок аналогично умножению соответствий. Способ умножения не-
посредственно виден из следующего примера:
А 2 3 4 5Y1 2 3 4'1
а В =
3 1 * 2 *
5*2*
2 5***
12|
2 5
Для того чтобы формально любое произведение сделать допустимым, оп-
ределим пустую (нулевую) частичную подстановку
о =
*
Такая подстановка не имеет значимых столбцов, ее ранг равен 0. Очевидно,
что для любой частичной подстановки
а- о = о • а = о.
Частичные подстановки oq и 0С2 будем называть независимыми, если
oq а21 - 0 •
Нетрудно показать, что из данного условия следует
О/? oq 1 = о .
Поскольку частичные подстановки являются подмножествами декартова
произведения А х В, то можно говорить об операциях конъюнкции и дизъюнк-
ции между ними, например:
2 3' _
6 5”
А 2
4 5
4 ’
2 3 3'
6 5 6
312
Точное определение операций конъюнкции и дизъюнкции следующее:
Р = cq п 0-2, если для любого а е А, ар = п ,
у = иа2, если для любого а е А, ау = ащ о <яа2 .
При выполнении операции конъюнкции результат всегда будет частичной
или нулевой подстановкой. Из приведенного примера видно, что в общем случае
операция дизъюнкции порождает соответствие, выходящее из класса частичных
подстановок. Покажем, что операция дизъюнкции над независимыми частичны-
ми подстановками всегда порождает частичную подстановку. Для этого доста-
точно проверить, что для независимых частичных подстановок а, и а2 соответ-
ствие а| и а2 является точным и однозначным, т. е. удовлетворяет условиям
(П.З). Используя первое условие из (П.З) и тождества (П.1), (П.2) получим
(a, ua2)(a| ua2) 1ua1a2 1ua2a1 1ua2a2 ' =
= ajaj-1 uaoao-1 g ia.
Аналогично доказывается однозначность. Операцию дизъюнкции над неза-
висимыми частичными подстановками будем называть прямой суммой частич-
ных подстановок и обозначать символом «® », например:
1 2 3> "4
4 5 6У ч3
ai ® а2
7 8V1 2 3 4 7 8'
17^4 5 6 3 1 7,
Ранг прямой суммы частичных подстановок, очевидно, равен сумме рангов
слагаемых:
rank(aj Ф а2) = гапк(а^) + гапк(а2)
Если множества А и В совпадают, то класс частичных подстановок вклю-
чает в себя все точные однозначные эндоморфизмы множества А на себя и, сле-
довательно, содержит как подкласс все взаимно-однозначные эндоморфизмы,
которые обычно называются подстановками (без предваряющего определения
«частичная» [107]). Такие подстановки в отличие от частичных будем называть
полными подстановками. Ранг полной подстановки, очевидно, равен числу эле-
ментов множества А и является максимально возможным рангом в классе час-
тичных подстановок.
Пусть множества А и В совпадают: А = В = {1,2,..., А] и q есть некоторая
полная подстановка, реализующая взаимно-однозначное отображение А в В:
(A)q —> В. Разобьем множество А на непересекающиеся подмножества так, что
А = А[ ® ^2 ®... ® Ak.
Аналогично поступим с образом В:
В = В-[ ® ^2 ®... ® Bj.
313
Введем для подмножеств локальную индексацию, задав ее с помощью час-
тичных подстановок
а\
. 1
а2
2
аг. A b2 b '
gl) v 1 i - Pj,
Подстановка q индуцирует локальные соответствия Рд^д подмножеств
в Вj, определяемые выражением рд
Очевидно,
к I
</ = ии<уРя/в/н71- (П.5)
Z=1 j=\
Соответствия рд.^., очевидно, являются частичными подстановками. По-
скольку подмножества Ai не пересекаются между собой (что относится и к под-
множествам 5.), то соответствия Рд.# взаимно независимы. Последнее означа-
ет, что символ объединения в (П.5) можно заменить на символ прямой суммы:
к I
z=l;=l
Таким образом, полную подстановку можно разложить в прямую сумму
частичных подстановок. Очевидно равенство
к I
rank(tf) = Е rank(p/lzB7 ) •
Z=1 /=1
4. Алгебраические решетки. Рассмотрим теоретические основы для вве-
дения понятия модальных состояний структурной модели, используемого для
расчета пластичности модульных нейронных сетей.
Бинарное отношение а на множестве А называется частичным порядком,
если оно рефлексивно, транзитивно и антисимметрично, т. е.
2 -1
tea, а са, а nact.
Легко проверить, что на самом деле выполняется:
tea, a2=a, a-1na = i.
Для обозначения отношения частичного порядка обычно используется сим-
вол «< », и если а < b, то говорят, что а меньше или равно b. Если а < b и
а^Ь, то пишут а < b и говорят, что а строго содержится в b. Отношение « < »
называется еще просто порядком. Очевидно, это отношение не является рефлек-
сивным, так как а < а - ложь.
314
а
Элементы а, b множества А называют сравнимыми относительно частич-
ного порядка « < » на этом множестве, если а<Ь или b < а. Частичный порядок
«<» на множестве А называется линейным порядком, если любые 2 элемента а,
b сравнимы относительно «<».
Говорят, что элемент b непосредственно следует за элементом а, а эле-
мент а непосредственно предшествует элементу b, если а < b, элементы а и b
различны и не существует элемента х, отличного от а и b, который удовлетво-
<х<Ь. В этом случае интервал [а, б] называется про-
Строение конечных упорядоченных множеств удоб-
но задавать при помощи диаграмм. Элементы множества
изображаются точками, расположенными на разных го-
ризонталях, причем непосредственно большие элементы
соединяются опускающимися линиями с непосредствен-
но меньшими. Например, если А = {а, Ь, с] и а < b, а<с,
а элементы b и с несравнимы, то диаграмма будет
иметь вид, показанный на рис. П.16.
Элемент т е А называется максимальным в А, если каждый элемент х из
А либо не сравним с т, либо х < т. В частично упорядоченном множестве мо-
жет быть несколько максимальных элементов, аналогично определяется понятие
минимального элемента. Например, на диаграмме (рис. П.17) максимальными
являются элементы а^, а$, а^, а%, а минимальными — а\, я7, а%.
Пусть на множестве А задан частичный
порядок <, и подмножество В с А. Элемент
а g А называется верхней границей для В в
А, если Ь< а для всех b В. Элемент а е А
называется наибольшим в А, если а служит
верхней границей для самого множества А.
Аналогично определятся понятия нижней гра-
ницы подмножества В в А и наименьшего
элемента в А.
Решетки. Пусть А - частично упорядоченное множество и В - его под-
множество, обладающее несколькими верхними границами. Если среди верхних
границ для В есть наименьшая, то она называется верхней гранью множества В.
Аналогично определяется нижняя грань для В. На диаграмме (рис. П.18, а)
элементы т\, т^, - верхние границы подмножества В = {Z^, /ъ, ^з}- Элемент
m3 является верхней гранью множества В. На рис. П.18, б элемент с является
стым интервалом.
Рис. П.16. Графическое
представление
упорядоченных множеств
Рис. П.17. Диаграмма упорядоченного
множества с максимальными
и минимальными элементами
315
верхней гранью для подмножества \b, d, а, т]. Элементы а и с являются ниж-
ними границами для подмножества {b, с, d], однако нижней грани для данного
подмножества не существует, так как а и т несравнимы.
Рис. П.18. Упорядоченные множества с верхними гранями
Частично упорядоченное множество А называется верхней полурешеткой,
если каждая пара его элементов имеет верхнюю грань, и нижней полурешеткой,
если каждая пара элементов из А имеет нижнюю грань. Множество А называет-
ся решеткой (или структурой), если каждая пара элементов из А имеет верхнюю
и нижнюю грани. Например, решеткой относительно включения является сово-
купность подмножеств множества А. Если Ау с А и А^ а А, то верхнюю грань
можно определить как Ay и А?, а нижнюю как Ay п А%. Верхнюю грань элемен-
тов обозначают av b, или а + b. Нижнюю грань элементов обозначают а /\Ь,
или а-b. Очевидно, каждая пара элементов может иметь только одну верхнюю и
одну нижнюю грани (если они существуют), поэтому нахождение граней можно
трактовать как результат выполнения операции. В этом смысле решетка эквива-
лентна алгебре с несущим множеством А и сигнатурой {+, •}. Такая алгебра на-
зывается абстрактной решеткой. Для операций абстрактной решетки справедли-
вы следующие формулы:
R1) а + а = а, а-а = а законы идемпотентности;
R2) а + b = b + а, a-b = b-a - законы коммутативности;
R3) а + (b + с) = (а + Ь) + с, (а • Ь) • с = a-(b с) - законы ассоциативности;
R4) а • (а + Ь) = а, а + (а -Ь) = а - законы поглощения.
Обратно, на алгебре U = [А, +, с операциями, удовлетворяющими услови-
ям R1-R4, можно задать отношение упорядоченности, положив а <Ъ, если
a + b = b, или а<Ь, если ab = a (операцию «•» здесь и далее будем опускать).
Элементы 0 и 1 некоторой абстрактной решетки U называются ее нулем и еди-
316
ницей, если для любого а справедливо: Q + а = а и 1-а = а. Это означает, что О
и 1 являются соответственно наименьшим и наибольшим элементами. Абст-
рактная конечная решетка Uс элементами а\, ..., ап обязательно имеет нуль и
единицу, а именно
a-\ci2,..., ап = 0, aj +а2 + ... +ап =1.
Решетка С/ с нулем и единицей называется решеткой с дополнениями, если
для каждого ее элемента существует дополнительный элемент а', удовлетво-
ряющий равенствам а + а' = \, аа' = 0.
В произвольных решетках дополнительные элементы определяются неод-
нозначно, например, в решетке, показанной на рис. П.19, б, для элемента а до-
полнительными элементами являются b и с .
а б
Рис. П.19. Примеры алгебраических решеток:
а - немодулярная решетка; б - не дистрибутивная решетка
Модулярные и дистрибутивные решетки. Решетка U называется моду-
лярной (или дедекиндовой), если ее элементы удовлетворяют модулярному закону
a(.ab + c) = ab + ac, (П.6)
и дистрибутивной, если элементы из U удовлетворяют дистрибутивному закону
а(Ь + с) = ab + ас. (П.7)
Примером дистрибутивной решетки является решетка всех частей какого-либо
множества. Всякая дистрибутивная решетка является модулярной, так как из
(П.6) имеем
a(ab + с) = aab + ac = ab + ac.
Покажем, что решетка, построенная на множестве натуральных чисел с опера-
циями a+ b = шах (а, Ь) и ab = min (а, Ь), является дистрибутивной. Прежде все-
го докажем, что она модулярна. Модулярный закон (П.6) эквивалентен условиям:
a(b + с) = ab + ас, b < а.
Пусть с < b < а, тогда
317
a(b + с) = ab = b, ab + ac = b + c = b.
Пусть b < a < с, тогда
a(b + с) = ac = a, ab + ac = b + a = a.
Таким образом, условие модулярности выполнено. Аналогичным образом, при
Ь> а рассматривая условия с>Ь> а и Ь> с> а, нетрудно показать, что дистри-
бутивность выполняется также. Для модулярной решетки справедлива теорема.
Теорема 1 (Скорняков - «закон сокращения»). Если а ,Ь, с - элементы мо-
дулярной решетки и (а + Ь)с = 0, то а (b + с) = ab.
Доказательство. Используя законы поглощения можно записать
а(Ь + с) = а (а + b)(b(a + Ь) + с).
Далее, используя модулярный закон и подставляя в данное выражение исходные
условия получим:
a((tz + b)b + (а + b)c) = а((а + b)b + 0) = ab .
На рис. П.19, а показан пример немодулярной решетки. Для данной решет-
ки ab = а, а + с = 1, ас = О, b + с = 1, Ьс = 0. Для доказательства немодулярности
достаточно показать, что существует по крайней мере одна такая пара элемен-
тов, для которой условие (П.6) нарушено. Рассмотрим тройку элементов а, Ь, с:
a(ab + с) = а (а + с) = al = а,
ab + ac-a + 0-a
здесь условие выполнено;
b(ba + с) = Ь(а + с) = bl = Ь,
ba + bc = a + 0 = a^b
здесь условие не выполняется.
На рис. П. 19, б показан пример недистрибутивной решетки. Для данной
решетки
а + b = 1, b + с -1, а + с = 1, ab = 0, Ьс = 0, ас = 0.
Следовательно,
а(Ь + с) = al = а,
ab + ac = 0 + 0^а,
т. е. условие дистрибутивности не выполняется. Тем не менее, эта решетка явля-
ется модулярной.
Теорема 2 (Мальцев). В дистрибутивной решетке с нулем и единицей каж-
дый элемент может иметь не более одного дополнительного, причем, если эле-
менты а и b имеют дополнительные а' и Ь', то
(а') = а, (a + b) =a'b', (ab)=a' + b'. (П.8)
Доказательство. Если а' и а" - дополнения для а, то, умножая равенство
а + а' = 1 на а" и пользуясь дистрибутивным законом и соотношением
318
аа" = 0,1 • а” = а", получим а'а" = а". Меняя ролями а' и а” найдем а"а' = а', отку-
да а' = а" - единственность установлена. Далее имеем {а + b) a'b' = aa'b + a'bb' = 0,
а + b + a'b' - a(b + b') + (а + a'^b + a'b' = ab + ab' + a'b + а'Ь' = (а + a')(b + />') = 1.
Следовательно, а + Ь является дополнением для а'Ь', и поэтому (а 4- Ь) = а'Ь'.
Аналогично доказываются и остальные равенства .
Дистрибутивная решетка с дополнениями называется решеткой Буля. В ре-
шетке Буля взятие дополнения естественно рассматривать как особую унарную
операцию, связанную со сложением и умножением тождествами (П.8), и рас-
сматривать решетку как алгебру с сигнатурой {+, •,'} (алгебра Буля).
Если а и Ь - элементы решетки, причем а < Ь, то множество
[а, 6] - < х < b] называется интервалом. Интервал, содержащий в точности 2
различных элемента, называется простым интервалом. Элемент р решетки U
называется минимальным элементом, или атомом, если ему непосредственно
предшествует только нулевой элемент решетки. Очевидно, что любой атом об-
разует простой интервал [0, р\.
Теорема Стона (Мальцев). Каждая конечная алгебра Буля U изоморфна
алгебре ее атомов.
Доказательство. Поскольку алгебра конечна, то заведомо существует мно-
жество атомов. Обозначим их совокупность через М . Пустой части М поставим
в соответствие нуль алгебры U, а части М, состоящей из некоторых элементов
ту, m2,..., т^, поставим в соответствие сумму этих элементов в U. Остается по-
казать, что определенное таким образом отображение ср алгебры частей М в ал-
гебру U есть изоморфизм между ними. Покажем прежде всего, что каждый нену-
левой элемент из U представим в виде суммы элементов из М. Тем самым будет
показано, что ср есть отображение на алгебру U. Пусть a g U, а / 0. Если а^М ,
то все доказано, если же а £ М , то а — не минимальный элемент и поэтому най-
дется такой элемент Ь, что а>Ь>0. Тогда а = a(b +b') = ab + ab', причем
а> ab и а > ab'. Если ab и ab' — атомы, то опять все доказано, если же нет, то
повторяем процесс над ними. Поскольку алгебра U конечна, то указанный про-
цесс оборвется и получим некоторое разложение а в сумму атомов. Остается по-
казать взаимную однозначность отображения (р, т. е. единственность представле-
ния каждого элемента в виде суммы различных атомов. Пусть
а = Р\ + Р2 +--- + Ps=S\+g2 +--- + gt
- 2 таких разложения. Умножая обе части на р^ получим
Pi =Pig\ + Pig2 +- + Pigf
319
Поскольку pi, gj — атомы, то произведение pigj тогда и только тогда отлично
от нуля, когда pi = g j . Поэтому каждый член первой суммы встречается во вто-
рой и наоборот. Сохранение операций сложения, умножения и взятия дополни-
тельного элемента при отображении ср очевидно .
Независимость. В модулярных решетках с нулем может быть развито уче-
нье о независимости, обобщающее известное понятие линейной алгебры. Имен-
но элементы а\, ,..., ап называются независимыми, если
(а^ + а\ +... + а^ + яг-+1 +... + ап ^at = 0 для всех i = 1, 2,..., п.
Пусть р\, Р2,.. •, рп - атомы решетки U. Будем говорить, что решетка имеет
атомарное покрытие, если единичный элемент решетки представим суммой атомов
1 = Р\ + Р2 + • • • + Рп •
Минимальное число атомов, достаточное для покрытия решетки, назовем
минимальным покрытием.
Теорема 3 (Скорняков). В решетке с конечным атомарным покрытием ато-
мы являются независимыми элементами.
Доказательство. Пусть 1 = р\ + р^ +... + рп - минимальное покрытие и pj -
некоторый атом, принадлежащий этому покрытию. Рассмотрим возможные от-
ношения между атомом pt и остальным покрытием:
1. Если pi < (р\ + р2 +... + Pi~[ + Pi+\ + ... + рп) и при этом pi - атом, то
либо pi(px +р2 +... + А-1 +Pi+1 +--- + Рп) = °’
либо pi(p} +Р2 +... + А-1 +Pi+1 +- + Pn) = Pi-
Если произведение равно нулю для всех i, то атомы являются независимыми, а
покрытие решетки представляет собой прямую сумму атомов. Если произведе-
ние равно pi, тогда
1 = (Л +Р2 +--- + Я-1 + Pi+\ + - + Pn) + Pi =
= (А +Р2 + ••• + Pi-\ + Pi+\ + --- + Рп)’
но последнее означает, что для единицы существует покрытие «меньше мини-
мального», что противоречит определению минимальности, а следовательно,
данный случай должен быть исключен из рассмотрения.
2. Если pi>(p} +Р2 +... + А-1 +Pi+1 +--- + Рп)’ тогда
1 = А +(Л +Р2 + --- + Л-1 +Pi+1 +--- + Pn) = Pi’
т. е. вновь образуется покрытие меньше минимального, а потому такой случай
невозможен. Таким образом, остается единственный вариант
1 = Р\ ®Р2 ®-..®Рп-
320
Теорема 4 (Скорняков). Если сц, а2,ап независимы и I,J - некоторые
подмножества множества {1,2,..., и}, то
0, если I пусто;
2М2Л/ = L в противном случае.
Vie/ Д/eJ , [zte/nJ
Доказательство приведено в [99].
Пусть , р2,..., рп - некоторая фиксированная система атомов решетки
U, образующая ее минимальное покрытие. Рассмотрим множество элементов
W, которые имеют атомарные покрытия из данной фиксированной системы ато-
мов. По теореме 4 произведение элементов множества W принадлежит этому
множеству. Очевидно, то же самое справедливо для операции суммирования.
Следовательно, порожденное множество является подрешеткой решетки U.
Покажем, что подрешетка W является дистрибутивной. Рассмотрим 3 про-
извольных элемента [a, b, с} g W, и пусть их атомарные покрытия имеют вид:
« = Еа-’ c = XPi’
i&l i&J ieK
где I, J, К- множества индексов для атомов щ . Тогда
a(b+c)=f^ai}(^ai + E^WE^Y Е аЛ= Е ai =
\i<=I J\isJ i<=K ) \jel z
E ai= E ai+ E <*i=<*b + ac.
ie(lnK)
Дистрибутивность доказана. На основании теоремы Стона верно и обратное ут-
верждение: если конечная решетка дистрибутивна, то каждый ее элемент имеет
атомарное покрытие.
Функция размерности. На решетке U с атомарным покрытием можно оп-
ределить целочисленную функцию, обладающую следующими свойствами:
1) если [х, у] - простой интервал, то d(у) = d(х) +1;
2) <7(х + у) = d(х) + d(у) - d(ху) для любых х, у е U.
Простая индукция показывает, что
dФ z?2 Ф • • • Ф ап ) = d) + d(а2) + ...+ d(ап ).
В частности, если р\, р2,рп - система атомов и d(0) = 0, то
d(p\ ®p2®...®pn) = d(pi) + d(p2) + ... + d(pn) = n.
Решетка подпространств. Рассмотрим множество U подпространств ли-
нейного пространства Е и определим на этом множестве операции алгебраиче-
321
ской решетки. Нижней гранью подпространств А и В будем считать их пересе-
чение, а верхней гранью - линейную оболочку двух подпространств. Нулевому
элементу поставим в соответствие подпространство, состоящее из нулевого век-
тора, а единичному элементу - все подпространство Е. Легко проверить, что все
законы решетки при данном определении выполнены.
Покажем, что решетка подпространств U модулярна. Пусть А, В, С - про-
извольные подпространства пространства Е, необходимо показать, что выпол-
нено тождество
А(АВ + С)= АВ + АС.
Данное тождество эквивалентно двум условиям:
А(В + С) = В + АС,
Вс А.
Из последнего условия следует
В + АС^А. (П.10)
Поскольку АС^С, то В + АС (= В + С. Из (П.9) и (П.10) следует
А(В + С) В + АС. Покажем теперь, что любой вектор х е А(В + С) принадле-
жит и подпространству В + АС. Если х А(В + С), то хе А и хе В или хеС.
Если х еВ, то очевидно, х е В + АС . Если х е С, то хе АС и, следовательно,
х е В + АС .
Решетка градуированных подпространств. Пусть Е - конечномерное
пространство размерности п . Если вместе с пространством задано некоторое его
разложение в прямую сумму подпространств, то такое пространство называется
градуированным. Зададим условие градуировки в виде разложения в прямую
сумму подпространств:
Е = Ф е2 Ф... Ф еп, (П. 11)
где ez - одномерные подпространства, такие, что ezney=0, если i^j, и
е,- п ez = ez о ez = е,. В терминологии решеток подпространства ez можно трак-
товать как набор атомов, а условие градуировки (П.11) - как атомарное покры-
тие решетки.
Множество подпространств пространства Е вместе с операциями пересе-
чения и объединения подпространств образуют модулярную решетку U. Среди
всех подпространств пространства Е выделим подмножество, каждый элемент
которого имеет атомарное покрытие в системе атомов {ez }. Такие подпростран-
ства назовем градуированными подпространствами. Как было показано ранее,
множество градуированных подпространств замкнуто относительно операций
322
пересечения и объединения и образует подрешетку W модулярной решетки U,
причем такая решетка является дистрибутивной.
5. Применение теории категорий для исследования модульных систем.
Современные подходы к анализу сложных систем основаны на общем математи-
ческом аппарате абстрактной алгебры - теории категорий [108]. Использование
теории категорий позволяет: во-первых, унифицировать модели для различных
уровней стратифицированного представления; во-вторых, математически строго
выразить коннекционизм модульных систем.
Понятие категории было введено в математику в 1945 г. С. Эйленбергом и
С. Маклейном и первоначально применялось для исследования некоторых во-
просов гомологической алгебры. Во второй половине 1960-х гг. стало ясно, что
идеология теории категорий является универсальным средством для комплекс-
ного изучения математических объектов вместе с отображениями этих объектов
друг в друга. Задачи такого рода широко представлены в различных областях
науки, и поэтому теория категорий быстро вышла за рамки гомологической ал-
гебры и наряду с теорией множеств в настоящее время определяет фундамент
современного научного мышления. Абстрагируясь от природы объектов, теория
категорий изучает свойства совокупностей отображений, снабженных частичной
операцией умножения, которая имеет очень широкую трактовку, охватывающую
все многообразие бинарных операций абстрактной алгебры.
Модульная нейронная сеть обладает ярко выраженной морфологией, пред-
ставленной совокупностью нейронных модулей и межмодульных связей, поэтому
использование теории категорий для построения математических моделей вполне
отвечает природе модульной сети. Следует подчеркнуть, что математическая ка-
тегория как модель в целом представляет все возможные реализации нейронной
сети заданной структуры, т. е. описывает сразу весь класс проектных решений.
В зависимости от способа построения категория нейронной сети может описывать
либо уровень обработки данных, либо уровень топологии межслойных связей, ли-
бо уровень структуры модульной нейронной сети. Стратификация модельных
представлений позволяет упростить задачи анализа и синтеза нейронных сетей.
По определению, категория 91 — это набор объектов (ОЬ91) вместе с набо-
ром отображений между объектами (Мог91). Отображения называются морфиз-
мами категории и обладают следующими свойствами:
1) каждый морфизм категории 91 принадлежит только одной паре объектов
Л,5еОЬ91;
2) в классе Мог 9? введена частичная бинарная операция умножения: про-
изведение аР морфизмов а е Мог (А, В) и Pg Mor (С, D) определено тогда и
323
только тогда, когда объект В совпадает с объектом С, и в этом случае
0,0 е Мог (Л, D). Объект А называется началом морфизма, а объект В - концом;
3) частичное умножение ассоциативно: (а0)у = а(0у) для любых трех мор-
физмов а е Мог (Л, В), 0 е Мог (В, С), у g Mor (С, £>);
4) в каждом множестве Мог(5, В) содержится такой морфизм 1 g, называе-
мый тождественным или единичным морфизмом объекта В, что а1д=а и
1^0 = 0 для любых морфизмов а е Мог (А, В) и 0 е Мог (В, С).
Поясняющий пример. Рассмотрим категорию линейных векторных про-
странств. Объектами категории являются конечномерные линейные пространства.
Множества Мог (А, А) представляют собой всевозможные линейные операторы,
действующие на этих пространствах. Отображениями между объектами являются
множества линейных отображений между векторными пространствами.
Принцип двойственности. Каждой категории 9? можно сопоставить но-
* *
вую категорию 9? . Объекты и морфизмы категории 9? взаимно-однозначно
сопоставляются с объектами и морфизмами категории 9?. Для любой пары объ-
ектов А*, В* g ОЬ 91* по определению полагают Мог(л*, В ) = Мог(В, А), и для
*4«4с*** * * - *
любых морфизмов а :А -> В и р :В —» С справедливо а р = (рос) . Кате-
4с
гория 9? называется двойственной категорией.
Из существования для каждой категории двойственной категории вытекает
наличие в теории категорий принципа двойственности, согласно которому для
каждого высказывания Р относительно категории 9? существует высказывание
4с 4с 4с
Р в категории 9? , которое получается при интерпретации в категории 9? вы-
сказывания Р. Практически двойственное высказывание получается из исходно-
го сохранением логической структуры высказывания и заменой в его формули-
ровке всех входящих в него логических стрелок на противоположные, а всех
встречающихся в формулировке произведений морфизмов — произведениями
морфизмов, записанных в обратном порядке. Таким образом, доказательство ис-
тинности некоторого утверждения Р для всех категорий есть одновременно дока-
*
зательство истинности двойственного утверждения Р . Высказывание Р называ-
*
ется самодвойственным, если оно совпадает с двойственным высказыванием Р .
Для категории конечномерных пространств переход к двойственной кате-
4s
гории 9? по существу реализуется сопоставлением каждому линейному про-
4s
странству А сопряженного ему пространства А и каждому линейному отобра-
жению а: А В индуцированного линейного отображения сопряженных про-
* * *
странств а :В —> А .
324
Категория 9? - двойственная категории 9? - отождествляется с категори-
ей 9?, поэтому операцию «*» можно рассматривать как отображение между ка-
тегориями, удовлетворяющее условиям:
**
1) А = А для любого объекта категории 9?;
**
2) а = а для любого морфизма категории 9?.
Отображение между категориями принято называть функтором. При системном
исследовании в ряде случаев удобно прямую и двойственную категории рас-
сматривать как одну категорию, в которой определен функтор «*» (называемый
инволюцией) и каждое множество морфизмов Мог(Л, В) упорядочено отноше-
нием включения «с» так, что выполняются следующие условия:
* *
1) если аср, то а ср ;
2) если аср и определены композиции ера, <р(3 либо а(р, (3<р, то (рассрр
и аср с (Зср -
Категория, удовлетворяющая свойствам 1-8, называется категорией с инволю-
циями, или OI -категорией.
Классификация морфизмов. Классификация морфизмов повторяет класси-
фикацию соответствий, представленную в п. 1, и приводится далее, чтобы под-
черкнуть преемственность различных разделов абстрактной алгебры. Морфизм
* *
а:А— >В называется точным, если аа <^1^; однозначным, если аас1й;
4с *
сюръективным, если а а = 1g. Морфизм функционален, если аа zd 1 д и
* *
а а о 1 g. Функциональный морфизм называется инъекцией, если аа = 1 д и
* * *
а ас и проекцией, если аа сэ \д и а а = 1g . Инъекция и проекция двойст-
венны относительно композиции и порядка. Функциональный морфизм, одно-
временно являющийся инъекцией и проекцией (аа = 1д и а а = 1g), называет-
ся биекцией. Очевидно, что точный и однозначный морфизм является частичной
биекцией. Чтобы упростить терминологию, для инъекции, биекции и частичной
биекции часто используется один термин - инъекция.
Для каждого уровня стратифицированной модели модульной нейронной се-
ти можно построить описание в виде категории. Для морфологического уровня
категория была описана в основном тексте издания и использовалась при дока-
зательстве генезиса слабосвязанной сети. В работах [102]—[104] представлены
категории, описывающие топологический уровень, структурный и сигнальный
уровни стратифицированной модели.
Электронное научное издание
Дорогов Александр Юрьевич
ТЕОРИЯ И ПРОЕКТИРОВАНИЕ БЫСТРЫХ
ПЕРЕСТРАИВАЕМЫХ ПРЕОБРАЗОВАНИЙ
И СЛАБОСВЯЗАННЫХ НЕЙРОННЫХ СЕТЕЙ
Подписано в печать 11.12.2013.
Электронных текстовых данных 2,5 Мб.
Электронный текст подготовлен АО «Издательство “Политехника”».
191023, Санкт-Петербург, Инженерная ул., д. 6.
www.polytechnics.ru
9
785732
510362