Barcha kurslar Yo'nalishlar Reyting Kirish Ro'yxatdan o'tish

Ikkinchi blok — freymvorklarning ichki dunyosi: har qatlam mustaqil forward/backward juftligi sifatida yoziladi va ulardan tarmoqlar yig’iladi.

Modulli qatlamlar

Asosiy naqsh: har qatlam forward(x, w) -> out, cache va backward(dout, cache) -> dx, dw juftligi. cache — backward’ga kerak bo’ladigan oraliq qiymatlar ombori. Shu kelishuvga rioya qilinsa, qatlamlarni LEGO kabi istalgan tartibda ulash mumkin — zamonaviy freymvorklarning autogradi ham aynan shu g’oyaning avtomatlashgani. Affine (Linear) qatlam misolida:

def affine_forward(x, w, b):
    out = x @ w + b
    return out, (x, w)

def affine_backward(dout, cache):
    x, w = cache
    return dout @ w.T, x.T @ dout, dout.sum(axis=0)   # dx, dw, db

Batch normalization

G’oya: har qatlam kirishini mini-batch bo’yicha normalizatsiya qilish ((x − μ)/σ), so’ng o’rganiladigan gamma/beta bilan qayta masshtablash. Chuqur tarmoq o’qitishni sezilarli barqarorlashtiradi va tezlashtiradi. Ikki nozik joyi: (1) train’da batch statistikasi ishlatiladi va yuruvchi o’rtacha (running mean/var) yangilanadi, test’da esa o’sha yig’ilgan statistika ishlatiladi — rejimlarni adashtirish klassik bug; (2) backward’i zanjir qoidasining jiddiy mashqi — μ va σ ham x ga bog’liq ekanini unutmaslik kerak.

Dropout

Train’da har neyron p ehtimol bilan o’chiriladi — tarmoq bitta "yo’lakka" suyanib qolmaydi, overfitting kamayadi. Inverted dropout amaliyoti: maska qo’llangach qiymatlar p ga bo’linadi — shunda test vaqtida hech narsa qilish shart emas (kutilgan qiymat saqlangan). Test’da dropout butunlay o’chiq bo’ladi.

Qatlam Train rejimi Test rejimi
Batch norm batch statistikasi + running yangilash running mean/var
Dropout maska + 1/p masshtab o’chiq (identity)

Konvolyutsiya: forward va backward

Topshiriqda konvolyutsiya avval to’rt sikl bilan "sodda va sekin" yoziladi — maqsad tezlik emas, mexanikani his qilish: chiqishning har (i, j) nuqtasi — filtr bilan mos oynaning skalyar ko’paytmasi. Backward’da chiroyli simmetriya ochiladi: kirish bo’yicha gradient — dout’ning filtr bilan "teskari" konvolyutsiyasi; filtr bo’yicha gradient — kirish oynalari bilan dout’ning konvolyutsiyasi. Har oyna filtrga hissa qo’shadi, gradientlar yig’iladi (+=, tenglashtirish emas — yana bir tipik xato). Max-pool backward’i esa gradientni faqat maksimum bo’lgan pozitsiyaga uzatadi.

Yig’ilgan qatlamlardan uch qatlamli CNN (conv → ReLU → pool → affine → ReLU → affine) quriladi va kichik datasetda overfit qilib ko’rsatiladi — "model sog’lig’i" testi: yaxshi implementatsiya 20–30 rasmni 100% yodlay olishi kerak.

Normalizatsiya turlari va PyTorch

Batch norm batchga bog’liq — kichik batchda beqaror. Muqobillar o’rtachalash o’qi bilan farqlanadi: layer norm — har misolning o’z xususiyatlari bo’yicha (batchga bog’liq emas, transformerlarda standart), group norm — kanal guruhlari bo’yicha (ko’rishda kichik batch uchun), instance norm — har kanal alohida.

Yakunda xuddi shu tarmoq PyTorch’ning uch darajasida yoziladi: yalang’och tensor + autograd → nn.Module → tayyor qatlamlar. Har daraja pastdagisining ustiga qurilgani, loss.backward() siz qo’lda yozgan backward’larning avtomatlashgani ekani endi ichdan tushunarli bo’ladi.

Amaliyot

  1. Affine backward formulalarini o’lchamlar mosligidan keltirib chiqaring: dx (N×D), dw (D×M), db (M,) — har biri nega aynan shunday?
  2. Batch norm’da test vaqtida batch statistikasi ishlatilsa nima buzilishini bitta misolli batch bilan tushuntiring.
  3. Inverted dropout’da 1/p masshtabining sababini kutilgan qiymat hisobida ko’rsating (p = 0.5 misolida).
  4. 1D misolda ([1, 2, 3, 4], filtr [1, 0, −1]) konvolyutsiya forward va dx backward’ini qo’lda hisoblang.
  5. Layer norm va batch norm qaysi o’q bo’yicha o’rtachalashini (N, D) matritsada chizib ko’rsating.

Modul testi keyingi darsda.

Topshiriqlar — 2 — konspekt

Topshiriqlar — 2 Maqola

Ikkinchi topshiriqlar bloki konspekti: modulli qatlamlar, batch norm, dropout, konvolyutsiyaning forward/backward o’tishlari va PyTorch darajalari.

Eslatma yozish uchun saytga kiring.

Resurslar hozircha qo'shilmagan

O'qituvchi dars uchun qo'shimcha materiallarni qo'shganida shu yerda paydo bo'ladi.

Savol berish uchun saytga kiring.

Hozircha savollar yo'q

Bu dars yuzasidan birinchi savolni siz bering.