Amaliy mashg’ulot №8. Vlsi fpga uchun matlab yordamida sun'iy neyron tarmoqlarni loyihalash Ishning maqsadi


Download 0.92 Mb.
bet8/14
Sana24.12.2022
Hajmi0.92 Mb.
#1058098
1   ...   4   5   6   7   8   9   10   11   ...   14
Bog'liq
8-amaliy ish

8.3.5. Faollashtirish funktsiyasi.
Faollashtirish funktsiyasi neyron chiqishidagi signalning uning kirishidagi signallarning og'irlik yig'indisiga bog'liqligini aniqlaydi. Ko'pgina hollarda, u monotonik o'sib boradigan funksiya bo’lib, (-1...1) yoki (0...1) miqdorlar chegarasida yotadi. Sun'iy neyron tarmoqlarda chiziqli bo'lmagan faollashtirish funktsiyasining bir nechta turlari mavjud bo’lsa ham ko'pincha sigmasimon funksiya ishlatiladi va bu faollashtirish funktsiyalari 8.7 rasmda ko'rsatilgan.

8.7 rasm - Sigmoidal (a), ostona (b) va chiziqli (v) neyronlarni faollashtirish funktsiyalari.

Amalda, sun'iy neyronning faollashtirish funktsiyalarini yaratish deyarli eng muhim o'rinni egallaydi, chunki chiziqli bo'lmagan sigmasimon funktsiyani to'g'ridan -to'g'ri amalga oshirish, iloji bo'lsa ham, ancha murakab va ko’p resurs talab qiladi.


σ(x) = 1/(1 + exp(-tx))
Sigmasimon funktsiyani apparatda bajarilishni soddalashtirishning bir necha usullari mavjud: qidiruv jadvallaridan foydalanish (lookup table, aslida xotira), har xil bo'lakli chiziqli aproksimasiya(yaqinlashtirish), kombinatsion taxminiy yaqinlashuv(aproksimasiya).
8.3.6. Suniy neyronlarning strukturasi.
Neyron tarmoq topologiyasini qurishdan oldin, avval bitta neyronni strukturaviy tuzilishini loyihalash kerak. Quyida beshta funktsional blokga iborat sun'iy neyron uchun ekvivalent(almashtirish) sxema keltirilgan. U quyidagi kirish, ko'paytirgich, yig'uvchi, chiziqli bo'lmagan konvertor(uzgartirgich)), chiqish qisimlaridan iborat. Mana shu bloklar funktsiyasini saqlab qolgan holda FPGAda qurib ishlatiladi.

8.8 rasm. Sun'iy neyronlarni almashtirish(ekvivalent) sxemasi.
Ekvivalent sxemaga asoslanib (8.8 -rasm) bitta neyronning modeli qurilgan. Kirish ma'lumotlari [-1; 1] chegarasidagi ishorali o'nlik kasr raqamlardir.
Eng katta bit (xona) sonning ishorasini bildiradi. Tarmoq og'irliklari va chegara qiymatlari 19-bitli(xonali) raqamlar bilan ifodalanadi. Eng katta bit ishorani, keyin sonning butun qismini 9 raqami va kevingi 9 bit esa kasr qismning 9 raqamini ifodalaydi. Og'irliklar va kirish ma'lumotlarining hosablash natijasi 24 bitli registrda saglanadi. Chiqish qiymati esa 26 bitli registrda eslab qolinadi.
Quyida Verilog apparat tavsifi tilida beshta kiruvchili(x0..x4) chiziqli neyron modulining sarlavhasi keltirilgan
module soma(
input wire [9:0] x0,
input wire [9:0] x1,
input wire [9:0] x2,
input wire [9:0] x3,
input wire [9:0] x4,
output wire [26:0] y);
Sun'iy neyron tarmoqning og'irliklari va chegaralari oddiy ko'paytirish va qo'shish bloklari yordamida amalga oshirilsa, faollashtirish funktsiyasi xotira blokidan foydalanishni talab qiladi. Ya'ni, ba'zi faollashtirish funktsiyalarining haqoniylik jadvali xotira qurilmasida joylashtiriladi. Qo’yidagi holatda sigmasimon funktsiya ishlatilgan:

