Другие журналы

научное издание МГТУ им. Н.Э. Баумана

НАУКА и ОБРАЗОВАНИЕ

Издатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211.  ISSN 1994-0408

Иерархическое представление компьютерной сети на основе нейронной сети Хопфилда

# 09, сентябрь 2013
DOI: 10.7463/0913.0630141
Файл статьи: Basarab_P.pdf (411.89Кб)
авторы: профессор, д.т.н. Басараб М. А., Вельц С. В.

УДК 004.056

Россия, МГТУ им. Н.Э. Баумана

bmic@mail.ru

svelts@rambler.ru

 

Введение

 

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

В качестве инструментов многомасштабного анализа могут выступать графовые нейронные сети (GNN – Graph Neural Network) [3,4] или иерархическая темпоральная память (HTM) [2]. И тот, и другой методы могут обрабатывать информацию, представленную в виде графа. Однако, нейроны в GNN получают только локальную информацию от своих соседей, что не позволяет обобщать и находить взаимосвязи между разными частями графа. В случае HTM необходимо сформировать структуру связей между узлами/нейронами в разных слоях.  В обоих случаях встаёт задача выбора подмножества вершин графа для формирования следующего слоя. При этом любая вершина графа должна либо входить в выбранное подмножество, либо быть смежной хотя бы с одной вершиной из выбранного подмножества. Это приводит к задаче о вершинном покрытии.

В данной работе рассматривается задача о покрытии множества (SCP), к которой сводится задача о вершинном покрытии. Поскольку данная задача является NP-полной [9] и размер задач, которые требуется решать, достаточно велик, нахождение точного решения вычислительно сложно. Это обуславливает необходимость применения приближённых эвристических алгоритмов. Среди эти алгоритмов можно отметить методы лагранжевой релаксации [13–15], генетические алгоритмы [11, 16–18], поиск с запретами [19], алгоритмы муравьиной колонии [20], нейронные сети [5, 7]. В статье предлагается нейросетевой метод для решения задачи о покрытии множества. Отличие предлагаемого метода заключается в использовании машины Больцмана совместно с методом Монте-Карло для борьбы с локальными минимумами. Также в данной работе предложена эвристика для оценки метапараметров модели.

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

Далее в разделе 1 формулируется решаемая задача как комбинаторная задача оптимизации с ограничениями. В разделе 2 описан нейросетевой метод решения. В разделе 3 приведены результаты вычислительного эксперимента на стандартных задачах из OR Library. Наконец, в разделе 4, приводится алгоритм получения иерархического представления сети на основе SCP.

 

1 Постановка задачи

 

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

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

Перейдём к формальной постановке задачи в виде SCP.

Пусть дано множество М, |M|=n, и множество S подмножеств M:

S={S1,..., Sm}.

Зададим матрицу A размера n × m, aij =1, если , иначе aij = 0.

Обозначим через

aii-ю строку матрицы A;

x – вектор-столбец, кодирующий решение, , где xi=1, если Si входит в решение и xi=0 иначе;

с – вектор-столбец цен подмножеств;

s – вектор-столбец размеров подмножеств,

Введём целевой функционал:

.                                     (1)

Первое слагаемое задаёт цену решения. Второе задаёт штраф за выбор подмножеств с большой степенью. Коэффициенты K1, K2 определяют относительное влияние штрафов на общее решение.

Задача формулируется как задача дискретной оптимизации с ограничениями:

.                                                                (2)

Решение X называется корректным, если оно покрывает все элементы множества M, т.е.

 

2 Нейросетевой метод решения

 

Задача (1) эквивалентна задаче о покрытии множества. Подробный обзор методов ее решения приведён в [10]. Среди алгоритмов можно выделить точные, жадные (Хватал), генетические, нейросетевые. Подробнее остановимся на последних.

Исторически применение нейронных сетей для решения задач комбинаторной оптимизации было направлено, в основном, на решение задачи коммивояжера (TSP) [6]. Подробный обзор нейросетевых методов комбинаторной оптимизации дан в [7].

Рассмотрим дискретную нейронную сеть Хопфилда из n {-1,+1}-нейронов.

Состояния нейронов кодируются {-1,+1}-вектором  Решение кодируется {0,1}-вектором  Нейроны обрабатываются асинхронно и в случайном порядке (условие отсутствия осцилляций в динамике сети). Начальное состояние нейронов выбирается случайным образом.

 

