Сглаживание адаптивных сеток, построенных методом самоорганизующихся карт

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2008 Управление, вычислительная техника и информатика № 4

УДК 519.9

О.И. Нечаева

СГЛАЖИВАНИЕ АДАПТИВНЫХ СЕТОК, ПОСТРОЕННЫХ МЕТОДОМ САМООРГАНИЗУЮЩИХСЯ КАРТ

Статья посвящена проблеме сглаживания адаптивных сеток, полученных с помощью нейросетевой модели самоорганизующихся карт Кохонена (SOM).

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

Ключевые слова: Адаптивные сетки, сглаживание, самоорганизующиеся карты Кохонена, граничный эффект.

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

Использование адаптивных сеток в задачах численного моделирования позволяет повысить точность приближенного решения задачи без существенного увеличения числа узлов. Среди всех типов сеток можно выделить важный класс, в котором адаптивные сетки получаются в результате отображения некоторой вычислительной области на физическую, переводящего зафиксированную, обычно равномерную, сетку в адаптивную с заданным распределением плотности. К методам построения сеток этого класса относятся такие традиционные методы [3], как метод эквираспределения, метод Томпсона, эллиптический метод и т.д. Для получения качественных адаптивных сеток все эти методы, а также алгебраические методы и методы конформных отображений [4], в конечном счете, требуют решения сложных систем нелинейных дифференциальных уравнений (ДУ) с частными производными. Необходимость решения ДУ накладывает ряд ограничений на возможности этих методов, к числу которых относятся жесткий контроль над способами задания физической области и функции плотности сетки, контроль над свойствами граничных и начальных данных, проблемы при попытках автоматизации работы с этими методами и их эффективного распараллеливания.

Одним из альтернативных и многообещающих подходов [5] к построению адаптивных сеток (не только рассматриваемого класса) является использование стохастических нейросетевых моделей самоорганизации, таких как самоорганизующиеся карты Кохонена (Self-Organizing Maps, SOM), растущий нейронный газ (Growing Neural Gas, GNG), растущие клеточные структуры (Growing Cell Structures, GCS) [6]. Принципы самоорганизации, заложенные в этих моделях, позволяют строить сетки с произвольными начальными данными и автоматической расстановкой узлов по границе физической области; стохастическая природа моделей снимает требования с функции плотности сетки, так как плотность контро-

лируется вероятностным распределением; внутренний параллелизм, присущий нейросетевым моделям, делает возможным эффективно распараллеливать алгоритмы построения адаптивных сеток [5].

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

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

Граничный эффект - это известная проблема нейросетевой модели SOM. Несколько подходов по его преодолению было предложено ранее, к их числу, например, относятся правило весов Кохонена [6] и реализация модели SOM на сферической решетке Риттера [8]. Однако первый подход не учитывает размер радиуса обучения, который напрямую влияет на граничный эффект и является ключевым параметром при сглаживании сетки. Второй подход неприменим при построении адаптивных сеток рассматриваемого класса. так как требует изменения структуры зафиксированной сетки. Методика, предлагаемая в данной статье, не требует изменения структуры зафиксированной сетки и воздействует только на алгоритм обучения для модели SOM, сохраняя все перечисленные ее свойства. Автор надеется, что предложенная в данной статье методика окажется полезной не только при построении адаптивных сеток, но и в других многочисленных применениях модели SOM, таких, как обработка изображений, сжатие данных, реконструкция поверхностей и др.

1. Использование модели SOM для построения адаптивных сеток

Пусть в евклидовом пространстве RG с системой координат (x1,..., xn) задана физическая область G, на которой требуется построить адаптивную сетку. Пусть Q - это вычислительная область в пространстве RQQ , k < n , с системой координат

(q1,..., qk). В вычислительной области Q зафиксирована некоторая сетка, множество узлов которой обозначается QN = qN}, где N - количество узлов сетки,

q; е Q, qt = (q1,..., qf), i = 1,...,N . В данной статье предполагается, что зафиксированная сетка является равномерной прямоугольной, что, вообще говоря, необязательно при построении сетки с использованием модели SOM. Пусть dg - это шаг зафиксированной сетки QN по горизонтальному и вертикальному направлениям. Требуемая плотность адаптивной сетки задается функцией плотности сетки

w: G ^ R + .

