О свойствах циклов в модульных нейронных сетях

УДК 621.8:681.5

М.Э. КУССУЛЬ, А.А. ГАЛИНСКАЯ

О СВОЙСТВАХ ЦИКЛОВ В МОДУЛЬНЫХ НЕЙРОННЫХ СЕТЯХ

Abstract: Modular neural networks are widely used to solve applied problems because of their flexibility and huge potential abilities. As a result, development of modeling aids for modular neural networks become very important. Networks that contain cycles are of particular interest. But for the networks with cycles there is the necessity to have tools for formal analysis, which allow to define the sequence of run of modules in the networks. The article is devoted to theoretical investigations of features of cycles in modular networks that are represented with directed graphs.

Key words: modular neural networks, graphs of neural networks, cycles.

Анотація: Модульні нейронні мережі широко використовуються при вирішенні прикладних завдань завдяки своїй гнучкості і великим потенційним можливостям. У зв’язку з цим великого значення набувають питання створення засобів моделювання модульних нейронних мереж. Особливий інтерес становлять мережі з циклами. Однак для мереж, які мають цикли, необхідно мати засоби формального аналізу, що дозволили б визначати послідовність роботи модулів у мережі. Ця стаття присвячена вивченню властивостей циклів у модульних мережах, які представлені у вигляді направлених графів.

Ключові слова: модульні нейронні мережі, графи нейронних мереж, цикли.

Аннотация: Модульные нейронные сети широко применяются при решении прикладных задач благодаря своей гибкости и большим потенциальным возможностям. В связи с этим все большее значение приобретают вопросы разработки средств моделирования модульных нейронных сетей. Особый интерес представляют сети с циклами. Однако для сетей, содержащих циклы, необходимо иметь средства формального анализа, позволяющие определять последовательность работы модулей в сети. Данная статья посвящена изучению свойств циклов в модульных сетях, представленных в виде направленных графов.

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

1. Введение

Модульные нейронные сети представляют большой теоретический и практический интерес, поскольку позволяют решать комплексные задачи распознавания и управления за счет возможности одновременного анализа разнородных данных, а также благодаря возможности использования различных нейросетевых парадигм в единой архитектуре. Преимущества модульных нейронных сетей обусловили как широкое применение, так и разнообразие архитектур и способов их использования [1]. Особый интерес представляют модульные сети с циклами. Такие сети позволяют моделировать сложные системы с запаздыванием, используются для решения задач прогноза, а также в тех случаях, когда требуется композиция и декомпозиция информации, как, например, в ассоциативно-проективных сетях [2].

В статье [3] предложено использовать направленные графы для описания модульных нейронных сетей. Данный подход позволяет классифицировать циклы в модульных нейронных сетях и предоставляет средства для анализа свойств различных типов циклов. Свойства циклов определяют, в частности, возможности автоматического счета и обучения модульной сети без явного указания порядка работы модулей. Эти возможности особенно актуальны для систем автоматического проектирования, таких, как САПР МНС [4].

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

В данной статье рассматриваются общие свойства циклов в модульных нейронных сетях и

2. Графы модульных сетей

Как показано в [3], модульная сеть может быть описана с помощью ориентированного графа G(V,E), вершины vє V которого соответствуют модулям сети, а ребра e є E - связям между

модулями. Путь и элементарный путь из вершины v1 в вершину v2 будем обозначать w(v1,v2), при этом элементарный путь будем называть цепью.

Для представления в виде графов все входы модульной сети считаем модулем входов, а все выходы - модулем выходов сети. Модули входов и выходов виртуальны, поскольку не реализуют алгоритмов обработки данных. Входом или истоком (source) графа G будем называть вершину I , соответствующую виртуальному модулю входов сети. Вход сети определяется следующим условием: sin(I) = 0, где sin(I) - число входящих в вершину ребер. Выходом или стоком (sink) графа будем называть вершину O, соответствующую виртуальному модулю выходов. Для него справедливо утверждение sout(O) = 0, где sout(O) - число выходящих из вершины ребер.

Граф G модульной сети удовлетворяет следующим условиям [3]:

1) граф G - слабосвязный, то есть неориентированный граф, соответствующий G - связный;

2) граф G не имеет кратных ребер;

3) в графе G существует единственная вершина - вход I є V, и любая вершина достижима из входа, то есть "v є V : v Ф I ^ $ w(I,v). Следовательно, "v є V : v Ф I ^ sin(v) > 1;

4) в графе G существует единственная вершина - выход O єV, и выход достижим из любой вершины, то есть "vє V: vФO ^$w(v,O). Следовательно, "vє V : v Ф O ^ sout(v) > 1.

