SlideShare a Scribd company logo
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ ...
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 1 (71)
54
6
КОМПЬЮТЕРНЫЕ СИСТЕМЫ
И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.272:004.032.26
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ
НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕКТУРЕ ГРАФИЧЕСКОГО
ПРОЦЕССОРА
Н.О. Матвеева
Предлагается распараллеливание в технологии программно-аппаратной архитектуры (CUDA) алгоритма обучения
радиально-базисной нейронной сети (RBFNN), основанного на идее последовательной настройки центров, ширины
и весов сети, а также идее коррекции весов по алгоритму минимизации квадратичного функционала методом со-
пряженных градиентов. Приводятся результаты сравнения времени обучения RBFNN на различных центральных и
графических процессорах, доказывающие эффективность распараллеливания.
Ключевые слова: графический процессор, параллельность, CUDA, массивно-параллельная архитектура, RBFNN,
дифференциальное уравнение.
Введение
Для решения краевых задач математической физики, описываемых дифференциальными уравне-
ниями в частных производных, наибольшее распространение получили методы конечных разностей и
конечных элементов, но эти методы требуют построения сеток и позволяют получить решение только в
узлах сетки. Этого существенного недостатка лишены бессеточные методы [1]. Бессеточные методы эф-
фективно реализуются на RBFNN [2]. Главное достоинство RBFNN состоит в использовании принципов
обучения для формирования оптимальных параметров радиально-базисных функций (RBF). Такие мето-
ды могут быть эффективно реализованы на параллельных системах.
Для распараллеливания RBFNN наиболее подходит модель вычислений SIMD (Single Instruction –
Multiple Data), так как нейроны одного слоя сети выполняют одинаковые действия над различными дан-
ными. На основе такой модели вычислений построены современные графические процессоры (GPU).
GPU выигрывают у кластерных систем по критерию цена/производительность.
Целью работы является разработка параллельной реализации алгоритма обучения RBFNN для ре-
шения краевых задач математической физики на графическом процессоре с использованием технологии
CUDA и исследование эффективности распараллеливания путем сравнения времени решения краевой
задачи на GPU и на центральном процессоре (CPU).
Структура RBFNN
RBFNN (рис. 1) представляет собой сеть с двумя слоями. Первый слой осуществляет преобразо-
вание входного вектора x с использованием RBF. Практически используются различные RBF.
Рис. 1. Радиально-базисная нейронная сеть
В дальнейшем будем использовать наиболее часто употребляемую функцию – гауссиан, имеющий
для k-го нейрона вид
)/exp()( 22
kkk ar x , (1)
Н.О. Матвеева
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 1 (71)
55
где x – входной вектор; kkr cx  – радиус k-го нейрона; ka – ширина k-го нейрона; kc – центр k-го
нейрона. Выход сети описывается выражением



m
k
kkwu
1
),(x (2)
где kw – вес связи выходного нейрона с k-ым нейроном первого слоя; m – число нейронов первого слоя.
Алгоритм обучения RBFNN
Рассмотрим градиентный алгоритм обучения RBFNN на примере решения двумерного уравнения
Пуассона






),(),,(
2
2
2
2
yxyxf
y
u
x
u
, (3)
 ),(),,( yxyxpu , (4)
где  – граница области; f и p – известные функции ),( yx . Выбирая в качестве RBF гауссиан (1),
определяемый как
2
2
( , ) exp k
k
k
r
x y
a
 
   
 
, рассмотрим RBF-сеть как аппроксиматор функции решения



m
k
kkk rwu
1
),()(x (5)
где m – число RBF (скрытых нейронов); 22
)()( ykxkk cycxr  ; ),( ykxk cc – координаты центра
нейрона k ; ka – ширина нейрона k.
Обучение сети сводится к настройке весов, расположения центров и ширины нейронов, миними-
зирующих функционал качества (функционал ошибки), представляющий собой сумму квадратов невязок
в контрольных точках
 
2
11
2
2
2
2
2
),(
2
),(
),(),(
2
1
),,( 



















K
j
jjj
N
i
ii
iiii pyxuyxf
y
yxu
x
yxu
I aсw , (6)
где  – штрафной множитель; jp – значение граничных условий первого рода в точке j-границы; N и K
– количество внутренних и граничных контрольных точек.
В [2] предложен алгоритм последовательной настройки центров, ширины и весов с использовани-
ем метода градиентного спуска с подбором коэффициентов скорости обучения. Подбор коэффициентов
скорости обучения является основным недостатком данного метода.
В [3] для настройки весов предложен другой алгоритм, который сформулирован как задача мини-
мизации методом сопряженных градиентов квадратичного функционала. Данный метод не содержит
подбираемых коэффициентов, и настройка весов происходит быстрее, чем методом градиентного спуска.
Очень важно соблюдать при обучении соотношение между оптимальным количеством нейронов m
и количеством контрольных точек [4]
3
m N K ,
где ~ – знак пропорциональности. Данное соотношение требует большого числа контрольных точек, что
ведет к увеличению времени решения задачи. В [3] обосновано, что многократная случайная генерация
относительно небольшого числа контрольных точек внутри и на границе области решения компенсирует
нарушение пропорции.
Таким образом, обучение радиально-базисной сети состоит из следующих основных шагов.
1. Генерация начальных значений параметров сети.
2. Генерация случайных контрольных точек для одного или нескольких циклов обучения.
3. Несколько циклов настройки центров и ширины при зафиксированных весах. В данном случае цен-
тры и ширина настраивались методом градиентного спуска:
.
),,(
,
),,(
)1(
)()1()1(
)1()1()(
)1(
)()1()1(
)1()1()(












n
k
n
k
n
k
n
knn
k
n
k
n
k
n
k
n
k
n
knn
k
n
k
a
wacI
aa
c
wacI
cc
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ ...
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 1 (71)
56
4. Несколько циклов настройки весов при зафиксированных значениях центров и ширины по алгорит-
му минимизации методом сопряженных градиентов квадратичного функционала, полученного в [3]:
),(5,0),(5,0),(2),( ppffwswAw I ,
где )(
2
1
NNMMA TT
 – симметричная положительно определенная матрица;
)(
2
1
pNfMs TT
 ; M – матрица mN  с элементами
2 2 2
2 4
4exp ik ik k
ik
k k
r r a
m
a a
  
  
 
; N – матрица
mK  с элементами
2
2
exp ik
ik
k
r
n
a
 
  
 
; f – вектор значений функции правой части во внутренних точ-
ках; p  вектор граничных условий в граничных контрольных точках.
5. Проверка, достигнута ли требуемая погрешность. Для этого целесообразно использовать одну из
норм вектора невязки (вектор невязки вычисляется во внутренних и граничных контрольных точ-
ках). Если требуемая погрешность не достигнута, то переход на шаг 2.
Используется пакетный режим обучения, т.е. вычисляется усредненная ошибка по всем контроль-
ным точкам.
Алгоритмы распараллеливания вычислений на графическом процессоре в технологии CUDA
Как было описано выше, для минимизации весов сети использовался алгоритм минимизации квад-
ратичного функционала методом сопряженных градиентов. Непосредственно данный алгоритм состоит
из матрично-векторных операций, распараллеливание которых описано в [5]. Но, кроме коррекции весов,
большая доля времени приходится на вычисление матриц M и N , расстояний ikr , коррекцию векторов
центров и ширины. При этом элементы данных матриц и векторов находятся не с помощью матрично-
векторных операций, а в циклах, что делает невозможным использование стандартной библиотеки
CUDA CUBLAS. Например, вычисление матрицы M и вектора 1r осуществляется в двух вложенных
циклах (рис. 2). Реализация данной функции на графическом процессоре позволяет избавиться от обоих
циклов и параллельно вычислить каждый из элементов матрицы M.
Рис. 2. Алгоритм последовательного вычисления матрицы М и вектора 1r
Для вычисления одного элемента матрицы M требуется прочитать из памяти ikr и ka и выпол-
нить все операции по формуле
2 2 2
2 4
4exp ik ik k
ik
k k
r r a
m
a a
  
  
 
, т.е. необходимо небольшое количество чтений
из памяти и большое количество вычислений. Такие задачи прекрасно реализуются на архитектуре гра-
фического процессора, так как слабое место GPU – относительно медленное чтение из памяти – компен-
сируется за счет большого количества параллельно выполняемых вычислений.
Как видно из рис. 3, вычисления на графическом процессоре происходят в nν блоках, каждый из
которых содержит m потоков. Один поток вычисляет один элемент матрицы M , в результате все эле-
Функция (входные данные: вектора – w, a, f; матрица – R; числа – m, nν)
1r = нулевой вектор 1×nν;
M = нулевая матрица nν×m
Цикл 1: i от 1 до nν
Цикл 2: k от 1 до m
4
222
2
4
k
kika
r
ik
a
ar
em k
ik



kikii wmrr  11
Конец цикла 2
iii frr  11
Конец цикла 1
Возвращаемые значения: M, 1r
Н.О. Матвеева
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 1 (71)
57
менты матрицы вычисляются параллельно. Вычисление вектора i
m
k
kiki fwmr  
1
1 реализуется в этом
том же ядре, что и матрицы M , для уменьшения чтений из памяти, так как найденные элементы матри-
цы M сразу используются для вычисления вектора 1r через разделяемую память блока размером m1 .
Рис. 3. Алгоритм параллельного вычисления матрицы М и вектора 1r на GPU
Другие вычисления алгоритма обучения RBFNN, такие как вычисление матрицы N , коррекция
центров и ширины методом градиентного спуска, метод сопряженных градиентов для настройки весов,
распараллеливаются на графическом процессоре подобным образом.
Анализ результатов экспериментов
Алгоритм обучения RBFNN реализовывался с помощью технологии CUDA на графическом про-
цессоре nVidia GeForce 8800 GTX, на центральных процессорах Intel Pentium 4 3 GHz (CPU1) и Intel®
Core™ 2 Quad CPU Q8200 2,33GHz (CPU2) на Microsoft Visual Studio 2008. Экспериментальное исследо-
вание проводилось на примере модельной задачи (3)–(4) для )sin()sin(),( yxyxf  , 0),( yxp . Анализ
результатов экспериментов показал, что часть алгоритма, не включающая обучение весов сети, распа-
раллеливается очень эффективно, значительно уменьшая время вычислений. Метод сопряженных гради-
ентов для обучения весов становится более эффективным при увеличении числа нейронов. Для решае-
мой задачи увеличивать количество нейронов не имело смысла, поэтому ускорения были получены в
основном за счет распараллеливания шага 1, вычисления матриц M , N и др., что можно видеть из таб-
лицы. При решении более сложного уравнения эффективность распараллеливания на графическом про-
цессоре будет значительней, но и для решаемой задачи было получено существенное ускорение. Общее
ускорение вычислялось по формуле
GPUвычисленийВремя
CPUвычисленийВремя
S . В сравнении с CPU Intel Pentium 4
3 GHz при числе контрольных точек 224 оно составило 38,58, при числе контрольных точек 524 – 83,42,
в сравнении с Intel® Core™ 2 Quad CPU Q8200 2,33GHz – 17,31 и 34,5 соответственно.
В таблице приведены результаты экспериментов, из которых видно, что уже при небольшом числе
нейронов и контрольных точек реализация алгоритма обучения на графическом процессоре дает сущест-
венный выигрыш во времени.
Параметры сети Шаг алгоритма
обучения сети
GPU,
мс
СPU 1,
мс
CPU 2,
мс
Уск. 1 Уск. 2
Число контр. точек = 224 Шаг 3 0,56 64,1 27,8 114,5 49,6
Число контр. точек = 524 Шаг 3 0,58 173,2 71,7 298,6 123,6
Число нейронов = 64 Шаг 4 1,12 1,9 1,2 1,7 1,07
Таблица. Результаты экспериментов
Блок nν
Блок 2
Блок 1
···
···
···
Блок 1. Поток i ( mi ,...,2,1 )
1. Чтение из глобальной памяти iR1 , ia и iw
2. Вычисление
4
22
1
1
2
2
1
4
i
iia
R
i
a
aR
em i
i



3. Вычисление mkwm1 и запись в разделяемую
память
4. Суммирование значений в разделяемой памя-
ти потоками блока, подобно параллельному
вычислению скалярного произведения
5. Запись в глобальную память вычисленных
значений im1 и ir1
Потоки:
1 2 m–1 m
МЕТОД НАВИГАЦИИ ПО ТЕКСТУ ДОКУМЕНТА С ПОМОЩЬЮ АВТОМАТИЧЕСКОЙ...
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 1 (71)
58
Заключение
В результате распараллеливания алгоритма обучения RBFNN, основанного на идее последова-
тельной настройки центров, ширины и весов и идее использования для настройки весов алгоритма ми-
нимизации квадратичного функционала методом сопряженных градиентов, было достигнуто существен-
ное уменьшение времени вычислений. При решении уравнения Пуассона, с использованием сети с 64-мя
нейронами и 524 контрольными точками, достигнуто ускорение в 34,5 раза в сравнении с CPU Intel®
Core™ 2 Quad.
Работа выполнена по тематическому плану научно-исследовательских работ Пензенского государ-
ственного педагогического университета, проводимых по заданию Федерального агентства по образованию.
Литература
1. Liu G.R. An Introduction to Meshfree Methods and Their Programming / G.R. Liu, Y.T. Gu. – Springer,
2005. – 479 p.
2. Jianyu L. Numerical solution of elliptic partial differential equation using radial basis function neural net-
works / L. Jianyu, L. Siwei, Q. Yingjiana, H. Yapinga // Neural Networks. – 2003. – 16(5/6). – P. 729–734.
3. Горбаченко В.И. Радиально-базисные нейронные сети для решения краевых задач бессеточными
методами / В.И. Горбаченко, Е.В. Артюхина, В.В. Артюхин // Нейроинформатика-2010: Сборник
научных трудов XII Всероссийской научно-технической конференции. В 2-х частях. Часть 2. – М.:
НИЯУ МИФИ, 2010. – С. 237–247.
4. Хайкин С. Нейронные сети: Полный курс / С. Хайкин. – М.: Вильямс, 2006. – 1104 с.
5. Горбаченко В.И. Реализация итерационных алгоритмов решения систем линейных алгебраических
уравнений на графических процессорах в технологии CUDA / В.И. Горбаченко, Н.О. Матвеева //
Вопросы радиоэлектроники. Серия ЭВТ. – 2008. – Вып. 6. – С. 65–75.
Матвеева Наталья
Олеговна
– Пензенский государственный педагогический университет им. В. Г. Белинского,
аспирант, fire_tiger_705@mail.ru

More Related Content

What's hot

3 d studio_max
3 d studio_max3 d studio_max
3 d studio_max
Alexis Jobes
 
Presentation Diplom
Presentation DiplomPresentation Diplom
Presentation Diplomguestc80a581
 
Лекция 3
Лекция 3Лекция 3
Лекция 3
Ivan Stolyarov
 
Сопровождение движущихся объектов в условиях их заслонения движущимися и непо...
Сопровождение движущихся объектов в условиях их заслонения движущимися и непо...Сопровождение движущихся объектов в условиях их заслонения движущимися и непо...
Сопровождение движущихся объектов в условиях их заслонения движущимися и непо...
Nikolai Ptitsyn
 

What's hot (6)

0907.0229
0907.02290907.0229
0907.0229
 
3 d studio_max
3 d studio_max3 d studio_max
3 d studio_max
 
Presentation Diplom
Presentation DiplomPresentation Diplom
Presentation Diplom
 
лекция 33
лекция 33лекция 33
лекция 33
 
Лекция 3
Лекция 3Лекция 3
Лекция 3
 
Сопровождение движущихся объектов в условиях их заслонения движущимися и непо...
Сопровождение движущихся объектов в условиях их заслонения движущимися и непо...Сопровождение движущихся объектов в условиях их заслонения движущимися и непо...
Сопровождение движущихся объектов в условиях их заслонения движущимися и непо...
 

Similar to РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕКТУРЕ ГРАФИЧЕСКОГО ПРОЦЕССОРА

284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетейivanov1566359955
 
37359 (1).pptx
37359 (1).pptx37359 (1).pptx
37359 (1).pptx
AidaMustafyeva
 
!Predictive analytics part_2
!Predictive analytics part_2!Predictive analytics part_2
!Predictive analytics part_2
Vladimir Krylov
 
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptxNUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
whiskeycat17
 
Расчёт дифракционных картин
Расчёт дифракционных картинРасчёт дифракционных картин
Расчёт дифракционных картинTimur Shaporev
 
1. анализ емкостных параметров
1. анализ емкостных параметров1. анализ емкостных параметров
1. анализ емкостных параметровstudent_kai
 
Моделирование|Обучение
Моделирование|ОбучениеМоделирование|Обучение
Моделирование|Обучениеfunkypublic
 
якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)Michael Karpov
 
