Основные структуры данных на базе ассоциативных нейронных сетей

УДК 84.5.015.2 DOI: 10.20998/2411-0558.2018.42.09

B. Д. ДМИТРИЕНКО, д-р техн. наук, проф., НТУ "ХПИ",

C. Ю. ЛЕОНОВ, д-р техн. наук, проф., НТУ "ХПИ",

В. А. БРЕЧКО, ст. преп., НТУ "ХПИ"

ОСНОВНЫЕ СТРУКТУРЫ ДАННЫХ НА БАЗЕ

АССОЦИАТИВНЫХ НЕЙРОННЫХ СЕТЕЙ

Без основных структур данных: списков, магазинов, очередей, деревьев и т.д., невозможна разработка эффективных алгоритмов. Однако при моделировании ряда технологических процессов (например, при лезвийной обработке металлов) обычные структуры данных недостаточно соответствуют этим процессам и поэтому становятся неэффективными. В связи с этим предлагается новая структура данных на основе ассоциативных нейронных сетей, позволяющая более эффективно моделировать технологические процессы лезвийной обработки металлов. Ил.: 6. Библиогр.: 11 назв.

Ключевые слова: структура данных; технологический процесс; ассоциативные нейронные сети; лезвийная обработка металлов.

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

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

© В. Д. Дмитриенко, С.Ю. Леонов, В. А. Бречко, 2018

указывается: непосредственно выполняемая команда, область выборки в базе данных, выдаваемые данные и условия их отбора из таблиц, а также условия связи между таблицами.

Еще один способ программного обеспечения для ассоциативной обработки данных - это программная реализация различных нейронных сетей.

Нейронные сети широко используются для организации ассоциативной памяти. Наиболее простой пример ассоциативной памяти на нейронных сетях - это гетероассоциативная память, состоящая из двух слоев нейронов: сенсорного и выходного с однонаправленными связями между ними. Если в сети число входных нейронов больше числа выходных, то сеть может использоваться в качестве гетероассоциативной памяти, если в сети число входных нейронов равно числу выходных, то сеть может использоваться как автоассоциативная память [3]. Недостаток такой памяти - невозможность осуществления двухстороннего восстановления ассоциаций из памяти.

Этого недостатка нет у известной двунаправленной ассоциативной памяти, разработанной на основе дискретных нейронных сетей АРТ-1, связанных между собой с помощью промежуточного слоя нейронов [4].

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

Более простой, но выполняющей те же функции, является нейронная сеть, получившая название двунаправленной ассоциативной памяти (ДАП), состоящая из двух сенсорных слоев элементов, нейроны которых связаны между собой парами взвешенных двунаправленных связей с соответствующими весовыми коэффициентами (рис. 1) [5, 6].

Изображения (или n-мерные либо да-мерные входные вектора) могут подаваться соответственно на входы X- или У-элементов. При этом не предполагается подача изображений на оба слоя элементов одновременно. Если весовая матрица для сигналов, посылаемых из X-слоя элементов в У-слой, есть

wn ... wlk ... щт

W =

w

ji'

. w

jk

. w

jm

w„1 ... w

nk

... w

то весовая матрица для сигналов от У-элементов в Х-слой имеет вид

Т

транспонированной матрицы Ж . Как Х-слой, так и У-слой элементов может быть входным и выходным.

Сеть способна запоминать пары ассоциированных друг с другом

изображений Бр = (яр,..., яр), Тр = (гр,..., ) из некоторых заданных

множеств изображений £ = (£1,..., Бр,..., БЬ), Т = (Т1,..., Тр,..., ТЬ), Ь -

число ассоциированных пар.

Существуют различные варианты ДАП, в том числе, бинарный, биполярный и непрерывный. Двоичные формы ДАП (бинарная и биполярная) тесно взаимосвязаны. Процесс обучения ДАП с бинарными нейронами состоит в предварительной настройке весов связей между Х-

и У-нейронами (элементов матрицы W = формулой

wjk

) в соответствии с

