ВЫВОДЫ
В данной работе была представлена архитектура ядра виртуальной машины нейронной сети, проектируемой с целью построения ЭС на базе представленной модели. Ядро реализуется в парадигме компонентного программирования, этим обеспечивается возможность динамически изменять архитектуру ядра без перекомпиляции отдельных компонентов. Представленная виртуальная машина эмулирует параллельное выполнение нейронов в сети. Были описаны уровни VNPI, состоящие из набора классов и соответствующих методов.
Уровень интерфейсов операционной системы обеспечивает адаптацию функций API операционной системы к характеристикам виртуальной машины, реализующей семантическую нейронную сеть. На данном уровне рассматривается работа с потоками данных в файле, что отражает класс CSystemStream, либо памяти, что реализуется посредством класса CSystemMe-mory. Для упрощения работы с потоком создается специальный объект CStreamReaderWriter.
Уровень управления памятью и сборщик мусора обеспечивает распределение памяти. Реализация данного уровня достигается путем использования объектов VMemoryManager, представляющих собой связные списки, содержащие ссылку на следующий и предыдущий элементы.
Уровень интерфейсов управления файлом хранилища фреймов обеспечивает функционирование функций API файла - хранилища фреймов. Уровень интерфейсов кэширования фреймов обеспечивает функционирование функций API кэширования фреймов.
На основе представленной НС была реализована ЭС, используемая для диагностирования компьютер-
ных сетей. Недостатками данной ЭС является отсутствие режима моделирования характеристик сети и отсутствие задач-экспертов для стеков протоколов. К числу преимуществ данной ЭС можно отнести эффективность управления ресурсами ее виртуальной машины и эффективность организации связей между объектами.
ПЕРЕЧЕНЬ ССЫЛОК
1. Кривуля Г. Ф., Бабич А. В., Липчанский А. И., Шкиль А. С. Применение экспертных систем реального времени для диагностики компьютерных систем. // ¡нформацшно-керуюч! системи на зал1зничному транспорт!. - 2004. -№ 1. - С. 56-62.
2. Дударь 3. В., Шуклин Д. Е. Реализация нейронов в семантических нейронных сетях // Радиоэлектроника и информатика. - 2000. - № 4. - С. 89-96.
3. Шуклин Д. Е. Принципы построения компонентной архитектуры ядра виртуальной машины эмулирующей семантическую нейронную сеть // 8-й международный молодежный форум «Радиоэлектроника и молодежь в XXI веке». Ч. 2.: Сб. материалов форума. - Харьков: ХНУРЭ. 2004. - С. 101.
Надшшла 22.02.06
У po6omi розглядаеться можлив1сть використання ек-cnepmnoi системи на 6a3i нейронно'( Mepexi у щлях дiаг-ностики комп'ютерног MepeMi. Пропонуеться програмна побудова нейронноЧ мepeжi у виглядi бaгamopiвнeвo'i системи. Кожен piвeнь вказаноЧ системи представляеться cукуnнicmю клaciв i мemoдiв, що виконують перетво-рення даних.
The application possibility of the expert system, built on the basis of neuron net, is considered in the purposes of computer net diagnostics. The program construction of the neuron net in the form of multilevel system is proposed. Each level of the mentioned system is represented by the set of classes and data transformation fulfilling methods.
YAK 681.3.06; 681.3.07
P. К. Кудерметов, A. M. Щербаков, M. Ю. Юрич
СТРУКТУРОЙ СИНТЕЗ 0ПЕРАЦ1ЙНИХ М0ДУЛ1В М0ДУЛЯРН01 АРИФМЕТИКИ НЕЙР0ННИХ МЕРЕЖ ПАРАЛЕЛЬНИХ ОБЧИСЛЕНЬ
Розглянута можливктъ розширення сфери застосування нейронних мереж для паралелъноЧ обробки даних у моду-лярнш системi залишкових класiв. Наведенш резулътати структурного синтезу операцшного модуля дiлення чисел модулярноЧ арифметики.
ВСТУП
Проектування параметричних шформацшних метасистем з управлшня швидюсними процесами не обходиться без вимоги контролю дшсних сташв та прогно-зування подальшо! поведшки об'екив у режим1 реального часу.
Здшснення одночасного, контролю, наприклад, ильки координат траекторИ руху об'екту та розрахун-
© Кудерметов Р. К., Щербаков А. М., Юрич М. Ю., 2006 102 ISSN 1607-3274 «Радтелектрошка. 1нформатика. Управлшня» № 1, 2006
ки його прогнозованого напрямку, або корекци ор1ен-тацИ в простора, приводить до необх1дност1 застосуван-ня методов паралельних обчислень р1зно! степеш гли-бини та створення багатопроцесорних систем.
Створення складних розпод1лених систем виявив нов1 тенденци розвитку кибернетики, як1 можна визна-чити двома напрямками:
- напрямок побудови 1 досл1дження моделей пове-дшки складних об'ект1в 1 способов керування ними за до-помогою 1м1тац1! механ1зм1в природи живих 1стот. Наприклад, задача високого р1вня складност1 стали предметом досл1дження дисциплш, як1 вивчають проб-леми побудови штучного штелекту на зразок роботи людського мозку;
- напрямок гибридного шдходу, який полягае у су-мясному впровадженш р1зних методов або моделей для досл1дження одного й того ж об'екту. Парадигма такого шдходу заснована на згод1 з тим, що лише багатоас-пектне вивчення об'екту з штегращею одержаних результатов дозволить знайти необх1дш знання або наб-лизитися до оптимального ршення.
Сучасний стан створення багатопроцесорних шфор-мацшних систем визначаеться штенсивним пошуком нових засоб1в та методов найшвидшо!, паралельно! об-робки шформаци, як1 ор1ентоваш на нов1 технологи логичного синтезу та анализу управлшня у нейромереж-ному базис1.
Сформован у рамках сучасно! теори штелектуаль-них обчислень основш концепци нейронних мереж пов'язаш з побудовою 1 вживанням штучних багатоша-рових моделей, прототип яких використовуе структури 1 механ1зми функц1онування б1олог1чних нервових систем, 1 розглядаються як методолог1чний базис для створення архитектур швидко! паралельно! обробки шформаци.
Штучно нейронш мереж1 складаються з безл1ч1 взае-мод1ючих простих процесор1в [1]. Так1 процесори за-звичай прост1, пор1вняно з процесорами, в персональ-них комп'ютерах.
Кожний процесор-«нейрон» подобно! мереж1 мае справу т1льки з одними сигналами, як1 в1н пер1одично одержуе, 1 сигналами, як1 в1н периодично посилае 1н-шим процесорам (рисунок 1).
Будучи сполученими в достатньо велику мережу з керованою взаемод1ею, так1 локально проси процесори разом здатш виконувати досить складш задача.
Вхщш ав'язки з _Вищдш эважеш
системою даних зв'язки дляшпшх
Рисунок 1 — Окремий елемент нейронно'( мережг
Найпрост1ш1 арх1тектури нейронних мереж обмеже-н1 правилами комбшування вх1дних сигналов, структурою зв'язк1в та правилами передач1 сигнал1в вагових значень, правилами навчання нейрон1в та обчислення сигналу його активаци.
Найважливша особлив1сть мереж1, що св1дчить про !! величезний потенщал, полягае в можливост1 паралельно! обробки шформаци вс1ма розпод1леними клас-терними ланками. У багатьох випадках стае можливим анализ та перетворення сигналов у реальному час1.
При великому числ1 нейронних з'еднань мережа стае стшкою до помилок, що виникають на деяких л1-шях. Функци пошкоджених зв'язк1в беруть на себе справш лши, внасл1док чого д1яльн1сть мереж1 не заз-нае суттевих вплив1в.
1нша не менше важлива властив1сть - зд1бн1сть до навчання 1 узагальнення накопичених знань. Натрено-вана на обмежен1й безл1ч1 навчальних даних, мережа здатна узагальнювати одержану 1нформац1ю 1 показу-вати мш1мальну близьк1сть евклидово! в1дстан1 пом1ж центро!дами кластеров на даних, що не використовува-лися в процесс навчання. Це дае можлив1сть позбави-тись складних процес1в програмування контролю стан1в об'екту при невизначеност1 його повед1нки.
Характерна особлив1сть мереж1 полягае також в можливост1 !! реал1заци 1з застосуванням технологи великого ступеня штеграци. В1дм1нн1сть нейронних еле-мент1в мереж1 невелика, а !х повторюван1сть значна Це в1дкривае перспективу створення универсального м1к-ропроцесора з однор1дною структурою, здатного в ме-реж1 переробляти р1зноман1тну 1нформац1ю 1 виконува-ти функци: апроксимаци; класиф1каци 1 розшзнавання образов; прогнозування; 1дентиф1кацп 1 ощнювання; асоц1ативного управл1ння.
Перел1чен1 властивост1 викликають обГрунтований интерес до нейронних мереж 1 суттевий прогрес у !х дослщженш.
ЗАСТОСУВАННЯ МОДУЛЯРНИХ СИСТЕМ ЧИСЛЕНИЯ В НЕЙРОННИХ МЕРЕЖАХ
З розвитком теори нейронних мереж, зокрема р1шен-ня задач1 застосування модулярних систем числення на нейронш структури [2], з'явилась можлив1сть викорис-тання переваг модулярного кодування шформаци при ршенш задач паралельних обчислень. Нейрокомп'ю-тери (НК) мають важливу особлив1сть функц1онування, суть яко! полягае в зб1льшенш !х продуктивности при скороченш розрядност1 оброблюваних даних. Одним з можливих шлях1в скорочення розрядност1 оброблюваних даних е представлення !х в кодах модулярно! системи числення залишкових клас1в 1з взаемно прос-тими модулями.
Кр1м того, модулярне кодування дозволяе виконува-ти основн1 арифметичн1 операц1! обробки даних
паралельно на операц!йних блоках у нейромережному лог!чному базис!, що дозволяе одночасно використову-вати режим реального часу для багатьох параметр!в системи даних.
К!нцеву множину додатних ц!лих чисел р,, взаемно простих пом!ж собою, приймають за базис основ Р модулярно! системи числення в залишкових класах [3]:
Р = {ръ Р2,---Рк).
(1)
Число А в модулярному код! представляеться у виг-ляд! набору к залишк!в а^
А = (а1 ,а2, ... ,ак),
(2)
Зворотн!й перех!д модулярних чисел до позиц!йно! десятково! системи зд!йснюеться за допомогою ортогонального базису В = {^1, В2, ..., Вк), який визначаеть-ся один раз для прийнятого базису модулярно! системи по кожн!й основ! р^ за виразом:
В;
ШЯ
(6)
де г =1, 2,...к, шг - вага ортогонального базису, ц!ле додатне число, значення якого шдбираеться таким, щоб була в!дпов!дн!сть р!вност!:
ШЯ
= 1,
(7)
обчислених по модулю кожно! з р; основ непозиц!йно! системи числення:
аг = Ашоёрг = А - ^^^^, для г = 1, 2,..., к , (3)
де Шг = 1, 2, 3... .
Десяткове число через ортогональний базис, який збер1гаеться як константи, знаходять як:
А = (а1 В1 + а2В2 + . + акВк) шоё^. (8)
де [] - щла частина числа, к - юльюсть основ меду-лярно! системи числення.
В позиц1йн1й систем! числення число А адитивне I представляеться у вигляд! зв'язаних розряд!в, як! ма-ють свою вагу:
А П
А = ашЯ + ап - 1Я
п - 1
1 О -1
а 1 д + а0 д + а 1 д
-2 -Ш г
+ а-2д + . +а-шд = ^ агд
(4)
де д - основа позицшно! системи, а1 - коеф!ц!ент роз-ряду числа, п, ш - ступ!нь ваги.
Модулярна система числення не адитивна, модулярн! розряди залишк!в не залежн! один в!д одного ! не мають зв'язк!в по переносу одиниц! переповнення молодшого розряду до старшого.
Значення числа в модулярному код! (2) не залежить в!д м!сця знаходження кожного розряду в його пред-ставленн!, а залежить т!льки в!д значення модулярно! основи р^ в!дпов!дного розряду. Таку непозиц!йну систему числення називають модулярною системою за-лишкових клас!в (МСЗК). Якщо основи в представ-ленн! (р1, р2,.рк) вибрати взаемно простими (най-б!льший загальний д!льник дор!внюе одиниц!), то, зг!дно Китайськ!й теорем! про залишки [3], це забез-печуе однозначн!сть представлення будь-яких ц!лих чисел з д!апазону {О, Я), який визначаеться як:
Я,
к
ПП р г.
г = 1
(5)
Б!льш!сть арифметичних операц!й, при застосуванн! МСЗК в нейронних мережах, виконуеться паралельно по модульним розрядам, що забезпечуе високу швид-к!сть обчислень.
ПОСТАНОВКА ЗАДАЧ1
Утворення залишк!в числа по розрядах модулярно! системи проводиться незалежно один в!д одного, тому кожний розряд м!стить в соб! !нформац!ю про все число в ц!лому. Теоретично, це дае можлив!сть виявлення помилок та в!дновлення з!псованих код!в в р^ розряд! по значеннях !нших розряд!в модулярного базису. Ви-конання процес!в переводу код!в в МСЗК, подальше перетворення !нформац!! у нейронн!й мереж! за допо-могою простих арифметичних д!й, зворотн!й перев!д чисел до десятково! системи, виявлення та в!дновлення з!псованих код!в, потребуе ряд спец!ал!зованих опера-ц!йних модул!в апаратного забезпечення пристосова-них для роботи в нейронних мережах з модулярним обчисленням.
Структура модулярного спец!ал!зованого нейропро-цесора (НП) обробки ! анал!зу !нформац!! [3] представлена на рисунку 2.
На вх!д нейропроцесора надходить цифровий пот!к даних, який перетворюеться блоком переводу чисел !з позиц!йно! системи числення у модулярну систему за-лишкових клас!в (ПСЧ-МСЗК). Дан!, представлен! в модулярному код!, надходять на вх!д блоку анал!зу ! прийняття р!шення. Через блок розширення основ модулярного коду вони поступають на блок емуляц!! НП. Блок емуляц!! НП складаеться з л!н!йно! частини
104
1607-3274 «Рад1оелектрон1ка. 1нформатика. Управлшня» № 1, 2ОО6
Рисунок 2 — Структура модулярного нейропроцесора
нейронно! мереж1 та блоку обчислення функц1! акти-ваци. Саме в блощ обчислень функци активаци роз-м1щен1 операц1йн1 блоки виконання арифметичних д1й з числами в модулярних кодах.
В робот1 розглядаеться структурний синтез опера-ц1йного модуля д1лення чисел, представлених у моду-лярних кодах.
СТРУКТУРНИЙ СИНТЕЗ ОПЕРАЦ1ЙНОГО МОДУЛЯ Д1ЛЕННЯ ЧИСЕЛ В МСЗК
З урахуванням тенденций розвитку нейрокомп'ю-терних технологий [4], були проведет досл1дження з питань структурного синтезу операц1йних модул1в модулярно! арифметики 1 розроблена структура модуля д1лення чисел системи залишкових клас1в [5]. Структурна схема модуля приведена на рисунку 3.
Основним вузлом операцшного модуля е блок д1лення залишюв 7, сукупн1сть яких дозволяе викону-вати операц1ю д1лення ц1лих додатних чисел моду-лярно! системи залишкових клас1в [4]:
А/В = С = (а.1,а.2,... ,ак)/(61,62, — ,Ък) =
= (Cl,C2,... ,ск). (9)
Алгоритм операци д1лення виконуеться порозрядно блоками 7 за формулою:
с1 = («г + к'Р1) / Ъь
(10)
де а, - залишок д1леного (г = 1, 2, 3...); Ъ, - залишок д1льника; с, - частка; к - коефщент, який вибира-еться так, щоб частка була щлим числом (к = 0, 1, 2,..., Рг-1).
Операци д1лення (10) виконуються на модулярному суматор1 додаткового коду за методом б1нарно! арифметики.
Операц1йний модуль м1стить рег1стри д1леного 1, д1льника 2, частки 3, блок керування 4, вузол корекц1! частки 5, п рег1стр1в констант к-р, 6, п блоков д1лення залишк1в 7, п блоков анализу частки 8.
Робота модуля здшснюеться наступним чином. На вх1д рег1стра д1леного 1 надходять дан1 д1леного, пред-ставленого в система залишкових клас1в. Регистр д1ле-
Рисунок 3 — Структурна схема операцгйного модуля дглення модулярних чисел
ного м1стить к залишюв д1леного А = (а1,а2,... ,ак), де к - число базисних основ Р = {р1, р2,--рк} системи залишкових клас1в. Кожний залишок дшеного а, над-ходить на вх1д свого ¿-го блоку д1лення залишюв.
На рег1стр д1льника 2 надходять дан1 д1льника також представлена у система залишкових клас1в. Регистр дольника м1стить к залишюв числа В = (61, 62,..., Ък). Кожен залишок дшьника Ъ, надходить на блок дшення чисел 7, де виконуеться д1лення залишюв д1леного 1 д1льника в1дпов1дно до формули (10).
Константи к-р, надходять до пристрою з каналу да-них 1 збер1гаються у рег1страх 6.
Д1лення по с, розряду системи залишкових клас1в повинно виконуватися до щлого числа залишку частки. Перев1рку ц1е! умови виконуе блок анал1зу 8. Як-що результат, отриманий з блоку д1лення залишк1в 7 дор1внюе щлому числу, тод1 блок анал1зу 8 передае результат д1лення до вузла корекц1! частки 5. Якщо результат д1лення др1бне число, то з блоку анал1зу 8 передаеться сигнал на рег1стр констант 6. По цьому сигналу визначаеться наступна константа к-р,. Ця опе-рац1я повторюеться до одержання щлого значення частки модульного розряду.
Вузол корекци частки 5 записуе результати д1лення до рег1стру частки 3, шформащя з якого зшмаеться по 1нтерфейсному каналу нейропроцесора.
ВИСНОВКИ
Досл1дження нейронних мереж для застосування па-ралельно! обробки даних у модулярн1й систем1 залишко-вих клас1в довели можлив1сть побудови метасистем з уп-равлшня швидк1сними процесами, контролю д1йсних
стан!в та прогнозування повед!нки об'ект!в у режим! реального часу за рахунок зменьшення розрядност! чисел при представленн! !х залишками ! можливост! !х пара-лельно!, одночасно! обробки за рахунок в!дсутност! зв'яз-к!в пом!ж ними.
ОбГрунтована задача структурного синтезу опера-ц!йних модул!в модулярно! арифметики. Представлен-н! результати структурного синтезу операц!йного модуля д!лення чисел залишкових клас!в довели можли-в!сть його функц!онування в нейропроцесорах моду-лярно! арифметики. Новизна досл!джень п!дтверджена р!шенням «Державного департаменту !нтелектуально! власност!» в!д 14. 12. О5 про видачу патенту на ви-нах!д № 2004032342 «Пристр!й д!лення чисел у систем! залишкових клас!в».
ПЕРЕЛ1К ПОСИЛАНЬ
1. Калан Р. Основные концепции нейронных сетей. Перевод с англ. М.: Издательский дом «Вильямс», 2001. -287 с.
2. Червяков Н. И., Шапошников А. В., Сахнюк П. А. и др. Применение модулярных вычислений для нейрообра-ботки // Нейрокомпьютеры и их применение. М.: НКП. - 2002. -№ 10. - С. 18-21.
3. Акушский И. Я., Юдицкий Д. А. Машинная арифметика в остаточных классах. М.: Высшая школа, 1968. - 453 с.
4. Червяков Н. И., Шапошников А. В., Сахнюк П. А. Модель и структура нейронной сети для реализации арифметики системы остаточных классов // Нейрокомпьютеры, разработка и их применение. - М.: НКП. -2001. - № 10. - С. 12-17.
5. Щербаков А. М., Юрич М. Ю. Пристрш д1лення чисел у систем! залишкових клаав. Винах1д за № 2004032342 в1д 14.12.05. - Запор1жжя.: ЗНТУ, 2004. - 4 с.
Надшшла 2.02.06 Шсля доробки 28.03.06
Рассмотрена возможность расширения сферы применения нейронных сетей для параллельной обработки данных в модулярной системе остаточных классов. Приведены результаты структурного синтеза операционного модуля деления чисел модулярной арифметики.
The opportunity of expansion of sphere of application of neural networks for parallel data processing in modular to system of residual classes is considered. Results of structural synthesis of the operational module of division of numbers modular arithmetics are brought.
106
ISSN 1607-3274 «Радтелектрошка. 1нформатика. Управлшня» № 1, 2006