Kommunikatsiyalarini rivojlantirish vazirligi «vlsi tizimini loyihalashtirish» fanidan amaliy mashg



Yüklə 5,01 Kb.
Pdf görüntüsü
səhifə49/68
tarix07.01.2024
ölçüsü5,01 Kb.
#209951
1   ...   45   46   47   48   49   50   51   52   ...   68
8.3.4. Summator-akkumulyator. 
Bu elementning murakkabligi, ham kasrli sonlarni qayta ishlash 
algoritmining murakkabligi bilan belgilanadi, lekin kristalning resurslarni iste'mol 
qilish nuqtai nazaridan bu erda hammasi oddiy bo‘lib, faqat bitta ma’lum o‘lchamli 
qo‘shuvchi(Summator-akkumulyator) yaratiladi va kirishlar sonining ko‘payishi 
bilan, uning o‘lchami odatda o‘zgarmaydi. 
 
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 


134 
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. 


135 
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 


136 
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 


137 
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). 


138 
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. 

Yüklə 5,01 Kb.

Dostları ilə paylaş:
1   ...   45   46   47   48   49   50   51   52   ...   68




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin