Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Capsule Networks (CapsNet)

Kapsül ağları (CapsNets), her parçayı uzunluğu olasılığını, yönü ise pozunu belirten bir vektör olarak kodlar; parçaları dinamik yönlendirmeyle ilişkilendirir.

Kapsül ağları (CapsNets), çıktısı tek bir sayı yerine vektör olan küçük nöron gruplarından, yani kapsüllerden oluşan sinir ağlarıdır. Bir kapsülün vektörünün uzunluğu, rakam, göz veya tekerlek gibi bir varlığın mevcut olma olasılığını; yönüyse o varlığın konum, boyut, yönelim, çizgi kalınlığı ve poz ile deformasyona ilişkin diğer özelliklerden oluşan gerçekleşme parametrelerini kodlar. Geoffrey Hinton, Alex Krizhevsky ve Sida Wang kapsülleri 2011'de otomatik kodlayıcıları dönüştürme üzerine bir makalede tanıttı; Sara Sabour, Nicholas Frosst ve Hinton ise 2017 NIPS'te sunulan Kapsüller Arasında Dinamik Yönlendirme makalesinde onları çalışan bir sınıflandırıcıya dönüştürdü. Bu çalışma, ardışık katmanlardaki kapsülleri uzlaşmaya dayalı yönlendirme adlı yinelemeli bir algoritmayla birbirine bağlar.

Kapsüller Maksimum Havuzlamanın Yerini Neden Alır#

Evrişimli sinir ağı (CNN), özellikleri skaler etkinleşmelerle algılar ve çoğunlukla özellik haritalarını maksimum havuzlamayla küçültür; bu işlem her penceredeki en güçlü yanıtı tutar, ancak bunun pencerenin neresinde gerçekleştiğini atar. Bu, algılamayı küçük kaymalara karşı toleranslı kılar; ancak yalnızca parçaların var olup olmadığını denetleyen bir ağ, ağzı gözlerin üstünde olan bir yüzü, yani Picasso sorununu kabul edebilir. Hinton, değişmezlik yerine eşdeğişmezliği savundu: bir nesne hareket ettiğinde veya döndüğünde kapsülün vektörü de onunla birlikte dönmeli, ancak nesnenin var olma olasılığını belirten uzunluğu aynı kalmalıdır. Bakış açısını bu şekilde öğrenen kapsüller, bir CNN'in nesneleri yeni açılardan tanımak için kullandığı veri artırma yöntemine daha az ihtiyaç duyar.

Ultralytics YOLO26, nesne konumlarını kapsüller olmadan korur: beş adet 2 adımlı evrişim, girdisinin çözünürlüğünü 1/32'ye düşürür; tek maksimum havuzlama bloğu olan SPPF ise 5 x 5 pencerede 1 adımlı havuzlamayı arka arkaya üç kez uygular. Böylece algılama başlığının tahmin yaptığı ızgarayı küçültmeden alıcı alanı genişletir.

Dinamik Yönlendirme Nasıl Çalışır#

Alt katmandaki her kapsül, çıktısını öğrenilmiş bir ağırlık matrisiyle çarparak üst katmandaki her kapsülün çıktısını tahmin eder. Yönlendirme daha sonra her alt kapsülün çıktısının ne kadarının üst kapsüllere ulaşacağına karar verir. Sıfırdan başlayan yönlendirme logitleri üzerindeki bir softmax, her alt kapsülün çıktısını üst kapsüllere bölen bağlantı katsayılarını verir. Her üst kapsül, tahminleri bu katsayılarla ağırlıklandırıp toplar ve vektörün yönünü korurken uzunluğunu 0 ile 1 aralığına eşleyen sıkıştırma işlevini uygular. Her tahmin ile üst kapsülün yeni çıktısı arasındaki nokta çarpımı logite eklenir; böylece alt kapsüller, durumunu tahmin ettikleri üst kapsüllere çıktılarının daha büyük bir bölümünü gönderir:

import torch

torch.manual_seed(0)

# # 6 alt kapsül, 2 üst kapsülün her biri için 8 boyutlu bir poz tahmini yapar
predictions = 0.2 * torch.randn(6, 2, 8)
pose = 0.5 * torch.randn(8)
predictions[:4, 0] = pose + 0.05 * torch.randn(4, 8)  # # 0-3 numaralı alt kapsüller, 0 numaralı üst kapsülle uzlaşır

logits = torch.zeros(6, 2)
for _ in range(3):  # # Makaledeki gibi 3 yinelemeli uzlaşmaya dayalı yönlendirme
    coupling = logits.softmax(dim=1)  # # Her alt kapsül oyunu üst kapsüller arasında paylaştırır
    s = (coupling.unsqueeze(-1) * predictions).sum(dim=0)
    squared = s.square().sum(dim=-1, keepdim=True)
    parents = squared / (1 + squared) * s / squared.sqrt()  # # Sıkıştırma: uzunluk [0, 1) aralığında
    logits = logits + (predictions * parents).sum(dim=-1)  # # Uzlaşma logiti artırır