Учёт ограничений. Учёт ограничений в нейронных сетях при комбинаторной оптимизации заключается в модификации выражения энергии сети. Общий подход разработан в [1] для двухслойной модели Extended Hopfield Model (EHM). Также может модифицироваться механизм активации нейронов [8].

Для получения корректного решения (т. е. покрывающего все элементы M)  модифицируем целевой функционал Q0, чтобы он включал дополнительный штраф за непокрытые вершины:

,                                          (3)

где h(u) – функция штрафа за покрытие элемента u раз. Например: h(u)=c0[u=0] или h(u)=c0(u–1)2. Далее мы рассмотрим этим варианты подробнее.

Для определения значений коэффициентов используется следующая эвристика: в результате решения задачи алгоритмом 1 стоимость выбранного подмножества должна быть равна выигрышу от покрытия вершин. K1 и K2 приравниваются 1 и 0 соответственно и определяется K3.

 

Пост-обработка решения. Несмотря на вышесказанное, некорректные решения появляются достаточно часто [7]. Для решения этой проблемы приходится применять дополнительных шаг пост-обработки на основе жадного алгоритма Хватала [22, 23]:

 

Алгоритм 1: Жадный алгоритм пост-обработки решения:

 

Вход: M, S

Выход: X — подмножество S

while есть непокрытые элементы:

 – множество непокрытых элементов,

– оптимальное множество,

 .

endwhile

while истина:

if |T| = 0 then прерватьцикл endif

endwhile

return X.

 

Энергия сети и функция Ляпунова.Энергия нейронной сети Хопфилда задаётся стандартным выражением:

.                                                   (4)

В [12] показано, что этот функционал является функцией Ляпунова, т.е.  (достаточно ), B – некоторая локальная область притяжения), , (знакоположительность) и  (диссипативность системы), где  – устойчивое состояние (точечный аттрактор). Из этого следует, что система стремится к устойчивому состоянию.

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

 

Определение параметров модели.Рассмотрим, как можно, имея целевой функционал, определить параметры модели (веса и смещения нейронов).

 

Квадратичная функция штрафа. Пусть , где Cp – коэффициент штрафа. Это неудачная функция, т. к. мы штрафуем двукратное покрытие так же, как и непокрытие, однако, квадратичная функция широко используется в статьях, т. к. позволяет получить удобные аналитические выражения.

Раскрывая (3) и приравнивая к (4) получаем веса и смещения:

                                                                     (5)

.                                         (6)

Заметим,  что , но  а это является необходимым условием устойчивости работы сети [21] (в случае  возможна осцилляция сети). Чтобы это компенсировать, можно изменить условие остановки процесса оптимизации с учётом возможных осцилляций.

 

Разрывная функция штрафа.Пусть теперь , где Cp – коэффициент штрафа.

Проблема с данным функционалом заключается в том, что он разрывен и напрямую получить выражение для параметров модели не удаётся.

Эту проблему можно решить двумя способами:

1. Использовать непрерывную аппроксимацию, например,

,

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

2. Модифицировать механизм активации нейронов – использовать идею, похожую на машину Больцмана.

В нейроне будем принимать решение не пороговым правилом на основе локального потенциала

,

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

,

где T – так называемая «температура» сети, будем переводить нейрон в возбуждённое состояние. Закон изменения температуры может быть различным, например, монотонно убывающим по гиперболическому закону, либо пилообразно убывающим с чередованием участков монотонного убывания и резкого возрастания.

Заметим, что возможность выбирать состояния, в которых целевой функционал возрастает, даёт сети возможность выходить из локальных минимумов.

 

3 Результаты вычислительного эксперимента

 

Описанный выше алгоритм был реализован на языке Scala (объектно-функциональное расширение Java). Оценка эффективности преложенного алгоритма проводилась на тестовых задачах из набора OR Library. Набор включает в себя 65 задач различной размерности.

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

 

Таблица 1. Результаты вычислительного эксперимента для сравнения алгоритмов

Номер задачи

Оптимальное решение

Решение жадным алгоритмом

Решение нейронной сетью

Номер задачи

Оптимальное решение

Решение жадным алгоритмом

Решение нейронной сетью

4.1

429

438

437

6.4

131

137

136

4.2

512

551

551

6.5

161

178

178

4.3

516

546

539

A.1

253

271

262

4.4

494

510

506

A.2

252

267

261

4.5

512

519

520

A.3

232

244

239

4.6

560

594

586

A.4

234

