Научная статья на тему 'Параллельный алгоритм обучения структуры байесовской сети'

Параллельный алгоритм обучения структуры байесовской сети Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
119
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБУЧЕНИЕ СТРУКТУРЫ БАЙЕСОВСКОЙ СЕТИ / ВЫЧИСЛЕНИЯ НА ГРАФИЧЕСКИХ ПРОЦЕССОРАХ / STRUCTURE LEARNING OF BAYESIAN NETWORK / COMPUTING ON GPUS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Арустамов Сергей Аркадьевич, Дайнеко Вячеслав Юрьевич

Представлена реализация масштабируемого параллельного алгоритма обучения структуры байесовской сети. Произведен сравнительный анализ последовательного и параллельного алгоритмов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Арустамов Сергей Аркадьевич, Дайнеко Вячеслав Юрьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Parallel algorithm for Bayesian network structure learning

The article deals with implementation of a scalable parallel algorithm for structure learning of Bayesian network. Comparative analysis of sequential and parallel algorithms is done.

Текст научной работы на тему «Параллельный алгоритм обучения структуры байесовской сети»

УДК 004.056.53

ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ ОБУЧЕНИЯ СТРУКТУРЫ БАЙЕСОВСКОЙ СЕТИ

С.А. Арустамов, В.Ю. Дайнеко

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

В основе алгоритмов обучения структуры байесовской сети (БС) лежат два подхода: ограничение условной независимости (в этом случае сеть может оказаться неориентированной, частично обученной) и оценка меры качества сети (оптимизация локального поиска с полным перебором всех комбинаций, сопровождающаяся экспоненциальным ростом вычислений с увеличением числа узлов сети). Известный гибридный алгоритм обучения Max-Min Hill-Climbing (MMHC) включает оба этих подхода и состоит в следующем [Л]. Вначале применяется алгоритм ограничения условной независимости Max-Min Parents and Children (MMPC), который на основе данных обучения восстанавливает «скелет» БС. Далее в MMHC используется алгоритм оптимизации меры качества сети Hill-Climbing (HC). Тем не менее, применение гибридного алгоритма MMHC в работе с крупными сетями не решает проблему минимизации времени обучения. Цель представляемой авторами работы - уменьшение времени обучения гибридного алгоритма MMHC.

Предлагается использование платформы параллельных вычислений на графических процессорах (ГП) Compute Unified Device Architecture (CUDA), которая позволяет добиться значительного вычислительного ускорения. Архитектура CUDA для ГП поколения Geforce 600 позволяет объединить 4 видеокарты с двуядерными ГП, что позволяет одновременно работать с 12 288 потоковыми процессорами. Основные подходы для распараллеливания алгоритма обучения MMHC заключаются в следующих оптимизациях для работы с архитектурой CUDA.

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

2. Использование механизма синхронизации доступа к общей памяти для каждого из потоков.

3. Масштабирование размеров заданий пулом потоков для функции ядра в зависимости от выбранного количества работающих потоков в блоках вычисления и используемой памяти для их работы.

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

Рисунок. Блок-схема алгоритма MMPC (а); блок-схемы параллельных алгоритмов Max-Min Candidate

Parents and Children (MMCPC) (б) и HC (в)

Разработаны следующие функции ядра архитектуры CUDA на языке С: cudaFreq - вычисление частоты появления всех комбинаций принимаемых значений между тестируемыми переменными из обучающего набора данных D с N экспериментами; cudaIndep - тест на независимость двух переменных X и Y при данной переменной Z; cudaScore - вычисление меры качества сети для целевого узла T от его потомков. Блок-схемы применяемых алгоритмов представлены на рисунке.

Для сравнения производительности разработанного параллельного алгоритма MMHC с последовательной реализацией использовался персональный компьютер Intel Core i5 2500 3,5 ГГц с оперативной памятью 4 ГБ; видеокарта Nvidia Geforce 9600GT с 64 потоковыми процессорами; операционная система

Научно-технический вестник информационных технологий, механики и оптики,

2013, № 2 (84)

Ubuntu 12.04; набор разработчика CUDA Toolkit 4.0. Использовался тип данных float. Тестирование производилось пятью разными входными данными размером выборок от 1024 до 16384 записей. Размер БС -14 узлов. В результате эксперимента для размера выборки данных 16384 время работы параллельного алгоритма сократилось до 36 раз и составило 1,46 с по сравнению с последовательным алгоритмом MMHC.

Разработанный параллельный алгоритм обучения структуры БС позволяет значительно сократить время обучения и масштабируется в зависимости от доступности потоковых процессоров. [Л]. Tsamardinos I., Brown L.E., Aliferis C.F. The max-min hill-climbing bayesian network structure learning algorithm // Springer Science, Machine learning. - 2006. - V. 65. - № 1. - P. 31-78.

Арустамов Сергей Аркадьевич - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, доктор технических наук, профессор, sergey.arustamov@gmail.com Дайнеко Вячеслав Юрьевич - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, аспирант, daynekovy@yandex.ru

Научно-технический вестник информационных технологий, механики и оптики, 2013, № 2 (84)

i Надоели баннеры? Вы всегда можете отключить рекламу.