print(coupling[:, 0].round(decimals=2))
print(parents.norm(dim=-1).round(decimals=2))

tensor([0.9700, 0.9700, 0.9700, 0.9700, 0.5700, 0.4700]) ve tensor([0.9800, 0.1500]) çıktısını verir. Üç yinelemeden sonra uzlaşan dört alt kapsül, çıktılarının %97'sini 0 numaralı üst kapsüle gönderir; diğer iki alt kapsül çıktısını neredeyse eşit paylaşır. Yalnızca dağınık oylar alan 1 numaralı üst kapsülün vektör uzunluğu 0.15'te kalırken 0 numaralı üst kapsülün vektör uzunluğu 0.98'e ulaşır. Yönlendirme, ters yönde çalıştırılan bir dönüştürücünün dikkat mekanizmasına benzer: softmax, bir alt kapsülün besleyebileceği üst kapsüller üzerinde çalışır; böylece üst kapsüller, her alt kapsülün çıktısı için yarışır.

2017 CapsNet'i ve Sonuçları#

Özgün ağ sığdır: 9 x 9 boyutunda 256 çekirdek içeren bir evrişim, 28 x 28 boyutundaki bir rakamı 32 x 6 x 6 = 1.152 adet sekiz boyutlu kapsüle dönüştüren evrişimli bir kapsül katmanı olan PrimaryCaps'i besler; yönlendirme de bunları her sınıf için bir adet 16 boyutlu kapsül içeren DigitCaps'e bağlar. Eğitim; mevcut rakamlar için kapsül uzunluğunu 0,9'un üzerine, diğerleri içinse 0,1'in altına çıkaran kapsül uzunluklarına dayalı bir marj kayıp işlevini, doğru rakam kapsülünden görüntüyü yeniden oluşturan bir kod çözücüyle birleştirir. Bu kod çözücü, 0.0005 ile ölçeklendirilmiş, otomatik kodlayıcı tarzı bir düzenlileştirme terimidir. 16 boyuttan birini değiştirip sonucu çözmek; ölçek, çizgi kalınlığı, eğiklik veya genişlik gibi tek bir özelliği değiştirir. Böylece kapsül çıktıları, açıklanabilir yapay zekâ ile ortak bir hedef doğrultusunda, CNN etkinleşmelerine kıyasla daha kolay incelenebilir.

Temel bir CNN'deki 35,4 milyona karşılık 8,2 milyon parametreyle CapsNet, MNIST testinde temel modelin %0,39'luk hata oranına kıyasla %0,25 hata oranına ulaştı; sınırlayıcı kutuları ortalama %80 oranında üst üste binen rakam çiftlerinden oluşan MultiMNIST'te ise oranlar sırasıyla %5,2 ve %8,1 oldu. Yalnızca en fazla 2 piksel kaydırılmış MNIST rakamlarıyla eğitildiğinde, aynı rakamların rastgele afin dönüşümlerinden oluşan affNIST'te %79 puan aldı; benzer sayıda parametreye sahip CNN ise %66 puan aldı. CIFAR-10 üzerinde yedi CapsNet'ten oluşan bir topluluk %10,6 hata oranına ulaştı; bu, CNN'lerin veri kümesine ilk uygulandığı zamanki sonuçlarla yaklaşık aynıydı. Yazarlar aradaki farkı, kapsüllerin karmaşık arka planlarla başa çıkmaya çalışmasına bağladı.

Sınırlamalar ve Sonraki Kapsül Modelleri#

Yönlendirme, her alt ve üst kapsül çifti üzerinde birkaç yineleme çalıştırır; bu nedenle işlem ve bellek gereksinimleri görüntü boyutu ve sınıf sayısıyla hızla artar. Kapsül ağları, ImageNet gibi büyük görüntü sınıflandırma kıyaslamalarında CNN'lerin veya görüntü dönüştürücülerinin düzeyine hiçbir zaman ulaşamadı. Araştırmacılar kapsülleri, örneğin küçük eğitim kümelerinin bulunduğu MRI taramalarından beyin tümörü türlerini sınıflandırmak için tıbbi görüntü analizinde kullandı.

Hinton, Sabour ve Frosst'un ICLR 2018'de sunduğu EM yönlendirmeli matris kapsüller, poz vektörlerini 4 x 4 poz matrisleriyle değiştirdi ve beklenti-maksimizasyon yöntemiyle yönlendirme yaptı. Farklı bakış açılarından fotoğraflanan oyuncak nesnelerin yer aldığı smallNORB kıyaslamasında test hatalarını önceki en iyi sonuca kıyasla %45 azalttı ve temel CNN'e göre beyaz kutu karşıt saldırılarına daha iyi dayandı. 2019'da, etiket kullanmadan kapsülleri öğrenen yığılmış kapsül otomatik kodlayıcılar geldi. Hinton'ın 2021 tarihli GLOM önerisi ise aynı parça-bütün hiyerarşilerini, tamamen dinamik yönlendirmeden yoksun, üzerinde uzlaşılan gömme vektör adacıkları olarak temsil eder.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla