Имитационное моделирование клеточных нейронных сетей

advertisement
4Н
УДК 681.324
Б.Б. Нестеренко, М.А. Новотарский
Институт математики НАН Украины, г. Киев
model@imath.kiev.ua
Имитационное моделирование
клеточных нейронных сетей
В работе дан краткий обзор классических принципов организации и функционирования дискретных
клеточных нейронных сетей. Рассмотрена постановка задачи решения операторного уравнения
локально-асинхронным методом, ориентированным на реализацию в гомогенных вычислительных
структурах. Описан подход к созданию имитационных моделей для клеточных нейронных сетей с
различными видами межнейронного взаимодействия. Предложены имитационные алгоритмы
синхронного, асинхронного и агрегативного взаимодействия в имитационных моделях клеточных
нейронных сетей.
Введение
Имитационное моделирование является практически неизбежным этапом при
изучении и оценке сложных систем с большим количеством элементов, к которым,
безусловно, можно отнести клеточные нейронные сети (КНС). Однако моделирование таких многокомпонентных структур требует существенных затрат времени в
случае использования последовательного, пусть даже довольно мощного, компьютера.
Очевидный подход к увеличению скорости моделирования состоит в использовании
параллельных вычислений, при которых каждый нейрон или группа нейронов
клеточной нейронной сети размещаются на отдельном процессорном элементе (ПЭ).
Стратегия имитационного моделирования зависит от того, является ли моделируемая КНС синхронной или асинхронной.
В случае моделирования синхронной КНС весь жизненный цикл модели
состоит из последовательно чередующихся этапов параллельной обработки и
обмена. На этапе обработки каждый из процессорных элементов производит
вычисления в автономном режиме, а на этапе обмена происходит обмен
результатами вычислений. В связи с этим синхронные модели рассматривают как
эволюционирующие в дискретные моменты модельного времени t  0, 1, 2,... .
Принципиальным отличием асинхронных моделей является их функционирование в непрерывном времени. Длительность этапа обработки на каждом
процессорном элементе (ПЭ) может быть произвольной. Поэтому наступление
периода обмена для каждого ПЭ не носит глобального характера. В связи с этим
возникает вопрос точного определения типа асинхронности и разработки
процедуры имитационного моделирования, обеспечивающей данную асинхронность.
Простейшие подходы к решению проблемы, рассмотренные в [1], [2], состоят в
296
«Искусственный интеллект» 3’2005
Имитационное моделирование клеточных нейронных сетей
4Н
применении различных модификаций исполняемой физической асинхронности,
которая базируется на реальном времени работы процессорных элементов.
Использование таких подходов полностью оправдано, если моделирование производится с исследовательской целью, когда не требуется строгой повторяемости
модельной ситуации. Если же модель используют как инструмент разработки
клеточной нейронной сети, то в этом случае важно иметь возможность повторения
эксперимента после модификации исходного кода модели. Еще одним существенным
требованием к определению асинхронности, кроме повторяемости процесса
имитационного моделирования, является сведение к минимуму влияния параметров
модели на результаты обработки рабочей нагрузки.
Клеточные нейронные сети
Клеточные нейронные сети относят к одному из перспективных направлений
развития теории искусственных нейронных сетей. Интерес к ним, по мнению авторов,
обусловлен, прежде всего, возможностью довольно легкой адаптации к их структуре
актуальных физических задач, обладающих естественной параллельностью. Подобные
структуры широко известны в современной физике как сложные системы,
самоорганизующиеся системы, границы хаоса, системы с коллективным поведением и др.
В работе [3] они названы клеточными нелинейными сетями, а клеточные нейронные сети
(КНС) рассматриваются как их разновидность. Согласно [3], КНС – это массово
параллельная вычислительная парадигма, определенная на N-мерном дискретном
пространстве. Она состоит из N-мерного гомогенного массива элементов (клеток).
Структура типовых связей между клетками КНС показана на рис. 1.
Рисунок 1 – Примеры структурных связей в клеточных нейронных сетях
Каждая из представленных на рис. 1 возможных структур характеризуется
количеством связей узлового нейрона (клетки) с соседями, что выражается индексом
окружения  . Если величина  превышает количество ближайших соседей, то на
такой КНС может быть задано несколько функций соседства:
N r :H  H  , N r  g   z d  g , z   r ,
где H − множество координат всех клеток, H  − множество координат соседних
клеток, g, z − координатные векторы, r − степень соседства.
«Штучний інтелект» 3’2005
297
Нестеренко Б.Б., Новотарский М.А.
4Н
Степенью соседства r называют максимальное координатное расстояние между
рассматриваемым нейроном и его соседями. Способ определения расстояния задает
функция d  g , z   g  z .
Узловой нейрон КНС представляет собой специализированный процессор с
количеством внешних соединений, соответствующих индексу окружения  . При
реализации классического алгоритма КНС его работа сводится в основном к
вычислению функционалов, заданных в явной или неявной форме с непрерывным
или дискретным временем. Общая форма динамического уравнения для
дискретного времени:
x g n  1  x g n  
A
g ,z
yz 
zN r  g 
B
zN r  g 
y g n   f x g ,
g ,z
u z  I g n ,
(1)
где x g − внутреннее состояние клетки c g  , y z − выходной сигнал клетки c z  , u z −
внешний входной вектор клетки c z  , I g − смещение, Ag , z , B g , z − функционалы,
соответствующие связям между клетками c g  и c z  .
В Институте математики НАН Украины предложены локально-асинхронные
методы [4], специально ориентированные на реализацию в клеточных нейронных
сетях. Задача для решения упомянутыми методами может быть представлена в виде
операторного уравнения
LX  U ,
(2)
где L – дифференциальный оператор, X – матрица состояния КНС, U – функция
правой части.
Для решения данного уравнения следует воспользоваться одним из известных
итерационных методов [5], которые предполагают сведение уравнения (2) к системе
разностных уравнений на гомогенной сетке  с шагом h :
Lh X h  U h ,
(3)
где Lh – разностный оператор, X h – разностная матрица состояния, U h – сетевая
функция.
В простейшем случае устанавливают прямое соответствие нейрона клеточной сети
узлу сеточной области. Тогда динамика клетки должна обеспечивать решение одного
разностного уравнения с помощью итерационной формулы, соответствующей
выбранному методу. При выборе подходящей итерационной формулы существенную роль играет вид разностного оператора Lh . Основными критериями выбора
разностного оператора являются форма шаблона, на которой он определен, и
требования к порядку обновления данных на заданном шаблоне.
Локально-асинхронный метод [4], ориентированный на применение в
клеточных нейронных сетях, позволяет сформировать шаблон разностного оператора,
ограниченный степенью соседства r , и обеспечить асинхронный режим обмена,
снимающий жесткое ограничение на обновление всех данных на шаблоне перед
298
«Искусственный интеллект» 3’2005
Имитационное моделирование клеточных нейронных сетей
4Н
выполнением очередной итерации. Динамика клетки в данном случае определяется
итерационной формулой
x g n 1  x g n  
wg
h2
L x n  u  ,
g
g
(4)
g
где Lg – компонента разностного оператора, x g n  – состояние клетки c g  на
итерационном шаге n , h – величина шага дискретизации, wg – внутренний параметр,
u g – значение сеточной функции.
Порядок обновления данных на шаблоне каждой компоненты разностного