В отличие от принятого в теории графов определения, путь w из вершины a в вершину b есть множество вершин и соединяющих их ребер, не включая конечную вершину. Аналогично цепь - это элементарный путь (без самопересечений), не включающий конечную вершину.

Определение 1. Проекцией P(b,a) (projection) вершины (модуля) a є V на вершину (модуль) b єV будем называть такой ориентированный подграф графа G(V,E), который включает все возможные цепи w(b,a) из b в a:

Рис. 1. Триггерная схема соединения модулей

некоторые правила работы с циклами. Второй раздел содержит определения графов модульных нейронных сетей и основных типов циклов. В третьем разделе рассматриваются свойства циклов в модульных нейронных сетях.

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

Соответственно, проекция произвольного модуля а на входы модульной сети I записывается как P(I,a).

Определение 2. Если каждой вершине vе V поставить в соответствие параметр t(v) такой, что t(v) = 1 в том случае, если выходы соответствующего модуля сети на данном шаге еще не вычислены, и t (v) = 0 , если модуль уже посчитан, то неопределенностью (uncertainty) вершины а называется сумма

U(a) = Xt(v).

vе P

При этом неопределенность модуля входов U(I) всегда равна нулю. Поскольку модуль входов виртуальный, то считаем, что его выходы всегда определены (вычислены).

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

Необходимость аксиомы 1 очевидна, если рассматривать процесс обучения модульной нейронной сети. Если по пути от входов к некоторой нейронной сети (модулю) b встречается необученный модуль (нейронная сеть) a, то обучение модуля b не имеет смысла, пока не обучена нейронная сеть a.

Если исходные данные организованы в виде временных последовательностей, будем говорить о «рекуррентных» циклах. Если входящие в цикл модули реализуют ассоциативные поля или другие алгоритмы, для работы которых требуется несколько итераций с одним входным вектором данных, то будем говорить об итерационных циклах.

Определение 3. Циклом с начальной вершиной а будем называть такой ориентированный подграф Ca(Va,Ea) графа модульной сети G(V,E), который включает все возможные пути w(a,a) из вершины a в саму себя:

Ca (Va’ Ea ) = U ^ a)’ "W(a’ a) = v2’-’ vn vi = a, v„+l = a .

В отличие от определения проекций, в определении циклов фигурируют пути, а не цепи. Введенное определение отличается от определения, принятого в теории графов, где циклом называют путь, для которого начальная вершина совпадает с конечной [5]. Циклы по определению 3 соответствуют сильносвязанным компонентам в орграфе и обладают очевидным свойством: Ca I Cb = 0 .

Необходимость определения цикла как набора всех путей иллюстрируется архитектурой, представленной на рис. 2. Очевидно, что при пересчете модулей, входящих в цикл

