Bu modul — kursning markaziy texnik qismi: konvolyutsion tarmoqlar, ularning mashhur arxitekturalari, o’rgatish amaliyoti va rasm klassifikatsiyasidan tashqaridagi vazifalar.
Konvolyutsiya qatlami
To’liq bog’langan qatlam rasmni tekislab fazoviy tuzilmani yo’qotadi. Konvolyutsiya buning o’rniga kichik filtrni (masalan, 3×3×kanallar) rasm bo’ylab surib, har joyda skalyar ko’paytma hisoblaydi — natija feature map. Muhim sonlar: filtr o’lchami, stride (surish qadami), padding (chet to’ldirish), filtrlar soni (chiqish kanallari). Chiqish o’lchami formulasi:
chiqish = (N − F + 2P) / S + 1
masalan: (32 − 3 + 2·1) / 1 + 1 = 32 # 3x3, padding 1 — o'lcham saqlanadi
Pooling (max pool 2×2) xaritani ikki barobar kichraytiradi. Klassik naqsh: conv → ReLU → pool takrorlanib, fazoviy o’lcham kichrayadi, kanallar ko’payadi — tarmoq mayda shtrixlardan (qirralar) yirik tushunchalarga (qismlar, obyektlar) ko’tariladi.
Arxitekturalar evolyutsiyasi
| Arxitektura | Asosiy g’oyasi |
|---|---|
| AlexNet (2012) | chuqur CNN + GPU + katta dataset — ImageNet inqilobi |
| VGG (2014) | faqat 3×3 filtrlar, chuqurlik bilan kuch — soddalik namunasi |
| ResNet (2015) | residual bog’lanish: qatlam F(x) o’rniga F(x) + x o’rganadi |
ResNet’ning kashfiyoti alohida ahamiyatli: oddiy tarmoqlarni 20+ qatlamdan chuqurlashtirsangiz sifat trainda ham yomonlashadi (bu overfitting emas — optimizatsiya qiynaladi). F(x) + x yo’li gradientga to’siqsiz "magistral" ochadi va yuzlab qatlamli tarmoqlarni o’qitish mumkin bo’ladi. Bugungi deyarli har bir arxitekturada residual bog’lanish bor — transformer blokida ham.
O’rgatish amaliyoti
Modulda to’plangan "oshpaz retseptlari": og’irliklarni to’g’ri masshtabda boshlash (He/Xavier initsializatsiya), batch normalization (qatlam kirishlarini barqarorlashtirib chuqur tarmoq o’qitishni osonlashtiradi; train va eval rejimlari farqli!), ma’lumot augmentatsiyasi (kesish, aylantirish, rang o’zgarishi — bepul qo’shimcha dataset), learning rate jadvallari (dastlab katta, asta kamaytirish) va transfer learning: ImageNet’da o’qitilgan tayyor tarmoqni olib, oxirgi qatlamini o’z masalangizga almashtirish — kichik datasetda ham kuchli natija.
Detection va segmentatsiya
Klassifikatsiya "rasmda nima bor?" desa, detection "nima va qayerda?" deydi: har obyekt uchun sinf + bounding box. Sifat o’lchovi — IoU (kesishma/birlashma nisbati). Ikki oqim: ikki bosqichli (R-CNN oilasi: avval nomzod hududlar, keyin klassifikatsiya — aniqroq) va bir bosqichli (YOLO/SSD uslubi: bitta o’tishda — tezroq).
Segmentatsiya yana chuqurroq: semantik segmentatsiya har pikselga sinf beradi (yo’l, osmon, odam), instance segmentatsiya esa obyekt nusxalarini ham ajratadi (1-odam, 2-odam). Bunda tarmoq chiqishi ham rasm o’lchamida bo’lishi kerak — kichraygan xaritani qayta kattalashtiruvchi (upsampling, transpose conv) qatlamlar ishlatiladi.
Videoni tushunish
Video = rasm + vaqt o’lchami. Yondashuvlar: har kadrni alohida CNN bilan qayta ishlab vaqt bo’yicha yig’ish; 3D konvolyutsiya (filtr endi vaqt bo’ylab ham suriladi — harakat naqshlarini bevosita ushlaydi); ikki oqimli tarmoqlar (tashqi ko’rinish + harakat/optik oqim). Vazifalar: harakat klassifikatsiyasi, vaqt bo’yicha lokalizatsiya, kuzatish (tracking).
Amaliyot
- 64×64 rasm, 5×5 filtr, stride 1, padding 0: chiqish o’lchamini hisoblang; padding 2 bilan qaytaring.
- VGG uslubidagi ikkita ketma-ket 3×3 konvolyutsiya bitta 5×5 ga teng qamrovga ega, lekin kam parametrli ekanini hisoblab ko’rsating (kanallar 64 deb oling).
- ResNet’siz 50 qatlamli tarmoq nega yomon o’qitilishini va F(x) + x buni qanday davolashini 3–4 jumla bilan yozing.
- IoU = 0.5 nimani anglatishini chizma bilan tushuntiring; detection’da nega aynan shu chegara ko’p ishlatiladi?
- O’z telefoningizdagi 20 ta rasm bilan mini transfer learning rejasini yozing: qaysi tayyor model, qaysi qatlam almashadi, qanday augmentatsiya?
Modul testi keyingi darsda.