246

242

4.7

430

449

447

A.5

236

247

240

4.8

492

502

502

B.1

69

73

71

4.9

641

672

658

B.2

76

78

78

4.10

514

521

517

B.3

80

85

81

5.1

253

271

268

B.4

79

85

84

5.2

302

329

328

B.5

72

76

74

5.3

226

232

230

C.1

227

246

239

5.4

242

253

251

C.2

219

231

229

5.5

211

220

216

C.3

243

256

256

5.6

213

234

228

C.4

219

239

236

5.7

293

311

306

C.5

215

228

220

5.8

288

308

301

D.1

60

68

65

5.9

279

290

290

D.2

66

70

67

5.10

265

274

273

D.3

72

78

75

6.1

138

147

145

D.4

62

65

63

6.2

146

160

153

D.5

61

71

63

6.3

145

152

149

 

 

 

 

 

Для задач классов E-H оптимальные решения неизвестны из-за большой размерности задач. Для оценки были использованы предполагаемые решения, указанные в [11]. Результаты расчётов приведены в таблице 2.

 

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

Номер задачи

Предполагаемое решение

Решение жадным алгоритмом

Решение нейронной сетью

Номер задачи

Предполагаемое решение

Решение жадным алгоритмом

Решение нейронной сетью

E.1

29

31

29

G.1

179

194

186

E.2

30

34

32

G.2

158

165

163

E.3

27

32

28

G.3

169

179

173

E.4

28

32

29

G.4

172

184

178

E.5

28

31

28

G.5

168

181

179

F.1

14

17

15

H.1

64

71

68

F.2

15

16

15

H.2

64

69

68

F.3

14

16

15

H.3

60

65

64

F.4

14

15

15

H.4

59

66

63

F.5

14

15

14

H.5

55

62

59

 

В 57 задачах из 65 предложенный нейросетевой алгоритм показал результат лучше, чем алгоритм Хватала. Средняя цена решения алгоритмом Хватала – 207,6. Предложенным алгоритмом – 204,3.  Средняя предполагаемая оптимальная цена – 196,6. Среднее время расчётов – 14 секунд на задачу.

 

4 Построение иерархического представления

 

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

 

Алгоритм 2. Построение иерархического представления на основе SCP.

 

Вход: граф G=(V,E), цены вершин c.

Выход: N = ((G1, A1), (G2,A2),,(GL,AL)), где Ai – данные о принадлежности вершин

N := () – сначала слоёв нет

Vc: = V

Ec := E

while |Vc| > 1: – формируем новые слои, пока не получим 1 вершину в слое.

  S := SolveSCP(Vc, Ec) – S является подмножеством Vc

  A := {}

  Vc := {}

  Ec := {}

  head := {} – отображение множества эквивалентных вершин в представителя

  for v in S:

              Ai := v U {смежныес vвершины}

              A := A U Ai

              Vc := Vc U v

              head Ai := v

  endfor

  for a in A, for b in A \ a: – создаёмрёбра

              if  then:

                          Ec := Ec U (head a ,head b)

              endif

  endfor

  N := N U ((Vc, Ec),  A) – добавляемслой

endwhile

return N

конец

 

Пример работы алгоритма 2 представлен на рис. 1.

 

Рисунок 1. Схема работы алгоритма 2

Выводы

 

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

 

Список литературы

1.               Abe S., Kawakami J., Hirasawa K. Solving inequality constrained combinatorial optimization problems by the Hopfield neural network // Neural Networks. 1992. Vol. 5, no. 4. P. 663-670.

2.               George D., Jaros B. The HTM learning algorithms. Technical report. Numenta Inc., 2007.

3.               Scarselli F. A short description of the graph neural network toolbox. 2011. Available at: http://www.dii.unisi.it/~franco/Research/GNN_DOC.pdf , accessed 01.08.2013.

4.               Scarselli F., Gori M., Ah Chung Tsoi, Hagenbuchner M., Monfardini G. The graph neural Network model // IEEE Transactions on Neural Networks. 2009. Vol. 20, iss. 1. P. 61‑80. DOI: 10.1109/TNN.2008.2005605

5.               Grossman Т., Wool A. Computational experience with approximation algorithms for the set covering problem // European J. Oper. Res. 1997. Vol. 101, no. 1. P. 81-92.

6.               Hopfield J., Tank D. “Neural” computation of decisions in optimization problems // Biological Cybernetics. 1985. Vol. 52. P. 141-152.