w

k = £ (2sp -1) (2tp -1), j = 1, n, k = 1, m,

vjk Luy-j P=1

или формулой для биполярных нейронов

w

jk

= £sPtp, j = 1,n, k = 1,m .

p=1

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

в обоих направлениях. При бинарных входных векторах выходные сигналы X- и У-нейронов определяются функциями активации fp (ивх р ) :

Uвых. p (t + 1) =i

1, если ивх. p (t) > о,

Uвых. p

(t), если ивх. p (t) = 0,

0, если и вх. p (t) < о,

где иеь1хр(/ +1) - выходной сигнал р-го (р = 1, ..., п, п + 1, ..., п + т) бинарного элемента в момент времени I + 1; иех р (/) - входной сигнал

р-го элемента в момент времени

По сравнению с известными нейронными сетями ДАП способна осуществлять двухстороннее восстановление ассоциаций из памяти сети. Однако у нее отсутствует возможность запоминания и восстановления из памяти цепочек ассоциаций между входными и выходными данными. Для обеспечения такой возможности необходима многослойная нейронная сеть, в которой скрытые слои нейронов обеспечивают запоминание цепочек ассоциаций. Цепочки ассоциаций, получаемые с помощью многослойных сетей ассоциативной памяти, можно рассматривать как специализированные списки данных, используемые при разработке алгоритмов моделирования технологических процессов лезвийной обработки металлических изделий [8]. Но для эффективного моделирования и запоминания технологических процессов необходимо не только эффективное представление списков, но и описание и других структур данных с помощью нейронных сетей.

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

Нейронная сеть для запоминания цепочек ассоциаций получается из ДАП путем введения в ее структуру N (четное число) слоев нейронов, которые последовательно соединены друг с другом парами двунаправленных взвешенных связей (рис. 2).

