В Грицик - Технологія нейрокомп' ютингу реального часу - страница 1

Страницы:
1  2 

УДК 681.З25

В. Грицик, Р. Ткаченко, І. Цмоць

Національний університет "Львівська політехніка", кафедра автоматизованих систем управління, кафедра інформаційних систем та мереж

ТЕХНОЛОГІЯ НЕЙРОКОМП' ЮТИНГУ РЕАЛЬНОГО ЧАСУ

© Грицик В., Ткаченко Р., Цмоць І., 2010

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

Ключові слова: нерокомп'ютинг, штучні нейронні мережі, НВІС-технологія, паралельна обробка, конвеєр, реальний час.

Features of hardware representation of artificial neural networks were analyzed, principles of construction were chosen, ways of efficiency increase of equipment use were determined, methods of synthesis and base structures of the neural computing, , real-time systems were developed.

Key words: neurocomputing, artificial neural networks, VLSIC-technology, parallel processing, conveyer, real time.

Постановка проблеми

Технологія нейрокомп' ютингу в реальному часі - це створення паралельних, розподілених, адаптивних комп' ютерних систем обробки даних у реальному часі, які здатні "вчитися" опрацьовувати дані, діючи в інформаційному середовищі. Ця технологія не вимагає готових алгоритмів і правил опрацювання, при її використанні комп' ютерні системи повинні "уміти" випрацьовувати правила та модифікувати їх у процесі розв'язання конкретних задач опрацювання даних. Роботи в галузі нерокомп' ютингу ведуться за такими напрямками:

• розроблення нейроалгоритмів;

• створення спеціалізованого програмного забезпечення;

• розроблення спеціалізованих нейрокомп'ютерних систем.

Особливою рисою нейрокомп'ютингу найчастіше є єдиний принцип навчання нейро-комп' ютерних систем - мінімізація емпіричної похибки. Функція похибки, яка оцінює конфігурацію системи, задається іззовні - залежно від того, яку мету передбачає навчання. Поступову модифікацію конфігурації (стан зміни всіх своїх синаптичних ваг) здійснюють так, щоб мінімізувати похибку.

Сучасний етап розвитку технологій нейрокомп' ютингу характеризується розширенням галузей застосування, в значній частині з яких вимагається опрацювання у реальному часі різних за інтенсивністю надходження потоків даних на комп' ютерних системах, що задовольняють обме­ження щодо габаритів, енергоспоживання, вартості та часу розроблення. Створення таких нейрокомп' ютерних систем вимагає широкого використання сучасної елементної бази (напів-замовних і замовних НВІС, процесорів цифрової обробки сигналів, мікроконтролерів, трансп'ю­терів, нейрочіпів) та розроблення нових методів, алгоритмів і НВІС-структур для реалізації нейроалгоритмів. Режим реального часу накладає обмеження на час розв'язання задачі Тр, який не повинен перевищувати часу обміну повідомленнями Тобм, тобто:

T < Тб .

p обм

Час обміну залежить як від обсягу N, розрядності n і частоти Fd надходження вхідних даних, так і від кількості k каналів та їх розрядності nk. Такий час визначається за формулою:

Т   = Nn

Fdknk

Для забезпечення опрацювання потоків даних у реальному часі за допомогою нейро-комп'ютерних систем їх продуктивність повинна бути:

П >-,

де Я - складність алгоритмів розв'язання задач; в - коефіцієнт врахування особливостей засобів реалізації алгоритму.

Тому актуальною проблемою є розроблення технології нейрокомп'ютингу в реальному часі, яка використовує сучасні НВІС-технології, просторово-часове розпаралелювання та узгодження інтенсивності надходження потоків даних з обчислювальною інтенсивністю системи.

Аналіз останніх досліджень та публікацій

Аналіз існуючих досліджень у галузі створення нейрокомп'ютерних систем реального часу [1-13] показує, що вони мають такі недоліки:

• опрацювання в режимі реального часу інтенсивних потоків даних вимагає великих затрат обладнання для створення нейрокомп'ютерних систем;

• не враховуються вимоги конкретних застосувань щодо габаритів і споживаної потужності;