bu erda: x - nochiziqli konvertorning kirishidagi yig'indi,
t – funktsiya xarakteristikasining qiyalikini belgilaydigan koeffitsient. t = 0 bo’sa sigmasimon ostona funktsiyasiga aylanadi.
FPGA xotirasining keraksiz sarflanishiga yo'l qo'ymaslik uchun ostona funktsiyasining simmetriyalilik xususiyati hisobga olingan. Shunday qilib, sigmasimon funktsiyaning birinchi yarmining 8000 ta 26 bitli qiymatlari yordamida xotirada saqlanib, ikkinchi qismni shu eslab qolingan jadvaldan tanlab olivchi mantiqiy sxema yaratilgan. Ammo shu holatda ham FPGA asosida bu funktsiyani amalga oshirish uchun katta apparat resurslari kerak bo'ladi.
Sigmasimon funktsiyani ishlatmasdan tuzilgan neyronning sxematik tasviri 8.9-rasmda ko'rsatilgan.

8.9 rasm. FPGA asosidagi neyronning sxemasi.
Har qanday strukturani amalga oshirish uchun raqamli qiymatlarni saqlash qobiliyatini ta'minlash kerak. Bu qiymatlarning xonaligi har bir neyronning mumkin bo'lgan holatlari sonini aniqlaydi va neyronlar sonini esa umuman avtomatni aniqlashi mumkin bo’lgan holatlarni aniqlaydi. Buning uchun har bir neyronning chiqish qiymatini reg turidagi xotirada o'zgaruvchi sifatida saqlashi mumkin. Bunda har bir neyron Verilog tilidagi modul bo'lgani uchun, ularni og'irliklarning qiymatiga chuqur kirishmasdan, individual neyronlar bilan ishlash orqali tarmoq topologiyasini tuzish mumkin.
Biroq, FPGA va boshqa o'rnatilgan tizimlarda o’ramli(konvolyutsion) neyron tarmoqlarni ishga tushirish bir qator qiyinchiliklarga ega. Bular, tayyor kutubxonalarning yo'qligi, apparat platformasining hisoblash resurslarining cheklanganligi va o'rnatilgan platformada algoritmni tuzish sozlah jarayonini yuqori murakkabligidadir. Ammo, yuqorida tasvirlangan muammolarni Modelga asoslangan loyihalash va MATLAB / Simulink yaratish muhiti yordamida hal qilish mumkin.
Strukturaviy ravishda Modelga qaratilgan loyihalash jarayonini uchta asosiy bosqichga bo'lish mumkin: algoritm modelini yaratish va uning parametrlarini takomillashtirish, apparatni amalga oshirish algoritmini tayyorlash va avtomatik kod ishlab chiqarish (8.10-rasm).

8.10-rasm. Modelga qaratilgan loyihalashni ishlab chiqish bosqichlari.

Birinchi bosqichda neyron tarmoqning tuzilishi MATLABda yaratiladi, tarmoq test ma'lumotlari bo'yicha o'qitiladi va kerak bo'lganda uning tuzilishi takomillashtiriladi. Keyingi bosqichda, Simulink muhiti yordamida FPGA -larni apparatli amalga oshirishga mos bo'lgan, ma'lumotlar oqimi bilan ishlavchi, NT-ni algoritmining oqim modeli yaratiladi. Uchinchi bosqichda, Simulink modellaridan avtomatik kod ishlab chiqarish yordamida biz uni FPGA -da sintez qilish va ishga tushirish uchun mos bo'lgan neyron tarmoq algoritmini tasvirlaydigan HDL kodini olamiz.


Bu erda, o’ramli(konvolyutsion) NT-ning apparatli yaratishga misol sifatida, qo'lda yozilgan raqamlarni taniy oladigan tarmoq tanlangan (8.11-rasm). Keyinchalik, yaratilgan NT-ni boshqa ma'lumotlar to'plami - yo'l belgilari,yoki avtomobil raqamlarini tanish bo'yicha o'rgatish mumkin va haydovchilarga yordam berish tizimlarida yoki raqamlarni aniqlash uchun foto va video yozish tizimlarida foydalanish mumkin.

8.11-rasm. Qo'lda yozilgan raqamlar tasviriga misol.



Download 0.92 Mb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling