Асинхронные параллельные алгоритмы нейронных сетей

реклама
5Н
УДК 681.324
Б.Б. Нестеренко, М.А. Новотарский
Институт математики НАН Украины, г. Киев, model@imath.kiev.ua, Украина
Асинхронные параллельные алгоритмы
нейронных сетей
Робота посвящена исследованию новых подходов к расширению сферы применения нейронных
сетей. Дается анализ существующих ограничений, вызванных применением модели формального
нейрона в качестве структурного элемента нейронных сетей. Рассмотрены возможности
построения цифровых нейронных сетей на базе специальной модели цифрового нейрона.
Предложен параллельный асинхронный алгоритм решения краевых задач математической физики
с помощью цифровых нейронных сетей.
Введение
В отделе математического моделирования Института математики
Национальной академии наук Украины разрабатываются методы и средства
организации асинхронных вычислений на нейронных сетях [1]. Одним из
направлений этих исследований есть создание нейронных мультисеточных
методов для решения краевых задач. Данное направление есть логическим
продолжением локально-асинхронной концепции параллельных вычислений,
которая была выдвинута сотрудниками лаборатории математического
моделирования.
Несмотря на чрезвычайную активность в области нейронных сетей, многое в
этих исследованиях настораживает. Прежде всего – чрезмерная упрощенность
понимания работы самого нейрона, который рассматривается как суммирующий
пороговый элемент, а обучение его происходит путем модификации синапсов. Ряд
исследователей рассматривает нейрон как значительно более сложную систему
обработки информации, предполагая, что основную роль в обучении играют
молекулярные механизмы внутри нейрона [2], [3]. Экспериментально доказано
изменение порога возбуждения командных нейронов (а не весов синапсов) при
выработке и угасании условного рефлекса и построены математические модели,
демонстрирующие возможный механизм внутринейронного молекулярного
обучения [4]. Процесс межнейронного взаимодействия определяется принципами
работы синапса, результативность которого может настраиваться в зависимости от
интенсивности обмена данными. Поэтому синапсы могут обучаться в зависимости
от активности процессов, в которых они участвуют. Эта зависимость от
предыстории действует как память, которая, возможно, ответственна за память
человека. Таким образом, сведение функций синапса до простого умножения
сигнала на синаптический коэффициент сильно снижает адекватность модели
нейрона. С целью повышения адекватности предпринимались попытки создания
импульсных моделей взаимодействия [5], что приближало их к физической
природе процессов, происходящих в нервной клетке. Однако и эти модели
имитировали только импульсный характер взаимодействия, не учитывая
возможных изменений параметров нейротрансмиттеров.
По мнению авторов, назрела необходимость выдвижения новых идей в
рамках переосмысления модели нейрона Мак-Каллока и Питтса. Причем эти идеи
554
«Искусственный интеллект» 4’2004
Асинхронные параллельные алгоритмы нейронных сетей
5Н
ни в коей мере не должны входить в противоречие с уже созданными
нейросетевыми подходами, а скорее наоборот ― расширять сферу возможного
применения нейросетевых структур.
Принципы построения цифровых нейронных сетей
Обращает на себя внимание тот факт, что наблюдается некая аналогия между
структурой модели нейрона и усилительным блоком с сумматором,
рассматриваемым в теории аналоговых вычислительных машин (АВМ). Простая
нейронная сеть может быть смоделирована на АВМ методом прямой аналогии.
При этом процесс обучения нейрона сводится к настройке параметров сумматора.
Сходство также подтверждается преимуществами и недостатками, которые
характерны для АВМ и для непрерывной модели нейрона.
Известно, что естественным развитием теории аналоговых вычислительных
машин стали цифровые вычислительные машины, совместное и равноправное
существование которых продолжается весьма длительное время. Переход к цифровой
модели нейрона также естественен и влечет за собой ряд существенных преимуществ.
Прежде всего это точность представления информации, определяемая разрядностью
цифрового нейрона.
Информация может быть структурирована и организация ее может обладать
высокой степенью сложности. Известен ряд подходов к реализации асинхронного
взаимодействия в цифровых вычислительных структурах, что позволяет
реализовать принцип параллельности процессов, существующих одновременно на
различных цифровых нейронах, объединяемых в сеть. Кроме того, теоретически
не существует ограничения на вид активационной функции нейрона. Строгим
обоснованием этого факта следует считать знаменитую теорему Колмогорова,
перефразированную в терминах нейронных сетей.
Теорема Колмогорова. Если известны функции hij , то любую непрерывную
функцию от n переменных можно точно реализовать с помощью простой
нейронной сети на основе трехслойного персептрона. Для этого достаточно
подобрать 2n  1 передаточных функций gi нейронов скрытого слоя.
2 n 1
 n

