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

Memory Bank

Bellek bankası, bir modelin yeni girdileri tek bir partidekinden çok daha fazla örnekle karşılaştırabilmesi için önceki partilerden, karelerden veya referans görüntülerden gelen gömmeleri saklar.

Bellek bankası, bir modelin daha önce hesapladığı özellik vektörlerini veya gömme vektörlerini, yeni girdilerin tek bir gruba veya ileri geçişe sığabilecek olandan çok daha fazla örnekle karşılaştırılabilmesi için saklayan bir depodur. Yönteme bağlı olarak saklanan vektörler önceki eğitim gruplarından, önceki video karelerinden veya normal görüntülerden oluşan bir referans kümesinden gelir. Banka, benzerlik aramaları ya da dikkat mekanizmasıyla okunur ve yeni vektörler geldikçe güncellenir. Bellek bankaları bilgisayarlı görü alanındaki üç konunun merkezinde yer alır: her adımda binlerce negatif örnek sundukları karşıtsal öğrenme; önceki karelerde bir nesnenin nasıl göründüğünü hatırladıkları video bölümleme ve izleme; normal verilerin nasıl göründüğünü tuttukları anomali tespiti.

Karşıtsal Öğrenmede Bellek Bankaları#

Karşıtsal öz denetimli öğrenme, bir kodlayıcıyı aynı görüntünün iki görünümünü birbirine yaklaştıracak ve diğer görüntüleri uzaklaştıracak şekilde eğitir. Daha fazla negatif örnek, genellikle daha iyi bir eğitim sinyali sağlar. Daha fazla görüntüyle karşılaştırma yapmak için normalde daha büyük bir grup boyutu gerekir; bunu GPU belleği sınırlar. Zhirong Wu ve çalışma arkadaşları bu amaçla bellek bankasını CVPR 2018'de Parametrik Olmayan Örnek Ayırt Etme Yoluyla Denetimsiz Özellik Öğrenimi başlıklı çalışmada tanıttı: Banka, 1,28 milyon ImageNet eğitim görüntüsünün her biri için 128 boyutlu bir özellik tutuyor, görüntü yeniden görüldüğünde ilgili girdiyi yeniliyor ve her adımda buradan binlerce negatif örnek seçiyordu. Girdiler kodlayıcının eski sürümleri tarafından yazıldığı için saklanan özellikler güncelliğini yitiriyor ve mevcut modelle tutarsız hâle geliyordu.

Facebook AI Research'ten Kaiming He ve çalışma arkadaşlarının geliştirdiği Momentum Contrast (MoCo), bu sorunu bir kuyruk ve ikinci bir kodlayıcıyla çözdü. Banka, varsayılan olarak en yeni grupların 65.536 anahtarını tutar; her yeni grup kuyruğa eklenirken en eski grup çıkarılır. Anahtarlar, ağırlıkları ana kodlayıcıyı yavaşça izleyen bir momentum kodlayıcısından gelir. Bu kodlayıcının ağırlıkları eski değerlerinin 0,999 katı ile ana kodlayıcının ağırlıklarının 0,001 katının toplamı olarak güncellenir; böylece farklı adımlarda yazılan anahtarlar birbiriyle tutarlı kalır.

Video Bölümleme ve İzlemede Bellek Bankaları#

Videoda bellek bankası, modelin önceki karelere başvurarak örtülme ve görünüm değişiklikleriyle başa çıkmasını sağlar. Uzay-Zaman Belleği ağları (STM), geçmiş karelerin anahtar ve değer özelliklerini maskeleriyle birlikte sakladı ve her yeni kareyi bunlara dikkat ederek segmente ayırdı; XMem, bu yaklaşımı ayrı kısa süreli ve uzun süreli bellekler kullanarak uzun videolara genişletti. Meta'nın SAM 2'si, kullanıcının istem verdiği kareleri ve en güncel kareleri içeren bir bellek bankası tutar; bellek dikkati her yeni karenin özelliklerini bu karelere göre koşullandırır, böylece maske görüş alanından çıkıp yeniden giren bir nesneyi takip eder. Ultralytics paketinde SAM 2, varsayılan olarak istem verilen karelere ve en son 6 kareye dikkatini yöneltir; SAM2DynamicInteractivePredictor, update_memory=True ile çağrıldığında istem verilen bir görüntüdeki nesnenin durumunu bellek bankasına ekler ve daha sonraki görüntüleri sakladığı bilgilere göre segmentlere ayırır.

