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


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

8.8.2. Neyron tarmog’ini o’qitish.
Bizning maqsadimiz mantiqiy AND funktsiyasini bajaradigan neyron tarmoqni qurishdir. Shubhasiz, tarmoq yaratilgan so'ng, u kirish tasiriga to'g'ri natijani (to'g'ri kirish / chiqish nisbati) beradi degan fikr to’g’ri emas. Maqsadga erishish uchun tarmoqni to'g'ri o'rgatish kerak, ya'ni tegishli parametr qiymatlarini tanlash kerak. Neyron tarmoqlarni o'qitish uchun ma'lum bo'lgan algoritmlarning aksariyati MATLAB-da amalga oshirilgan, ulardan ikkitasi ko'rib chiqilgan turdagi perseptron tarmoqlari uchun qo’llashga taqdim etilgan. Tarmoqni yaratishda biz o'qitish oshiradigan funksiya algoritmi sifatida LEARNP ni (8.20-rasm) ko'rsatdik.
NNTool ning asosiy oynasiga qaytamiz (8.17-rasm). Ushbu bosqichda faqat pastki paneldagi Faqat tarmoqlar (Networks only) tugmachalari qiziqtiradi. Ushbu paneldagi tugmachalardan birortasini bosish, uning yorliqlari to'plamida tarmoq parametrlari taqdim etiladi, uni o'qitish va ishga tushirish uchun zarur bo'lgan, shuningdek tarmoqning joriy holatini aks ettiradigan, oynani ochadi.

8.3-jadval – MATLAB dagi NNTool ning neyron tarmoqlarining turlari.



№ turi

Tarmoq turi

Tarmoq nomi

Qatlamlar soni

O'qitiladigan parametrlar

1

Competitive

Raqobatchi tarmoq

1

IW{1, 1},
b{ 1}

2

Cascade-forward backprop

Signalni oldinga tarqalishi va xatolarni orqaga tarqalishiga asoslangan kaskadli tarmoq



2

IW{1, 1}, b{1}
LW{2, 1}
IW{2, 1}, b{2}

3

Elman backprop

Elmanni xatoni orqaga tarqalish tarmog'i

2

IW{1, 1}, b{1}
LW{2, 1}, b{2}
LW{2, 1},

4

Feed-forward backprop

Signal oldinga va xato orqaga tarqalishli tarmoq

2

IW{1, 1}, b{1}
LW{2,1}, b{2}

5

Time delay backprop

Tutilishli va xatoni orqaga tarqatuvchi tarmoq

2

IW{1, 1},
b{1},
LW{2, l},b{2}

6

Generalized regression

Umumlashirilgan regressiyaviy tarmoq

2

IW{1, 1},
b{1},
LW{2, l}

7

Hopfield

Hopfield tarmog'i

1

LW{l, l},b{l}

8

Linear layer (design)

Chiziqli qatlam (yaratish)

1

IW{1, 1}, b{1}

9

Linear layer (train)

Chiziqli qatlam (o’qitish)

1

IW{1, 1}, b{1}

10

LVQ

Kirish vektorlarini tasniflash uchun tarmoq

2

IW{1, 1},
LW{2, 1}

11

Perceptron

Perceptron

1

IW{1, 1), b{l}

12

Probabalistic

Ehtimoliy tarmoq

2

IW{1, 1},
b{l}, LW{2, 1}

13

Radial basis (exact fit)

Nol xatolik radial ma'lumotlar tarmog'i

2

IW{ 1, 1}, b{
1},
LW{2, 1}

14

Radial basis (fewer neurons)

Neyronlarning minimal soniga ega radial asosli tarmoq

2

IW{1, 1}, b{
1}, LW{2, 1}, b{2}

15

Self-organizing map

O'z-o'zini tashkil qiluvchi Kohonen xaritasi

1

IW{1, 1}

Sichqoncha ko'rsatkichi yordamida tarmoq1 tarmoq-ob'ektini tanlab, Train tugmasi orqali tarmoqni boshqarish oynasini chaqiriladi. Bizning oldimizda tarmoq xususiyatlari oynasining Train yorlig'i paydo bo'ladi, u o'z navbatida boshqa yorliq satrini o'z ichiga oladi (8.22-rasm). Ularning asosiy maqsadi o'quv jarayonini boshqarishdir. Training information (Training info) yorlig'ida siz kirishlar (Inputs) maydonida o'quv ma'lumotlar to'plamini va maqsadlar (Targets) maydonida maqsadli ma'lumotlar to'plamini belgilashingiz kerak. NNTool ning chiqishlari (Outputs) va xatolar (Errors) maydonlari avtomatik ravishda to'ldiriladi. Bunday holda, natijalar va xatolarni o'z ichiga olgan o'rganish natijalari belgilangan nomlar bilan o'zgaruvchilarda saqlanadi.



8.22-rasm. – O’qitish (Train) yorlig'ida ochilgan tarmoq sozlamalari oynasi.