F  x1 , x 2 ,... xn    g j   hij  xi  ,
j 1
 i 1

(3)
где gi и hij ― непрерывные функции, причем hij не зависят от функции F .
К сожалению, практическое использование теоремы Колмогорова сильно
затруднено тем, что функции hij ― негладкие и трудно вычислимые, а для выбора
функций gi не существует достаточно эффективных методик. Поэтому для
каждого нового класса задач, решение которых предполагается получать с
помощью нейронной сети, разрабатываются свои концепции построения ее
структуры и алгоритма функционирования.
В рамках цифровой модели в качестве блока активационной функции может
выступать процессорный модуль, реализующий алгоритм ее вычисления. Наличие
локальных элементов памяти дает широкие возможности обучения как на уровне
синаптических переходов, так и имитацию внутримолекулярного обучения.
Скептики могут возразить, что уже известны многочисленные примеры
цифрового представления информации в нейронной сети. Такие нейровычислители
представляют собой мультипроцессорные системы с возможностью параллельной
обработки, что позволяет реализовывать на их основе нейровычислительные системы,
в структуре которых можно выделить две основные части:
«Штучний інтелект» 4’2004
555
Нестеренко Б.Б., Новотарский М.А.
5Н
 управляющую Host-ЭВМ, реализованную на основе обычной вычислительной
системы с CISC или RISC микропроцессорами;
 виртуальное аппаратное средство, подключаемое к Host-ЭВМ посредством внутренних системных интерфейсов, выполняющее основные вычислительные операции. Обобщенная функциональная схема виртуального нейровычислителя показана
на рис. 1.
Особенностью аппаратной реализации нейровычислителя с возможностью
параллельной обработки является то, что в основе его построения лежит использование
сигнальных процессоров, объединенных между собой в определенную архитектуру,
которая обеспечивает параллельность выполнения вычислительных операций.
Как правило, такие нейровычислители строятся на основе модульной архитектуры, которая обеспечивает наращиваемость вычислительной мощности путем увеличения числа процессорных модулей. Они реализуются в основном на базе несущих
модулей стандартов ISA, PCI, VME. Основными функциональными элементами
являются модуль матричных сигнальных процессоров (МPU), рабочая память (RAM),
память программ (MPROM), а также модуль обеспечения ввода/вывода сигналов
(IOU). Для построения нейровычислителей данного типа используют сигнальные
процессоры с плавающей точкой ADSP2106x, TMS320C4x,8x, DSP96002. Существуют
также широко известные нейрочипы МА16 (фирмы Siemens) и СБИС ETAN 80170NX
(фирмы Intel), и ряд других. Однако существующие подходы скорее можно отнести к
цифровому моделированию непрерывной нейронной структуры. Известно, что,
несмотря на декларированную универсальность, непрерывные нейросети не обладают
одинаково высокой эффективностью при реализации различных алгоритмов.
Рисунок1 – Обобщенная функциональная схема виртуального нейровычислителя
В частности, весьма упрощенный характер функционирования нейрона не позволял применить нейронные сети для реализации алгоритмов численных методов
решения краевых задач математической физики. Цифровой нейрон дает возможность
задания весьма сложной функции активации. По сути, ограничением является только
объем памяти для хранения программы, реализующей эту функцию. Рассмотрим детальнее подход к формированию цифровой модели нейрона. Блок-схема цифрового
нейрона показана на рис. 2.
Цифровой нейрон представляет собой процессорный блок с соответствующей
периферией. Для реализации функции асинхронного обмена данными по каждому
каналу используются специальные буферы асинхронного обмена (БАО). Функции этих
556
«Искусственный интеллект» 4’2004
Асинхронные параллельные алгоритмы нейронных сетей
5Н
буферов соответствуют функциям синаптических переходов нейрона. Основное назначение буферов асинхронного обмена заключается в обеспечении асинхронного обмена
данными с целью организации асинхронного режима функционирования цифровой
нейронной сети. Эти блоки также реализуют моделирование влияния синаптических
весов. Согласно теореме Колмогорова, формирование аргумента активационной
функции как суммы сигналов, поступающих по дендритам нейрона, представляется
весьма упрощенной моделью. Цифровая модель предполагает прямое включение
данной информации в вычисление функции от многих переменных, осуществляемое
блоком центрального процессора ЦП. Этот блок является центральным узлом
цифрового нейрона и реализует все процессы обработки информации.
Рисунок 2 – Модель цифрового нейрона
Программа работы нейрона хранится в постоянном запоминающем
устройстве (ПЗУ), а текущие данные – в локальном оперативном запоминающем
устройстве (ЛОЗУ). Для организации связи с БАО других нейронов служит
специальный выходной блок (ВБ), функции которого соответствуют функциям
аксона. Использование указанного подхода к построению цифровых нейронных
сетей позволило расширить сферу их применения.
Асинхронный мультисеточный метод решения
краевых задач на нейронных сетях
Математическую модель для демонстрации вычислений представим в виде
операторного уравнения
(1)
LU  F ,