Многослойній перцептрон- АОРО.ppt
Многослойній перцептрон- АОРО.pptМногослойній перцептрон- АОРО.ppt
Многослойній перцептрон- АОРО.ppt
AleksandrGozhyj
 
Метод микросейсмического мониторинга MicroseismicCSP: примеры использования
Метод микросейсмического мониторинга MicroseismicCSP: примеры использованияМетод микросейсмического мониторинга MicroseismicCSP: примеры использования
Метод микросейсмического мониторинга MicroseismicCSP: примеры использования
wsspsoft
 
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
Natalia Polkovnikova
 
Применение компьютерного моделирования для решения задач параметрической ид...
Применение компьютерного  моделирования  для решения задач параметрической ид...Применение компьютерного  моделирования  для решения задач параметрической ид...
Применение компьютерного моделирования для решения задач параметрической ид...
Sergey Maslennikov
 
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
ITMO University
 

Similar to РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕКТУРЕ ГРАФИЧЕСКОГО ПРОЦЕССОРА (20)

284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей
 
37359 (1).pptx
37359 (1).pptx37359 (1).pptx
37359 (1).pptx
 
!Predictive analytics part_2
!Predictive analytics part_2!Predictive analytics part_2
!Predictive analytics part_2
 
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptxNUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
NUG_prezentatsia_o_neyronnykh_setyakh_24_02.pptx
 