оператора Lg определяется хаотической последовательностью J n n1 непустых
множеств 1,2,..  . Используя эту последовательность, строят последовательность
итераций x g n n1 по правилу

 x g n  1 , g  J n ,
x g n   
(5)
L g x1  z1 n ,x 2  z 2 n , ...,x z n  , g J n .
Максимальная эффективность асинхронного алгоритма достигается при
условии


  g 1,2 ,.., n  N  m  n : g  J n  .
(6)

В этом случае говорят, что хаотическая последовательность J n n1 имеет
максимальный осадок, что обусловлено наличием минимальной последовательности

множеств m g g 0 .
Возрастающую последовательность множеств называют минимальной при
условиях:
1) m0  0 ;
m g 1
2)
 J  1,2,...,n, g  0,1,2,... ;
i
i  m g 1
m g 1 1
3)
 J 1,2,...,n, g  0,1,2,....
i
i  m g 1
Поэтому множество
z g nn1 , g  1,2 ,...,
для асинхронного алгоритма (5)
должно удовлетворять условиям: z g  n  1, z i  n    .
С целью упрощения алгоритма (5) формирования итерационной после-


довательности x g n   вводят условие парасжимаемости на дифференциальный
n 1
оператор L в виде неравенства
LX    X   .
«Штучний інтелект» 3’2005
(6)
299
Нестеренко Б.Б., Новотарский М.А.
4Н
В этом случае формирование итерационной последовательности
xg nn1
будет происходить по правилу
 