n
где L – дифференциальный оператор и U  U  x  x  D  R
с граничными
условиями Дирихле произвольной геометрической формы.
Граница рассматривается как множество точек, количество которых
выбирается таким образом, чтобы представление границы было достаточно
точным. Пусть, выбрано M точек p1 , p2 ,..., pM  B для представления границы
B . Тогда граничные условия Дирихле имеют вид:
U  pi   bi , i  1,2,..., M .
(2)


Аппроксимируем уравнение (1) на однородной сетке с шагом h .
Результирующая система линейных алгебраических уравнений будет иметь вид:
LhU h  Fh ,
(3)
«Штучний інтелект» 4’2004
557
Нестеренко Б.Б., Новотарский М.А.
5Н
где Lh – разностный оператор; Fh – некоторая сеточная функция; U h –
разностное решение.
Для решения системы уравнений (3) может быть использован любой
двухслойный итерационный метод, который можно записать в канонической форме:
U n  1   U h n 
(4)
Bh h
 L h U h n   F h , n  0 ,1, 2 ,...,
 n 1
где
Lh : H  H –
линейный
оператор в
конечномерном
пространстве
H;
Bh : H  H – линейный оператор, для которого определен обратный оператор Bh1 ;
1, 2 ,..., n1 – итерационные параметры.
Для простоты будем использовать метод простой итерации, полученный с (4)
при условии, что Bh – единичный оператор:
(5)
U h n  1   U h n    L h U h n   F h  .
Синхронная реализация итераций (5) в каждой точке сеточной области
является простейшим способом преобразования последовательного итерационного
процесса в параллельный, при котором фиксируется правило использования
компонент вектора предыдущей итерации:
(6)
u h n  1   i u h n , u h n , ..., u h n  ,
где    1 ,  2 ,...,  k  ; k – количество внутренних точек сеточной области; m –
количество точек окружения.
При синхронном параллельном итерационном процессе каждое следующее
значение u h i n  1  может быть сформировано только после получения данных о
значениях u h1 n , u h 2 n , ..., u h m n  окружения. Однако такая реализация итерационного
процесса не может быть использована в искусственных нейронных сетях по той
причине, что данные сети являются полностью асинхронными, то есть не существует
никаких правил согласования для срабатывания того или иного нейрона. Естественным
выходом из положения является использование локально-асинхронного метода,
который позволял бы для формирования u hi n  1 . использовать не обязательно
обновленные данные от соседей. Такой метод, что был впервые предложен [6], задает
порядок применения итерационной схемы к узлам сеточной области. Для 1  i  m и
n  1,2,... значение функции определяют из выражения:
i
1
2
m
 u h n  при i  J n ,
