CNN — rasm, audio spectrogram, video frame va gridga o‘xshash ma’lumotlardagi mahalliy patternlarni o‘rganishga mo‘ljallangan neural network architecture’si. To‘liq nomi Convolutional Neural Network. CNN image classification, object detection, segmentation, OCR, medical imaging va boshqa computer vision vazifalarida keng qo‘llanadi.
CNNning asosiy g‘oyasi bir xil filter vaznlarini inputning turli joylarida qo‘llash orqali edge, texture va murakkab feature’larni aniqlashdir.
Convolution
Convolution kichik kernelni input bo‘ylab siljitib, har joyda weighted sum hisoblaydi.
Masalan, rasm uchun kernel:
3 × 3
o‘lchamda bo‘lishi mumkin.
Har output pixel inputning yaqin hududiga bog‘liq.
Kernel
Kernel yoki filter o‘rganiladigan weightlar matritsasi.
Training boshida random yoki maxsus initializationdan boshlanadi.
Gradient descent kernelni vazifaga foydali patternlarni topadigan holatga keltiradi.
Birinchi layer edge va rang o‘zgarishini o‘rganishi mumkin.
Feature map
Kernel inputga qo‘llanganda feature map hosil bo‘ladi.
Bir layer ko‘p kernel ishlatadi.
Har kernel boshqa feature’ga javob berishi mumkin.
Output channel soni kernel soniga teng bo‘lishi ehtimoli bor.
Channel
Rangli rasm ko‘pincha RGB channelga ega.
Convolution kernel barcha input channellar bo‘ylab ishlaydi va yangi output channel yaratadi.
Keyingi layerlar yuzlab feature channelga ega bo‘lishi mumkin.
Stride
Stride kernel har qadamda necha pixel siljishini belgilaydi.
Stride 1 barcha yaqin pozitsiyalarni ko‘radi.
Stride 2 spatial o‘lchamni kamaytirishi mumkin.
Katta stride mayda detailni yo‘qotishi ehtimoli bor.
Padding
Padding input chetiga qo‘shimcha qiymatlar qo‘shadi.
samega yaqin padding output o‘lchamini saqlaydi.
valid padding qo‘shmaydi va output kichrayadi.
Zero padding keng tarqalgan, ammo chet behavioriga ta’sir qiladi.
Receptive field
Output neuron inputning qaysi hududidan ta’sir olishi receptive field deb ataladi.
Layerlar chuqurlashgani sari receptive field kengayadi.
Kichik kernel ketma-ketligi katta kontekstni ko‘rishi mumkin.
Object recognition uchun local va global information muhim.
Activation
Convolutiondan keyin nonlinear activation ishlatiladi.
Keng tarqalgan:
- ReLU;
- GELU;
- SiLU;
- boshqa variantlar.
Nonlinearity bo‘lmasa bir nechta convolution umumiy bitta linear transformga aylanib qoladi.
Pooling
Pooling spatial o‘lchamni kamaytiradi.
Variantlar:
- max pooling;
- average pooling;
- global average pooling.
Max pooling hududdagi eng katta activationni oladi.
Pooling translationga nisbatan biroz barqarorlik beradi, ammo detailni kamaytiradi.
Batch normalization
Batch normalization layer activationlarini normalizatsiya qilib trainingni barqarorlashtirishi mumkin.
Training va inference statistikasi farq qiladi.
Kichik batchda behavior yomonlashishi ehtimoli bor.
Group yoki layer normalization alternativ bo‘lishi mumkin.
Hierarchical feature
CNN layerlari feature’ni bosqichma-bosqich o‘rganadi:
edge
→ texture
→ qism
→ object
Bu qat’iy universal qoida emas, ammo ko‘p vision modelda shunday hierarchy kuzatiladi.
Chuqur layerlar katta receptive field va abstrakt representationga ega.
Classification
Image classificationda CNN rasmga bitta yoki bir nechta label beradi.
Pipeline:
- convolution backbone;
- feature aggregation;
- classifier head;
- probability.
Multi-class va multi-label vazifalar loss hamda output activationda farq qiladi.
Object detection
Detection rasm ichidagi object class va bounding boxni topadi.
CNN backbone feature map yaratadi.
Detection head turli scale’dagi objectlarni aniqlaydi.
Evaluation uchun precision, recall va mAP ishlatiladi.
Segmentation
Segmentation har pixelga class label beradi.
Semantic segmentation bir classdagi objectlarni ajratmasligi mumkin.
Instance segmentation har object nusxasini alohida topadi.
Encoder-decoder CNN architecture’lari spatial detailni qayta tiklaydi.
Data augmentation
Training rasmlari transform qilinadi:
- crop;
- flip;
- rotation;
- color jitter;
- blur;
- noise;
- mixupga oid usullar.
Augmentation real variationga mos bo‘lishi kerak.
Masalan, matnni horizontal flip qilish semantikani buzishi mumkin.
Transfer learning
Katta datasetda o‘qitilgan CNN backbone yangi kichik datasetga moslashtiriladi.
Avval layerlar frozen bo‘lishi yoki to‘liq fine-tuning qilinishi mumkin.
Pretraining low-level va mid-level feature beradi.
Domain keskin farq qilsa foyda kamayishi mumkin.
1D va 3D CNN
CNN faqat rasm uchun emas.
1D convolution:
- audio;
- signal;
- vaqt qatori;
- text feature.
3D convolution:
Kernel dimension input tuzilishiga mos tanlanadi.
CNN va Transformer
Vision Transformer image patchlar orasidagi attentiondan foydalanadi.
CNN local inductive bias va efficient convolutionga ega.
Zamonaviy vision tizimlar CNN, Transformer yoki hybrid architecture ishlatishi mumkin.
Dataset hajmi va hardware tanlovga ta’sir qiladi.
Depthwise convolution
Oddiy convolution barcha input va output channellarni birgalikda bog‘laydi. Depthwise convolution har input channelga alohida spatial kernel qo‘llaydi, pointwise 1 × 1 convolution esa channellarni aralashtiradi. Bu mobile architecture’da parameter va operation sonini kamaytiradi.
Dilated convolution
Kernel elementlari orasiga bo‘shliq qo‘yib receptive fieldni spatial o‘lchamni kamaytirmasdan kengaytiradi. Segmentation va audio modelda foydali. Juda katta dilation grid artifact yaratishi mumkin.
Interpretability
Activation map, saliency va Grad-CAM model rasmning qaysi hududiga javob berganini ko‘rsatishga yordam beradi. Bu explanation signal, lekin sababiy kafolat emas. Model background yoki watermarkga tayanayotganini aniqlashda foydali.
Bog‘liq tushunchalar
Convolutional Neural Network, Convolution, Kernel, Feature map, Pooling, Receptive field, Image classification, Object detection, Segmentation, Computer vision