Согласно классической постановке задачи построения адаптивных сеток рассматриваемого класса, требуется найти отображение Q на G, которое переводит сетку Qn, трансформируя ее, в искомую адаптивную сетку GN с заданной функцией плотности. При отображении граничные узлы сетки Qn должны переводиться в граничные узлы сетки GN, распределенные по границе G. Пусть Nb - это число граничных узлов сетки, а N^t - число внутренних узлов.

Для использования нейросетевой модели SOM при построении адаптивных сеток нейроны ставятся в соответствие узлам сетки. При этом количество нейронов совпадает с числом узлов N, положения нейронов в нейронном слое модели SOM задаются координатами узлов qt зафиксированной сетки Qn, а их веса соответствуют координатам x, искомой адаптивной сетки GN, которые требуется найти в процессе обучения SOM. Таким образом, нейрон в модели SOM рассматривается как пара е, = (q,, x,). Каждые два нейрона е, и е,, i, j = 1,...,N, в нейронном слое связаны латеральной связью, вес которой тем меньше, чем больше расстояние между этими нейронами || q, - q, ||. В качестве входных данных для модели SOM используются случайные точки области G, сгенерированные с заданным вероятностным распределением p(x). Это распределение пропорционально функции плотности сетки w(x) и имеет вид р(х) = w(x) / J w(z)dz .

G

Алгоритм обучения нейронной сети SOM, предложенный Кохоненым [6], заключается в следующем. На каждой итерации t алгоритма обучения модели SOM, генерируется случайная точка у из области G, выбирается ближайший к ней узел сетки xm (t), и все нейроны корректируют свои веса в соответствии с формулой

xi

где 5(t) e [0,1] отвечает за шаг обучения, а nqm (t, qt) e [0,1] задает вес латеральной

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

Следуя [5], функция шага обучения в данной работе выбиралась в виде

5(г) = t-0,2x(t), где x(t) = 1 - e5(t-TT и T - это максимальное количество итераций, которое фиксируется до начала итерационного процесса пропорционально N (например, T = 10N). Пусть By (q) - это замкнутая окрестность точки q в вычислительной области радиуса у, т.е.

(?) = {Р е RQ I d(р, q) <у} ,

где d (•, •) - это евклидово расстояние. Функция, задающая веса латеральных связей, в данной работе имеет следующий вид:

Г d (g„ Ai) f V (t, q) = r(t) J ,

где se(0,1) - заранее зафиксированная, близкая к нулю константа (например, s = 10-5), а r(t) - это радиус обучения на шаге t, смысл которого заключается в том, что веса латеральных связей между нейроном em и всеми нейронами е,, расположенными в пространстве RQ внутри сферы Br) (qm) радиуса r(t), не меньше s, т.е. Vqt е Br(qm) (t, qt) > s . Функция nqm (t, q,) удовлетворяет также

следующим условиям:

(1) если d(дт, дг.) = г() , то Пдт О, 9;) = ;

(2) Пдт О, Чi) = ПЧ1 (, Чт), т.е. латеральная связь между дт и д1 симметрична;

(3) П9т О, ят) = 1.

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