u hi n  1    i
 f h i u h1 s 1 n , u h 2 s 2 n ,..., u h m s m n , при i  J


(7)
n
при соблюдении следующих условий:
1) s i n   N , s i n   n  n  1, 2 , ... ;
2) lim s n    ;
n 
3) условия должны выполняться неограниченно часто на последовательности
J n n 1 непустых подмножеств 1, 2 ,..., m  .
Условие 1 определяет срабатывание нейрона с целью модификации компоненты
вектора функции, которое предписывает использование компонент соседей,
полученных на предыдущих итерациях. Условие 2 гарантирует тот факт, что одно и то
же значение компоненты вектора не будет использоваться неограниченное число раз.
Условие 3 требует использования всех компонент вектора функции, позволяя избежать
отключения от сети нейронов в ходе реализации асинхронного процесса.
Пространственные аспекты взаимодействия асинхронных компонент
вычислительного процесса базируются на использовании идеи многосеточных методов
558
«Искусственный интеллект» 4’2004
Асинхронные параллельные алгоритмы нейронных сетей
5Н
[7], которая заключается в организации итерационного процесса на
последовательности укрупненных вспомогательных сеток 1 , 2 , 3 ,..., L с шагом
h j  2 j h0 . Количество сеток L ограничивается условием прямого вычисления
значения функции на сетке L . Обозначив через H j пространство функций на сетке
 j , зададим операторы