7.               Smith K. Neural networks for combinatorial optimization: A review of more than a decade of research // INFORMS Journal on Computing. 1999. Vol. 11, no. 1. P. 15-34.

8.               Le Gall A., Zissimopoulos V. Extended Hopfield models for combinatorial optimization // IEEE Transactions on Neural Networks. 1999. Vol. 10, iss. 1. P. 72‑80. DOI: 10.1109/72.737495  

9.               Karp R. Reducibility among combinatorial problems // Complexity of Computer Computations, Proc. Sympos. IBM Thomas J. Watson Res. Center, Yorktown Heights, N.Y. 1972 / R. E. Miller, J. W. Thatcher, eds. New York: Plenum, 1972. P. 85-103.

10.            Еремеев А.В., Заозерская Л.А., Колоколов А.А. Задача о покрытии множества: сложность, алгоритмы, экспериментальные исследования // Дискретный анализ и исследование операций. Сер. 2. 2000. Т. 7, № 2. С. 22‑46.

11.            Нгуен Минь Ханг. Применение генетического алгоритма для задачи нахождения покрытия множества // Труды ИСА РАН. 2008. № 33. С. 206‑219.

12.            Хайкин С. Нейронные сети: полный курс : пер. с англ. М.: Издательский дом «Вильямс», 2006. 1104 с.

13.            Balas E., Carrera M. A dynamic subgradient-based branch and bound procedure for set covering // Oper. Res. 1996. Vol. 44, no. 6. P. 875-890.

14.            Beasley J. A Lagrangian heuristic for set-covering problems // Naval Res. Logist. 1990. Vol. 37, no. 1. P. 151-164.

15.            Caprara A., Fischetti M., Toth P. Algorithms for the set covering problem. DEIS — Operations Research Group. Technical Rep. No. OR-98-3. 1998.

16.            Еремеев А.В. Генетический алгоритм для задачи о покрытии // Дискретный анализ и исследование операций. Сер. 2. 2000. Т. 7, № 1. С. 47‑60.

17.            Back Th., Schiiltz M., Khuri S. A comparative study of a penalty function, a repair heuristic, and stochastic operators with the set-covering problem // Artificial Evolution. Berlin: Springer, 1996, pp. 3-20. (Ser. Lecture Notes in Comput. Sci.; vol. 1063).  DOI: 10.1007/3-540-61108-8_47

18.            Beasley J., Chu P. A genetic algorithm for the set covering problem // European J. Oper. Res. 1996. Vol. 94, no. 2. P. 394-404.

19.            Ramalhinho H., Pinto J., Portugal R. Metaheuristics for the bus-driver scheduling problem. Barcelona, Spain, Univ. Pompeu Fabra. 1998. (Economic Working Papers Series; no. 304). Available at: http://www.econ.upf.edu/docs/papers/downloads/304.pdf , accessed 01.08.2013.

20.            Alexandrov D., Kochetov Yu. Behavior of the ant colony algorithm for the set covering problem // Operations Research Proceedings 1999. Berlin: Springer, 2000. P. 255-260. (Ser. Operations Research Proceedings; vol. 1999). DOI: 10.1007/978-3-642-58300-1_38 .

21.            Cohen M., Grossberg S. Absolute stability of global pattern formation and parallel memory storage by competitive neural networks // IEEE Transactions on Systems, Man, and Cybernetics. 1983. Vol. SMC-13, iss. 5. P. 815-826. DOI: 10.1109/TSMC.1983.6313075

22.            Chvatal V. Greedy heuristic for the set-covering problem // Mathematics of Operations Research. 1979. Vol. 4, no. 3. P. 233-235.

23.            Пролубников А.В. Оценка приближенного решения алгоритмом Хватала задачи о покрытии // Математические структуры и моделирование: сб. науч. тр. Вып. 2. Омск: Изд-во ОмГУ, 2002. С. 58-61.

Поделиться:
 
ПОИСК
 
elibrary crossref ulrichsweb neicon rusycon
 
ЮБИЛЕИ
ФОТОРЕПОРТАЖИ
 
СОБЫТИЯ
 
НОВОСТНАЯ ЛЕНТА



Авторы
Пресс-релизы
Библиотека
Конференции
Выставки
О проекте
Rambler's Top100
Телефон: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)
  RSS
© 2003-2024 «Наука и образование»
Перепечатка материалов журнала без согласования с редакцией запрещена
 Тел.: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)