Автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу

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

Full description

Saved in:
Bibliographic Details
Published in:Проблемы управления и информатики
Date:2022
Main Authors: Дорошенко, А.Ю., Шимкович, В.М., Мамедов, Т.А., Яценко, О.А.
Format: Article
Language:Ukrainian
Published: Інститут кібернетики ім. В.М. Глушкова НАН України 2022
Subjects:
Online Access:https://nasplib.isofts.kiev.ua/handle/123456789/210912
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Cite this:Автоматизоване проєктування штучного нейрона для програмова-них логічних інтегральних схем на основі алгебро-алгоритмічного підходу / А.Ю. Дорошенко, В.М. Шимкович, Т.А. Мамедов, О.А. Яценко // Проблеми керування та інформатики. — 2022. — № 5. — С. 61-72. — Бібліогр.: 17 назв. — укр.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1860251221437186048
author Дорошенко, А.Ю.
Шимкович, В.М.
Мамедов, Т.А.
Яценко, О.А.
author_facet Дорошенко, А.Ю.
Шимкович, В.М.
Мамедов, Т.А.
Яценко, О.А.
citation_txt Автоматизоване проєктування штучного нейрона для програмова-них логічних інтегральних схем на основі алгебро-алгоритмічного підходу / А.Ю. Дорошенко, В.М. Шимкович, Т.А. Мамедов, О.А. Яценко // Проблеми керування та інформатики. — 2022. — № 5. — С. 61-72. — Бібліогр.: 17 назв. — укр.
collection DSpace DC
container_title Проблемы управления и информатики
description Нейромережеві системи керування є високотехнологічним напрямком теорії керування та відносяться до класу нелінійних динамічних систем. Висока швидкодія за рахунок розпаралелювання вхідної інформації в поєднанні зі здатністю до навчання нейронних мереж робить цю технологію вельми привабливою для створення пристроїв керування в автоматичних системах. Забезпечення швидкодії мереж у реальному часі здійснюється шляхом їх реалізації на програмованих логічних інтегральних схемах (ПЛІС). Одним із прикладів апаратної реалізації нейронних мереж є проєктування штучного нейрона та його нелінійних функцій активації. Технологія розробки додатків для ПЛІС ґрунтується на поданні алгоритму мовою опису апаратури, наприклад VHDL, і автоматичному перекладі цього опису в специфікацію на рівні логічних таблиць та інших функціональних компонентів інтегральних схем. Програмування мовою VHDL досить складне, тому постає питання про розробку спеціальних засобів автоматизації, які дозволили б ефективно генерувати високопродуктивний програмний код. У статті запропоновано засоби автоматизованого проєктування та генерації програм для ПЛІС, що ґрунтуються на алгебрі алгоритмів. Створені засоби застосовано для проєктування штучного нейрона. Розроблено метод конструювання штучного нейрона з сигмоїдальною функцією активації на ПЛІС, який відрізняється від аналогічних підходів тим, що коефіцієнти кусково-лінійної апроксимації функції активації зберігаються в пам’яті лише для додатних або лише для від’ємних значень аргументів. Це дозволило оптимізувати кількість використовуваних обчислювальних ресурсів і підвищити продуктивність нейронної мережі. Даний підхід застосовано для розробки системи з нейромережевим контролером для балансування кульки на платформі, реалізованим на ПЛІС. Neural network control systems are a high-tech area of control theory and belong to the class of nonlinear dynamic systems. High performance, achieved by parallel processing of input information, combined with the learning ability of neural networks, makes this technology highly attractive for creating control devices in automatic systems. Ensuring real-time network performance is achieved by implementing them on programmable logic integrated circuits (PLICs). One example of hardware implementation of neural networks is the design of an artificial neuron and its nonlinear activation functions. The technology for developing applications for PLICs is based on representing an algorithm in hardware description languages, such as VHDL, and automatically translating this description into specifications at the level of logic tables and other functional components of integrated circuits. Programming in VHDL is quite complex, which raises the need for developing specialized automation tools that would efficiently generate high-performance software code. The article proposes tools for automated design and code generation for PLICs based on algorithmic algebra. These tools were applied to the design of an artificial neuron. A method for constructing an artificial neuron with a sigmoid activation function on PLICs was developed, which differs from similar approaches by storing the coefficients of piecewise-linear approximations of the activation function in memory only for positive or only for negative argument values. This approach optimized the number of computational resources used and increased the neural network's performance. This method was applied to develop a system with a neural network controller for balancing a ball on a platform, implemented on a PLIC.
first_indexed 2026-03-21T06:16:51Z
format Article
fulltext © А.Ю. ДОРОШЕНКО, В.М. ШИМКОВИЧ, Т.А. МАМЕДОВ, О.А. ЯЦЕНКО, 2022 Міжнародний науково-технічний журнал Проблеми керування та інформатики, 2022, № 5 61 РОБОТИ ТА СИСТЕМИ ШТУЧНОГО ІНТЕЛЕКТУ УДК 004.4’24, 004.3, 004.89, 004.942 А.Ю. Дорошенко, В.М. Шимкович, Т.А. Мамедов, О.А. Яценко АВТОМАТИЗОВАНЕ ПРОЄКТУВАННЯ ШТУЧНОГО НЕЙРОНА ДЛЯ ПРОГРАМОВАНИХ ЛОГІЧНИХ ІНТЕГРАЛЬНИХ СХЕМ НА ОСНОВІ АЛГЕБРО-АЛГОРИТМІЧНОГО ПІДХОДУ Дорошенко Анатолій Юхимович Інститут програмних систем НАН України, м. Київ, doroshenkoanatoliy2@gmail.com Шимкович Володимир Миколайович Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», shymkovych.volodymyr@gmail.com Мамедов Турал Алірзайович Інститут програмних систем НАН України, м. Київ, tural.mamedov1@gmail.com Яценко Олена Анатоліївна Інститут програмних систем НАН України, м. Київ, oayat@ukr.net Нейромережеві системи керування є високотехнологічним напрямком теорії ке- рування та відносяться до класу нелінійних динамічних систем. Висока швид- кодія за рахунок розпаралелювання вхідної інформації в поєднанні зі здатністю до навчання нейронних мереж робить цю технологію вельми привабливою для створення пристроїв керування в автоматичних системах. Забезпечення швид- кодії мереж у реальному часі здійснюється шляхом їх реалізації на програмова- них логічних інтегральних схемах (ПЛІС). Одним із прикладів апаратної реалі- зації нейронних мереж є проєктування штучного нейрона та його нелінійних функцій активації. Технологія розробки додатків для ПЛІС ґрунтується на по- данні алгоритму мовою опису апаратури, наприклад VHDL, і автоматичному перекладі цього опису в специфікацію на рівні логічних таблиць та інших фун- кціональних компонентів інтегральних схем. Програмування мовою VHDL до- сить складне, тому постає питання про розробку спеціальних засобів автомати- зації, які дозволили б ефективно генерувати високопродуктивний програмний код. У статті запропоновано засоби автоматизованого проєктування та генерації програм для ПЛІС, що ґрунтуються на алгебрі алгоритмів. Створені засоби застосовано для проєктування штучного нейрона. Розроблено метод конс- труювання штучного нейрона з сигмоїдальною функцією активації на ПЛІС, який відрізняється від аналогічних підходів тим, що коефіцієнти кусково- лінійної апроксимації функції активації зберігаються в пам’яті лише для mailto:doroshenkoanatoliy2@gmail.com 62 ISSN 2786-6491 додатних або лише для від’ємних значень аргументів. Це дозволило оптимізу- вати кількість використовуваних обчислювальних ресурсів і підвищити продук- тивність нейронної мережі. Даний підхід застосовано для розробки системи з нейромережевим контролером для балансування кульки на платформі, реалі- зованим на ПЛІС. Ключові слова: автоматизоване проєктування, алгебра алгоритмів, апрок- симаційні обчислення, генерація програм, нейронна мережа, програмовані логічні інтегральні схеми, система керування. Вступ Керування сучасними технічними системами вимагає розробки нових мето- дів керування, оскільки модифікація та вдосконалення традиційних підходів не завжди забезпечує виконання жорстких вимог до показників якості. Нейромере- жеві системи керування є високотехнологічним напрямком теорії керування та ві- дносяться до класу нелінійних динамічних систем. Висока швидкодія за рахунок розпаралелювання вхідної інформації в поєднанні зі здатністю до навчання ней- ронних мереж робить цю технологію вельми привабливою для створення при- строїв керування в автоматичних системах. Забезпечення швидкодії мереж в реа- льному часі здійснюється шляхом їх реалізації на програмованих логічних інтег- ральних схемах (ПЛІС). Одним із прикладів апаратної реалізації нейронних мереж є реалізація штучного нейрона та його нелінійних функцій активації. Існуючі підходи до реалізації нелінійних функцій використовують різні методи апроксимації [1–3], такі як ряд Тейлора, табличний метод, кусково-лінійна апроксимація тощо. Ряди Тейлора потребують численних операцій множення і тому не є оптима- льними для реалізації на ПЛІС, оскільки блок множення займає багато ресур- сів. Тому найкращою для реалізації нелінійних функцій активації є кусково- лінійна апроксимація. Технологія розробки додатків для ПЛІС грунтується на поданні алгоритму мовою опису апаратури, наприклад VHDL [4], і автоматичному перекладі цього опису в специфікацію на рівні логічних таблиць та інших функціональних компо- нентів ПЛІС. Елементарні функції в ПЛІС зазвичай реалізуються як окремі проєк- ти або модулі, що містять інформацію про швидкість передачі даних і внутрішню структуру системи. Програмування мовою VHDL досить складне, тому постає питання про роз- робку спеціальних програмних засобів автоматизації, які дозволили б ефективно генерувати високопродуктивний код для програмованих логічних інтегральних схем. У даній статті застосовано алгебро-алгоритмічний підхід для автоматизова- ного проєктування апаратної реалізації нейронної мережі на ПЛІС. Програми про- єктуються у вигляді високорівневих специфікацій у системах алгоритмічних ал- гебр Глушкова [5], поданих у природно-лінгвістичній формі. Підхід застосовано для розробки нейроконтролера, реалізованого на ПЛІС для системи балансування кульки на платформі. Підхід, описаний в даній статті, пов’язаний, зокрема, з роботами, присвя- ченими автоматизованій генерації програм мовою VHDL [6–9]. У [6] запропо- новано бібліотеку мовою Java для автоматизованої обробки та генерації коду VHDL. У [7] описано методологію та інструментарій генерації програм для ПЛІС на основі специфікацій Xilinx System Generator. В [8] запропоновано пі- дхід до генерації VHDL програм із використанням кінцевого автомата Мура та графу потоку даних. В роботі [9] представлено генератор коду мовою VHDL на основі предметно-орієнтованої мови для мережевих пристроїв. Основна від- мінність даного підходу полягає у використанні природно-лінгвістичного по- дання схем в системах алгоритмічних алгебр для автоматизованого проєкту- вання програм для ПЛІС. Міжнародний науково-технічний журнал Проблеми керування та інформатики, 2022, № 5 63 Подібні до нашого підходу реалізації штучних нейронів розглядаються в роботах [10, 11]. У [10] представлено апаратну реалізацію багатовходового нейрона з нелінійною функцією активації із використанням ПЛІС та VHDL для опису архітектури системи. Відмінністю даного методу є те, що коефіціє- нти кусково-лінійної апроксимації функції активації зберігаються в пам’яті лише для додатних або лише для від’ємних значень аргументів, що дозволяє оптимізувати кількість використовуваних обчислювальних ресурсів і підви- щити продуктивність нейронної мережі. У [11] запропоновано реалізацію штучної нейронної мережі на ПЛІС з використанням мови Verilog. На відміну від нашої роботи, реалізація функції лінійної активації повільніша та викорис- товує більше ресурсів ПЛІС. Контролери на основі нейронних мереж для задачі балансування кульки на платформі розглянуті в [12–14]. Зокрема, в [12] запропоновано контролер зі зво- ротним зв’язком на основі нейронної мережі для компенсації помилок, спричине- них використанням апроксимованої динамічної моделі при проєктуванні контро- лера. Контролер складається з двох паралельно працюючих субрегуляторів: базо- вого лінійного контролера та ПІД-компенсатора на основі нейронної мережі. У [13, 14] для навчання нейронних мереж, що використовуються в контролері, за- стосовано метод оптимізації роїв частинок. 1. Алгебро-алгоритмічні засоби проєктування програм Для проєктування програм для ПЛІС у даній роботі використовуються висо- корівневі схеми, подані в системах алгоритмічних алгебр (САА) Глушкова [5]. Основними об’єктами мови САА є абстракції предикатів (умов) і операторів, що поділяються на базисні та складені. Базисні предикати та оператори вважаються первинними, атомарними, неподільними конструкціями в САА-схемах. Складені предикати та оператори будуються з базисних за допомогою логічних та оператор- них операцій САА, зокрема:  диз’юнкції: ‘condition 1’ or ‘condition 2’;  кон’юнкції: ‘condition 1’ and ‘condition 2’;  заперечення: not(‘condition’);  послідовного виконання операторів: «operator 1»; «operator 2»;  розгалуження: IF ‘condition’ THEN «operator 1» ELSE «operator 2»;  циклу: WHILE ‘condition’ «operator» END OF LOOP. Ідентифікатори умов вказуються в одинарних лапках, а оператори — в под- війних. Суперпозиція операцій та базисних елементів САА називається САА-схе- мою. Основною відмінністю САА від інших процедурних мов програмування є можливість проєктувати програми як в алгебраїчній, так і в природно- лінгвістичній формах, а також виконувати формальні перетворення програм. Конструкції САА для проєктування програм для ПЛІС детально розгляну- ті в [15]. Автоматизоване конструювання САА-схем та генерацію відповідних Послі- довних і паралельних програм цільовими мовами програмування забезпечує Інте- грований інструментарій проєктування та синтезу програм (Integrated toolkit for Design and Synthesis of programs — IDS) [5, 15]. Процес розробки програми в да- ній системі зображено на рис. 1. Основна ідея інструментарію полягає в роз- робці схем зверху вниз шляхом вибору операцій САА зі списку та додавання їх до дерева конструювання схеми. Описи конструкцій зберігаються в базі даних ін- 64 ISSN 2786-6491 струментарію. На основі розробленого дерева система автоматично генерує програмний код однією з цільових мов програмування (C++, C#, Java, VHDL). Рис. 1 Наведена нижче САА-схема — приклад проєктування логічної схеми для бу- левого виразу ( ) ( )y a b a b c     (рис. 2). Вона складається з опису входів і виходів проєкту (entity) та його функціонування (architecture) і є основою для ав- томатичної генерації коду мовою VHDL. SCHEME BOOL_EXPR ENTITY bool_expr IS PORT ( «Input bit signals (a, b, c)»; «Output bit signal (y)»); END OF ENTITY; ARCHITECTURE arch1 of bool_expr IS (y <= (not(a and b)) and (not(a or b)) and c); END OF ARCHITECTURE END OF SCHEME BOOL_EXPR Рис. 2 У даній роботі інструментарій IDS застосовано для проєктування схеми апа- ратної реалізації нейрона на ПЛІС. 2. Проєктування штучного нейрона для ПЛІС У даному розділі розглядається модель нейрона та проєктування його функ- цій активації на ПЛІС. Проєктування нейрона виконано з використанням САА-схем з подальшою генерацією коду мовою VHDL. Модель нейрона працює таким чином. Вхідні сигнали kia надходять на блоки, що реалізують функцію синапсів, кожен з яких характеризується своїм Міжнародний науково-технічний журнал Проблеми керування та інформатики, 2022, № 5 65 ваговим коефіцієнтом (синаптичною вагою). Зважені вхідні сигнали подаються на лінійний суматор, після чого результат підсумовування потрапляє в блок функції активації (.)f і після відповідної обробки подається на вихід як сигнал kq . Як правило, функція активації обмежує вихідний сигнал нейрона в діапазоні [0,1] або [ ]1,1 . Модель нейрона також містить початкове зміщення kb , яке додається до вхідного сигналу блоку функції активації. Функціональна схема моделі штуч- ного нейрона безперервного типу наведена на рис. 3. З н ач ен н я о ц ін к а к о еф іц іє н та а 1 ,1 + 1 0,1 0 – 0,1 – 0,2 – 0,3 – 0,4 – 1 Рис. 3 Математично модель нейрона описується наступними залежностями: 1 ( ) , n k k ki ki k i q f S f w a b           де kq — вихідний сигнал k-го нейрона; (.)f — функція активації; kia — вхідні сигнали нейрона; kiw — синаптична вага; kb — зміщення k-го нейрона. Функція активації (.)f реалізує нелінійне перетворення, здійснюване нейро- ном. Найпоширенішим типом функції активації є сигмоїдальна функція. Такі фу- нкції є монотонно зростаючими, неперервними та диференційованими. Диферен- ційованість сигмоїдальних функцій — важлива властивість деяких методів на- вчання та аналізу. Вони також мають універсальні апроксимаційні властивості [1, 3]. Особливістю нейронів з такою функцією активації є те, що вони значно менше підсилюють сильні сигнали, ніж слабкі, оскільки області сильних сигналів відпо- відають пологим ділянкам характеристики. Це дозволяє запобігти насиченню від сильних сигналів. Сигмоїдальні функції описуються виразом ( , , , , ) , 1 Tk c f x k b T c k be    (1) де ,x ,k ,b ,T c — параметри; , ;k b R 0;b  , \{0}.T c R Якщо 0,k  1,c  1b  і 1T   , то вираз (1) набуде вигляду, що називаєть- ся «класичним» сигмоїдом: 1 1 1 ( , 0,1, 1,1) 0 . 1 1 1x x f x e e        (2) Активною областю визначення функції активації нейрона є область значень вхідних параметрів, де значення функції суттєво змінюються. Для сигмоїдальної функції інтервал [– 4; 4] використовується як активна область визначення. У цьому випадку функція приймає значення в інтервалі (0,018; 0,982), що стано- вить 96,4 % від усього діапазону значень. 66 ISSN 2786-6491 Пропонуємо наступний метод проєктування функцій активації нейрона на ПЛІС. Вхідними даними методу є функції, описані виразом (1), або ті, які можна записати з їх допомогою, а також точність, з якою має бути реалізована функція активації. На першому етапі досліджується функція активації щодо симетричності відносно осей. Розглянемо функцію (2) 1 1 1 1 ( ) 1 ( ) 1 1 1 , 11 1 1 1 11 x x x x x x x x x e e e f x f x e e e e e e                    Отримаємо 1 1 1 або 1 ( ) ( ). 1 1x x f x f x e e        (3) Функцію ( )f x можна розглядати лише для додатних аргументів. Для від’ємних значення можна знайти за формулою (3), що, у свою чергу, прис- корить обчислення функції та зменшить використовуваний ресурс ПЛІС. На другому етапі на кожному з інтервалів визначається кусково-лінійна функ- ція 1 1 2( ; ), ( ; ), ..., ( ; )nx x x x    окремою формулою 0 0 1 1 1 1 2 , , , , ( ) , .n n n k x b x x k x b x x x f x k x b x x                (4) На третьому етапі ( )f x обчислюється для попередньо розрахованого зна- чення .x Коефіцієнти k і b вибираються з пам’яті. Таким чином, на основі лінійних формул можна знайти апроксимацію фу- нкції сигмоїдального типу для будь-якого аргументу із заданою точністю. Роз- роблений метод побудови нелінійних функцій активації штучного нейрона на ПЛІС відрізняється від наведеного в [10] тим, що коефіцієнти кусково-лінійної апроксимації функції активації зберігаються в пам’яті лише для додатних або лише для від’ємних значень аргументів, що дозволяє оптимізувати кількість використовуваного обчислювального ресурсу та підвищити продуктивність нейронної мережі. Алгоритм реалізації штучного нейрона з класичною сигмоїдальною функці- єю складається з таких кроків. Крок 1. Встановлюються ваги синапсів нейрона. Кожному нейрону надається блок пам’яті, де зберігаються синаптичні ваги. Для встановлення ваг використовуються такі сигнали: • synaddr (synapse address) — вибір синапсу, вага якого буде читатися або за- писуватися за його номером у двійковому коді; • synsetw (synapse set weight) — значення ваги, яке буде записане в синапс; • synwren (synapse write enabled) — коли вхідний сигнал дорівнює 1, нейрон записує значення з synsetw у вибраний синапс, а коли сигнал дорівнює 0, нічого не відбувається. Міжнародний науково-технічний журнал Проблеми керування та інформатики, 2022, № 5 67 Ці змінні необхідні для навчання нейронів і нейронних мереж. Крок 2. Значення вхідного вектора подаються на входи штучного нейрона. Встановлюється змінна, яка дорівнює виходу суматора 1 , N i i i x w a    де ia — входи нейрона; iw — синаптичні ваги нейрона. Розрахунок виконується за допомогою чисел з фіксованою комою. Кожне чис- ло займає 16 біт (9 біт для цілої частини і 7 біт для дробової). Крок 3. Обчислюється модуль аргументу сигмоїдальної функції. Задається змінна .x x  Крок 4. Сигмоїдальна функція активації розбивається на лінійні частини, і визначаються коефіцієнти k та b лінійних рівнянь. Для цього використовується базова модель кусково-лінійної апроксимації із заданою кількістю лінійних сег- ментів [16]. Розбиття та похибка показані на рис. 4. Коефіцієнти лінійних рівнянь визначаються наступним чином: [0,234;0,500], якщо 0 1; [0,129; 0,605], якщо 1 2,5; , [0,234; 0,500] , якщо 2,5 4; [0,009; 0,946] , якщо 4. x x k b x x                Крок 5. Змінна f визначається за формулою .f k x b   Крок 6. Якщо 0x  , значення локальної змінної обчислюються за формулою 1 .f f  Крок 7. Значення вихідного сигналу нейрона встановлюється рівним значен- ню змінної .f З н ач ен н я о ц ін к а к о еф іц іє н та а 1 ,1 – 6 – 4 – 2 0 2 4 6 х 0,1 0 – 0,1 – 0,2 – 0,3 – 0,4 f (х) 1 0,5 y = 0,1285x + 0,3865 R 2 = 0,9779 y = 0,0092x + 0,9463 R 2 = 0,9563 y = 0,0383x + 0,8327 R 2 = 0,9614 y = 0,1285x + 0,6135 R 2 = 0,9779 y = 0,2338x + 0,5 R 2 = 0,9994 y = 0,0383x + 0,1673 R 2 = 0,9614 y = 0,0092x + 0,0537 R 2 = 0,9563 Рис. 4 На рис. 5 зображено класичну сигмоїдальну функцію (а) за формулою (2) та функцію, реалізовану на ПЛІС (b) на основі розробленого алгоритму. Реалізова- ний блок сигмоїдальної функції на ПЛІС відображає функцію з достатньою точні- стю для подальшої реалізації штучних нейронних мереж. Блок штучного нейрона з чотирма входами показаний на рис. 6. Він розроб- лений автоматизованим способом у формі САА-схеми з використанням інструмен- 68 ISSN 2786-6491 тарію IDS, описаного в розд. 1. Схема використана для автоматичної генерації коду VHDL. Приклад опису сутності (entity) створеного проєкту в САА наве- дено нижче. З н ач ен н я о ц ін к а к о еф іц іє н та а 1 ,1 6 – 4 – 2 0 2 4 6 a f (x) 0,1 0 – 0,1 – 0,2 – 0,3 – 0,4 1,0 0,8 0,6 0,4 0,2 0 x b Рис. 5 ENTITY neur4sigm IS PORT ( «Input logic vector signals (x1, x2, x3, x4) of range (15) down to (0)»; «Input logic vector signal (synaddr) of range (1) down to (0)»; «Input logic signal (synwren)»; «Input logic vector signal (synsetw) of range (15) down to (0)»; «Output logic vector signal (syngetw) of range (15) down to (0)»; «Output logic vector signal (y) of range (15) down to (0)» ) END OF ENTITY Рис. 6 3. Результати експериментів та практичне застосування запропонованого підходу Реалізація на ПЛІС штучного нейрона з чотирма входами та сигмоїдальною функцією активації з використанням 16-розрядних чисел із фіксованою комою за- йняла 672 LUTs (Look Up Tables — вентильні логічні матриці). Продуктивність (загальна затримка комбінаторної схеми) нейронного блоку 75,6 НС. Абсолютна похибка ± 0,005, а точність реалізації сигмоїдальної функції була наведена раніше в розд. 2 (див. рис. 4). Міжнародний науково-технічний журнал Проблеми керування та інформатики, 2022, № 5 69 У таблиці наведено порівняння результатів реалізації сигмоїдальної функції активації нейрона з найбільш подібними відомими аналогами [10, 11] на ПЛІС Xilinx Spartan 6 та Xilinx Spartan 3. Як видно, реалізація нейронної мережі на основі розроблених методу й алгоритму є швидшими і потребують менше ресу- рсів ПЛІС, максимальне відхилення також було зменшене. У даній роботі вико- ристовуються нелінійні сигмоїдальні функції на відміну від лінійних, викорис- таних у [10]. Таблиця Характеристика реалізації Стаття [10] Дана робота Стаття [11] Дана робота Серія ПЛІС Xilinx Spartan 6 Xilinx Spartan 3 Ресурс ПЛІС (LUTs) 108 60 336 75 Продуктивність, НС 22,12 17,5 120,1 30,2 Максимальне відхилення,  0,50 0,45 0,556 0,45 Запропонований підхід застосовано для розробки нейромережевого конт- ролера для системи балансування кульки на платформі в режимі реального ча- су з апаратно-програмною реалізацією на ПЛІС. Платформа регулює поло- ження кульки для приведення її в стан рівноваги шляхом нахилу по горизон- тальних осях ( x та y ) за допомогою двох серводвигунів. Положення кульки фіксується відеокамерою. Спрощене зображення фізичної моделі руху кульки по платформі наведене на рис. 7, де L — відстань від середини до краю плат- форми (0,35 м); r — відстань від центру кульки до кінця платформи; α — кут повороту платформи; d — довжина подовження серводвигуна (0,05 м); θ — кут його повороту. Рис. 7 Для керування рухом кульки за кутом нахилу розроблено нейромережеву систему керування з інверсною моделлю керованого об’єкта та зворотним зв’язком (рис. 8). Була обрана тришарова штучна нейронна мережа з двома нейронами у вхідному шарі, вісьмома нейронами у прихованому шарі та двома нейронами у вихідному шарі, оскільки ця топологія повторює рух кульки з найменшою похибкою. Початкове навчання нейронної мережі проводилось на даних, отриманих у [17] при моделюванні ПІД-регулятора. Результати моделювання, отримані на платформі з контролером нейронної мережі та традиційними ПІД-регуляторами, представлені на рис. 9 (a — положен- ня кульки r від часу; б — кута повороту  серводвигуна від часу, на платформі з нейроконтролером (n) та на платформі із звичайними ПІД-регуляторами (p) [17]). Як показано на графіках, нейроконтролер адаптується та усуває всі припущення та невизначеності в моделюванні та розрахунках, а також підлаштовується до змін 70 ISSN 2786-6491 в умовах його роботи, наприклад, при зміні параметрів кульки та до внесення в систему збурюючих впливів. У результаті кулька встановлюється в задану точку швидше і з меншим відхиленням. З н ач ен н я о ц ін к а к о еф іц іє н та а 1 ,1 r1(15:0) 0,1 0 – 0,1 – 0,2 – 0,3 – 0,4 r2(15:0) r1(15:0) r2(15:0) y1(15:0) y2(15:0) u2(15:0) u1(15:0) u1(15:0) u2(15:0) y1(15:0) y2(15:0) y1(15:0) y2(15:0) Рис. 8 З н ач ен н я о ц ін к а к о еф іц іє н та а 1 ,1 0 5 10 15 20 t, sec a 0,1 0 – 0,1 – 0,2 – 0,3 – 0,4 r, m 0,3 0,2 0,1 0 x n p 0 5 10 15 20 t, sec θ 0,5 0,3 0,1 – 0,2 б n p Рис. 9 Висновок Розроблено засоби автоматизованого проєктування та генерації програм для ПЛІС, що грунтуються на алгебро-алгоритмічних схемах, та застосовано для автоматизованого проєктування штучного нейрона. Схеми використову- ються для генерації тексту програми мовою VHDL, який далі виконується на ПЛІС. Розроблено метод конструювання штучного нейрона з сигмоїдальною функцією активації на ПЛІС, який відрізняється від аналогічних підходів тим, що коефіцієнти кусково-лінійної апроксимації функції активації зберігаються в пам’яті лише для додатних або лише для від’ємних значень аргументів. Це дозволило оптимізувати обсяг використовуваних обчислювальних ресурсів і підвищити продуктивність нейронної мережі. Розроблений підхід застосовано для розробки нейромережевого контролеру для системи балансування кульки на платформі, реалізованого на ПЛІС. Міжнародний науково-технічний журнал Проблеми керування та інформатики, 2022, № 5 71 A. Doroshenko, V. Shymkovych, T. Mamedov, O. Yatsenko AUTOMATED DESIGN OF AN ARTIFICIAL NEURON FOR FIELD-PROGRAMMABLE GATE ARRAYS BASED ON AN ALGEBRA-ALGORITHMIC APPROACH Anatoliy Doroshenko Institute of Software Systems of National Academy of Sciences of Ukraine, Kyiv, doroshenkoanatoliy2@gmail.com Volodymyr Shymkovych National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute», shymkovych.volodymyr@gmail.com Tural Mamedov Institute of Software Systems of National Academy of Sciences of Ukraine, Kyiv, tural.mamedov1@gmail.com Olena Yatsenko Institute of Software Systems of National Academy of Sciences of Ukraine, Kyiv, oayat@ukr.net Neural network control systems are a high-tech branch of control theory and be- long to the class of nonlinear dynamic systems. High speed due to the parallel- ization of input information combined with the ability to train neural networks makes this technology very attractive for creating control devices in automatic systems. The high-speed operation of networks in real time is provided by im- plementing them on field-programmable gate arrays. An example of the hard- ware implementation of neural networks is the design of an artificial neuron and its nonlinear activation functions on an FPGA. The technology of developing applications for FPGAs is based on the presentation of the algorithm in the hardware description language, for example, VHDL, and the automatic transla- tion of this description into a specification at the level of logic tables and other functional components of the FPGA. Programming in the VHDL language is quite complex, so the question arises about the development of special software automation tools that would allow the efficient generation of high-performance code. The paper proposes the facilities of automated design and generation of programs for FPGAs based on the algebra of algorithms. The developed tools are applied for the automated design of an artificial neuron. A method of con- structing an artificial neuron with a sigmoidal activation function on an FPGA is developed, which differs from similar approaches in that the coefficients of the piecewise linear approximation of the activation function are stored in memory only for positive or only for negative values of the arguments. This made it pos- sible to optimize the number of utilized computing resources and increase the performance of the neural network. The developed approach is applied to the development of a system with a neural controller for balancing a ball on a plat- form implemented on an FPGA. Keywords: automated design, algebra of algorithms, approximate computing, con- trol system, field-programmable gate array, neural network, program generation. mailto:doroshenkoanatoliy2@gmail.com mailto:shymkovych.volodymyr@gmail.com mailto:tural.mamedov1@gmail.com mailto:oayat@ukr.net 72 ISSN 2786-6491 REFERENCES 1. Barron A.R. Universal approximation bounds for superposition of a sigmoidal function. IEEE Transactions on Information Theory. 1993. Vol. 39, N 3. P. 930–945. http://doi.org/ https://doi.org/10.1109/18.256500. 2. Jhang J.-Y., Tang K.-H., Huang C.-K., Lin C.-J., Young K.-Y. FPGA implementation of a func- tional neuro-fuzzy network for nonlinear system control. Electronics. 2018. Vol. 7, N 145. P. 1–22. http://doi.org/10.3390/electronics7080145. 3. Costarelli D., Spigler R. Approximation results for neural network operators activated by sig- moidal functions. Neural Networks. 2013. Vol. 44. P. 101–106. http://doi.org/10.1016/ j.neunet.2013.03.015. 4. Godse A.P., Godse D.A. VHDL programming: concepts, modeling styles and programming. Seat- tle: Amazon Digital Services LLC, 2020. 206 p. 5. Doroshenko A., Yatsenko O. Formal and adaptive methods for automation of parallel programs construction: emerging research and opportunities. Hershey : IGI Global, 2021. 279 p. http:// doi.org/10.4018/978-1-5225-9384-3. 6. Pohl C., Paiz C., Porrmann M. vMAGIC — automatic code generation for VHDL. International Journal of Reconfigurable Computing. 2009. Vol. 2009, Article ID 205149. P. 1–9. http://doi. org/10.1155/2009/205149. 7. Martín P., Bueno E., Rodríguez Fco. J., Machado O., Vuksanovic B. An FPGA-based approach to the automatic generation of VHDL code for industrial control systems applications: a case study of MSOGIs implementation. Mathematics and Computers in Simulation. 2013. Vol. 91. P. 178–192. http://doi.org/10.1016/j.matcom.2012.07.004. 8. de Bulnes D.R.F., Maldonado Y. VHDL code generation as state machine from a data flow graph. Proc. 2016 IEEE International Autumn Meeting on Power, Electronics and Computing (ROPEC 2016) (09–11 November 2016, Ixtapa, Mexico). New York : IEEE, 2016. P. 1–6. http:// doi.org/10.1109/ROPEC.2016.7830518. 9. Benáček P., Puš V., Kubátová H., Čejka T. P4-To-VHDL: automatic generation of high-speed in- put and output network blocks. Microprocessors and Microsystems. 2018. Vol. 56. P. 22–33. http://doi.org/10.1016/j.micpro.2017.10.012. 10. Goel K., Arun U., Sinha A. K. An efficient hardwired realization of embedded neural controller on System-On-Programmable-Chip (SOPC). International Journal of Engineering Research & Technology. 2014. Vol. 3, N 1. P. 276–284. 11. Singh S., Sanjeevi S., Suma V., Talashi A. FPGA implementation of a trained neural network. IOSR Journal of Electronics and Communication Engineering. 2015. Vol. 10, N 3. P. 45–54. 12. Mohammadi A., Ryu J.-C. Neural network-based PID compensation for nonlinear systems: ball- on-plate example. International Journal of Dynamics and Control. 2020. Vol. 8. P. 178–188. http://doi.org/10.1007/s40435-018-0480-5. 13. Shaheer M., Hashmi H., Khan S., Atif M., Shabbir Z., Ali A., Kamal K., Zafar T., Awan A. Con- trol of a ball-bot using a PSO trained neural network. Proc. 2nd International Conference on Control, Automation and Robotics (ICCAR 2016) (28–30 April 2016, Hong Kong, China). New York : IEEE, 2016. P. 24–28. http://doi.org/10.1109/ICCAR.2016.7486692. 14. Han K., Tian Y., Kong Y., Li J.,. Zhang Y. Tracking control of ball and plate system using an im- proved PSO on-line training PID neural network. Proc. 2012 IEEE International Conference on Mechatronics and Automation (5–8 August 2012, Chengdu, China). New York : IEEE, 2012. P. 2297–2302. 15. Doroshenko A., Shymkovych V., Yatsenko O., Mamedov T. Automated software design for FPGAs on an example of developing a genetic algorithm. Proc. 17th International Conference «ICT in Education, Research and Industrial Applications. Integration, Harmonization and Knowledge Transfer» (ICTERI 2021) (28 September – 2 October 2021, Kherson, Ukraine). 2021. P. 74–85. 16. Camponogara E., Nazari L.F. Models and algorithms for optimal piecewise-linear function ap- proximation. Mathematical Problems in Engineering. 2015. Vol. 2015, Article ID 876862. P. 1–9. http://doi.org/10.1155/2015/876862. 17. Shymkovych V., Samotyy V., Telenyk S., Kravets P., Posvistak T. A real time control system for balancing a ball on a platform with FPGA parallel implementation. Technical Transactions. 2018. Vol. 5. P. 109–117. http://doi.org/10.4467/2353737XCT.18.077.8559. Отримано 28.11.2022
id nasplib_isofts_kiev_ua-123456789-210912
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn 0572-2691
language Ukrainian
last_indexed 2026-03-21T06:16:51Z
publishDate 2022
publisher Інститут кібернетики ім. В.М. Глушкова НАН України
record_format dspace
spelling Дорошенко, А.Ю.
Шимкович, В.М.
Мамедов, Т.А.
Яценко, О.А.
2025-12-20T14:34:15Z
2022
Автоматизоване проєктування штучного нейрона для програмова-них логічних інтегральних схем на основі алгебро-алгоритмічного підходу / А.Ю. Дорошенко, В.М. Шимкович, Т.А. Мамедов, О.А. Яценко // Проблеми керування та інформатики. — 2022. — № 5. — С. 61-72. — Бібліогр.: 17 назв. — укр.
0572-2691
https://nasplib.isofts.kiev.ua/handle/123456789/210912
004.4’24,004.3,004.89,004.942
10.34229/2786-6505-2022-5-6
Нейромережеві системи керування є високотехнологічним напрямком теорії керування та відносяться до класу нелінійних динамічних систем. Висока швидкодія за рахунок розпаралелювання вхідної інформації в поєднанні зі здатністю до навчання нейронних мереж робить цю технологію вельми привабливою для створення пристроїв керування в автоматичних системах. Забезпечення швидкодії мереж у реальному часі здійснюється шляхом їх реалізації на програмованих логічних інтегральних схемах (ПЛІС). Одним із прикладів апаратної реалізації нейронних мереж є проєктування штучного нейрона та його нелінійних функцій активації. Технологія розробки додатків для ПЛІС ґрунтується на поданні алгоритму мовою опису апаратури, наприклад VHDL, і автоматичному перекладі цього опису в специфікацію на рівні логічних таблиць та інших функціональних компонентів інтегральних схем. Програмування мовою VHDL досить складне, тому постає питання про розробку спеціальних засобів автоматизації, які дозволили б ефективно генерувати високопродуктивний програмний код. У статті запропоновано засоби автоматизованого проєктування та генерації програм для ПЛІС, що ґрунтуються на алгебрі алгоритмів. Створені засоби застосовано для проєктування штучного нейрона. Розроблено метод конструювання штучного нейрона з сигмоїдальною функцією активації на ПЛІС, який відрізняється від аналогічних підходів тим, що коефіцієнти кусково-лінійної апроксимації функції активації зберігаються в пам’яті лише для додатних або лише для від’ємних значень аргументів. Це дозволило оптимізувати кількість використовуваних обчислювальних ресурсів і підвищити продуктивність нейронної мережі. Даний підхід застосовано для розробки системи з нейромережевим контролером для балансування кульки на платформі, реалізованим на ПЛІС.
Neural network control systems are a high-tech area of control theory and belong to the class of nonlinear dynamic systems. High performance, achieved by parallel processing of input information, combined with the learning ability of neural networks, makes this technology highly attractive for creating control devices in automatic systems. Ensuring real-time network performance is achieved by implementing them on programmable logic integrated circuits (PLICs). One example of hardware implementation of neural networks is the design of an artificial neuron and its nonlinear activation functions. The technology for developing applications for PLICs is based on representing an algorithm in hardware description languages, such as VHDL, and automatically translating this description into specifications at the level of logic tables and other functional components of integrated circuits. Programming in VHDL is quite complex, which raises the need for developing specialized automation tools that would efficiently generate high-performance software code. The article proposes tools for automated design and code generation for PLICs based on algorithmic algebra. These tools were applied to the design of an artificial neuron. A method for constructing an artificial neuron with a sigmoid activation function on PLICs was developed, which differs from similar approaches by storing the coefficients of piecewise-linear approximations of the activation function in memory only for positive or only for negative argument values. This approach optimized the number of computational resources used and increased the neural network's performance. This method was applied to develop a system with a neural network controller for balancing a ball on a platform, implemented on a PLIC.
uk
Інститут кібернетики ім. В.М. Глушкова НАН України
Проблемы управления и информатики
Роботи та системи штучного інтелекту
Автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу
Automated design of anartificial neuron for field-programmable gate arrays based on analgebra-algorithmic approach
Article
published earlier
spellingShingle Автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу
Дорошенко, А.Ю.
Шимкович, В.М.
Мамедов, Т.А.
Яценко, О.А.
Роботи та системи штучного інтелекту
title Автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу
title_alt Automated design of anartificial neuron for field-programmable gate arrays based on analgebra-algorithmic approach
title_full Автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу
title_fullStr Автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу
title_full_unstemmed Автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу
title_short Автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу
title_sort автоматизоване проєктування штучного нейрона для програмованих логічних інтегральних схем на основі алгебро-алгоритмічного підходу
topic Роботи та системи штучного інтелекту
topic_facet Роботи та системи штучного інтелекту
url https://nasplib.isofts.kiev.ua/handle/123456789/210912
work_keys_str_mv AT dorošenkoaû avtomatizovaneproêktuvannâštučnogoneironadlâprogramovanihlogíčnihíntegralʹnihshemnaosnovíalgebroalgoritmíčnogopídhodu
AT šimkovičvm avtomatizovaneproêktuvannâštučnogoneironadlâprogramovanihlogíčnihíntegralʹnihshemnaosnovíalgebroalgoritmíčnogopídhodu
AT mamedovta avtomatizovaneproêktuvannâštučnogoneironadlâprogramovanihlogíčnihíntegralʹnihshemnaosnovíalgebroalgoritmíčnogopídhodu
AT âcenkooa avtomatizovaneproêktuvannâštučnogoneironadlâprogramovanihlogíčnihíntegralʹnihshemnaosnovíalgebroalgoritmíčnogopídhodu
AT dorošenkoaû automateddesignofanartificialneuronforfieldprogrammablegatearraysbasedonanalgebraalgorithmicapproach
AT šimkovičvm automateddesignofanartificialneuronforfieldprogrammablegatearraysbasedonanalgebraalgorithmicapproach
AT mamedovta automateddesignofanartificialneuronforfieldprogrammablegatearraysbasedonanalgebraalgorithmicapproach
AT âcenkooa automateddesignofanartificialneuronforfieldprogrammablegatearraysbasedonanalgebraalgorithmicapproach