интерполирования
межсеточного
преобразования
как
операторы
A j : H j 1  H j
(8)
P j : H j  H j 1 .
(9)
и операторы проецирования
В каждом узле точной сетки 0 выполняют операцию сглаживания, то есть ищут
приближенное значение сеточной функции, используя локально-асинхронный
метод (7). В результате получают некоторую аппроксимацию U h n  точного
решения U h системы линейных уравнений (3). Тогда абсолютная погрешность и
невязка на итерационном шаге n определяются выражениями:
vh n   U h  U h n  ,
(10)
d h   Fh  LhU h n  .
(11)
Значение невязки d h0 , полученное на точной сетке, проецируют на более
грубую сетку 1 с помощью оператора проецирования:
d 1h n   P0 d h0 n  .
(12)
В свою очередь, на каждой из грубых сеток может быть выполнена своя операция сглаживания, которая заключается в применении локально-асинхронного
итерационного метода (7) к решению системы линейных уравнений невязки
Lh vhj n   d hj n  ,
(13)
где j – текущий номер сетки.
Если j  L , то для каждой сетки  j определена операция проецирования
d hj 1 n   Pj d hj n  .
(14)
Полученное, в результате выполнения операции сглаживания на сетке L ,
значение абсолютной ошибки vhL n  интерполируют на более точную сетку с
помощью оператора интерполяции A j , который определен также для всех грубых
сеток с номером j  0 .
vhj 1 n   A j vhj .
(16)
Цикл вычислений на грубых сетках завершается корректированием сеточной
функции на точной сетке.
U h n   U h n   vh0 n  .
(17)
Существует множество мультисеточных алгоритмов (V-цикл, W-цикл и т.д.),
отличающихся друг от друга порядком применения базовых операций сглаживания, проецирования и интерполирования. Каждый из вариантов мультисеточного
алгоритма может оказаться эффективным для своей задачи. Поэтому говорят о
«Штучний інтелект» 4’2004
559
Нестеренко Б.Б., Новотарский М.А.
5Н
мультисеточной технике, которая задает некоторую идеологию решения краевых
задач.
Предложенная структура нейронной сети (рис. 3) реализует упрощенную
мультисеточную технику без промежуточного сглаживания. Нулевой слой
нейронов обеспечивает вычисление приближения U h n  к точному решению U h .
Слой 1 формирует невязку d h0 n  : Fh  LhU h n  на точной сетке, а последующие
слои реализуют проецирование и интерполирование данной невязки на грубые
сетки.
Рисунок 3 – Двухуровневая рекуррентная нейронная сеть
На последнем слое формируется абсолютная погрешность vh0 n  , корректирующая приближение сеточной функции согласно выражению (17). Обучение
данной нейронной сети происходит на учебной выборке по принципу обучения с
учителем.
Целью обучения является настройка весовых коэффициентов, объединяемых
в матрицу итерационных параметров  , матрицу оператора проецирования P и
матрицу оператора интерполирования A .
Данная структура может быть усложнена путем увеличения размерности
задачи и введения дополнительных уровней сглаживания.
Выводы
Основные направления развития современных нейронных сетей
предполагают использование в качестве структурного базового элемента модель
формального нейрона. Наряду с большими преимуществами такого нейрона, среди
которых следует отметить простоту и универсальность, он в то же время является
сдерживающим фактором, не позволяющим существенно расширить сферу
применения нейронных сетей.
В данной работе предложен подход к использованию цифрового нейрона,
структурные блоки которого имитируют функции биологического нейрона.
560
«Искусственный интеллект» 4’2004
Асинхронные параллельные алгоритмы нейронных сетей
5Н
Применение такого нейрона в качестве элемента нейронной сети позволяет
существенно повысить ее вычислительные возможности. В работе приведено
краткое описание асинхронного мультисеточного метода решения краевых задач
математической физики и представлена структура рекуррентной двухуровневой
нейронной сети для его реализации. Сформулированы цели обучения нейронной
сети по результатам вычислений.
Литература
1.
2.
3.
4.
5.
6.
7.
Новаторский М.А., Нестеренко Б.Б. Искусственные нейронные сети: вычисление // Труды института математики НАН Украины. – Т. 51. – К.: Ин-т математики НАН Украины. – 2004. – 408 с.
Conrad M. Evolutinary learning circuits // J. Theor. Biol. – 1974. – Vol. 46, № 1. – P. 167-188.
Цитоловский Л.Е. Интегративная деятельность нервных клеток при записи следа памяти // Успехи
физиол. Наук. – 1986. – Т. 17, № 2. – С. 83-103.
Саакян Ю.З., Цитоловский Л.Е. Модель химической памяти нейрона // Биофизика. – 1990. – Т. 35,
№ 3. – С. 518-519.
Bondarev V.N. On System Identification Using Pulse-Frequency Modulated Signal: EUT Report /
Eindhoven University of Technology, Netherlands. – ISBN 90-6144-195-1. – 88-E-195. – Eindhoven,
1988. – 84 p.
Baudet G. Asynchronous Iterative Methods for Multiprocessors // Journal if the Association of Computer
Machinery.– 1978.– Vol. 25. – P. 226 – 244.
Jespersen D. Multigrid Methods for Partial Differential Equations. – Washington: Mathematical
Association of America, 1984.
Б.Б. Нестеренко, М.А. Новаторський
Асинхронні паралельні алгоритми нейронних мереж
Робота присвячена дослідженню нових підходів до розширення сфери застосування нейронних мереж.
Дається аналіз існуючих обмежень, спричинених використанням моделі формального нейрона як
структурного елемента нейронних мереж. Розглянуті можливості побудови цифрових нейронних мереж
на базі спеціальної моделі цифрового нейрона. Запропоновано паралельний асинхронний алгоритм
розв’язування крайових задач математичної фізики за допомогою цифрових нейронних мереж.
This paper is devoted to the new approaches on expansion of neural network applications area. The
analysis of existing limitations because of applying a formal neuron model as a building block for neural
networks is given. The possibilities to build-up the digital neural networks are considered on the basis of
special digital neuron model. The parallel asynchronous algorithm for solving boundary value problems of
mathematical physics by using digital neural networks is offered.
Статья поступила в редакцию 19.07.2004
«Штучний інтелект» 4’2004
561
Скачать