Реалізація та дослідження штучного нейрону на ПЛІС різних сімейств



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

Ключові слова: нейронні мережі, штучний нейрон, функції активації, ПЛІС, VHDL.

Юрій Бердник

Кафедра автоматики та управління в технічних системах, Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського»

Київ, Україна

berdniky@gmail.com

Implementation and research of artificial neuron on different families of FPGA

Abstract. This paper presents the results of FPGA implementation of artificial neuron for the developed method of implementation of nonlinear activation functions and artificial neuron implementation algorithms. The obtained results of the research, which are pre-sented in the table, are FPGA source and speed.

Keywords: neural networks, artificial neuron, activation functions, FPGA, VHDL.

Yurii Berdnyk

Department of Automation and Control in Technical Systems National Technical University of Ukraine ‘Igor Sikorsky Kyiv Polytechnic Institute’

Kyiv, Ukraine

berdniky@gmail.com

Однією з перших проблем при апаратній реалізації нейромережевих систем управління є реалізація штучного нейрона і його активаційної функції засобами ПЛІС [1-3]. Активаційна функція нейрона виконує нелінійне перетворення сигналів, здійснюване нейроном. Найбільш поширеними видами активаційних функцій є гранична функція, лінійна функція, шматково-лінійна функція, функції сигмоїдального типу та функція Гауса. Найбільш широко використовуваним типом активаційних функцій є сигмоїдальні функції Найскладнішою з погляду цифрової реалізації є реалізація функцій активації сигмоїдного типу, як суттєво нелінійних функцій. При розробці методів та алгоритмів реалізації нейронів з сигмоїдальною функцією активації слід мати на увазі особливості ПЛІС, які мають в якості ресурсів таблиці перетворення (ЛТ), мультиплексори, суматори, блоки множення, але не мають блоків ділення. Також слід враховувати кількість використаного ресурсу ПЛІС та оптимально його використовувати. Існуючі підходи цифрової реалізації нелінійних функцій використовують різні методи апроксимації, такі як табличний метод, розкладання в ряд Тейлора, шматково-лінійна апроксимація і т.д. Розкладання в ряд Тейлора вимагає виконання багатьох множень, а тому неприйнятні для реалізації в ПЛІС, так як блок множення займає велику кількість ресурсу. Табличний метод передбачає створення глобальної змінної, таблиці можливих значень ці-льової функції, непередбачуваний і неконтрольований доступ до таблиць всіх нейронів мережі, що у свою чергу створює велику часову затримку, а створення окремої локальної таблиці для кожного нейрона мережі неприйня-тно з точки зору використання ресурсу ПЛІС. Тому най-більш оптимальним методом реалізації функцій активації сигмоїдального типу є її шматково-лінійна апроксимація. У роботі [4] розглянуто реалізацію одного нейрона на FPGA. Досліджено реалізацію 3-входового нейрона з різними функціями активації на ПЛІС типу FPGA Xilinx XCV400hq240. Наведено таблиці порівняння швидкодії та займаного нейроном ресурсу для різних варіантів реалізації. Запропонований нами метод та алгоритми апаратної реалізації нейронів і нейронних мереж з такими функціями активації детально описані в [5, 6]. Реалізований за даним алгоритмом штучний нейрон з 4-ма входами, 4-ма синапсами і вагами до них, з сигмоїдальною функцією активації, на ПЛІС з використанням 16-розрядних чисел з фіксованою точкою зайняв 493 LUTs (Look Up Table - вентилі логічної матриці). Кожне число – 16 біт, з яких 9 біт відведено на цілу частину і 7 біт на дробову. Швидкодія, як сумарна затримка комбінаційної схеми блоку нейрона, склала 59.85 нс. При конфігуруванні нейрона на чіпі сімейства Spartan 3 – XC3S200. Результати моделювання штучного нейрону на ПЛІС різних серій представлено в таблиці 1. При зменшенні або збільшенні кількості лінійних відрізків, кількості входів нейрона або зміну розрядності чисел зміниться і використаний ресурс ПЛІС для одного нейрона, а також точність і швидкодія. Штучний нейрон розроблений на ПЛІС, як окремий обчислювальній блок, та має зовнішні виводи для запису, потрібних синаптичних ваг. Абсолютна похибка обчислення на ПЛІС сигмоїдальної функції активації не перевищує ±0.005.

Таблиця 1

Результати моделювання штучного нейрону на ПЛІС різних серій

При дослідженні апаратної реалізації штучного нейрона на ПЛІС різний серій, розроблений компонент показав підвищення ефективності за такими показниками як кількість використаного ресурсу, швидкодія та похибка в порівнянні з найближчими аналогами. Побудовані на таких нейронах нейромережеві системи керування можуть бути використані при керуванні складними швидкодіючими об’єктами в реальному часі [7 - 9].

ВИСНОВКИ

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

ЛІТЕРАТУРА

$1.$ G. Dreyfus. Neural Networks: Methodology and Applica-tions. SpringerVerlag Berlin Heidelberg. 2005. P. 498.

$2.$ M. Lawrynczuk. Computationally Efficient Model Predic-tive Control Algorithms: A Neural Network Approach. Springer. Studies in Systems, Decision and Control, 2013, vol. 3. P. 316.

$3.$ Kravets P. I. Methods of Hardware and Software Realiza-tion of Adaptive Neural Network PID Controller on FPGA–Chip / P. I. Kravets, T. I. Lukina, V. A. Zherebko, V. N. Shimkovich// Journal of Automation and Infor-mation Sciences. Begell House, New York, USA. – 2011. – Volume 43, Issue: 4, pp. 70-77. DOI: 10.1615/JAutomatInfScien.v43.i4.80

$4.$ A. Muthuramalingam. Neural network implementation using FPGA: Issues and application / A. Muthuramalin-gam, S. Himavathi, E. Srinivasan // Int. J. Inf. Technol. – 2008. – vol. 4, no. 2, pp. 86-92.

$5.$ Kravets P.I. Technology of Hardware and Software Im-plementation of Artificial Neuron and Artificial Neural Networks by Means of FPGA / P.I. Kravets, V.M. Shym-kovych, G.A. Zubenko // Visnyk NTUU ‘KPI’ Informat-ics, operation and computer systems. – 2012. – №55, pp. 174-180.

$6.$ Kravets P.I. Method and algorithms of implementation on PLIS the activation function for artificial neuron chains / P.I. Kravets, V.N. Shimkovich, D.A. Ferens // El-ektronnoe modelirovanie. – 2013. – Vol. 37, no. 4, pp. 63-74.

$7.$ Kravets P.I., Shymkovych V.M., Omelchenko P. Neu-ronetwork components of the systems of control of dy-namic objects and their hardware-software implementa-tion on FPGA. Visnyk NTUU ‘KPI’ Informatics, operation and computer systems. – 2013. – №59, pp. 78-85.

$8.$ Kravets P.I. Neural controller stability of moving object with the hardware and software realization on FPGA / P.I. Kravets, V.M. Shymkovych, V.V. Fedorchuk, A.A. Goy //Visnyk NTUU ‘KPI’ Informatics, operation and com-puter systems. – 2015. – №63, pp. 4–11.

$9.$ P. I. Kravets, V. M. Shymkovych, and V. Samotyy. Method and technology of synthesis of neural network models of object control with their hardware implementa-tion on FPGA, 2017 9th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS), Bu-charest, Romania, 2017, pp. 947-951. doi: 10.1109/IDAACS.2017.8095226

May 16, 2018