Расчёт дифракционных картин
Расчёт дифракционных картинРасчёт дифракционных картин
Расчёт дифракционных картин
 
1. анализ емкостных параметров
1. анализ емкостных параметров1. анализ емкостных параметров
1. анализ емкостных параметров
 
Mod Film
Mod FilmMod Film
Mod Film
 
Моделирование|Обучение
Моделирование|ОбучениеМоделирование|Обучение
Моделирование|Обучение
 
лекция 7
лекция 7лекция 7
лекция 7
 
якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)
 
Многослойній перцептрон- АОРО.ppt
Многослойній перцептрон- АОРО.pptМногослойній перцептрон- АОРО.ppt
Многослойній перцептрон- АОРО.ppt
 
лекция 34
лекция 34лекция 34
лекция 34
 
Метод микросейсмического мониторинга MicroseismicCSP: примеры использования
Метод микросейсмического мониторинга MicroseismicCSP: примеры использованияМетод микросейсмического мониторинга MicroseismicCSP: примеры использования
Метод микросейсмического мониторинга MicroseismicCSP: примеры использования
 
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
 
лекция 32
лекция 32лекция 32
лекция 32
 
Применение компьютерного моделирования для решения задач параметрической ид...
Применение компьютерного  моделирования  для решения задач параметрической ид...Применение компьютерного  моделирования  для решения задач параметрической ид...
Применение компьютерного моделирования для решения задач параметрической ид...
 
