Yakuniy blok zamonaviy arxitekturalarni qo’lda yig’ish: ketma-ketlik modellari, transformerlar, self-supervised va generativ modellar.
Image captioning: RNN
Vazifa: rasm → jumla. CNN’dan olingan xususiyat vektori RNN’ning boshlang’ich yashirin holatiga aylanadi; so’ng har qadamda oldingi so’z embeddingi kirib, keyingi so’z bashorat qilinadi. O’qitishda teacher forcing: kirishga modelning o’z bashorati emas, haqiqiy oldingi so’z beriladi (o’qitish barqaror). Generatsiyada esa <START>dan boshlab model o’z bashoratini o’ziga qaytarib beradi — <END>gacha. Loss — har qadamdagi softmax cross-entropy, padding tokenlari maskalanadi.
Multi-head attention
Attention qatlamining o’zini yozish: X dan uch chiziqli proyeksiya bilan Q, K, V olinadi, softmax(QKᵀ/√d)·V hisoblanadi. Multi-head: d o’lcham h boshga bo’linadi, har bosh mustaqil attention qiladi, natijalar birlashtirilib (concat) yana proyeksiyalanadi. Implementatsiya deyarli to’liq reshape/transpose mashqi: (N, T, d) → (N, h, T, d/h) — o’lchamlarni chalkashtirmaslik asosiy jang. Sabab-oqibat maskasi (causal mask) kelajak tokenlarga −∞ qo’yib, generatsiyada "oldinni ko’rish"ni taqiqlaydi.
Vision Transformer (ViT)
Rasm 16×16 patchlarga kesiladi, har patch tekislanib chiziqli qatlam bilan embedding qilinadi — "rasm so’zlari" hosil bo’ladi. Pozitsion embedding qo’shilib, odatdagi transformer bloklari qo’llanadi; klassifikatsiya maxsus [CLS] token chiqishidan olinadi. CNN’dagi lokallik va translyatsiya invariantligi kabi induktiv moyilliklar ViT’da yo’q — shuning uchun kichik datasetda CNN’dan yutqazadi, juda katta datasetda esa o’zib ketadi.
SimCLR: kontrastiv o’rganish
Batch’dagi har rasmdan ikki augmentatsiya olinadi (kesish, rang buzish...). Enkoder + kichik proyeksiya boshi embedding beradi. NT-Xent loss: juftlar (bir rasmning ikki ko’rinishi) o’zaro yaqin, batch’dagi qolgan hammasi — negativ, uzoq bo’lishi kerak; harorat (temperature) parametri qattiqlikni sozlaydi. O’qitilgan enkoder ustiga muzlatilgan holda chiziqli klassifikator qo’yib baholanadi (linear probe) — yorliqsiz o’rganilgan xususiyatlarning kuchi shunda ko’rinadi.
Diffuziya: shovqindan rasmgacha
Uch qismli mashq:
- Forward jarayon — rasmga T qadamda gauss shovqini qo’shib borish; istalgan t qadamga bitta formula bilan sakrash mumkin (alfa jadvallari).
- UNet — shovqinli rasm + t qadam raqamini olib, qo’shilgan shovqinni bashorat qiladigan tarmoq: enkoder-dekoder + skip bog’lanishlar (mayda detallar dekoderga to’g’ridan-to’g’ri o’tadi), t esa vaqt-embedding sifatida qatlamlarga beriladi.
- Sampling — sof shovqindan boshlab T qadam teskari yurish: har qadamda bashorat qilingan shovqin ayirilib, ozgina yangi shovqin qo’shiladi. Sinf yorlig’i berib shartli generatsiya, ikki bashorat aralashmasi bilan guidance kuchaytiriladi.
CLIP va DINO
Yakunda ikki tayyor asos model tahlil qilinadi. CLIP: rasm va matn enkoderlari umumiy fazoga o’qitilgan — sinf nomlarini "a photo of a {sinf}" shablonida embedding qilib, rasmga eng yaqinini tanlash = zero-shot klassifikatsiya. DINO: self-supervised ViT — attention xaritalari yorliqsiz o’qitilganiga qaramay obyektni fondan ajratib "segmentatsiya" qilganday ko’rinadi. Ikkalasi bitta xulosani beradi: to’g’ri o’qitilgan tasavvur (representation) ko’p vazifaga tayyor holda keladi.
Amaliyot
- Captioning’da teacher forcing bilan erkin generatsiya farqini kirish-chiqish jadvalida ko’rsating (3 so’zli jumla misolida).
- (N=2, T=3, d=8, h=2) uchun multi-head attention’dagi barcha oraliq shape’larni yozib chiqing.
- 32×32 rasm 8×8 patch’larga bo’linsa nechta token chiqadi? Har token embeddinggacha necha son saqlaydi (RGB)?
- SimCLR’da batch=4 bo’lsa, bitta ko’rinish uchun nechta positiv va nechta negativ juft bor?
- Diffuziya sampling’ida nega har qadamda ozgina shovqin qayta qo’shilishini (sof deterministik tozalash emasligini) o’ylab, taxminingizni yozing.
Kursning yakuniy testi keyingi darsda.