• велика вартість і час, які необхідні для розробки нейрокомп' ютерних систем реального часу;

• алгоритми функціонування та структури компонентів нейрокомп'ютерних систем не орієнтовані на НВІС-реалізацію;

• неузгодженість інтенсивності надходження даних з обчислювальною здатністю компо­нентів нейрокомп'ютерних систем реального часу не забезпечує досягнення високої ефективності використання обладнання.

Результати аналізу свідчать, що для забезпечення високої продуктивності обробки даних у нейрокомп' ютерних системах реального часу необхідно використовувати спеціалізацію, конвеєри­зацію та просторовий паралелізм. Для орієнтації архітектури нейрокомп'ютерної системи на НВІС-реалізацію необхідно, щоб вона була однорідною та мала локальні зв'язки між елементами системи.

Завдання і мета дослідження

Технологія нейрокомп'ютингу в реальному часі вимагає розпаралелювання і конвеєризації процесів обчислень, широкого використання сучасної елементної бази, розроблення компонентів нейрокомп' ютерних систем реального часу, які просто адаптуються до вимог конкретних застосувань. Компоненти нейрокомп'ютерних систем реального часу повинні мати високу ефектив­ність використання обладнання, якої досягають розробленням узгоджено-паралельних алгоритмів функціонування та методів синтезу та просторово-часового перетворення їх на паралельні структури. Технологія нерокомп'ютингу в реальному часі повинна ґрунтуватися на інтегрованому підході, який охоплює сучасну елементну базу, методи та алгоритми реалізації базових операцій нейроалгоритмів, архітектури компонентів і систем, враховувати вимоги конкретних застосувань і інтенсивності надходження даних.

Мета дослідження полягає у виборі принципів, засобів реалізації нейрокомп'ютерних систем реального часу, визначенні шляхів підвищення ефективності використання обладнання, розроб­ленні методу синтезу та базових структур нейрокомп'ютерних систем.

Виклад основного матеріалу

Аналіз, вибір засобів і варіантів реалізації нейроалгоритмів. Особливістю розвитку нейрокомп' ютерних систем є вдосконалення процесорної компоненти у напрямку збільшення її гнучкості (адаптивності). Ефективність комп'ютерної реалізації нейроалгоритмів безпосередньо пов'язана з вибором засобів реалізації: програмних, мікропрограмних або апаратних [7,13].

Програмна реалізація передбачає використання універсальних і функціонально-орієнтованих мікропроцесорів для синтезу нейрокомп'ютерних систем. При програмній реалізації нейроалго-ритмів обчислювальні процеси переважно розгортаються в часі з великим об' ємом пересилання інформації між оперативною пам' яттю і операційними пристроями. Програмні засоби є доступнимидля програміста, перед яким виникає задача мінімізації об'єму програм і часу їх реалізації за заданої точності обчислень. Вказані засоби характеризуються низькою швидкодією і гнучкістю з погляду можливості модифікації та заміни алгоритмів.

Головною особливістю мікропрограмних засобів є регулярна структура, до складу, якої входить пам'ять мікропрограм реалізації нейроалгоритмів. Мікропрограмна реалізація обчислень передбачає їхнє розгортання як в часі, так і в просторі. Під час мікропрограмування є доступ до системи мікропрограм процесора, що забезпечується застосуванням постійної пам'яті, програмо­ваних логічних матриць, а також оперативних запам' ятовувальних пристроїв, які використовують як пам' ять мікропрограм. Прикладом нейрокомп' ютерної системи з мікропрограмною реалізацією нейроалгоритмів є комп'ютерні системи на основі однорідних обчислювальних середовищ (ООС). Процесор на базі ООС - це двовимірна регулярна матриця процесорних елементів (ПЕ), кожен з яких фізично зв'язаний входом-виходом з чотирма сусідами: згори, знизу, зліва та справа [2]. Кожний ПЕ може виконувати набір бітових операцій перетворення інформації з вхідних каналів на вихідні. Процесор на базі ООС є універсальною системою, тобто в ньому можливо реалізувати довільну обчислювальну функцію. Бітовий рівень ПЕ та повна система комутації дають змогу розпаралелювати обчислення на найнижчому бітовому рівні. Це є значною перевагою мікропрограмної реалізації нейроалгоритмів. Реалізації повною мірою потенційних можливостей мікропрограмних засобів можна досягти лише при глибокому вивченні як задачі, яка розв' язується, так і внутрішньої мови процесора. Мікропрограмні засоби реалізації нероалгоритмів порівняно з програмними є більш швидкодіючими.