лекция 10
лекция 10лекция 10
лекция 10
 
лаб работа3
лаб работа3лаб работа3
лаб работа3
 
лекция 12
лекция 12лекция 12
лекция 12
 
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
 

More from ITMO University

МЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНА
МЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ  ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНАМЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ  ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНА
МЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНА
ITMO University
 
МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...
МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ  АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ  АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...
МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...
ITMO University
 
ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...
ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ  ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ  ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...
ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...
ITMO University
 
ПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМ
ПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМ
ПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМ
ITMO University
 
СПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ ТЯЖЕЛОЙ ВОДЫ
СПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ  ТЯЖЕЛОЙ ВОДЫСПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ  ТЯЖЕЛОЙ ВОДЫ
СПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ ТЯЖЕЛОЙ ВОДЫ
ITMO University
 
МЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХ
МЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХМЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХ
МЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХ
ITMO University
 
ПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОК
ПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОКПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОК
ПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОК
ITMO University
 
ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...
ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...
ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...
ITMO University
 
МЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВ
МЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВМЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВ
МЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВ
ITMO University
 
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...
ITMO University
 
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...
ITMO University
 
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...
ITMO University
 
Информационная система «Забота о каждом»
Информационная система  «Забота о каждом» Информационная система  «Забота о каждом»
Информационная система «Забота о каждом»
ITMO University
 