x g n  1  Lg x g z1 n  ,...,x g sk z  n  n  ,
где
g
g
(7)
g n  n 1, 2,... – последовательность элементов g n  H ;


Z g  z kgg n 

n 0
, g 1,..., H , k g 1,...,k – множество целых неотрицательных чисел,
удовлетворяющих условиям
 0  z kgg  n  n   n , n  0 ,


g
 M  z k g  n  n   0, n  0.
(8)
Из условия (8) видно, что для начала итерации могут быть использованы
данные от ранее стартовавших нейронов с некоторым ограничением M . Нейрон,
опередивший своих соседей, может использовать устаревшие данные с глубиной
запаздывания с максимальным значением, равным количеству итераций данного
нейрона. Отсюда следует, что локально-асинхронный алгоритм вполне работоспособен в условиях физической
асинхронности. Однако его максимальная
эффективность может быть достигнута только при максимальном осадке хаотической

последовательности J n n1 , т.е. при минимальном запаздывании одного нейрона
относительно другого.
Имитационные модели
Имитационная модель межнейронных коммуникаций для упомянутого
вычислительного процесса должна отвечать следующим условиям:
– входные потоки, поступающие от нейронов, определяемых функцией соседства
N r  g  , независимы;
– основными параметрами моделирования для каждого нейрона являются его
состояние  c  и  c  − время следующей модификации данных, которые
потенциально могут привести к изменению состояния.
В соответствии с данным определением коммуникационная модель клеточной
нейронной сети для каждого нейрона задает две основные функции:
Get _ state   – функция формирования нового состояния;
Get _ time  – функция формирования момента времени для нового состояния.
Состояние произвольного нейрона КНС в момент времени t может быть выражено зависимостью
 t c   Get _ state c , x c i  H  i 1 ,t x  t ,x  t .

300

«Искусственный интеллект» 3’2005
Имитационное моделирование клеточных нейронных сетей
4Н
Время следующей модификации


 c   Get _ time c , x ci  H  i 1 ,t x  t ,x  t .
В обеих формулах используются такие обозначения: x – момент времени,