Г(г) = Г(Т) + х(г)(г(1) 0,05'/т - г(т)) г-0’25.

Здесь г(1) и г(Т) - начальный и конечный радиусы, г(1) > г(Т).

Как показано в [5], приведенный выше алгоритм обучения модели SOM в чистом виде неприменим для построения сеток. Для того чтобы получать приемлемые адаптивные сетки, в [5] предлагается композиционный алгоритм построения сеток, основанный на чередовании применения алгоритма SOM к граничным и внутренним узлам. В результате граничные узлы автоматически растягиваются по границе, а внутренние узлы, согласуясь с граничными, заполняют внутренность области. При использовании такой композиции можно не только исключить нарушения топологии сетки и значительно снизить количество узлов, вышедших за границу области в случае сложных невыпуклых областей, но и преодолеть граничный эффект при малом радиусе обучения. Так, в конце итерационного процесса рекомендуется использовать такие значения радиуса г(Т) , чтобы окрестность Д-(/)(9/) захватывала только ближайших соседей узла д,. Однако такой маленький радиус обучения ведет к негладким адаптивным сеткам, что может явиться причиной снижения точности последующих расчетов на этих сетках. Связь гладкости результирующих сеток, радиуса обучения и граничного эффекта подробно рассматривается в следующем пункте.

2. Измерение гладкости и демонстрация граничного эффекта

Для измерения гладкости четырехугольных адаптивных сеток можно рассматривать ломаные, являющиеся образом вертикальных и горизонтальных линий зафиксированной сетки 0\- при отображении, которое осуществляет SOM. Сегменты этих ломаных связывают соответствующие узлы сетки GN. В двумерном случае гладкость ломаной может быть измерена значениями синусов углов между сегментами вдоль ломаной. Чем меньше число перемен знаков и амплитуда этих синусов, тем ломаная является более гладкой. В трехмерном случае, поскольку сегменты ломаной у трехмерной сетки, как правило, не лежат в одной плоскости, удобно измерять абсолютное значение синусов без знака.

Для демонстрации влияния радиуса обучения на гладкость сеток и на граничный эффект был поставлен следующий эксперимент. Сначала с помощью композиционного алгоритма была построена сетка с искусственно маленьким финальным радиусом обучения г(Т) = 0,5^е (т.е. к концу итерационного процесса окрестность Д.(,)(дт) даже не захватывала ближайших соседей). Далее, внутренние узлы

сетки в течение некоторого количества итераций обрабатываются процедурой обучения SOM с постоянным коэффициентом обучения, в котором шаг был зафиксирован как 5 = 0,005, а радиус - в виде r(T) = 10dg. При этом граничные узлы не меняли свое положение, но имели право становиться победителями, чтобы обеспечить согласованность внутренних и граничных узлов (такой же механизм согласования используется и в композиционном алгоритме). Описанный эксперимент проводился в двумерном и трехмерном случаях.

Сетки, построенные композиционным алгоритмом с маленьким радиусом (рис. 1, а и d), негладкие даже зрительно, и на графиках рис. 1, с и f серые линии показывают большие значения синусов с многочисленными переменами знаков вдоль одной из ломаных сетки. Гладкость обработанных сеток (рис. 1, b и е) намного лучше, что показывают графики. Однако полученные сетки неприменимы для вычислений из-за сильного граничного эффекта, проявившегося из-за большого радиуса обучения. Итак, главной задачей при получении достаточного уровня гладкости сеток является борьба с граничным эффектом.

0,8

0,4

0,4

Т-------1-------1------1------1------г

13 17 21 2S 29 33 37

Рис. 1. Измерение гладкости сеток; a и d - сетки, полученные композиционным алгоритмом с искусственно маленьким конечным радиусом обучения r(T) = 0,5dQ b и e - сетки, полученные применением процедуры SOM с постоянным коэффициентом обучения при r(T = 10dg'; c иf - измерения гладкости сеток

0

3. Балансировка граничного эффекта

После работы композиционного алгоритма все узлы сетки распределены по физической области в соответствии с заданным распределением плотности. Следовательно, предполагается, что для этой сетки выполняется условие равноправия узлов [8]: каждый узел имеет одинаковые шансы стать победителем при случайно сгенерированной входной точке, и соответствующая вероятность равна 1/М В

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

Граничный эффект возникает из-за несимметричности латеральных связей у нейронов, которые расположены близко к границе вычислительной области. Пусть q, - это внутренний нейрон, для которого расстояние до границы вычислительной области больше радиуса обучения г. Структура сетки Qn такова, что все нейроны q, из Br(q,) располагаются симметрично относительно q,. Согласно выбору коэффициента обучения, значения весов латеральных связей nq, (q;) также располагаются

симметрично относительно q,. Если при этом учитывать условие равноправия узлов, то на нейрон q, с одинаковой вероятностью может быть оказано воздействие любым другим нейроном q,. В физической области это означает, что узел х, имеет одинаковую вероятность сдвинуться симметрично во всех направлениях под влиянием нейронов из Br(q,). Так как s близко к нулю, то предполагается, что взаимное влияние между нейронами q, и q, g Br (qt) пренебрежительно мало.

Если расстояние от q, до границы вычислительной области меньше r, то в окрестности Br(q;) расположено недостаточно нейронов для симметрии. В этом случае большинство нейронов в Br(q;) заставляют узел х, двигаться в основном к центру физической области. Поэтому для балансировки асимметрии узел x, вынужден отодвигаться от границы G.

Для оценки асимметрии предлагается рассмотреть следующую характеристику нейрона е,:

ai = Z П,

i^Br

Для каждого нейрона эта характеристика равна сумме весов латеральных связей со всеми другими узлами из окрестности Br(q;). Если q, расположен близко к границе Q, то в сумме недостаточно слагаемых. Поэтому а, убывает вблизи границы Q. На рис. 2. показан график величины а, в случае равномерной прямоугольной зафиксированной сетки.

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

Можно представить, что с каждым граничным нейроном связано K виртуальных нейронов, расположенных за пределами вычислительной области. Эти виртуальные нейроны не существуют в алгоритме и только помогут понять идею, лежащую в основе предлагаемой методики. Точные положения виртуальных нейронов неизвестны. Известно только то, что расстояние между k-м виртуальным нейроном и соответствующим ему граничным нейроном с положением qm равно kdg,

к = 1,..., K , где K = \г / dg ] и [a] = arg min(a < n) - это наименьшее целое число, которое больше a.

Чтобы встроить виртуальные нейроны в процесс обучения, требуется ответить на следующие вопросы: (1) при каких условиях виртуальный нейрон может стать победителем? (2) чему равны веса латеральных связей между нейронами q,, i = 1,...,N , и виртуальными нейронами? (3) каковы направление и величина сдвигов узлов сетки в физической области, когда победителем является виртуальный нейрон?

б

0,4

0,3

0,2

0,1

0

0,5

0,4

0,3

0,2

1 5 9 13 17 21 25 29 33 37

Рис. 2. Характеристика симметричности латеральных связей; а - значения а, без виртуальных нейронов; б - значения а;- с виртуальными нейронами; в -разрез поверхностных графиков

Ответ на вопрос (1). В случае наличия виртуальных нейронов, выбор победителя не может быть основан только на близости к случайной точке, так как за пределами физической области нет точек. Поэтому на каждой итерации, во-первых, необходимо решить, из какого типа нейронов будет выбираться победитель. Так как предполагается, что выполняется условие равноправия нейронов, виртуальные нейроны имеют ту же вероятность стать победителем, что и все остальные нейроны. Вероятность того, что станет победителем виртуальный нейрон, равна ЫъК /(ЫъК + Ы-п), и таким образом внутренний нейрон может стать

победителем с вероятностью 1 - МьК /(МьК + _^іп). Чтобы выбрать победителя среди виртуальных нейронов, генерируется случайная точка у на границе G, выбирается ближайший к у граничный узел, после чего среди виртуальных нейронов, соответствующих выбранному граничному узлу, равновероятно выбирается к-й виртуальный нейрон и назначается победителем.

Ответ на вопрос (2). Для задания весов латеральных связей между виртуальными и внутренними нейронами необходимо знать расстояние между ними в вычислительной области. Предполагается, что расстояние между к-м виртуальным нейроном и внутренним нейроном с положением равно d(дт, дг-) + kdg, где дт -

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

d(Ям Ai )+Mq л2

Л?„ ,* (q) = sV

Ответ на вопрос (3). Для задания направлений и величин сдвигов узлов сетки в физической области при виртуальном победителе предлагается использовать случайную точку у на границе G, которая была сгенерирована для выбора победителя среди виртуальных узлов. Еще раз стоит подчеркнуть, что на стадии сглаживания могут двигаться только внутренние узлы сетки. Для каждого внутреннего узла х, направление его сдвига задается вектором y - xt (t), т.е. узел х, сдвигается в направлении точки у расположенной на границе G. Величина сдвига равна 5n?m ,k (q) • v (t) • d(y, xt (t)), где vt (t) = 1 + kdg / d(qm, q) и qm - это граничный узел,

который соответствует виртуальному победителю. Это значение было найдено на основе предположения, что отношение между d (qm, q) и d (y, xt (t)) равно отношению между d(qm, q) + kdg и vt (t)  d(y, xt (t)). Так как правило применяется только ко внутренним узлам, то d(qm, q) Ф 0 .

Учитывая наличие виртуальных нейронов, характеристика (2) изменяется следующим образом:

ai = Z nq.

j=1 k =1 m=1

где m = 1,...,Nb - это индекс граничного нейрона. На рис. 2, в показаны графики

а, и а, для одной из линий сетки. Можно видеть, что а, почти постоянна для всех

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

4. Алгоритм сглаживания

В алгоритме сглаживания применяется алгоритм SOM с постоянным коэффициентом обучения, не зависящим от номера итерации. Радиус обучения r выбирается сравнительно большим, однако его значение может быть выбрано в зависимости от кривизны границы G. Шаг обучения 8 должен быть маленьким, так как при сглаживании нужна только тонкая подстройка сетки.

Кроме того, когда победителем является виртуальный нейрон, воображаемая случайная точка находится за пределами физической области, что может привести к тому, что узлы сетки пересекут границу G. Для исключения такой ситуации шаг обучения должен удовлетворять следующему условию: 5(1 + kdg /d(qm,q)) < 1

для каждого граничного нейрона em и внутреннего нейрона e,. Это значит, что

d

5 < min

m,i,k

dQ + Kdg K +1

Л (4т > 4) +

Алгоритм сглаживания

В течение фиксированного числа итераций повторяются следующие операции.

1. Реализуется случайная величина а, равномерно распределённая на [0,1].

2. Если а е [0, 1(ЫЬК + Ы-п)] ,то выполняются следующие операции:

а) Генерируется случайная точка у из G в соответствии с вероятностным распределением рх).