Проект "Я рядом"
Проект "Я рядом"Проект "Я рядом"
Проект "Я рядом"
ITMO University
 
Проект «Театральный мост»
Проект «Театральный мост»Проект «Театральный мост»
Проект «Театральный мост»
ITMO University
 
Студенческие инициативы в развитии ИКТ для старшего поколения
Студенческие инициативы в  развитии ИКТ для старшего  поколения Студенческие инициативы в  развитии ИКТ для старшего  поколения
Студенческие инициативы в развитии ИКТ для старшего поколения
ITMO University
 
СОХРАНЁННОЕ РАДИО
СОХРАНЁННОЕ  РАДИОСОХРАНЁННОЕ  РАДИО
СОХРАНЁННОЕ РАДИО
ITMO University
 
Проект: «Разработка Системы Оценки и учёта Добровольческой Деятельности «СО...
Проект: «Разработка Системы Оценки и учёта  Добровольческой Деятельности  «СО...Проект: «Разработка Системы Оценки и учёта  Добровольческой Деятельности  «СО...
Проект: «Разработка Системы Оценки и учёта Добровольческой Деятельности «СО...
ITMO University
 
«Нет преграды патриотам!»
«Нет преграды патриотам!»«Нет преграды патриотам!»
«Нет преграды патриотам!»
ITMO University
 
Проект «Наш любимый детский сад»
Проект «Наш любимый детский сад»Проект «Наш любимый детский сад»
Проект «Наш любимый детский сад»
ITMO University
 

More from ITMO University (20)

МЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНА
МЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ  ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНАМЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ  ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНА
МЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНА
 
МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...
МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ  АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ  АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...
МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...
 
ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...
ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ  ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ  ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...
ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...
 
ПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМ
ПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМ
ПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМ
 
СПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ ТЯЖЕЛОЙ ВОДЫ
СПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ  ТЯЖЕЛОЙ ВОДЫСПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ  ТЯЖЕЛОЙ ВОДЫ
СПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ ТЯЖЕЛОЙ ВОДЫ
 
МЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХ
МЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХМЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХ
МЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХ
 
ПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОК
ПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОКПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОК
ПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОК
 
ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...
ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...
ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...
 
МЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВ
МЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВМЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВ
МЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВ
 
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...
 
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...
 
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...
 
Информационная система «Забота о каждом»
Информационная система  «Забота о каждом» Информационная система  «Забота о каждом»
Информационная система «Забота о каждом»
 
Проект "Я рядом"
Проект "Я рядом"Проект "Я рядом"
Проект "Я рядом"
 
Проект «Театральный мост»
Проект «Театральный мост»Проект «Театральный мост»
Проект «Театральный мост»
 
Студенческие инициативы в развитии ИКТ для старшего поколения
Студенческие инициативы в  развитии ИКТ для старшего  поколения Студенческие инициативы в  развитии ИКТ для старшего  поколения
Студенческие инициативы в развитии ИКТ для старшего поколения
 
СОХРАНЁННОЕ РАДИО
СОХРАНЁННОЕ  РАДИОСОХРАНЁННОЕ  РАДИО
СОХРАНЁННОЕ РАДИО
 
Проект: «Разработка Системы Оценки и учёта Добровольческой Деятельности «СО...
Проект: «Разработка Системы Оценки и учёта  Добровольческой Деятельности  «СО...Проект: «Разработка Системы Оценки и учёта  Добровольческой Деятельности  «СО...
Проект: «Разработка Системы Оценки и учёта Добровольческой Деятельности «СО...
 