непосредственно предшествующий моменту времени t ;  x ci  H  i 1 – состояния
нейронов, принадлежащих множеству соседства H  .
Предположим, что в параллельном компьютере каждый процессорный элемент
отвечает за моделирование одного нейрона клеточной сети. Рассмотрим синхронный
и асинхронный подходы к реализации межпроцессорных коммуникаций для такой
модели. В случае синхронного алгоритма предполагается наличие некоторого
дополнительного ресурса, который выполняет функции глобальной синхронизации.
Модельное время синхронной модели представим в виде последовательности
дискретных приращений:  c   kt , где k  0 , 1, 2, ... В случае t  const получаем
синхронную модель с фиксированными приращениями. Это простейший вариант
синхронной модели, требующий предварительного анализа алгоритма с целью
выбора оптимального значения t . Более гибкий подход предполагает
использование условия t  t max , где t max – длительность периода вычислений
или обмена в самом медленном процессорном элементе. Для формирования начала и
конца периода t в синхронном алгоритме, показанном на рис. 2, будем использовать
глобальные операторы Start _ exchange и Stop _ exchange .
Рисунок 2 – Синхронный имитационный алгоритм
«Штучний інтелект» 3’2005
301
Нестеренко Б.Б., Новотарский М.А.
4Н
Синхронный алгоритм оперирует двумя экземплярами переменных времени и
состояния, которые образуют множество внутренних параметров  temp c , temp c  и
множество глобальных параметров  c , c  . Предположим, что некоторый ПЭ
выполнил операции вычисления внутренних параметров. Тогда он упирается в
выполнение глобального оператора начала обмена данными Start _ exchange .
Срабатывание этого оператора определяется следующим логическим условием:
N
Start _ exchange   Start _ exchange j , где Start _ exchange j − признак завершения
j 1
периода вычислений в j -м ПЭ. Из рис. 2 видно, что существуют две ветки
алгоритма, одна из которых актуальна для работающих процессоров, а другая – для
завершивших свои вычисления. Глобальное выполнение условия Start _ exchange
ведет к наступлению периода обмена, в котором значения локальных переменных
присваиваются глобальным переменным. Множество  c , c  всегда доступно
тем процессорным элементам, множество которых определено функцией соседства
N r и может быть использовано этими ПЭ на следующем этапе вычислений.
Период обмена завершается срабатыванием глобального оператора
N
Stop _ exchange   Stop _ exchange j ,
действие
которого
аналогично
оператору
j 1
Start _ exchange , за исключением того, что этот оператор всегда предшествует
наступлению периода вычислений. Условием завершения работы алгоритма
является равенство или превышение модельным временем значения некоторой
максимально допустимой величины  max .
Синхронный алгоритм может быть использован для реализации описанного
выше локально-асинхронного метода. Положительной стороной его использования
является обеспечение более высокой скорости сходимости итерационного процесса по
сравнению с физической асинхронностью. К числу отрицательных характеристик
можно отнести использование дополнительных ресурсов для обеспечения
глобальной синхронизации и возможные существенные простои процессорных
элементов в случае неоднородной сходимости вычислительного процесса.
Избавиться от дополнительных ресурсов при сохранении высокой скорости
сходимости вычислительного процесса позволяет асинхронный вариант алгоритма
межпроцессорных коммуникаций, показанный на рис. 3.
Существенное отличие рассматриваемого подхода от уже описанного
синхронного варианта состоит в том, что модельное время  c  каждого из нейронов не
разбивается на периоды вычисления и обмена, а носит непрерывный характер.
Вследствие этого нейроны клеточной сети могут одновременно находиться на
различных этапах вычислений. Ключевыми условиями продвижения локального
модельного времени  c  отдельного нейрона в данном случае становятся значения
локальных модельных времен  ci  , топологически связанных с ним соседних

нейронов. Однако условие  c   min  ci i 1 не предполагает обнаружение его
ci H 
сразу же после возникновения. Для того чтобы это условие было обнаружено ПЭ,
302
«Искусственный интеллект» 3’2005
Имитационное моделирование клеточных нейронных сетей
4Н
моделирующим функции нейрона клеточной сети, он должен получить данные о
состоянии и локальном времени соседей в любом порядке, с произвольной
задержкой и независимо от того, как работают соседние ПЭ.
Рисунок 3 – Асинхронный имитационный алгоритм
Модельное время нейрона  c  не имеет прямой связи с физическим временем
протекания имитационного процесса. Важно, однако, отметить, что для модельного
времени, как и для физического, характерным является свойство постоянного
возрастания.
Множество переменных  c , c  для асинхронного алгоритма не имеет
своего локального аналога. Поэтому значения состояния и локального времени
потенциально становятся доступными соседним нейронам сразу же после их
обновления. В связи с этим возникает задача организации доступа к разделяемому
ресурсу, хранящему значения этих переменных. Эта задача может быть решена
одним из традиционных способов. Поэтому для простоты предположим, что в
данном алгоритме моменты считывания и записи данных в разделяемый ресурс
никогда не совпадают.
Несмотря на внешнюю хаотичность работы, данный алгоритм лишен
клинчевых ситуаций. Свобода от клинча проистекает из того факта, что нейрон с
самым минимальным временем во всей сети всегда имеет возможность продвижения
своего локального времени. Предположим, что не существует ни одного нейрона из