Успіхи у галузі інтегральної технології дають змогу все більше перекладати реалізацію нероалгоритмів на апаратні засоби, які розгортають обчислення не тільки у часі, а і в просторі. Такі обчислення характеризуються введенням додаткового обладнання і відсутністю проміжних пересилок інформації в процесі обчислення, а також спрощенням функції місцевого управління. В основу структурної організації апаратних засобів покладено принцип адекватного апаратного відображення графів алгоритмів функціонування штучних нейронних мереж (ШНМ) на процесорні елементи, які реалізують функції нейронів та з'єднані між собою відповідно з графом [7].

Потрібно зазначити, що всі види реалізації нейроалгоритмів у безпосередньому вигляді зустрічаються доволі рідко. На практиці у більшості випадків для реалізації алгоритмів функціонування ШНМ використовуються комбіновані підходи з перевагою одного з перерахованих засобів. Переважання того чи іншого засобу визначається вимогами, які ставляться до ШНМ за швидкодією, габаритами, потужністю споживання та ціною.

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

• на основі універсальних і функціонально-орієнтованих мікропроцесорів шляхом розроб­лення спеціалізованого програмного забезпечення;

• на основі універсального обчислювального ядра, доповненого базовими апаратно-програм­ними компонентами, які реалізують часомісткі алгоритми функціонування ШНМ;

• у вигляді спеціалізованої алгоритмічної системи, архітектура та організація обчислюваль­ного процесу в якій відображає структуру алгоритму функціонування ШНМ.

Перший варіант є доступним для широкого кола користувачів. Істотною його перевагою є можливість використання раніше розроблених програм. Його недоліками є невисока швидкодія, функціональна і структурна надлишковість комп' ютерних засобів.

Достатньо ефективним шляхом покращання продуктивності нейрокомп'ютерних систем вважають перехід від програмних емуляторів до апаратних реалізацій, які передбачають декілька різних рівнів реалізації так званих нейрокомп' ютерів - від створення плат розширення для прискорення виконання базових операцій (другий варіант) і аж до розроблення повністю спеціа­лізованої елементної бази, що забезпечує побудову пристроїв у нейромережному елементному базисі (третій варіант).

Другий варіант є перспективним, оскільки він передбачає поєднання універсальних і спеціальних засобів. Таке поєднання забезпечує високу ефективність використання обладнання пристворенні систем для опрацювання у реальному часі потоків даних за алгоритмами, які є нерегулярними з великою кількістю логічних операцій. При цьому розроблення нейрокомп' ю-терних систем із заданими технічними параметрами зводиться до доповнення обчислювального ядра додатковими апаратно-програмними компонентами.

Третій варіант орієнтований на обробку у реальному часі інтенсивних потоків даних. При цьому високої ефективності використання обладнання досягають узгодженням обчислювальної здатності апаратних засобів з інтенсивністю надходження потоків даних. Використання для побудови нейрокомп'ютерних систем обчислювальних полів на основі програмованих логічних інтегральних схем (ПЛІС) з динамічним репрограмуванням відкриває новий етап створення реконфігурованих нейрокомп'ютерних систем (РНС) Особливістю РНС є архітектурна гнучкість, яка у рівному степені стосується як апаратних (hardware), так і програмних (software) засобів. У РНС структура може динамічно змінюватися як при підготовці до розв' язання задачі, так і в ході обчислювального процесу. Використання принципу реконфігурованості при побудові нейро-комп' ютерних систем забезпечує високу живучість і нарощування функцій. Застосовуючи такий принцип, можна простим перепрограмуванням структури системи налаштувати її на ефективну реалізацію необхідного нейроалгоритму, що визначає його універсальність.