«Нет преграды патриотам!»
«Нет преграды патриотам!»«Нет преграды патриотам!»
«Нет преграды патриотам!»
 
Проект «Наш любимый детский сад»
Проект «Наш любимый детский сад»Проект «Наш любимый детский сад»
Проект «Наш любимый детский сад»
 

РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕКТУРЕ ГРАФИЧЕСКОГО ПРОЦЕССОРА

  • 1. РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ ... Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 1 (71) 54 6 КОМПЬЮТЕРНЫЕ СИСТЕМЫ И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ УДК 004.272:004.032.26 РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕКТУРЕ ГРАФИЧЕСКОГО ПРОЦЕССОРА Н.О. Матвеева Предлагается распараллеливание в технологии программно-аппаратной архитектуры (CUDA) алгоритма обучения радиально-базисной нейронной сети (RBFNN), основанного на идее последовательной настройки центров, ширины и весов сети, а также идее коррекции весов по алгоритму минимизации квадратичного функционала методом со- пряженных градиентов. Приводятся результаты сравнения времени обучения RBFNN на различных центральных и графических процессорах, доказывающие эффективность распараллеливания. Ключевые слова: графический процессор, параллельность, CUDA, массивно-параллельная архитектура, RBFNN, дифференциальное уравнение. Введение Для решения краевых задач математической физики, описываемых дифференциальными уравне- ниями в частных производных, наибольшее распространение получили методы конечных разностей и конечных элементов, но эти методы требуют построения сеток и позволяют получить решение только в узлах сетки. Этого существенного недостатка лишены бессеточные методы [1]. Бессеточные методы эф- фективно реализуются на RBFNN [2]. Главное достоинство RBFNN состоит в использовании принципов обучения для формирования оптимальных параметров радиально-базисных функций (RBF). Такие мето- ды могут быть эффективно реализованы на параллельных системах. Для распараллеливания RBFNN наиболее подходит модель вычислений SIMD (Single Instruction – Multiple Data), так как нейроны одного слоя сети выполняют одинаковые действия над различными дан- ными. На основе такой модели вычислений построены современные графические процессоры (GPU). GPU выигрывают у кластерных систем по критерию цена/производительность. Целью работы является разработка параллельной реализации алгоритма обучения RBFNN для ре- шения краевых задач математической физики на графическом процессоре с использованием технологии CUDA и исследование эффективности распараллеливания путем сравнения времени решения краевой задачи на GPU и на центральном процессоре (CPU). Структура RBFNN RBFNN (рис. 1) представляет собой сеть с двумя слоями. Первый слой осуществляет преобразо- вание входного вектора x с использованием RBF. Практически используются различные RBF. Рис. 1. Радиально-базисная нейронная сеть В дальнейшем будем использовать наиболее часто употребляемую функцию – гауссиан, имеющий для k-го нейрона вид )/exp()( 22 kkk ar x , (1)
  • 2. Н.О. Матвеева Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 1 (71) 55 где x – входной вектор; kkr cx  – радиус k-го нейрона; ka – ширина k-го нейрона; kc – центр k-го нейрона. Выход сети описывается выражением    m k kkwu 1 ),(x (2) где kw – вес связи выходного нейрона с k-ым нейроном первого слоя; m – число нейронов первого слоя. Алгоритм обучения RBFNN Рассмотрим градиентный алгоритм обучения RBFNN на примере решения двумерного уравнения Пуассона       ),(),,( 2 2 2 2 yxyxf y u x u , (3)  ),(),,( yxyxpu , (4) где  – граница области; f и p – известные функции ),( yx . Выбирая в качестве RBF гауссиан (1), определяемый как 2 2 ( , ) exp k k k r x y a         , рассмотрим RBF-сеть как аппроксиматор функции решения    m k kkk rwu 1 ),()(x (5) где m – число RBF (скрытых нейронов); 22 )()( ykxkk cycxr  ; ),( ykxk cc – координаты центра нейрона k ; ka – ширина нейрона k. Обучение сети сводится к настройке весов, расположения центров и ширины нейронов, миними- зирующих функционал качества (функционал ошибки), представляющий собой сумму квадратов невязок в контрольных точках   2 11 2 2 2 2 2 ),( 2 ),( ),(),( 2 1 ),,(                     K j jjj N i ii iiii pyxuyxf y yxu x yxu I aсw , (6) где  – штрафной множитель; jp – значение граничных условий первого рода в точке j-границы; N и K – количество внутренних и граничных контрольных точек. В [2] предложен алгоритм последовательной настройки центров, ширины и весов с использовани- ем метода градиентного спуска с подбором коэффициентов скорости обучения. Подбор коэффициентов скорости обучения является основным недостатком данного метода. В [3] для настройки весов предложен другой алгоритм, который сформулирован как задача мини- мизации методом сопряженных градиентов квадратичного функционала. Данный метод не содержит подбираемых коэффициентов, и настройка весов происходит быстрее, чем методом градиентного спуска. Очень важно соблюдать при обучении соотношение между оптимальным количеством нейронов m и количеством контрольных точек [4] 3 m N K , где ~ – знак пропорциональности. Данное соотношение требует большого числа контрольных точек, что ведет к увеличению времени решения задачи. В [3] обосновано, что многократная случайная генерация относительно небольшого числа контрольных точек внутри и на границе области решения компенсирует нарушение пропорции. Таким образом, обучение радиально-базисной сети состоит из следующих основных шагов. 1. Генерация начальных значений параметров сети. 2. Генерация случайных контрольных точек для одного или нескольких циклов обучения. 3. Несколько циклов настройки центров и ширины при зафиксированных весах. В данном случае цен- тры и ширина настраивались методом градиентного спуска: . ),,( , ),,( )1( )()1()1( )1()1()( )1( )()1()1( )1()1()(             n k n k n k n knn k n k n k n k n k n knn k n k a wacI aa c wacI cc
  • 3. РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ ... Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 1 (71) 56 4. Несколько циклов настройки весов при зафиксированных значениях центров и ширины по алгорит- му минимизации методом сопряженных градиентов квадратичного функционала, полученного в [3]: ),(5,0),(5,0),(2),( ppffwswAw I , где )( 2 1 NNMMA TT  – симметричная положительно определенная матрица; )( 2 1 pNfMs TT  ; M – матрица mN  с элементами 2 2 2 2 4 4exp ik ik k ik k k r r a m a a         ; N – матрица mK  с элементами 2 2 exp ik ik k r n a        ; f – вектор значений функции правой части во внутренних точ- ках; p  вектор граничных условий в граничных контрольных точках. 5. Проверка, достигнута ли требуемая погрешность. Для этого целесообразно использовать одну из норм вектора невязки (вектор невязки вычисляется во внутренних и граничных контрольных точ- ках). Если требуемая погрешность не достигнута, то переход на шаг 2. Используется пакетный режим обучения, т.е. вычисляется усредненная ошибка по всем контроль- ным точкам. Алгоритмы распараллеливания вычислений на графическом процессоре в технологии CUDA Как было описано выше, для минимизации весов сети использовался алгоритм минимизации квад- ратичного функционала методом сопряженных градиентов. Непосредственно данный алгоритм состоит из матрично-векторных операций, распараллеливание которых описано в [5]. Но, кроме коррекции весов, большая доля времени приходится на вычисление матриц M и N , расстояний ikr , коррекцию векторов центров и ширины. При этом элементы данных матриц и векторов находятся не с помощью матрично- векторных операций, а в циклах, что делает невозможным использование стандартной библиотеки CUDA CUBLAS. Например, вычисление матрицы M и вектора 1r осуществляется в двух вложенных циклах (рис. 2). Реализация данной функции на графическом процессоре позволяет избавиться от обоих циклов и параллельно вычислить каждый из элементов матрицы M. Рис. 2. Алгоритм последовательного вычисления матрицы М и вектора 1r Для вычисления одного элемента матрицы M требуется прочитать из памяти ikr и ka и выпол- нить все операции по формуле 2 2 2 2 4 4exp ik ik k ik k k r r a m a a         , т.е. необходимо небольшое количество чтений из памяти и большое количество вычислений. Такие задачи прекрасно реализуются на архитектуре гра- фического процессора, так как слабое место GPU – относительно медленное чтение из памяти – компен- сируется за счет большого количества параллельно выполняемых вычислений. Как видно из рис. 3, вычисления на графическом процессоре происходят в nν блоках, каждый из которых содержит m потоков. Один поток вычисляет один элемент матрицы M , в результате все эле- Функция (входные данные: вектора – w, a, f; матрица – R; числа – m, nν) 1r = нулевой вектор 1×nν; M = нулевая матрица nν×m Цикл 1: i от 1 до nν Цикл 2: k от 1 до m 4 222 2 4 k kika r ik a ar em k ik    kikii wmrr  11 Конец цикла 2 iii frr  11 Конец цикла 1 Возвращаемые значения: M, 1r
  • 4. Н.О. Матвеева Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 1 (71) 57 менты матрицы вычисляются параллельно. Вычисление вектора i m k kiki fwmr   1 1 реализуется в этом том же ядре, что и матрицы M , для уменьшения чтений из памяти, так как найденные элементы матри- цы M сразу используются для вычисления вектора 1r через разделяемую память блока размером m1 . Рис. 3. Алгоритм параллельного вычисления матрицы М и вектора 1r на GPU Другие вычисления алгоритма обучения RBFNN, такие как вычисление матрицы N , коррекция центров и ширины методом градиентного спуска, метод сопряженных градиентов для настройки весов, распараллеливаются на графическом процессоре подобным образом. Анализ результатов экспериментов Алгоритм обучения RBFNN реализовывался с помощью технологии CUDA на графическом про- цессоре nVidia GeForce 8800 GTX, на центральных процессорах Intel Pentium 4 3 GHz (CPU1) и Intel® Core™ 2 Quad CPU Q8200 2,33GHz (CPU2) на Microsoft Visual Studio 2008. Экспериментальное исследо- вание проводилось на примере модельной задачи (3)–(4) для )sin()sin(),( yxyxf  , 0),( yxp . Анализ результатов экспериментов показал, что часть алгоритма, не включающая обучение весов сети, распа- раллеливается очень эффективно, значительно уменьшая время вычислений. Метод сопряженных гради- ентов для обучения весов становится более эффективным при увеличении числа нейронов. Для решае- мой задачи увеличивать количество нейронов не имело смысла, поэтому ускорения были получены в основном за счет распараллеливания шага 1, вычисления матриц M , N и др., что можно видеть из таб- лицы. При решении более сложного уравнения эффективность распараллеливания на графическом про- цессоре будет значительней, но и для решаемой задачи было получено существенное ускорение. Общее ускорение вычислялось по формуле GPUвычисленийВремя CPUвычисленийВремя S . В сравнении с CPU Intel Pentium 4 3 GHz при числе контрольных точек 224 оно составило 38,58, при числе контрольных точек 524 – 83,42, в сравнении с Intel® Core™ 2 Quad CPU Q8200 2,33GHz – 17,31 и 34,5 соответственно. В таблице приведены результаты экспериментов, из которых видно, что уже при небольшом числе нейронов и контрольных точек реализация алгоритма обучения на графическом процессоре дает сущест- венный выигрыш во времени. Параметры сети Шаг алгоритма обучения сети GPU, мс СPU 1, мс CPU 2, мс Уск. 1 Уск. 2 Число контр. точек = 224 Шаг 3 0,56 64,1 27,8 114,5 49,6 Число контр. точек = 524 Шаг 3 0,58 173,2 71,7 298,6 123,6 Число нейронов = 64 Шаг 4 1,12 1,9 1,2 1,7 1,07 Таблица. Результаты экспериментов Блок nν Блок 2 Блок 1 ··· ··· ··· Блок 1. Поток i ( mi ,...,2,1 ) 1. Чтение из глобальной памяти iR1 , ia и iw 2. Вычисление 4 22 1 1 2 2 1 4 i iia R i a aR em i i    3. Вычисление mkwm1 и запись в разделяемую память 4. Суммирование значений в разделяемой памя- ти потоками блока, подобно параллельному вычислению скалярного произведения 5. Запись в глобальную память вычисленных значений im1 и ir1 Потоки: 1 2 m–1 m
  • 5. МЕТОД НАВИГАЦИИ ПО ТЕКСТУ ДОКУМЕНТА С ПОМОЩЬЮ АВТОМАТИЧЕСКОЙ... Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 1 (71) 58 Заключение В результате распараллеливания алгоритма обучения RBFNN, основанного на идее последова- тельной настройки центров, ширины и весов и идее использования для настройки весов алгоритма ми- нимизации квадратичного функционала методом сопряженных градиентов, было достигнуто существен- ное уменьшение времени вычислений. При решении уравнения Пуассона, с использованием сети с 64-мя нейронами и 524 контрольными точками, достигнуто ускорение в 34,5 раза в сравнении с CPU Intel® Core™ 2 Quad. Работа выполнена по тематическому плану научно-исследовательских работ Пензенского государ- ственного педагогического университета, проводимых по заданию Федерального агентства по образованию. Литература 1. Liu G.R. An Introduction to Meshfree Methods and Their Programming / G.R. Liu, Y.T. Gu. – Springer, 2005. – 479 p. 2. Jianyu L. Numerical solution of elliptic partial differential equation using radial basis function neural net- works / L. Jianyu, L. Siwei, Q. Yingjiana, H. Yapinga // Neural Networks. – 2003. – 16(5/6). – P. 729–734. 3. Горбаченко В.И. Радиально-базисные нейронные сети для решения краевых задач бессеточными методами / В.И. Горбаченко, Е.В. Артюхина, В.В. Артюхин // Нейроинформатика-2010: Сборник научных трудов XII Всероссийской научно-технической конференции. В 2-х частях. Часть 2. – М.: НИЯУ МИФИ, 2010. – С. 237–247. 4. Хайкин С. Нейронные сети: Полный курс / С. Хайкин. – М.: Вильямс, 2006. – 1104 с. 5. Горбаченко В.И. Реализация итерационных алгоритмов решения систем линейных алгебраических уравнений на графических процессорах в технологии CUDA / В.И. Горбаченко, Н.О. Матвеева // Вопросы радиоэлектроники. Серия ЭВТ. – 2008. – Вып. 6. – С. 65–75. Матвеева Наталья Олеговна – Пензенский государственный педагогический университет им. В. Г. Белинского, аспирант, fire_tiger_705@mail.ru