Каждый нейрон (2^,..., 1хчЪ.., 2^ ) первого из N слоев введенных в ДАП нейронов соединяется двунаправленными взвешенными связями с каждым нейроном (Хь..., Х{,..., Хп ) первого сенсорного слоя. Эти два слоя нейронов, при соответствующих весах связей между ними, фактически являются двунаправленной ассоциативной памятью (рис. 3),

которая при наличии изображения на входах нейронов Х

первого сенсорного слоя определяет ассоциативное изображение на

71

выходах нейронов первого слоя 2 -элементов.

п8 1' 81п

М1 , М2

8182' 82 81

М , М2

8Nm' m8N

Рис. 2. Многослойная ассоциативная память

И наоборот, при наличии изображения, поступившего с выходов элементов 22 -слоя на входы нейронов 21 -слоя, определяет ассоциативное изображение на выходах элементов Х-слоя. Поскольку каждый нейрон последнего из N слоев 2-нейронов соединяется двунаправленными взвешенными связями с каждым нейроном

У у (у = 1, т) второго сенсорного слоя, то при соответствующих весах

связей между нейронами этих слоев они также образуют двунаправленную ассоциативную память ДАП(N/2)+1 (рис. 3), которая

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

слоя 2N -элементов. Аналогичным образом блоки ДАП могут быть получены из нейронов слоев 2 и 2 , 2 и 2 (соответственно блоки

ДАП2 и ДАП3 на рис. 3). Таким образом, получается архитектура

нейронной сети, состоящая из последовательно соединенных блоков ДАП, способная запоминать цепочки ассоциаций.

Рис. 3. Многослойная ассоциативная память в виде блоков ДАП

Разработанная сеть функционирует согласно двум алгоритмам: обучения и распознавания. Алгоритм обучения представляет собой процесс определения набора обучающих изображений и расчет матриц

весов связей между слоями нейронов Уи 21, 22 и 23, ..., 2^ и У по известным соотношения вида (2) и (3).

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

входными изображениями соответственно для второго или предпоследнего блока ДАП многослойной памяти и т.д.

Списки данных. Рассмотренные многослойные сети ассоциативной памяти фактически выполняют хранение списков ассоциаций. А список, как известно, является одним из основных типов данных, которые используются в различных алгоритмах обработки информации [9 - 11]. Список состоит из группы элементов (компонент, узлов), которые последовательно соединены между собой. Каждый элемент состоит из двух ячеек памяти, первая из которых содержит сам элемент, а вторая ячейка является указателем на следующий компонент списка (рис. 4).

Указатели

списка Данные

Рис. 4. Список со связями

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

Архитектура многослойной ассоциативной памяти в виде блоков ДАП позволяет легко выполнять все указанные операции. Например, при расцеплении двухсвязного списка между элементами ДАП2 и ДАП3, если первый элемент списка храниться в блоке ДАП1 (рис. 3), первый список будет состоять только из блоков ДАП1 и ДАП2 и сигналы с выхода блока ДАП2 не будут подаваться на входы блока ДАП3. В блок ДАП2 будет введен новый указатель на следующий блок ДАП. Второй список будет состоять из блоков ДАП3 , ..., ДАП^у2 , ДАП^/2,+1 и на

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

При добавлении нового элемента ДАПj в список, например,

между элементами ДАП и ДАП+1, когда рассматривается двухсвязный список и число выходов элемента ДАПk равно числу входов элемента ДАП j , необходимо выполнить следующие действия:

1. В блоке ДАПk необходимо указатель на следующий блок ДАП^ заменить на указатель на блок ДАП j .

2. В блоке ДАП j установить указатель на предшествующий блок ДАП, а указатель на последующий блок должен указывать на блок

ДАП+1.

3. В блоке ДАП+ указатель на предшествующий блок должен быть заменен на указатель блока ДАП j .

Стеки и очереди [9 - 11]. Специальный вид списка - стек или магазин. Элементы в стеке добавляются или удаляются на конце списка по принципу "последний вошел - первый вышел". Очередь - еще один специальный вид списка. В очереди элементы всегда добавляются с одного конца списка, а удаляются с другого.

Списки часто используются и для представления множеств [10].

Структуры данных в виде графов и деревьев, реализованные с помощью нейронных сетей.

Из архитектуры многослойной ассоциативной памяти (рис. 3) следует, что можно рассматривать не только цепочки последовательных ассоциаций, запоминаемых блоками ДАП1, ДАП2, ..., ДАП(N2)+1, но и

ассоциации между входами (изображениями) любых двух блоков многослойной сети (рис. 5), которая моделирует двунаправленный ориентированный граф. А графы (ориентированные, неориентированные и двунаправленные), как известно [9 - 11] являются одним из основных представлений структур данных. На рис. 5 представлена архитектура нейронной сети, моделирующая графовую структуру данных и ассоциативную память соответствующего вида для случая, когда многослойная ассоциативная память (рис. 3) содержит семь блоков ДАП.

Рис. 5. Ассоциативная память, реализованная в виде двунаправленного графа

Частным, но очень важным видом ориентированных графов являются деревья [9 - 11].

Корневым деревом или просто деревом называется ориентированный ациклический граф, удовлетворяющий условиям:

- граф имеет единственный узел, который называется корнем, в который не входит ни одно ребро;

- в любой узел, за исключение корня, входит одно ребро;

- из корня к каждому узлу идет единственный путь.

Пусть Б = (У,Е) - граф, являющийся деревом, здесь К-множество узлов дерева, Е-множество ребер, задаваемых упорядоченными парами узлов дерева. Если е Е, то узел V называют отцом узла ж, а узел ж называют сыном узла V. Если пара узлов не определяет ребро

дерева, но есть путь из узла V в узел ж, то узел V является предком узла ж, а узел ж - его потомком.

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

Рис. б. Ассоциативная память, реализованная в виде двоичного дерева

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

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

1. Juba S. Learning Postgre SQL 1G I S. Juba, A. Volkov II Birmingham: PacktPubliahing, 2G17. - 488 P.

2. Конолли Т. Базы данных: проектирование, реализация и сопровождение. Теорияипрактика I Т. Конолли, К. Бегг. - M.: Диалектика - Вильямс, 2G17. - 144G с.

3. Fausett L. Fundamentals of Neural Networks. Architectures, Algorithms and Applications I L. Fausett. - NewJersey: PrenticeHallInt., Inc., 2GG6. - 48З p.

4. Патент на корисну модель MHK GG6G 7I1GG. Пристрш двоспрямованоï асоцiативноï пам'яп I В.Д. Дмитрieнко, О.Ю. Заковоротний; замовник та власник патенту Нацюнальний техшчний ушверситет "Харшвський полггехшчний шститут". -№ 2GG6G546G, заявлено 19.G5.2GG6; опублжовано 15.11.2GG6, бюл. 11.

5. Ямпольський Л.С. Нейротехнологп та нейросистеми I Л.С. Ямпольський. -Mонографiя. - К.: "Дорадо - Друк", 2G15. - 5G8 с.

6. Бодянський Е.В. Искусственные нейронные сети: Архитектуры, обучение, применения I Е.В. Бодянський, О.Г. Руденко. - Х.: ТЕЛЕТЕХ, 2GG4. - З72 с.

7. Chien W.T. The predictive model for machinability of 304 stainless steel I W.T. Chien, C. Y. Chou II Journal of Materials Processing Technology. - 2GG1. - № 118. - P. 442-447.

8. Норенков И. П. Основы автоматизированного проектирования I И. П. Норенков. - M.: Изд-во MFry им. Н.Э. Баумана, 2GGG. - 215 с.

9. Седжвик Р. Computer Science. Основы программирования на Java, ООП, алгоритмы и структуры данных I Р. Седжвик, К. Уэйн. - СПб: Питер, 2G16. - 1G72 с.

10. Ахо А.В. Структуры данных и алгоритмы I А.В. Ахо, Д.Э. Хопкрофт, Д.Д. Ульман. -M.: Диалектика - Вильямс, 2G18. - 4GG с.

11. Стивене Р. Алгоритмы: теория и практическое применение I Р. Стивене. - M.: Эксмо, 2G16. - 544 с.

Bibliography:

1. Juba, S., and Volkov, A. Learning Postgre SQL 10 (2017), Packt Publiahing, Birmingham, 488 p.

2. Konolli, T. (2017), Database Systems: design, implementation and maintenance. Theory and practice, Dialektika-Vilyams, Moskow, 1440 p.

3. Fausett, L. (2006), Fundamentals of Neural Networks. Architectures, Algorithms and Applications, New Jersey: Prentice Hall Int., Inc., 483 p.

4. Patent on an useful model MPK G06G 7/100. Bi-directional associative memory device / Dmirtienko V.D., ZakovorotniyO.Yu.; customer and owner National technical university "Kharkiv polytechnic institute".- №200605460, stated 19.05.2006; published 15.11.2006, byul. 11.

5. Yampolskiy, L.S. (2015), Neurotechnology and neurosystems, Monograph, "Dorado -Druk", Kiev, 508 p.

6. Bodyanskiy, E.V. (2004), Artificial neural networks: architecture, training, application, TELETEH, Kharkov, 372 p.

7. Chien, W.T. (2001), "The predictive model for machinability of 304 stainless steel", Journal of Materials Processing Technology, No. 118, pp. 442-447.

8. Norenkov, I.P. (2000), Fundamentals of automated design, Izd-vo MGTU im. N.E. Baumana, Moskow, 215 p

9. Sedzhvik, R., and Ueyn, K. (2016), Computer Science. Java, OOP, algorithms and data structures, Piter, SPb, 1072 p.

10. Aho, A.V., Hopkroft, D.E., and Ulman, D.D. (2018), Data structures and algorithms, Dialektika-Vilyams, Moskow, 400 p.

11. Stivens R. (2016), Algorithms: theory and practice, Eksmo, Moskow, 544 p.

Статью представил д-р техн. наук, проф. НТУ "ХПИ", А.Ю. Заковоротный

Поступила (received) 21.10.2018

Dmitrienko Valerii, Dr. Tech. Sci., Professor

National Technical University "Kharkiv Polytechnic Institute"

Str. Kirpichova, 2, Kharkiv, Ukraine, 61002

Tel.: (057) 707-61-98, e-mail: valdmitrienko@gmail.com

ORCID ID: 0000-0003-2523-595X

Leonov Sergey, Dr. Tech. Sci., Professor

National Technical University "KharkivPolitechnical Institute"

Str. Kirpichova, 2, Kharkov, Ukraine, 61002

Tel.: (099) 911-911-3, e-mail: serleomail@gmail.com

ORCID ID 0000-0001-8139-0458

Brechko Veronika, Post Graduate Student

National Technical University "Kharkiv Polytechnic Institute"

Str. Kirpichova, 2, Kharkiv, Ukraine, 61002

Tel. (066) 311-12-81, e-mail: nikabrechko@gmail.com

ORCID ID: 0000-0001-9578-2102

УДК 84.5.015.2

Основш структури даних на 6a3i асощативних нейронних мереж / Дми^енко В.Д., Леонов С.Ю., Бречко В.А. // Вюник НТУ "ХШ". CepiH: 1нформатика та моделювання. - Харк1в: НТУ "ХП1". - 2018. - № 42 (1318). - С. 148 -159.

Без основних структур даних: списков, магазишв, черг, дерев i т.п., неможлива розробка ефективних алгорштшв. Однак при моделюванш ряду технологiчних процесiв (наприклад, при лезвiйнiй обробцi металiв) звичайш структури даних недостатньо вiдповiдають цим процесам i тому стають неефективними. У зв'язку з цим пропонуеться нова структура даних на основi асоцiативних нейронних мереж, що дозволяе бшьш ефективно моделювати технологiчнi процеси лезвшно! обробки металiв. 1л.: 6. Бiблiогр.: 11 назв.

Ключовi слова: структура даних; технолопчний процес; асоцiативнi нейроннi мереж1; лезвшна обробка металiв.

УДК 84.5.015.2

Основные структуры данных на базе ассоциативных нейронных сетей / Дмитриенко В.Д., Леонов С.Ю., Бречко В.А. // Вестник НТУ "ХПИ". Серия: Информатика и моделирование. - Харьков: НТУ "ХПИ". - 2018. - № 42 (1318). - С. 148 - 159.

Без основных структур данных: списков, магазинов, очередей, деревьев и т.д., невозможна разработка эффективных алгоритмов. Однако при моделировании ряда технологических процессов (например, при лезвийной обработке металлов) обычные структуры данных недостаточно соответствуют этим процессам и поэтому становятся неэффективными. В связи с этим предлагается новая структура данных на основе ассоциативных нейронных сетей, позволяющая более эффективно моделировать технологические процессы лезвийной обработки металлов. Ил.: 6. Библиогр.: 11.

Ключевые слова: структура данных; технологический процесс; ассоциативные нейронные сети; лезвийная обработка металлов.

UDC 84.5.015.2

Basic data structures based on associative neural networks / Dmitrienko V.D., Leonov S.Y., Brechko V.O. // Herald of the National Technical University "KhPI". Series of "Informatics and Modeling". - Kharkov: NTU "KhPI". - 2018. - №.42 (1318). - P. 148 - 159.

Without basic data structures: lists, stores, queues, trees, etc., the development of efficient algorithms is impossible. However, when modeling a number of technological processes (for example, blade metal processing), ordinary data structures do not correspond to these processes sufficiently and therefore become ineffective. In this regard, a new data structure based on associative neural networks, which makes it possible to more effectively model technological processes of blade metal processing, is proposed. Figs.: 6. Refs.: 11 titles.

Keywords: data structure; technological process; associative neural networks; blade metal processing.