Особливості апаратної реалізації ШНМ. Розглянемо деякі особливості і обмеження щодо апаратної реалізації однієї з найпоширеніших і апробованих на практиці нейромережних структур -багатошарових перцептронів. Навчають подібні ШНМ, враховуючи напрацьовані модифікації методів, на основі ітеративних алгоритмів багатокритеріальної оптимізації, шляхом поширення вихідних похибок навчання на кожному кроці на вхід перцептрона. Принагідно зауважимо, що сама процедура навчання є по суті завершальним етапом підготовки мережі до виконання своїх функцій - вибір параметрів складності структури, стратегії навчання та тестування може займати надзвичайно багато часу навіть при прискореному виконанні алгоритму. Навчання також може виявитися ненадійним, зупинятися через ефект "паралічу мережі", а принципова відсутність повторюваності результатів значно ускладнює процес налагодження ШНМ. Однак, згадаємо, що в основі методу навчання шляхом зворотного поширення похибок є спосіб прискореного обчислення компонентів градієнта. Для цього функція похибки представляється у вигляді складної функції, для якої послідовно розраховуються часткові похідні. Основними операціями на кожному кроці алгоритму є знаходження комбінованих входів нейронних елементів (НЕ) (скалярний добуток багатокомпонентних векторів), обчислення нелінійних функцій (функції активації і їх похідні) і багаточленні операції підсумовування парних добутків [13]. Отже, виявляється, що алгоритми функціонування нейрокомп'ютерної системи є достатньо складними, містять значну кількість різнотипних операцій.

Оскільки для забезпечення достатньої точності необхідно проводити масштабування, що є проблематичним, в апаратних рішеннях передбачається використання багаторозрядної сітки (наприклад, 64 біти) та арифметики з плаваючою комою. Окрім того, сам алгоритм модифікації вагових коефіцієнтів є достатньо нерегулярним, зокрема процедури прямого і зворотного проходження сигналів суттєво відрізняються. Завдяки цьому до складу нейрокомп' ютерної системи вводять не менше двох процесорів з різними функціями - як для здійснення обчислень, так і для керування алгоритмом. У результаті виявляється, що ефект від спеціалізованої реалізації нейрокомп' ютерної системи помітно знижується, а саме її створення є надто складним і дорогим процесом.

Розглянемо альтернативний варіант побудови нейрокомп'ютерної системи, за структурою і принципами застосування близької до багатошарових перцептронів, що ґрунтується на новій концепції опрацювання даних, яка має загалом значно ширшу основу застосування, окрім варіанта створення нейромереж, зокрема в області нечіткої логіки, компресії і оброблення сигналів, синтезу формул - математичних моделей тощо. Нейромережний варіант геометричних перетворень (ГП), відомий під назвою функціонал на множині табличних функцій, істотно підвищує продуктивність як для програмного, так і апаратного варіантів реалізації нейроподібних структур (НС).

Особливістю НС на базі ГП є однотипність алгоритмів навчання та функціонування. Топологія алгоритму навчання НС на базі ГП представляється в вигляді деякого графу, вершини якого відповідають основним операціям алгоритму - скалярному добутку вектора вхідних сигналівна вектор вагових коефіцієнтів та нелінійному перетворенню від скалярного добутку. Тобто вершини графу можна розглядати як відповідники нейронних елементів прихованого шару ШНМ, а моделі НС на базі ГП описуються структурами нейроподібного типу. Подібне трактування є продуктивним як при налагодженні моделей НС на базі ГП, так і при побудові архітектури відповідних систем на основі НС на базі ГП для розв'язання багатьох задач, зокрема, прогнозування часових послідовностей, виділення головних компонент, ущільнення даних і т.п. з використанням нейромережних підходів до реалізації.