Turli mezonlarga amal qilgan holda o'quv jarayonini yakunlash mumkin. Masalan, muayyan vaqt oralig'i etarli deb hisoblanganda, o'rgatishni to'xtatish afzalroq bo'lgan holatlarda yoki xatolik darajasi mezon qilinganda.


Tarmoq uchun O’qitish parametrlari (Training parameters) yorlig'ida (8.23-rasm) quyidagi maydonlarni o'zgartirish mumkin:

  • Davrar soni (epochs) – o’qitish tugatilishi davri sonini (vaqt oralig'i) aniqlaydi. Davr deb barcha o'quv kirish ma'lumotlarini tarmoq kirishlariga bir martalik taqdim etishga aytiladi.

  • Maqsadga erishish yoki tushirish (goal) - bu erda siz xato funktsiyasining mutlaq qiymatini belgilaysiz, bunda maqsadga erishildi deb hisoblanadi.

  • Yangilash davri (show) - davrlar sonida ifodalangan o'rganish davri egri chizig'ining yangilanishi.

  • O’qitish vaqti (time) - soniyalarda ko'rsatilgan vaqt oralig'i o'tgandan so'ng, mashg'ulot to'xtaydi.




8.23-rasm - O'rgatish parametrlari yorlig'i.
Chiziqli bo'linadigan to'plamlar bilan (shu muammo bu sinfga tegishli) har doim aniq echim borligini hisobga olib, maqsadga erishish chegarasini nolga tenglashtirilgan. Qolgan parametrlar standart boshlang’ich sifatida qoldirilgan. E'tibor bering, o’rgatish vaqti maydonida cheksiz vaqt oralig'ini belgilaydigan Inf yozuvini tanlangan (inglizchasida «Infinite» – cheksiz degani).
Keyingi yorliq, Qo'shimcha(ixtiyoriy) ma'lumot (Optional Info) 8.24-rasmda ko'rsatilgan.



8.24-rasm. Ixtiyoriy ma'lumotlar yorlig'i.


O’qitish (Train) yorlig'ini ko'rib chiqamiz. O’qitish boshlashi uchun siz Tarmoqni o’qitish (Train Network) tugmasini bosishingiz kerak. Shundan so'ng, agar taklif qilingan tarmoq o'quv parametrlari (Training Parameters) bo'limidagi shartlarning biror biri qanoatlantirsa o’qitish avtomatik to’tatiladi. Bir vaqtda, maqsad funktsiyasi dinamikasini - o'rganish uchun, egri chizig'li grafika oynasi paydo bo'ladi. Bizning holatda, grafik 8.25-rasmda ko'rsatilgandek ko'rinishda bo’lishi mumkin.

8.25-rasm - O'rganish egri chizig'i.
To'xtatish tugmasi (Stop Training) o’qitish jarayonni to'xtatish mumkin. Rasmdan ko'rinib turibdiki, maqsad funksiya belgilangan qiymatga yetganida o'rganish to'xtatilgan (goal = 0).
Shuni ta'kidlash kerakki, qattiq cheklangan faollashtirish funktsiyasiga ega bo'lgan perseptronlar uchun xato - maqsad va olingan natija o'rtasidagi farq sifatida hisoblanadi. Shu sababli yuqoridagi misolda, o'rgatish algoritmi muammoning aniq echimini topdi. Uslubiy maqsadlarda, o'qitilgan tarmoqni ishga tushirish orqali muammo to'g'ri hal qilinganligiga ishonch hosil qilish mumkin. Buning uchun Tekshirish(Simulate) yorlig'ini oching va Kirishlar(Inputs) ro'yxatidan oldindan tayyorlangan ma'lumotlarni tanlang. Bu vazifani bajarishda ma'lumotlar to'plamini o'qitishda bo'lgani kabi tabiiyki data1 dan foydalaniladi. Ta'minot maqsadlari (Supply Targets) katagiga belgi qo'yish mumkin. Unda natija xato qiymatlari qo'shimcha ravishda qayta hisoblab chiqiladi. Tarmoqni simulyatsiya(Simulate Network) qilish tugmachasini bosish, ishlash natigasini Chiqishlar (Outputs) maydonidagi o'zgaruvchiga yoziladi. Endi NNTool asosiy oynasiga qaytib, sichqoncha bilan network1 chiqishi o'zgaruvchisini tanlashingiz va Ko'rish(View) tugmasini bosishingiz mumkin. Ko'rish maydonining qymatlari maqsadli vektor qiymatlariga mos keladi - demak tarmoq to'g'ri ishlamoqda.
Shuni ta'kidlash kerakki, tarmoq initsalisatsiya qilingan holda yaratilib, ya'ni og'irlik va siljitishlik qiymatlari ma'lum bir tarzda o'rnatish mumkin. Har bir keyingi o’qitish tajribasidan oldin, odatda, boshlang'ich shartlar yangilanadi, ular uchun Initialize yorlig'ida ishga initsalisatsiya funksiyasi taqdim etiladi. Shunday qilib, agar siz bir nechta mustaqil o'quv tajribalarini o'tkazmoqchi bo'lsangiz, Og'irliklarni initsalisatsiya (Initialize Weights) tugmasini bosish orqali har birini oldin og'irlik va siljishlarni yangilash mumkin.
Keling, Qo’shimcha ma'lumot (Optional Info) yorlig'iga qaytaylik (8.24-rasm). Bu erda keltirilgan parametrlarning maqsadini tushunish uchun ikkita tushunchani muhokama qilish kerak: o’ta o’qitilganlik va o’ta umumlashtirish.
Muayyan muammoni hal qilish uchun neyron tarmoqni tanlashda uning tartibini oldindan aytish qiyin. Asossiz katta tartibli tarmoq tanlash tarmoqni o’ta o’qitilganlikga va oddiy bog’likni ham murakkab yo’l bilan etishga olib keladi. Ushbu hodisa haddan tashqari o’ta o’qitilganlik deb ataladi. Boshqa tomondan, neyronlar soni etarli bo'lmagan tarmoq bo'lsa, kerakli darajadagi xatolikka hech qachon erishilmaydi. Bu haddan tashqari o’ta umumlashtirish deyiladi. O’ta o’qitilganlikni oldini olish uchun quyidagi usul qo'llaniladi. Ma'lumotlar ikki to'plamga bo'linadi: O’rgatish(Trening Data) ma'lumotlari va Tekshirish(Validatsion Data) ma'lumotlari. Tekshirish(Nazorat) malumotlari majmuasi o’rgatishda qo'llanilmaydi. Operatsiyaning boshida o'qitish va nazorat majmualarida tarmoq xatolari bir xil bo'ladi. Tarmoq o'rgansa, o'rgatish xatosi kamayadi va o'rganish haqiqiy xato funktsiyasini kamaytirar ekan, tekshirish majmuasidagi xato ham kamayadi. Agar nazorat xatosi pasayishni to'xtatsa yoki hatto o'sishni boshlagan bo'lsa, bu o’qitishtni yakunlash kerakligini ko'rsatadi. Ushbu bosqichda to'xtash – Erta to'xtash (Early stopping) deb ataladi. Shunday qilib, mos keladigan tarmoqni olishdan oldin turli xil tarmoqlar bilan bir qator tajribalar o'tkazish kerak. Bunday holda, xato funktsiyasining lokal minimumlariga duch kelmaslik uchun har bir tarmoq bir necha marta qayta o'qitilish kerak. Agar o'qitish va nazorat qilishning ketma-ket bosqichlari natijasida xatolik qabul qilib bo'lmaydigan darajada katta bo'lib qolsa, neyron tarmoq modelini o'zgartirish tavsiya etiladi (masalan, neyronlar sonini ko'paytirish orqali tarmoqni murakkablashtirish yoki boshqa turdagi neyron tarmog’idan foydalanish). Bunday vaziyatda yana bitta to'plamdan foydalanish tavsiya etiladi - kirish ma'lumotlaridan mustaqil namuna olgan Test ma'lumotlari (Test Data) to'plamidan. Yakuniy model ushbu to'plamda sinovdan o'tkaziladi, bu esa natijalarning ishonchliligini tekshirish uchun qo'shimcha imkoniyat beradi. Shubhasiz, test to'plami o'z rolini bajarish uchun faqat bir marta ishlatilishi kerak. Agar u tarmoqni sozlash uchun foydalanilsa, aslida nazorat majmuasiga aylanadi. Validatsion Data qarshisidagi katakchani belgilash (8.24-rasm) nazorat majmuasini va maqsadlarning mos vektorini (ehtimol, mashg'ulot paytidagi ma’lumotlar yordamida) o'rnatishga imkon beradi.
Keyingi katakchani belgilash test to'plamini va uning uchun maqsadlar vektorini o'rnatish imkonini beradi.
Tarmoqni o'qitish turli rejimlarda amalga oshirilishi mumkin. Shu munosabat bilan, NNTool-da o'quv funktsiyalarini ifodalovchi ikkita yorliq mavjud: avvalroq muhokama qilingan Train и Adaptatsiya (Adapt) yorloqlari. Moslashuvchanlikda- Adaptatsiya maʼlumotlari(Adaption Info) yorligʻi mavjud boʻlib, unda O’qitish maʼlumoti (Training Info) yorligʻiga oʻxshash va bir xil funksiyalarni bajaradigan maydonlar hamda Moslashuv parametrlari(Adaption Parameters) yorligʻi mavjud. Ikkinchisida bitta O’tishlar(Passes) maydoni mavjud. Ushbu maydonda ko'rsatilgan qiymat barcha kirish vektorlari o’qitish jarayonida tarmoqqa necha marta taqdim etilishini aniqlaydi. MATLAB-dagi Train va Adapt yorliqlarining parametrlari mos ravishda trenerovka qilish va moslashtirish funktsiyalari uchun qo'llaniladi.



Download 0.92 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




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