Ca :Va = {a,b,c,d^ прежде чем считать модуль d, требуется посчитать оба модуля b и с.

Заметим, что такой же порядок счета требует и аксиома 1.

Из определения цикла

непосредственно следует, что виртуальные модули (входы и выходы) никогда не входят ни в один цикл, поскольку модуль входов не имеет входящих ребер, а модуль выходов -

Рис. 2. Схема простого цикла вых°дящих. Кр°ме того, с°тасн° условиям

накладываемым на граф, представляющий

модульную сеть, любой цикл обязательно имеет как входящие, так и выходящие внешние ребра.

То есть такие ребра, которые связывают вершины цикла с вершинами, не принадлежащими этому

циклу.

Для любого цикла в модульной нейронной сети можно выделить три группы особых вершин. Вершины, которые имеют входящие ребра от вершин, не принадлежащих этому циклу. Вершины, имеющие выходящие ребра, которые входят в вершины за пределами цикла. И вершины, выходящие ребра которых являются входящими ребрами начальной вершины цикла.

Дадим формальное определение вершин, которые будут использоваться в дальнейшем. Для этого воспользуемся понятием длины пути d(w), которое определяется как число ребер в этом пути.

Определение 4. Начальной вершиной f (first) цикла C(V,E) будем называть такую вершину,

для которой df = min min d (w ). Конечной вершиной l (last) цикла будем называть такую

V eV w =w

вершину, для которой d(w(l,f)) = 1. Граничной вершиной t (terminal) будем называть такую вершину, для которой выполняется условие

t: (З e(t,p), pї V) & (v ve V : P(f,t) с P(f,v) ^ 3 e(v,g), gї V), то есть t - самая дальняя от начальной вершина цикла, имеющая связь (связи) с не принадлежащими циклу вершинами.

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

Определение 5. Обычным или обыкновенным циклом (ordinary cycle) с начальной вершиной a будем называть такой цикл Coa(Va,Ea), для которого не существует ни одной пары вершин, таких, что они принадлежат проекциям друг друга на вход, то есть

V V ,v2 eVa:v1 e P(I,v2) ^ v2 ї P(I,v1). Перекрестным циклом (crossed cycle) с

начальной вершиной b будем называть такой цикл Ccb(Vb,Eb), который содержит хотя бы одну пару вершин, которые входят в проекции друг друга на вход, то есть

3 V1 ,V2 e Vb:V1 e P(I,V2 ) & V2 e P(I,V1 ) .

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

(рис. 1). Нетрудно проверить, что цикл, изображенный на рис. 1, является перекрестным и содержит две начальные вершины, удовлетворяющие определению 4.

Если обозначить множество всех возможных циклов с начальными вершинами, удовлетворяющими определению 4, через П(Су}, то для множеств обыкновенных и перекрестных циклов очевидны соотношения

П{Се} п &{Со} = 0; 0.{Се} и &{Со} = 0.{СГ }.

Обыкновенный цикл может быть представлен только единственным образом, в отличие от циклов общего вида, которые тождественны с точностью до выбора начальной вершины. Перекрестные циклы этим свойством не обладают.

3. Свойства циклов

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

Утверждение 1. Для любой вершины V, принадлежащей циклу Су, обязательно найдется хотя

бы один путь w(v,v), содержащий начальную вершину / этого цикла.

Это утверждение тривиально, но не всегда очевидно, поскольку, по определению, цикл может включать произвольное число путей.

Доказательство. Пусть V принадлежит Су. Тогда

$ w(f,f) = w(f,v) и w(v,f) ^ 3 w(v,v) = w(v,f) и w(f,v) .

Теорема 1. Для любых двух вершин а и Ь цикла Су(Уу,Еу) всегда существует проекция

Р(а,Ь) , и эта проекция целиком принадлежит циклу

"а, Ь е Vг : 3 Р(а,Ь) с Су.

Доказательство. Покажем, что поскольку вершины а и Ь принадлежат циклу, то существует хотя бы один путь вида у~(а,Ь) . Из утверждения 1 следует, что

ае Су ^ 3 w(a,a) = w(a,f) и w(f,a) ^ 3 w(a,f).

Тогда, если Ь е w(a,f) ^ w(a,f) = у~(а,Ь) и у~(Ь,У) , то путь из а в Ь существует. Если вершина Ь не принадлежит пути из а в у , то поскольку Ь е Су ^ 3 w(Ь,Ь) = w(Ь,f) и w(f,Ь) , следовательно, существует путь

у~(а,Ь) = w(a,f) и w(у,Ь) .

Пусть путь у~(а,Ъ) не элементарный, то есть существует вершина ~ , которая входит в этот путь хотя бы два раза: л~(а,Ъ) = (а,УгУп+1 = Ъ. Тогда можно построить путь из а в Ъ : м>(а,Ъ) = (ау1...Уі,:~,Уі+к,...,Уп},Уп+1 = Ъ, который будет уже простым. То есть существует хотя бы одна цепь м>(а,Ъ) и Р(а,Ъ) Ф 0 .

Покажем, что все цепи из а в Ъ принадлежат циклу. Так как обе вершины принадлежат

циклу, то а є Су ^ 3 мА(/,а) и Ъ є Су ^ 3 w2 (Ъ,у) . Тогда существует путь

3 w(f,f) = w1 (У,а) и w(a,Ъ) и w2 (Ъ,/) . Таким образом, любая цепь w(a,Ъ) принадлежит

циклу, так как он включает в себя все возможные пути из начальной вершины в нее же по

определению.

Теорема 2 (Признак существования цикла). Для того чтобы граф модульной сети содержал цикл (циклы), достаточно, чтобы граф содержал хотя бы одну такую вершину, что для нее существует хотя бы одно входящее ребро, не принадлежащее проекции этой вершины на входы. Доказательство. Пусть в графе существует вершина а, для которой есть входящее ребро е(Ъ,а), не принадлежащее проекции этой вершины на входы. В соответствии с определением

проекции это означает, что для вершины Ъ , из которой выходит это ребро, нет пути от входов сети, не проходящего через вершину а. Так как по условиям, наложенным на граф, любая вершина достижима из входов, то для вершины Ъ обязательно существует хотя бы один путь w(I,Ъ). Следовательно, если существует е(Ъ,а), то любому пути w(I,Ъ) обязательно принадлежит вершина а : 3 е(Ъ,а):е ї Р(І,а) ^ а є w(I,Ъ) " w(I,Ъ) .

Тогда существует хотя бы один путь из вершины а в саму себя w(a,a) = w(a,Ъ) и е(Ъ,а) и, следовательно, существует цикл.^

Следует отметить, что признак существования цикла, предложенный в теореме 2, дает только достаточное условие существования цикла. Он позволяет находить все обыкновенные циклы в модульной сети, но только некоторые перекрестные циклы.

Рассмотрим несколько важных свойств обыкновенных циклов.

Теорема 3 (Теорема единственности обыкновенного цикла). Если обыкновенный цикл существует, то начальная вершина этого цикла может быть выбрана только единственным образом. Доказательство. Проведем доказательство от противного. Пусть Су1(Уу1 ,Еу1) - обыкновенный цикл. Пусть в нем существует еще одна начальная вершина, то есть 3 у 2 єУу1, у 2 Ф у 1: йу1 = ёу 2 = ) "V єУу1 (из определения начальной вершины).

Так как минимальные расстояния от входа сети к начальным вершинам равны, то для вершины у 1 существует путь от входа сети, не содержащий вершину у2. То есть 3 w1 (I,у 1) : у2 ї w1. Так же существует путь 3 w2 (^у 2): у 1 ї w2, так как у 2 - тоже начальная вершина. С другой стороны, поскольку вершины у 1 и у2 обе принадлежат циклу, то, согласно утверждению 1, существуют

пути w3 (у 1,у2) и w4 (у2, у 1) . При этом, согласно определению пути, у2 ї w3 и у 1ї w4. Тогда существуют следующие пути:

( у 1 ї W2 &у1 ї W4 ) ^ 3 w(I,f1) = W2 (іу2) и W4 (у2, у 1);

(у2 ї w1 & у2 ї Wз) ^ 3 w(I,у2) = wl(I,f1) и Wз(у1,у2) .

Из определения проекции вершины на входы следует, что у 1 є Р(^у2) & у2є Р(^у 1). То

есть, по определению, цикл Су 1(Уу 1 ,Еу 1) является перекрестным, и, следовательно, в

обыкновенном цикле существует единственная начальная вершина.

Непосредственно из проведенного доказательства вытекает:

Следствие 3.1. Если обыкновенный цикл Соу существует (Уу Ф 0) , то на данном наборе вершин

он определяется единственным образом.

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

Теорема 4. В обыкновенном цикле существует только одна вершина, связанная входящими ребрами с вершинами вне цикла. Это вершина начальная:

V є Со у : 3 е(р^), р ї Со у ^ V = у.

Доказательство. Проведем доказательство от противного. Пусть Су(Уу,Еу) - обыкновенный цикл и, кроме начальной, в нем существует еще одна вершина V, имеющая внешнее входящее ребро е(р^) . То есть 3 V є Уу^ Ф у: 3 е(р^),р ї Уу .

Так как любая вершина достижима из входов, то существует путь w(I,p) . Покажем, что если вершина р циклу не принадлежит, то для любого пути " w(I,p), р ї Уу ^ у ї w .

Пусть существует путь, содержащий начальную вершину цикла 3 w(I,p):f є w ^ w(I,p) = w(I,f) и w(f,p) . Следовательно, существует путь

w(у, р). Согласно исходному предположению, V є Уу ^ 3 w(v,f) и существует ребро е(р^) . А значит, существует путь из начальной вершины в саму себя через вершину р: w( у, у) = w( у ,р) и е( р^) и w(v,f) , следовательно, р є У у , что противоречит условию.

Поскольку начальная вершина цикла не принадлежит пути от входа к вершине р , то для вершины V существует путь от входа сети, не содержащий начальную вершину у: w2(I^) = w(I,p) и е(р^). Так же существует путь 3 w1(I,f):v ї w1, так как у - начальная вершина цикла. С другой стороны, обе вершины у и V принадлежат циклу и, согласно утверждению 1, существуют пути w3(у^) и w4(v,f). При этом, согласно определению пути, Vї w3 и у ї w4. Тогда существуют следующие пути:

( f ї w2 & f ї w4 ) ^ $ w(I,f) = W2 (I,v) U W4 (v,f);

(vї w1 &vї w3) ^ $ w(I,v) = w1 (I, f) U w3(f,v) .

Из существования таких путей и определения проекции вершины на входы следует, что f Є P(I,v) & V Є P(I,f). То есть, по определению, цикл Cf(Vf,Ef) является

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

Следствие 4.1. В обыкновенном цикле проекция начальной вершины на входы не содержит ни одной вершины цикла.

Доказательство. Пусть в обыкновенном цикле Cf(Vf,Ef) найдется вершина, попадающая в проекцию начальной вершины этого цикла на входы $v є Vf : v є P(I,f). Из определения проекции вершины на входы получим, что существует путь w(I,f):v є w& f ї w . Следовательно, этот путь может быть разложен на два w(I,f)=w(I,v)Uw(v,f) ^ $w(I,v):fiw. Так же существует кратчайший путь $ w(I,f):v ї w, так как f - начальная вершина. По аналогии с доказательством теоремы 4 получим, что цикл является перекрестным.

Следствие 4.2. Для любой вершины v Ф f обыкновенного цикла Cf все цепи от входов содержат начальную вершину, то есть

P(I,v) = P(I,f) U P(f,v) "v є Cf .

Доказательство. Поскольку любая вершина достижима из входов, а, согласно теореме 4, ни одна вершина цикла (кроме начальной) не имеет внешних связей, то все цепи (пути) от входов к вершинам обыкновенного цикла содержат начальную вершину.

В статье [3] приведено несколько утверждений, касающихся специальных видов циклов. Для доказательства утверждения 2 из [3] используются результаты теоремы 4. Поэтому доказательство утверждения приведено в данной статье.

Напомним, что простым циклом мы называем такой обыкновенный цикл, для всех вершин которого любой замкнутый путь проходит через начальную вершину этого цикла (рис. 2). То есть цикл COf(Vf,Ef) простой, если " w(v,v):v є Vf ^ f є w(v,v) (определение 6 в [3]).

Сцепленными циклами называем такие простые циклы Co1 и Co2, которые имеют одну или более общих вершин. Причем, если для двух общих вершин а и b вершина а принадлежит проекции вершины b на начальную вершину любого из этих циклов, то проекция P(a,b) целиком принадлежит каждому из циклов CO1 и CO2, то есть

"a,b : a,b є Co1,Co2 а є P( f,b) ^ P(a,b) с Co1 & P(a,b) с Co2, где f - начальная вершина любого из циклов Col или Co2 (определение 8 в [3]). Утверждение. Если два простых цикла сцеплены и ни одна из начальных вершин не принадлежит пересечению этих циклов, то такие сцепленные циклы образуют перекрестный цикл.

Доказательство. Пусть простые циклы Со1(У/1 ,Е/1) и Со2(У/2 ,Е/2) сцеплены и

/ 2 й У/1, /1 й У/2. Это означает, что $ '№1 (1,/1):/ 2 й '№1 и $ 'м2 (I,/2) : /1 й 'м2. Согласно

теореме 4, сцепленный цикл С = Со1 и Со2 будет перекрестным, так как в нем две вершины имеют внешние входящие ребра.

На основе рассмотренных свойств циклов можно предложить формальные определения разрешенных и запрещенных архитектур, а также способы разрешения противоречий в случае триггерных циклов (рис. 1).

4. Выводы

Общие свойства циклов, рассматриваемые в данной статье, позволяют формально анализировать модульные нейронные сети. Использование свойств циклов позволяет построить алгоритмы анализа архитектур сетей автоматической системой. Более того, автоматический поиск всех модулей, входящих в цикл, позволяет формально приписать каждому из циклов сети некоторые свойства. Это оказывается очень полезным в системах автоматического проектирования, где пользователь может, во-первых, уточнить порядок счета, если цикл не является простым, и, во-вторых, определить каждый цикл как рекуррентный или итерационный.

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

Формальные определения разрешенных и запрещенных архитектур модульных сетей, а также пути разрешения противоречий в «запрещенных» архитектурах будут даны в последующих публикациях. Также в последующих публикациях будут приведены алгоритмы анализа модульных сетей, основанные на свойствах предложенных графов.

СПИСОК ЛИТЕРАТУРЫ

1. Галинская А. А. Модульные нейронные сети: обзор современного состояния разработок // Математические машины и системы. - 2003. - № 3, 4. - С. 87 - 102.

2. Куссуль Э.М. Ассоциативные нейроподобные структуры. - Киев: Наукова думка, 1992. - 143 с.

3. Куссуль М.Э. Графы модульных нейронных сетей // Математические машины и системы. - 2005. - № 1. -С. 26 - 38.

4. Резник А.М., Куссуль М.Э., Сычев А.С., Садовая Е.Г., Калина Е.А. Система проектирования модульных нейронных сетей САПР МНС // Математические машины и системы. - 2002. - № 3. - С. 28 - 37.

5. Дистель Р. Теория графов. - Новосибирск: Изд-во Ин-та математики, 2002. - 336 с.