b) Среди всех узлов сетки выбирается узел-победитель хш(/). Если хт(/) является граничным узлом, то случайная точка заменяется весами нейрона-победителя

У Хт () .

c) Проводится корректировка весов только внутренних нейронов по следующему правилу:

Х10 +1) = X 0) + (Яі)(У - XО)).

3. Если а є (Міп1 /(NК + Міп), 1], то выполняются следующие операции:

a) Генерируется случайная точка у с границы Є в соответствии с вероятностным распределением р(х)|д0 .

b) Среди граничных узлов выбирается узел хш(/), ближайший к точке у.

c) Среди чисел {1,...,К} равновероятно выбирается число к.

d) Проводится корректировка весов только внутренних нейронов по следующему правилу:

X;0 +1) = X;0) + 8п?т,к(Ч,)(1 + кае /а(дт, ч,)) (хт () - X;()) .

Следует подчеркнуть, что виртуальные нейроны не существуют в алгоритме, поэтому нет необходимости изменять структуру зафиксированной сетки при преодолении граничного эффекта. Кроме того, усилия были направлены на то, чтобы сделать правило обучения как можно более простым по следующим причинам: (1) чтобы сохранить внутренний параллелизм SOM-алгоритма, который состоит в том, что все нейроны обрабатываются по одному и тому же правилу независимо друг от друга; (2) чтобы избежать проблем при построении сеток на сложных многосвязных областях, т.е. на областях с одной или с несколькими дырами, так как граничный эффект должен контролироваться на каждой из границ области.