Одночасно зауважимо принципову відмінність НС на базі ГП від нейромережних засобів -якщо ШНМ навчання здійснюється (як правило, ітераційно) з метою встановлення параметрів для обраної заздалегідь структури, то в НС на базі ГП структура моделі формується за результатами навчання відповідно до заданих його характеристик. Тобто в нейромережному тлумаченні НС на базі ГП являють собою лише графи відповідних алгоритмів, які, однак, містять внутрішній просторовий і часовий паралелізм і можуть бути реалізовані також апаратно. Тобто, концепція НС на базі ГП забезпечує реалізацію принципів функціонального, а не структурного моделювання, оскільки структура моделі НС на базі ГП визначається структурою табличних даних.

НС на базі ГП покликані усунути або зменшити негативні властивості існуючих засобів інформаційного моделювання: регресійних моделей, машин опорних векторів, ШНМ, індуктивних моделей, контролерів нечіткої логіки, статистичних процедур.

Базовими властивостями НС на базі ГП є такі: єдина методологічна основа побудови архітектури для різних завдань та предметних областей застосування; швидке неітераційне навчання за наперед задану кількість кроків обчислень, що відкриває можливість розв'язування завдань великих розмірностей; повна повторюваність результатів навчання; можливість отримання задовільних розв'язків для тренувальних вибірок зменшеного об'єму; можливість розв'язування задач в автоматичному режимі; розширення кібернетичного принципу "чорної скриньки" на користь "сірої скриньки", оскільки НС на базі ГП володіють додатковими можливостями аналізу внутрішньої структури даних; висока точність та покращені генералізуючі властивості.

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

Проаналізуємо основні співвідношення для перетворення даних, що закладені в основу навчання та застосування (за змістом майже повторюються) НС на базі ГП. Реалізація вказаних та ряду інших функцій покладається на НС на базі ГП, яка попередньо має бути навченою. Для методу ГП навчання забезпечується шляхом послідовних трансформацій тренувальної матриці МТШ, що являє собою підматрицю всіх реалізацій, де п - номер рядка-реалізації матриці, і - номер відповідної ознаки [6,8]. Рядки останньої матриці повинні достатньо повно відображати можливий діапазон реалізацій об' єкта, описувати основні риси його поведінки. Представляємо будь-який елемент матриці реалізацій як обчислене значення функції двох змінних Б(пі). Метою навчання є представлення функції двох змінних Б(пі) комбінацією функцій однієї змінної і(п), ф(і), які і є шуканими аргументними функціями нейромережі.

Розглядаємо випадок, коли елементи стовпців матриці МТпі, що відповідають вихідним ознакам, є відомими. Це характерне для режиму навчання і завжди - для автоасоціативного варіанта нейромереж. Для представлення функції Б(пі) кінцевою сумою добутків функцій однієї змінної послідовно виконуємо ряд перетворень:

1) приймаємо ]=0;

2) обираємо базовий рядок МТ(і)пЬі серед рядків для МТ(і)пі; це може бути, наприклад, рядок, сума квадратів елементів якого є максимальною; можливий ітераційний варіант формування базового рядка на основі заданого критерію оптимальності;

3) від кожного з рядків тренувальної матриці віднімаємо базовий рядок, помножений на коефі­цієнт, величина якого визначається з умови мінімуму різниці в сенсі критерію найменших квадратів

МТіт = мти) _пи).мтіл, (і)

ДЄ

j - номер кроку реалізацій; п=1,...,птах; іх - число вхідних ознак; іу - число вихідних ознак; птах -число рядків тренувальної матриці.

Якщо j<ix+iy-1, збільшуємо j на одиницю, перехід на пункт 2, інакше - кінець процедури розкладу.

Перетворення за формулами (1) та (2) відповідають процедурі ортогоналізації Грама-Шмітта , отже для j=ix+iy-1

а 7+1)

тобто отримуємо нульову матрицю. Отже,