множества ci i 1 окружения нейрона c , для которого выполнялось бы условие
продвижения локального времени по той причине, что нейрон c имеет самое
минимальное локальное время  c  . В таком случае выполнение функций Get _ state
«Штучний інтелект» 3’2005
303
Нестеренко Б.Б., Новотарский М.А.
4Н
и Get _ time безопасно: ни один соседний нейрон не изменит своего состояния или
локального времени до момента окончания вычислений нейроном c . Это
обстоятельство гарантирует минимальную производительность КНС, которая в
среднем значительно выше.
Используя свойства локально-асинхронного метода, обеспечивающие его
сходимость в условиях физической асинхронности, в сочетании с описанным
асинхронным коммуникационным алгоритмом, можно практически исключить
простой вычислительных ресурсов в ходе решения задачи. Признак завершения
асинхронного алгоритма носит локальный характер и предусматривает остановку
при достижении локального модельного времени некоторой критической величины,
выбираемой из условий скорости сходимости локально-асинхронного метода.
Агрегативные имитационные модели
В рассмотренных выше алгоритмах один ПЭ содержит только один нейрон
клеточной сети. Такая структура может оказаться весьма расточительной в случае
критичности коммуникационных ресурсов. Вычислительный процесс будет
значительно эффективнее в случае размещения на одном ПЭ некоторого
подмножества нейронов.
Рассмотрим работу агрегативной имитационной модели на примере двумерной
клеточной сети C с размерностью n n . Пусть n  m , nm и доступно к
использованию
n m 2
процессорных элементов, каждый из которых содержит
подсеть C k ,l 0  k , l  n m  1 из m m нейронов (рис. 4).
Рисунок 4 – Агрегативная имитационная модель ( m  4 )
304
«Искусственный интеллект» 3’2005
Имитационное моделирование клеточных нейронных сетей
4Н
1
Множество нейронов C  C k ,l nk ,m
, интерпретируемых как агрегативная
l 0
структура, может быть условно разбито на два подмножества:
–

подмножество внешних нейронов O  ci  m , j , ci  1 m  1, j
inm0 1nj 10
состоит из
нейронов, для которых один или несколько соседей находятся в одной или двух
соседних подсетях;
– подмножество внутренних нейронов I  C \ O , для которых все соседние
нейроны принадлежат одной подсети.
Основное отличие структуры данных агрегативного алгоритма состоит в том,
что каждый из нейронов дополнительно хранит данные о подсетях, с которыми для
этого нейрона существуют коммуникации согласно топологии КНС. Для топологии,
представленной на рис. 4, данные могут быть автоматически сгенерированы в виде
множеств wi , j W исходя из следующих условий:
m l 11
; C k 1,l wm k 11, j j lm
;
m k 11
; Ck ,l 1 wi ,ml 11 i km
.
C k 1,l wkm , j j lm
Ck ,l 1 wi ,lm i km
m l 11
m  k 11
Агрегативная структура C k ,l обладает одним каналом связи с каждой соседней
агрегативной структурой. Поэтому возникает вопрос приоритетности доступа к
ресурсам этих каналов. Для решения данной задачи введем множество канальных
времен  C k ,l    C k 1,l , C k 1,l , C k ,l 1 , C k ,l 1 . Текущее значение канального
времени всегда равно минимальному значению локального времени, определяемому
на множестве нейронов, содержащих в своем множестве wi , j соответствующую
агрегативную структуру.
Например, множество Wk ,l непустых подмножеств wi , j для агрегативной структуры Ck ,l , показанной на рис. 4, содержит следующие подмножества:
Wk ,l  w4 k ,4l , w4 k 1,4l ,w4 k  2 ,4l , w4 k 3,4l ,
w4k ,4l 1 , w4k ,4l 2 ,w4 k  ,4l 3 , w4 k 1,4l 3 ,
w4k 2 ,4l 3 , w4 k 3 ,4l 3 , w4k 3,4l 1 , w4k 3,4l 2 .
При формировании канального времени  C k  1,l  используют подмножество
локальных времен  c4 k ,4 l , c4 k ,4l  1 , c4 k ,4l  2 ,  c4 k ,4l  3 , поскольку агрегативная структура Ck 1,l является элементом соответствующих подмножеств:
w4k ,4l  C k 1,l C k ,l 1 , w4k ,4l 1  Ck 1,l ,
w4k ,4l  2  C k 1,l , w4k ,4l 3  C k 1.l ,C k ,l 1 .
Следовательно,  C k 1,l   min c 4k ,4l , c 4k ,4l 1 , c 4k ,4l  2 , c4 k ,4l 3 .
Такой подход к продвижению канального времени освобождает агрегативный
алгоритм от клинчевых ситуаций, поскольку нейрон с минимальным временем
всегда будет иметь возможность для продвижения вперед.
«Штучний інтелект» 3’2005
305
Нестеренко Б.Б., Новотарский М.А.
4Н
Блок-схема агрегативного алгоритма показана ни рис. 5. Основное отличие
этого алгоритма от рассмотренного ранее состоит в наличии ветвления,
позволяющего по-разному реализовать продвижение имитационного времени в
зависимости от принадлежности нейрона к множеству O или множеству I .
В качестве признака c O выбрано условие непустоты множества w , ассоциированного с соответствующим нейроном c . Продвижение локального времени для
данного типа нейронов носит групповой характер и определяется выражением
 C   min ci , которое указывает на то, что групповое локальное время  C 