На рис. 3 приведены примеры адаптивных сеток, построенных композиционным алгоритмом и сглаженным предложенным выше алгоритмом сглаживания.

Рис. 3. Примеры адаптивных сеток, построенных с помощью композиционного алгоритма и обработанных предложенным алгоритмом сглаживания

ЛИТЕРАТУРА

1. Лебедев А.С., Лисейкин В.Д., Хакимзянов Г.С. Разработка методов построения адаптивных сеток. // Вычислительные технологии. Том 7, №3, 2002. C. 29.

2. Brankov J.G., Yang Y., Galatsanos N.P. Image restoration using content-adaptive mesh modeling. // ICIP 03, Vol. II, 2003, P. 997 - 1000.

3. Хакимзянов Г.С., Шокин Ю.И., Барахнин В.Б., Шокина Н.Ю. Численное моделирование течений жидкости с поверхностными волнами. Новосибирск: Изд-во СО РАН, 2001.

4. Gordon W.J., Thiel L.C. Transfinite mappings and their applications to grid generation. // Numerical Grid Generation, Appl. Math. and Comp. V. 2/3, 1982. P. 171 - 192.

5. Nechaeva O. Composition of Self Organizing Maps for Adaptive Mesh Construction on Complex-shaped Domains // Proc. of 6th Int. Workshop on Self-Organizing Maps (WSOM 2007), Bielefeld, Germany, September 3 - 6, 2007.

6. Kohonen T. Self-organizing Maps // Springer Series in Information Sciences, V. 30, Springer, Berlin, Heidelberg, New York, 2001.

7. Ritter, H. Self-Organizing Maps on Non-Euclidean Spaces, In: Oja E, Kaski S, editors. Kohonen maps. Amsterdam. The Netherlands: Elsevier BV; 1999. P. 97 - 109.

8. Fritzke B. Some competitive learning methods. Technical report, Systems Biophysics, Inst. for Neural Comp., Ruhr-Universitat Bochum, April 1997.

Статья представлена кафедрой программирования факультета прикладной математики и

кибернетики Томского государственного университета и оргкомитетом 7-й Российской

конференции с международным участием «Новые информационные технологии в исследовании сложных структур», поступила в научную редакцию 3 октября 2008 г.