Çoklu nesne izleyicileri, yeniden kimlik belirleme için de aynı fikirden yararlanır: DeepSORT her izin son 100 görünüm tanımlayıcısından oluşan bir galeri tutar ve yeni tespitleri, saklanan tanımlayıcıları en çok benzeyen izle eşleştirir.

Anomali Tespiti için Bellek Bankaları#

Karsten Roth ve çalışma arkadaşlarının CVPR 2022'de sunduğu PatchCore, kusursuz ürün görüntülerinden ImageNet üzerinde önceden eğitilmiş bir CNN'nin çıkardığı yama özelliklerinden bir bellek bankası oluşturur. Bir test yaması, saklanan en yakın özelliğe olan uzaklığıyla puanlanır; görüntü puanı ise en kötü yama puanıdır. Böylece normal yamaların hiçbirine benzemeyen her şey öne çıkar. Açgözlü çekirdek alt örnekleme, özelliklerin yayılımını korurken bunların yalnızca küçük bir bölümünü tutar. Yöntem, MVTec AD endüstriyel kusur tespiti kıyaslamasında görüntü düzeyinde %99,6'ya kadar AUROC değerine ulaştı.

Bu PyTorch örneği, ham pikselleri özellik olarak kullanıp aynı yöntemi 8x8 el yazısı rakamlara uygular: 3 rakamından 100 görüntü bellek bankasını oluşturur, diğer tüm rakamlar ise anomali sayılır:

import torch
from sklearn.datasets import load_digits
from sklearn.metrics import roc_auc_score

X, y = load_digits(return_X_y=True)
X, y = torch.tensor(X / 16, dtype=torch.float32), torch.tensor(y)
normal = X[y == 3]  # images of the digit 3 play the role of defect-free parts
memory_bank = normal[:100]  # memory bank: stored features of 100 normal images
test = torch.cat([normal[100:], X[y != 3]])  # unseen 3s plus every other digit as anomalies
is_anomaly = torch.cat([torch.zeros(len(normal) - 100), torch.ones(len(X) - len(normal))])

# Greedy coreset: repeatedly keep the stored feature farthest from everything kept so far
coreset = [0]
distance = torch.cdist(memory_bank, memory_bank[:1])[:, 0]
for _ in range(9):
    coreset.append(int(distance.argmax()))
    distance = torch.minimum(distance, torch.cdist(memory_bank, memory_bank[coreset[-1:]])[:, 0])

for name, bank in [("Full memory bank, 100 entries", memory_bank), ("Coreset, 10 entries", memory_bank[coreset])]:
    scores = torch.cdist(test, bank).min(dim=1).values  # anomaly score: distance to the nearest stored feature
    print(f"{name}: AUROC {roc_auc_score(is_anomaly, scores):.3f}")

1.697 test görüntüsünde tam bellek bankası, görülmemiş 83 adet 3 rakamını diğer rakamlardan ROC eğrisi altındaki alan (AUC) değeri 0.984 ile ayırır. 10 girdili çekirdek alt küme ise 0.982 puanını alır ve belleğin onda birini ve daha az arama işlemini kullanarak algılama başarısının neredeyse tamamını korur.

  • Vektör veri tabanı: Gömme vektörlerini kalıcı olarak saklar ve birçok uygulamanın benzerlik araması yapmasını sağlar. Bellek bankası ise tek bir modelin eğitim veya çıkarım döngüsünde, genellikle GPU belleğinde bulunur ve model çalışırken üzerine yazılır.
  • Bağlam penceresi: Bir dönüştürücünün tek geçişte dikkat uyguladığı belirteçlerdir. Bellek bankası, diğer gruplardan, karelerden veya görüntülerden gelen vektörleri bu pencerenin dışında tutar.
  • Transformer-XL: Önceki metin bölümünün gizli durumlarını, sonraki bölümün dikkat uyguladığı bir bellek olarak önbelleğe alır. Bu etkinleşme bellek bankası, bir dil modelinin erişimini tek bir pencerenin ötesine taşır.
  • Zor negatif örnek madenciliği: Eğitim için ayırt edilmesi en zor negatif örnekleri seçer. Bellek bankası, bu seçimde kullanılabilecek geniş bir negatif örnek havuzu sağlar.
  • Epizodik bellek: Yapay zekâ ajanlarında ve pekiştirmeli öğrenmede, kararları yönlendirmek için geri çağrılan geçmiş deneyimlerin deposudur. Bellek bankaları ise negatif örnekler, geçmiş kareler veya normal yamalar gibi modelin kendi hesaplamalarında kullandığı vektörleri saklar.

Çö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