мт[0) _ X Х1(*л ■ мт^, (3)

де п=1,_,птах, і=1,_,іх+іу. Співвідношення (3) можна подати у такому вигляді:

+;у -1

Е«і _ X -ї;(п) ^7(;), (4)

7_о

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

Проаналізуємо робочі формули (1)-(4), покладені в основу навчання і застосування НП структури. Можна зробити такі висновки:

1. Базовою операцією, що займає найбільше ресурсів, є векторна операція скалярного добутка. Додатково використовуються нелінійні операції обчислення степеневого полінома, що містить лише декілька членів. Використовуючи схему Горнера для обчислень, приходимо до операції множення з накопиченням, яка потребує у цьому випадку менше ресурсів як скалярний добуток для багатокомпонентних векторів.

2. Враховуючи особливості алгоритму, де операнди представляються в наперед заданому діапазоні чисел від 1 до -1, а при наступних перетвореннях зменшуються за абсолютною величиною до нуля, доходимо висновку про можливість представлення даних в короткій розрядній сітці (до 16 бітів) з фіксованою комою. Останнє відкриває додаткові можливості в плані використання прискорених алгоритмів методів виконання арифметичних операцій.

Компонентно-ієрархічний підхід до розроблення нейрокомп'ютерних систем реального часу. Розробляти нейрокомп'ютерні системи реального часу з високою ефективністю використання обладнання будемо на основі компонентно-ієрархічного підходу, який передбачає поділ процесу розроблення на ієрархічні рівні та види забезпечення (алгоритмічне, апаратне та програмне). Для реалізації такого підходу використовується метод декомпозиції, який передбачає розбиття засобів на окремі компоненти, з яких у міру необхідності комплектують конкретну нейрокомп' ютерну систему реального часу. На кожному рівні ієрархії розв' язуються задачі відповідної складності, які характеризуються як одиницями інформації, так і алгоритмами обробки.

За складністю обробки компоненти нейрокомп'ютерних систем можна розділити на чотири ієрархічні рівні. Збільшенню номера рівня ієрархії відповідає збільшення деталізації алгоритмічних, апаратних і програмних засобів. При цьому на вищих рівнях ієрархії одиниці інформації, алго­ритми, програмні та апаратні засоби являють собою впорядковані сукупності одиниць інформації та композиції алгоритмів, програмних і апаратних засобів нижчих рівнів ієрархії (табл. 1). Мето­дологія послідовної декомпозиції, яка використовується для розроблення систем обробки сигналів, відображає процес розроблення "згори донизу".

Таблиця 1

Рівні та види розробок нейрокомп'ютерної системи реального часу

Ієрархічний рівень

Види забезпечення та виконувані розробки

 

Алгоритмічне

Апаратне

Програмне

1

Алгоритми функціону­вання ШНМ

Структура апаратних засобів нейрокомпютерної системи

Структура програмних засобів нейрокомпютерної системи

2

Алгоритми функціону­вання макрокомпонентів ШНМ (шари ШНМ)

Структури нейропроцесорів, паралельної пам'яті, контролерів пристроїв обміну

Програми реалізації макрокомпо­нентів ШНМ

з

Алгоритми реалізації компонентів ШНМ

Структури нейронних елементів, пристроїв для реалізації макро-операцій нейроалгоритмів (сум парних добутків)

Програми реалізацій нейронних елементів, макрооперацій нейроал-горитмів

4

Алгоритми обчислення сум парних добутків, множення

Структури операційних пристроїв групового підсумовування, мно­ження і нелінійного перетвореня

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

На першому ієрархічному рівні розроблення алгоритми реалізації ШНМ подаються у вигляді функціонального графу F=^,F), де Ф={ФЬФ2,...,ФП} - множина функціональних операторів, Г-закон відображення зв'язків між операторами [5].

Другий рівень ієрархії становлять макрокомпоненти ШНМ. До таких макрокомпонентів належать нейропроцесори, які реалізують шари ШНМ, паралельна пам'ять, контролери пристроїв обміну [2].

Третій ієрархічний рівень становлять компоненти, які реалізують базові макрооперації нейроалгоритмів (сум парних добутків) і нейронні елементи. Для реалізації елементів третього рівня розробляються паралельні алгоритми, НВІС-структури та програми.

Страницы:
1  2 


Похожие статьи

В Грицик - Обробка даних в проблемно-орієнтованих системах

В Грицик - Розпаралелювання в системах обробки даних задач комп'ютерного зору

В Грицик - Технологія нейрокомп' ютингу реального часу