3-Labaratoriya ishi


Neyron tarmoqlarni regulyarizatsiyalash masalasi va undan foydalangan holda masalani yechish


Download 1.32 Mb.
bet2/3
Sana18.06.2023
Hajmi1.32 Mb.
#1582397
1   2   3
Bog'liq
Juraev Murodjon

1. Neyron tarmoqlarni regulyarizatsiyalash masalasi va undan foydalangan holda masalani yechish

Muntazamlashtirish - yo'qotish funktsiyasiga jazo muddatini qo'shish orqali neyron tarmoqlarda haddan tashqari moslashishning oldini olish uchun ishlatiladigan usul. Model o'quv ma'lumotlaridagi shovqinni o'rganganda, haddan tashqari moslashish sodir bo'ladi, natijada yangi, ko'rinmaydigan ma'lumotlarga yomon umumlashtiriladi. Ikkita umumiy tartibga solish texnikasi L1 va L2 tartibga solishdir.


Mana, TensorFlow tarkibiga kiruvchi Keras kutubxonasidan foydalangan holda Python-da neyron tarmog'iga misol. L2 tartibga solishni modelga qanday qo'llashni ko'rsatamiz.
Regulyatsiyani qo'llash orqali modelning o'quv ma'lumotlariga to'g'ri kelishi ehtimoli kamroq bo'ladi, bu esa yangi, ko'rinmaydigan ma'lumotlarni yaxshiroq umumlashtirishga olib keladi. Muayyan muammoingiz uchun optimal qiymatni topish uchun turli tartibga solish kuchlari bilan tajriba o'tkazishingiz mumkin.






2. Svertkali neyron tarmoqlar(CNN) arxitekturasi, svertka jarayonini amalga oshirish.
Konvolyutsion neyron tarmoqlari (CNN) - bu tasvirlar kabi tarmoqqa o'xshash ma'lumotlarni qayta ishlash uchun maxsus mo'ljallangan chuqur o'rganish modeli. CNN ning asosiy komponentlari konvolyutsion qatlamlar, birlashtiruvchi qatlamlar va to'liq bog'langan qatlamlardir. Konvolyutsion qatlamlar mahalliy xususiyatlarni o'rganish uchun kirish ma'lumotlariga filtrlarni qo'llaydi, birlashtiruvchi qatlamlar esa ma'lumotlarning fazoviy o'lchamlarini kamaytiradi va to'liq bog'langan qatlamlar tasniflashni amalga oshiradi.
Ushbu misolda bizda mos ravishda 32 va 64 filtrli ikkita konvolyutsion qatlam (Conv2D) va yadro hajmi 3x3. Amaldagi faollashtirish funksiyasi ReLU. Har bir konvolyutsion qatlamdan so'ng, fazoviy o'lchamlarni kamaytirish uchun biz 2x2 hovuz o'lchamiga ega bo'lgan maksimal birlashtiruvchi qatlamni (MaxPooling2D) qo'llaymiz. Ikkinchi birlashtiruvchi qatlamdan so'ng biz ma'lumotlarni tekislaymiz (Flatten()) va uni 128 ta neyron va ReLU faollashuvi bilan to'liq bog'langan qatlamdan (Zich) o'tkazamiz. Bundan tashqari, ortiqcha o'rnatishning oldini olish uchun 0,5 stavkaga ega bo'lgan tushirish qatlamini (Dropout) qo'shamiz. Va nihoyat, bizda 10 ta neyron (har bir sinf uchun bitta) va tasniflash uchun softmax faollashtirish funksiyasi bilan to'liq bog'langan chiqish qatlami mavjud.
Ushbu misol CNN arxitekturasini va Python-dagi Keras kutubxonasidan foydalangan holda konvolyutsiya jarayonini amalga oshirishni ko'rsatadi. Model MNIST ma'lumotlar to'plamidan qo'lda yozilgan raqamlarni tanib olishni o'rganadi, xususiyatlarni ajratib olish uchun konvolyutsion va birlashtiruvchi qatlamlarni qo'llash va tasniflash uchun to'liq bog'langan qatlamlardan foydalanish.







Download 1.32 Mb.

Do'stlaringiz bilan baham:
1   2   3




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