Receptive Field
Alıcı alanı, bir sinir ağındaki tek bir birimi etkileyebilen girdi görüntüsü bölgesidir. Derinlik, adım uzunluğu ve genişletme arttıkça nasıl büyüdüğü, kod örneğiyle.
Bir evrişimli sinir ağındaki (CNN) birimin alıcı alanı, birimin değerini etkileyebilen girdi görüntüsü bölgesidir. Ağın ilk 3 × 3 evrişim katmanındaki birim, piksellerden oluşan 3 × 3'lük bir bölgeyi görür. Daha derin katmanlardaki birimler ise her katmanın önceki katmandaki komşu çıktıları birleştirmesi sayesinde giderek daha büyük bölgeleri görür. Alıcı alan, bir özelliğin kullanabileceği bağlam miktarını belirler: Bir otobüsün tamamını tanıyan birim, otobüsün tamamını görmelidir. Terim, tek bir nöronu etkinleştiren görsel alanı ifade ettiği sinirbilimden gelir.
Alıcı Alanın Genişlemesi#
Her katman, alıcı alana (k − 1) × j piksel ekler. Burada k çekirdek boyutudur; sıçrama olarak adlandırılan j ise girdideki komşu birimler arasındaki girdi pikseli mesafesidir ve önceki tüm adımların çarpımına eşittir. Bunun üç sonucu vardır:
- Küçük çekirdekleri üst üste koyma: Adım değeri 1 olan üç adet 3 × 3 katman, tek bir 7 × 7 katmanla aynı olan 7 × 7'lik bir bölgeyi görür. C kanal için, 7 × 7 katmandaki 49C² ağırlık yerine 27C² ağırlık kullanılır. VGG ağlarının derin 3 × 3 evrişim yığınları oluşturma gerekçesi buydu.
- Adım ve havuzlama: Her adım değeri 2 olan katman veya havuzlama adımı sıçramayı iki katına çıkarır; bu nedenle sonraki katmanlar alıcı alanı iki kat daha hızlı genişletir. CNN'ler, özellik haritalarını küçültürken yüzlerce piksele ulaşan alıcı alanları bu şekilde elde eder.
- Genişletme: Genişletme oranı d olan, genişletilmiş (atrous) bir 3 × 3 evrişimde filtre noktaları d piksel arayla yerleşir ve evrişim 2d + 1 pikseli kapsar. Böylece alt örnekleme yapmadan alıcı alanı büyütür; bu, anlamsal segmentasyon gibi piksel düzeyinde yoğun tahmin görevlerine uygundur.
Alıcı alanı doğrudan ölçmek bu kuralları doğrular: Bir çıktı değerinden geri yayılım yapıp hangi girdi piksellerinin sıfır olmayan gradyan aldığını gör.
import torch
from torch import nn
# Three stacked 3x3 convolutions in three configurations: (stride, dilation)
for name, stride, dilation in (("plain", 1, 1), ("strided", 2, 1), ("dilated", 1, 2)):
convs = [nn.Conv2d(1, 1, 3, stride, padding=dilation, dilation=dilation, bias=False) for _ in range(3)]
for conv in convs:
nn.init.ones_(conv.weight) # positive weights, so no input pixel's gradient cancels out
layers = nn.Sequential(*convs)
# Backpropagate from the central output value; input pixels with nonzero gradient form its receptive field
image = torch.zeros(1, 1, 64, 64, requires_grad=True)
output = layers(image)
output[0, 0, output.shape[2] // 2, output.shape[3] // 2].backward()
rows = image.grad[0, 0].sum(dim=1).nonzero()
size = rows.max().item() - rows.min().item() + 1
print(f"{name}: {size}x{size} pixels")Yalın yığın için 7 × 7, sıçramanın 1'den 2'ye, ardından 4'e çıktığı adımlı yığın için 15 × 15 ve her katmanın 4 piksel eklediği genişletilmiş yığın için 13 × 13 yazdırır.
Teorik ve Etkin Alıcı Alan#
Formül, birimi etkileyebilen tüm pikselleri kapsayan teorik alıcı alanı verir. Etkin alıcı alan, her pikselin gerçekte ne kadar etkisi olduğunu ölçer: Etki, merkezde yoğunlaşan yaklaşık Gauss biçimindedir ve teorik alanın yalnızca bir bölümünü kaplar. Daha büyük çekirdekler bu alanı genişletir. RepLKNet, 31 × 31'e varan derinlik bazlı çekirdekler kullandı ve küçük çekirdekli CNN'lerden çok daha geniş etkin alıcı alanlar bildirdi. Görsel Transformer'larda öz-dikkat, her görüntü parçasının ilk katmandan itibaren diğer tüm parçalardan yararlanmasını sağlar. Böylece teorik alıcı alan, her derinlikte görüntünün tamamını kapsar.
Alıcı Alan ve İlgili Terimler#
- Çekirdek boyutu: Bir evrişimin kendi girdisinden okuduğu pencere; örneğin 3 × 3. Alıcı alan, özgün görüntüde biriken bölgedir. Üst üste konmuş üç adet 3 × 3 çekirdek, 7 × 7 alıcı alan sağlar.
- Özellik haritası: Bir katmanın çıktı ızgarasıdır. Alıcı alan, bu ızgaradaki tek bir konumun arkasındaki girdi bölgesini tanımlar.
- Bağlam penceresi: Bir dil modelinin aynı anda okuduğu belirteç sayısıdır; görüntü ızgarasındaki alıcı alanın dizi karşılığıdır.
Nesne Tespitinde Alıcı Alanlar#
Dedektörler, küçük nesneleri ince özellik haritalarından; büyük nesneleri ise alıcı alanları geniş olan kaba ve derin haritalardan tahmin eder. Özellik piramidi ağı (FPN), derin bağlamı ince haritalara geri taşır. Bir nesneden küçük alıcı alan yalnızca nesnenin bir bölümünü görür. Küçük nesneler yine de ince bir düzeye ihtiyaç duyar; çünkü adım değeri 32 olan bir haritada 20 piksel büyüklüğündeki nesne, bir ızgara hücresinden daha az yer kaplar. YOLO26, 8, 16 ve 32 adım değerlerine sahip haritalardan tahmin yapar. Omurgasının sonunda, adım değeri 32 olan haritaya 5 × 5, 9 × 9 ve 13 × 13 hücreye karşılık gelen pencerelerle maksimum havuzlama uygulayan bir SPPF bloğu ve ardından tüm adım-32 haritasını kapsayan bir öz-dikkat bloğu kullanır.










