Junior — Senior
1x1 konvolütsiya nima va uni nima uchun ishlatiladi?
sobes.tech AI
AIdan javob
1x1 конволюция — bu, 1x1 pikseldan iborat yadroni o'z ichiga olgan konvolyutsiya operatsiyasidir. U, kirish tensorining kanallar sonini (chuqurligini) o'zgartirish uchun konvolyutsion neyron tarmoqlarda qo'llaniladi va fazoviy o'lchamlarni (kenglik va balandlik) o'zgartirmaydi.
1x1 konvolyutsiyaning asosiy qo'llanmalari:
- Kanallar o'lchamini kamaytirish yoki oshirish, bu esa parametrlar sonini va hisoblash yukini kamaytirishga yordam beradi.
- 1x1 konvolyutsiyadan so'ng aktivatsiya funksiyalari yordamida qatlamlar o'rtasida no liniyaliklarni kiritish.
- Kanallar o'rtasida ma'lumotlarni aralashtirish, xususiyatlar taqdimotini yaxshilash.
PyTorch misoli:
import torch
import torch.nn as nn
conv1x1 = nn.Conv2d(in_channels=64, out_channels=128, kernel_size=1)
input_tensor = torch.randn(1, 64, 32, 32) # partiya hajmi=1, 64 kanal, 32x32
output = conv1x1(input_tensor)
print(output.shape) # torch.Size([1, 128, 32, 32])