ci O
равно минимальному локальному времени нейрона, входящего в соответствующую
группу агрегативного обмена. Разрешение на дальнейшую эволюцию при этом
может быть получено в случае, когда данное групповое локальное время является
минимальным среди всех агрегативных групп, подключенных к данному каналу
коммуникации.
Рисунок 5 – Агрегативный имитационный алгоритм
В случае w   получаем условие принадлежности нейрона к множеству I . Ход
продвижения локального времени для данного типа нейронов аналогичен
рассмотренному ранее при описании работы асинхронного имитационного алгоритма.
306
«Искусственный интеллект» 3’2005
Имитационное моделирование клеточных нейронных сетей
4Н
Использование данного подхода к организации процессов взаимодействия
между нейронами [4] позволило реализовать целый ряд асинхронных моделей
клеточных нейронных сетей для решения краевых задач математической физики
локально-асинхронным методом.
Литература
1. Geman S., Geman D. Stochastic relaxation, Gibbs distributions, and Bayesian restoration of images //
IEEE Transactions on pattern analysis and machine intelligence. − 1984. − Vol. 6, № 6. − Р. 721-741.
2. Нестеренко Б.Б., Новотарский М.А. Мультипроцессорные системы. − Киев: Ин-т математики,
1995. − 408 с.
3. Chua L.O. CNN: A Paradigm for Complexity. – World Scientific, Singapore, 1998. – 380 p.
4. Новотарський М.А., Нестеренко Б.Б. Штучні нейронні мережі: обчислення. − Київ: Ін-т математики,
2004. − 408 с.
5. Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. – М.: Наука, 1978. – 592 с.
Б.Б. Нестеренко, М.А. Новотарський
Імітаційне моделювання клітинних нейронних мереж
У роботі дано короткий огляд класичних принципів організації та функціонування дискретних
клітинних нейронних мереж. Розглянута постановка задачі розв’язання операторного рівняння
локально-асинхронним методом, орієнтованим на реалізацію в гомогенних обчислювальних
структурах. Описаний підхід до створення імітаційних моделей для клітинних нейронних мереж з
різними видами міжнейронної взаємодії. Запропоновані імітаційні алгоритми синхронної,
асинхронної та агрегативної взаємодії в імітаційних моделях клітинних нейронних мереж.
B.B. Nesterenko, M.A. Novotarsky
Imitation Modelling Cellulate Networks
In this paper the brief review of classical principles of discrete cellular neural network organization and
functioning is given. The problem of operational equation solving by the local – asynchronous method
focused on realization in homogeneous computing structures is considered. The approach to cellular neural
networks simulations with some kinds of interneural interaction is described. Synchronous, asynchronous and
aggregate interaction algorithms for cellular neural networks simulations are offered.
Статья поступила в редакцию 25.06.2005.
«Штучний інтелект» 3’2005
307
Download