4. Математическое моделирование
УДК 004.032.26(06)
©С.В. Архипов, А.Ф. Брагин
НЕЙРОСЕТЕВОЙ ПОДХОД В ПОСТРОЕНИИ АДАПТИВНЫХ СЕТОК ДЛЯ НЕРЕГУЛЯРНЫХ ПЛОСКИХ ОБЛАСТЕЙ
В работе предлагается модифицированный алгоритм построения адаптивных сеток на сложных нерегулярных плоских областях, допускающих наличие разветвляющихся узких трещин, многосвязность, вырезы разных размеров и т.п. Осуществлена программная реализация метода, с возможностью интерактивного изменения параметров обучения нейросети. Улучшенная адаптация сеток на нерегулярных областях найдет свое применение в задачах численного моделирования физических процессов, обработке изображений, визуализации данных, в графических приложениях и т.д.
Ключевые слова: нейронные сети, самоорганизующиеся карты признаков, адаптивные сетки, дискретизация физической области.
S. V. Arkhipov, A.F. Bragin
THE NEURAL NETWORK APPROACH IN CONSTRUCTION OF ADAPTIVE GRIDS FOR IRREGULAR FLAT AREAS
The paper introduces the modified algorithm of construction of adaptive grids on complex irregular flat areas which can have branching narrow cracks, multiple connection, cuts of different sizes and etc. Program realization of this method is carried out and the program interface allows an interactive variation of parameters of training neural network. The improved adaptation of networks on irregular areas will be used in problems of numerical modeling of physical processes, processing of images, visualization of data, graphic appendices and etc.
Keywords: neural networks, self-organizing cards of signs, adaptive grids, discretization of physical area.
Введение
Высокий интерес к проблеме построения адаптивных сеток обусловлен необходимостью дискретизации пространственной области для получения достоверного численного решения прикладных физических задач. Кроме того, адаптивные сетки широко используются при обработке изображений, визуализации данных, в графических приложениях, задачах кластеризации и т.д.
Основная идея методов построения адаптивных сеток состоит в уменьшении размеров ячеек в зонах расчетной области, соответствующих значительным ошибкам решения. К традиционным методам построения адаптивных сеток с заданной плотностью распределения можно отнести метод эквираспределения [1], Томпсона [2], эллиптический метод [3], алгебраические методы [4], конформных отображений [5] и т.д. Для получения качественных адаптивных сеток подобные методы требуют решения сложных систем нелинейных дифференциальных уравнений с частными производными, что накладывает ряд известных ограничений.
Сегодня высокую эффективность при построении адаптивных сеток с заданной плотностью на сложной физической области демонстрируют нейросетевые алгоритмы [7]-[10] на основе классической теории самоорганизующихся карт Кохонена (сеть SOFM - Self-Organizing Feature Maps, T.Kohonen) (например, [11], [12]).
В работе [9] показано, что применение базовой модели SOFM приводит к появлению граничного эффекта, наличию мертвых нейронов и нарушению гладкости сетки. Для решения указанных проблем предложены модифицированные методы, в основе которых лежит идея чередования базового алгоритма для внутренних и внешних узлов [7], использования так называемых раскрашенных моделей и специальных алгоритмов сглаживания [9]. Общеизвестный факт необходимости проведения многочисленных вычислительных экспериментов по выбору параметров обучения нейросети для приемлемой адаптации сетки инспирировал работы [13],[14], в которых, предложены рекомендации по выбору параметров функции расстояния и скорости обучения при адаптации плоской области регулярной сеткой модифицированным алгоритмом SOFM.
Однако, применение известных модифицированных нейросетевых алгоритмов к построению адаптивных сеток на сложных нерегулярных областях, характеризующихся многосвязностью, наличием разветвляющихся узких трещин, вырезов сложной формы, привело к наличию артефактов, самопересечений сети, а также выходов узлов и ребер сети за границы области.
В данной работе, предложен улучшенный композиционный [9] алгоритм, отличающийся пересчетом сеточного расстояния после удаления узлов вышедших за границы нерегулярной области. Осуществлена программная реализация метода, с возможностью интерактивного изменения параметров обучения нейросети. Проведены многочисленные вычислительные эксперименты подтверждающие эффективность разработанных алгоритмов на сложных нерегулярных областях.
1. Краткое описание нейросетевых алгоритмов
Работа сети SOFM характеризуется этапом инициализации карты и циклом:
1. выбор случайного образца х(п) с заданной плотностью распределения;
2. нахождение узла победителя (best matching unit, BMU) - кластера на карте признаков, вес которого имеет меньшее отличие в заданной метрике от случайного образца;
3. корректировка узлов из числа близлежащих к победителю - изменение веса победителя и его соседей с целью приближения к случайному образцу;
4. определение ошибки карты.
При определении узла победителя в шаге 2, как правило, в качестве метрики выбирается Евклидово расстояние d .
Корректировка положений узлов шага 3 происходит в зависимости от степени близости к победителю с помощью функции соседства ®(n,iBMU,jBMU,i,j) по формуле:
wij n + l =wy п +4 п, iBMUJBMU,i,j ■ X п -ж. п , (1)
где п - номер итерации, мл - вес ij -го узла, х(п) - случайно выбранный образец, iBUUjBUU - индекс узла победителя для образца х(п) .
Функция соседства представляет собой невозрастающую функцию от дискретного времени п и расстояния между нейроном-победителем и соседними нейронами в сетке. Эта функция разбивается на две части: функцию расстояния h(d,n) и скорости обучения S(n) т.е.
Ч(п,гВМи
j) = S(n)-h(d,n).
Обычно применяется функция Гаусса
d1
h d,n =е 2ст2(й) . (2)
Функция сг(п) называется радиусом обучения, который выбирается достаточно большим на
начальном этапе обучения и постепенно уменьшается так, что в конечном итоге обучается один
нейрон-победитель. В качестве радиуса обучения используют линейно или экспоненциально убывающую функцию от времени, например, в работе [8]
о(п) - а ■ гГй~2, (3)
где величина а выбирается таким образом, чтобы на первой итерации получили ощутимое смещение все узлы карты. При этом в качестве расстояния d в формуле (2) предлагается использование сеточного расстояния
^ = (j-вми ~ 0 + ( Jbmu ~ J) • (4)
Функция скорости обучения 8(п) также представляет собой функцию, убывающую от времени
8(п) = п0-2. (5)
Применение выше описанного алгоритма, который назовем базовым, в сочетании с различными вариантами функции соседства приводит к трем основным проблемам [9]:
1. Адаптация сетки на невыпуклой области G не гарантирует, что все узлы сетки будут принадлежать области G.
2. Граничные узлы построенной сетки расположены на определенном расстоянии до границы области, отличном от нуля. Это расстояние сопоставимо со средним расстоянием между узлами сетки.
3. Нарушение гладкости адаптивной сетки, вследствие уменьшения радиуса обучения на стадии уточнения.
Для решения двух первых проблем в работе [7] предложена идея модификации алгоритма обучения SOFM, состоящая в том, что чередуется применение этого алгоритма отдельно для граничных и внутренних узлов. Один цикл такого чередования называется макроитерацией [8]. В соот-
ветствии с этой идеей был разработан модифицированный алгоритм построения конечноразностных адаптивных сеток [9].
Известный в литературе модифицированный алгоритм состоит из следующих основных этапов.
1. Инициализация положений узлов сетки.
2. На первой макроитерации (5 = 1) применяется базовый алгоритм в течение п0 итераций ко всем узлам сетки.
3. На каждой макроитерации с номером 8 > 1 выполняются следующие действия:
а) Применение базового алгоритма в течение п^я) итераций к граничным узлам сетки с генерацией точки только на границе области.
б) Применение базового алгоритма в течение п^(я) итераций ко всем узлам с генерацией точки во всей области. При этом все граничные узлы зафиксированы и не меняют своего положения. Кроме того, если узлом победителем является граничный узел сетки, то он заменяет случайную точку х(п ).
4. Повторяются макроитерации до тех пор, пока изменения положений узлов не станут достаточно малыми.
2. Постановка задачи
Приведенный модифицированный алгоритм показывает высокую эффективность [9],[13],[14] на односвязных областях, без наличия узких трещин и других выраженных особенностей (рис. 1)
Рис. 1. Результат построения адаптивной сетки с применением модифицированного алгоритма на простой области
На рисунке 2 показан результат работы модифицированного алгоритма на нерегулярной области, отличающейся множеством узких вырезов. В реальной физической задаче такие вырезы могут соответствовать трещинам на поверхности твёрдого тела.
Рис. 2. Результат построения адаптивной сетки с применением модифицированного нейросетевого
алгоритма на нерегулярной сложной области
Под нерегулярными областями в данной работе подразумеваются, прежде всего, сложные невыпуклые области с глубокими вырезами разной формы, области с множеством разветвляющихся трещин, многосвязные области и т.п. Примеры таких областей представлены на рисунке 3.
Рис. 3. Примеры сложных нерегулярных плоских областей
Для достижения улучшенной адаптации на многосвязных областях, областях с вырезами осуществляют [9] удаление нейронов, вышедших за границу области. Затем применяют описанный выше модифицированный алгоритм с учетом адаптации внешних и внутренних граничных узлов сетки к соответствующим границам области.
Такой подход в случаях узких вырезов, когда радиус обучения соизмерим с размерами выреза, не дает качественной адаптации границ сетки к границам области. В процессе выполнения второго уточняющего этапа обучения возникают самопересечения сети, артефакты.
Достаточно очевидным является предположение, что при ослаблении латеральных связей между узлами сети, лежащими на противоположных сторонах выреза в адаптируемой области, можно снизить указанный негативный эффект. Таким образом, для решения проблемы качественного построения адаптивных сеток на сложных нерегулярных областях необходимо
1. разработать способ ослабления латеральных связей между узлами сети, лежащими на противоположных сторонах выреза;
2. разработать критерий для оценки негативного эффекта выхода нейронов за границы облас-
3. осуществить программную реализацию и апробацию разработанных методик.
3. Основные идеи
3.1. Корректировка латеральных связей между узлами сети.
В модифицированном методе после первой макроитерации добавим этап удаления узлов вышедших за границу области. Причем удаление нейрона относительно начальной топологии сети влечет удаление смежных квадратов. В измененной таким образом сети уже не естественно использовать формулу сеточного расстояния (4), т.к. она не представляет собой функцию кратчайшего расстояния (рис. 4,а).
Изменим функцию б/ из (4), так чтобы она представляла собой функцию кратчайшего расстояния между двумя узлами сети на многосвязной области (рис. 4,6).
л
Е ш
1
1
>
а б
Рис. 4. Схема расчета сеточного расстояния а - без учета топологии сети, б - с учетом топологии сети
В отличие от односвязной области, определение расстояния между точками многосвязной области не является тривиальной задачей и требует отдельного решения.
В данном случае тот факт, что количество узлов сети конечно позволяет поставить эту задачу в терминах теории графов. В такой интерпретации узел сети - это вершина графа. Если для пары узлов существует соединяющий отрезок, лежащий в пределах многосвязной области, соответствующей топологии нейросети, то в графе существует ребро, вес которого равен длине отрезка.
Нужно отметить, что построенный таким образом граф, при умеренном количестве вырезов, является плотным.
Таким образом, функция d есть кратчайшее расстояние в графе между вершинами соответствующими узлу победителю и узлу, выбранному в процессе пересчета сеточного расстояния.
В данной работе для расчета кратчайшего расстояния выбран алгоритм Флойда-Уоршела. Это динамический алгоритм для нахождения кратчайших расстояний между всеми вершинами взвешенного ориентированного графа со сложностью 0(пъ).
Для построения графа, необходимо знать лежит ли отрезок соединяющий узлы нейросети в области определяемой топологией нейросети. Для односвязной области справедливо, что ей полностью принадлежат подобные отрезки. Многосвязная область нейросети модифицированного метода получается из односвязной вырезанием квадратных областей с центром в удалённом нейроне. Таким образом, вырезанные квадратные области являются единственным возможным препятствием между узлами сети. Следовательно, достаточно проверить пересекает ли отрезок некоторый квадрат, и положительный ответ будет говорить о том, что отрезок полностью не принадлежит области.
Для проверки пересекает ли отрезок квадрат, проверим на пересечение каждую его сторону. Для этого воспользуемся алгоритмом, суть которого заключается в последовательной проверке расположения вершин каждого отрезка относительно прямой содержащей другой отрезок.
Можно заметить, что подход к определению принадлежности отрезка области является затратным, т.к. возможна проверка лишних вырезанных областей, которые полностью перекрываются другими областями. Например, можно было бы объединить все вырезанные области и в некоторых случаях уменьшить количество проверяемых на пересечение отрезков.
Тем не менее, представленный алгоритм работоспособен и эффективен для данной задачи. Покажем отсутствие существенного проигрыша при его использовании. Количество вырезанных нейронов к не превышает количество всех нейронов п. Каждый вырезанный нейрон добавляет к списку проверяемых на пересечение отрезков ровно 4 отрезка. Асимптотическая сложность алгоритма проверки пересечения равна 0(1) . Следовательно, сложность алгоритма проверки принадлежности отрезка области в целом равна 4Ю(1) = ()(к).
Алгоритм используется для подготовки графа в алгоритме Флойда-Уоршелла сложности 0(п3). Тогда сложность итогового алгоритма пересчета сеточного расстояния для нейросети равна О(к) + 0(п3) , отсюда при к<п суммарная сложность алгоритма составит 0(п3).
3.2. Критерий оценки выхода нейронов за границы области.
В данной работе таким критерием выбрана функция
У \х-рх\2
d = ^e1------£]_ (6)
N
где Е - множество точек соответствующих нейронам сети лежащих за границей адаптируемой области, N - мощность множества Е, Х<еЕ, Рх - проекция X на адаптируемую область.
Функция D была построена по принципу дисперсии случайной величины, Рх - играет роль математического ожидания. Если в (6) заменить функцию проекции Рх на математическое ожидание, то получится формула величины дисперсии случайной величины, принадлежащей множеству Е . Также данную функцию можно понимать как математическое ожидание квадрата расстояния от адаптируемой области до вышедшей за ее пределы точки.
Реализация модифицированного метода адаптирует области заданные пиксельной картой. Для расчета представленной оценки, граница области представляется в виде многоугольника полученного следующим образом.
1. Выделяются граничные пиксели области. Граничным пикселем считается пиксель области смежный по стороне с пикселем, не принадлежащим области (рис. 5,а).
2. Центр каждого граничного пикселя соединяется с центром смежного по стороне и углу граничного пикселя. В результате получаются один или несколько многоугольников без самопересечений (рис. 5,6).
3. Для каждого нейрона вышедшего за адаптируемую область вычисляется минимальное расстояние от всех многоугольников (рис. 5,в).
4. Квадраты полученных расстояний складываются и делятся на количество точек вышедших за границ}' адаптируемой области.
а б в
Рис. 5. Представление граничных пикселей области а - выделение граничных пикселей области, б - выделение многоугольников, в - расчет минимального
расстояния
3.3. Улучшенный композиционный алгоритм.
1. Инициализация положений узлов сетки. Вычисление сеточного расстояния.
2. На первой макроитерации (5 = 1) применяется базовый алгоритм в течение щ итераций ко всем узлам сетки.
3. Удаление узлов вышедших за границу области.
4. Пересчет сеточного расстояния.
5. На каждой макроитерации с номером s >1 выполняются следующие действия:
а) Применение базового алгоритма в течение /?. (Л- J итераций к граничным узлам сетки с генерацией точки только на границе области.
б) Применение базового алгоритма в течение Щ (s) итераций ко всем узлам с генерацией точки во всей области. При этом все граничные узлы зафиксированы и не меняют своего положения. Кроме того, если узлом победителем является граничный узел сетки, то он заменяет случайную точку х(п).
6. Повторяются макроитерации до тех пор, пока изменения положений узлов не станут достаточно малыми.
4. Программная реализация и апробация
Для разработки системы был выбран язык программирования C++. Интерфейс приложения и графика реализованы с использованием фреймворк Qt4, а также библиотеки Boost.
Пользовательский интерфейс состоит из виджета отображения сети и адаптируемой области слева. Справа расположена панель управления программой (рис. 6).
Рис. 6. Интерфейс программы
После загрузки изображения в программу производится его начальная обработка
1. выделение внутренних точек области;
2. выделение граничных точек области.
Точкой принадлежащей области считается любая точка не белого цвета, т.е. в модели RGB не равная OxFFFFFF.
Граничным пикселем считается пиксель области смежный по стороне с пикселем, не принадлежащим области. Все остальные пиксели считаются внутренними.
Выделение точек заключается в их окраске в цветовой код для наглядности, и занесение в отдельные массивы для обеспечения работы алгоритма по генерации случайной точки.
Адаптируемая область представляет собой пиксельную карту. После загрузки изображения в программу все пиксели не белого цвета считаются принадлежащими области, и заносятся в линейный массив.
Для получения случайной точки генерируется случайный индекс массива, по этому индексу из массива берётся точка области.
Для генерации случайной величины была использована функция равномерного распределения из библиотеки boost:.random.
Некоторые результаты построения адаптивных сеток на сложных нерегулярных областях представлены на рисунке 7.
Рис. 7. Результат применения разработанного метода для построения адаптивной сетки на нерегулярной
области
Заключение
Существующие нейросетевые алгоритмы доказывают возможность построения адаптивных сеток на сложных физических областях. Результат адаптации сетки зависит от топологии и параметров обучения нейросети.
В работе апробирован подход, заключающийся в изменении топологии сети в процессе адаптации и соответствующем изменении сеточного расстояния. Разработан модифицированный алгоритм. Для этого была решена задача пересчета сеточного расстояния в новой топологии. Реализована программа для построения адаптивных сеток на нерегулярных областях, позволяющая интерактивно изменять параметры обучения сети, упрощая тем самым проведение численных экспериментов. По результатам экспериментов модифицированный подход показал лучшую адаптацию.
Тем не менее разработанный метод не является окончательным, а напротив открывает обширные возможности для дальнейшего улучшения. Замечательным является тот факт, что выбранный способ изменения сеточного расстояния слабо зависит от способа изменения топологии сети. Это делает возможным дальнейшую модификацию по двум независимым направлениям способу изменения топологии и способу расчета сеточного расстояния.
Литература
1. Хакимзянов Г.С., Шокин Ю.И.. Барахнин В.Б., Шокина Н.Ю. Численное моделирование течений жидкости с поверхностными волнами // Новосибирск: Изд-во СО РАН, 2001. - 394 с.
2. Thompson J.F., Warsi Z.U. A., Mastin C.W. Numerical grid generation, foundations and applications // Amsterdam: North-Holland, 1985.
3. Лисейкин В.Д., Лебедев А.С., Китаева И.А. Универсальный эллиптический метод построения разностных сеток. Новосибирск: НГУ. 2004. - 266 с.
4. Gordon W.J., Thiel L.C. Transfmite mappings and their applications to grid generation // Numerical Grid Generation Appl. Mathematics and Computation. 1982. Vol.2/3. P. 171-192.
5. Годунов С.К., Проконов Г.П. О расчетах конформных отображений и построении разносных сеток // Журн. вычисл. математики и мат. физики. 1967. Т. 7. С. 1031-1059
6. Ritter Н., Martinetz Т., Schulten К. Neural Computation and Self-Organizing Maps: An Introduction. New York: Addison-Wesley, 1992.
7. Manevitz L., Yousef M. Finite-Element Mesh Generation Using Self-Organizing Neural Networks. //Microcomputers in Civil Engineering 12. 1997. P. 233-250.
8. Нечаева О.И. Нейросетевой подход для построения адаптивных сеток // Нейроинформатика. 2006.
4.2. С. 172-179.
9. Нечаева О.И. Композиционный алгоритм для построения адаптивных сеток произвольной структуры //Нейроинформатика-2007: сб. науч. тр. всерос. науч.-техн. конф. М.: МИФИ, 2007. С. 72-79.
10.Koutnik J., Mazl R., Kulich M. Building of 3d environment models for mobile robotics using selforganization // In Proc, of The 9th International Conference on Parallel Problem Solving From Nature - PPSN-IX, Springer. 2006. P. 721-730.
11. Kohonen T. Self-organizing Maps // Springer Series in Information Sciences, V.30, Springer, Berlin, Heidelberg, New York, 2001. 501 p.
12. Kohonen Т. K. Self-organization and associative memory. New York: Springer Verlag, 1989. - 312 p.
13. Arkhipov S.V. Neural net algorithms of constraction of adaptive grid // Mongolian Mathematical Journal. 2011. Vol. 15. P. 20-29.
14. Архипов C.B. Модифицированные алгоритмы построения нейронной сети SOFM // Вестник БГУ. Вып. 9. Математика и информатика. 2011. С. 61-68.
Архипов Сергей Валерьевич, канд. техн. наук, доц., директор центра информационных технологий Бурятского государственного университета, тел. (3012) 297160 доб.260, e-mail: [email protected]
Брагин Александр Федорович, магистр Института математики и информатики Бурятского государственного университета
Arkhipov Sergey Valeryevich, candidate of technical science, docent, director of the Center of information systems of the Buryat state university.
Bragin Alexander Fedorovich, master of Institute of mathematics and informatics of the Buryat state university