Ultralytics YOLO27:
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Task Arithmetic

Görev aritmetiği, görev vektörlerini ekleyerek, çıkararak veya birleştirerek önceden eğitilmiş bir modeli düzenler; eğitim yapmadan becerileri birleştirir veya davranışları kaldırır.

Görev aritmetiği, önceden eğitilmiş bir modeli; her görevde ince ayarın oluşturduğu ağırlık değişiklikleri olan görev vektörlerini toplayıp çıkararak düzenleme yöntemidir. Birden fazla görevin görev vektörünü önceden eğitilmiş model ağırlıklarına eklemek, hepsini yerine getiren tek bir model oluşturur; bir görev vektörünü çıkarmak, diğer görevleri büyük ölçüde etkilemeden modelin o görevdeki başarısını düşürür; vektörleri bir benzetmede birleştirmek ise etiketli veri bulunmayan bir ortama beceri aktarır. Her düzenleme, ağırlıklara eleman bazında toplama uygular; dolayısıyla özgün ince ayarların dışında eğitim verisi veya gradyan adımı gerektirmez. Washington Üniversitesi, Microsoft Research ve Allen Institute for AI'dan Gabriel Ilharco ve çalışma arkadaşları bu yaklaşımı, ICLR 2023'te yayımlanan Editing Models with Task Arithmetic makalesinde tanıttı.

Üç İşlem#

Üç işlem de θ_new = θ_pretrained + λτ_new biçiminde yeni ağırlıklar üretir; λ ölçekleme katsayısı, eğitim dışında tutulan doğrulama verileriyle seçilir. Ilharco ve çalışma arkadaşları işlemleri, trafik işaretleri ve uydu görüntüleri gibi sekiz görüntü sınıflandırma görevinde ince ayarı yapılmış CLIP modellerinde ve GPT-2 ile T5 dil modellerinde test etti.

Olumsuzlama, bir modelin görevi unutmasını sağlamak için τ_new = −τ kullanır. Sekiz CLIP görev vektörünü olumsuzlamak, ViT-L/14 modelinin bu görevlerdeki ortalama doğruluğunu 45,8 yüzde puan düşürürken ImageNet doğruluğunun en az %95'ini korudu. Toksik yorumlarla ince ayarı yapılmış bir vektörü çıkarmak, GPT-2 Large'ın toksik üretim oranını %4,8'den %0,8'e düşürdü; sıradan metinlerdeki şaşkınlık değeri ise özgün modelden 0,5 puandan az farklıydı.

Toplama, çok görevli modeller oluşturmak için τ_new = τ_1 + τ_2 + … kullanır. İki CLIP görevinin vektörlerini toplamak, iki uzmanlaşmış modelin ortalama doğruluğunun %98,9'una sahip tek bir model verdi; sekiz vektörün tamamını toplamak bu oranı %91,2'ye çıkardı.

Benzetmeler, görevler “A'nın B ile ilişkisi, C'nin D ile ilişkisi gibidir” şeklinde bağlantılı olduğunda τ_D ≈ τ_C + (τ_B − τ_A) bağıntısını kullanır. Ilharco ve çalışma arkadaşları, Amazon ve Yelp metinlerinde eğitilmiş dil modelleme vektörleri arasındaki farka Amazon yorumlarının duygu analizine ait bir vektör ekleyerek, etiketli Yelp verisi olmadan Yelp yorumları için bir duygu analizi modeli oluşturdu.

Bu işlemler işe yarar; çünkü farklı görevlerin görev vektörleri, sıfıra yakın kosinüs benzerlikleri ile neredeyse dik yönlere işaret eder; dolayısıyla birini eklemek diğerinin kodladığı bilgiyi pek değiştirmez. Yine de görev sayısı arttıkça girişim büyür; model birleştirme yöntemlerinden TIES-Merging, her vektördeki en küçük değişiklikleri budayıp işaretleri uyuşmayan parametreleri toplama öncesinde uzlaştırarak bu girişimi azaltır.

Kodda Becerileri Ekleme ve Olumsuzlama#

Bu PyTorch örneği, önce 8x8 el yazısı rakamlarıyla küçük bir sınıflandırıcıyı kısa süre önceden eğitir, ardından ilk katmanını iki görev için ince ayardan geçirir: A görevi 0-4 rakamlarını, B görevi ise 5-9 rakamlarını sınıflandırır ve her biri kendi beş dondurulmuş çıktı logitini kullanır; makaledeki her CLIP görevinin kendi dondurulmuş sınıflandırma başlığını kullanması da buna benzer. Ardından önceden eğitilmiş ağırlıkları, iki görev vektörünün farklı birleşimleriyle değerlendirir:

import copy

import torch
from sklearn.datasets import load_digits
from torch import nn

torch.manual_seed(0)
X, y = load_digits(return_X_y=True)
X, y = torch.tensor(X / 16, dtype=torch.float32), torch.tensor(y)
tasks = {"A": (0, 5), "B": (5, 10)}  # task A classifies digits 0-4, task B digits 5-9, each with its own 5 logits
train, test = torch.arange(len(X)) < 1000, torch.arange(len(X)) >= 1000


def task_loss(model, task, rows):
    """Cross-entropy and accuracy of one task's 5-way classifier on the given rows."""
    lo, hi = tasks[task]
    keep = rows & (y >= lo) & (y < hi)
    logits, labels = model(X[keep])[:, lo:hi], y[keep] - lo
    return nn.functional.cross_entropy(logits, labels), (logits.argmax(1) == labels).float().mean().item()


def fit(model, params, steps, loss_fn):
    """Run full-batch SGD on the given parameters."""
    optimizer = torch.optim.SGD(params, lr=0.05, momentum=0.9)
    for _ in range(steps):
        optimizer.zero_grad()
        loss_fn().backward()
        optimizer.step()
    return model


# Pretrained model: a few steps on 200 images of all ten digits
base = nn.Sequential(nn.Linear(64, 64), nn.ReLU(), nn.Linear(64, 10))
fit(base, base.parameters(), 50, lambda: nn.functional.cross_entropy(base(X[:200]), y[:200]))

# Fine-tune the first layer for each task (heads stay frozen) and keep the task vectors
vectors = {}
for task in tasks:
    tuned = copy.deepcopy(base)
    fit(tuned, tuned[0].parameters(), 100, lambda: task_loss(tuned, task, train)[0])
    vectors[task] = {k: v - base.state_dict()[k] for k, v in tuned.state_dict().items()}

edits = {"Pretrained": {}, "+A": {"A": 1}, "+B": {"B": 1}, "+A +B": {"A": 1, "B": 1}, "-A": {"A": -1}}
for name, coefs in edits.items():
    # Pretrained weights plus a weighted sum of task vectors
    model = copy.deepcopy(base)
    weights = {k: v + sum(c * vectors[t][k] for t, c in coefs.items()) for k, v in base.state_dict().items()}
    model.load_state_dict(weights)
    with torch.no_grad():
        print(f"{name}: task A {task_loss(model, 'A', test)[1]:.3f}, task B {task_loss(model, 'B', test)[1]:.3f}")

797 test rakamında, önceden eğitilmiş model A görevinde 0.802, B görevinde 0.897 puanını alır. Yalnızca A görevinin vektörünü eklemek A görevini 0.925 düzeyine çıkarır, B görevini ise 0.850 düzeyine düşürür; bu, sıradan ince ayarda görülen felaket düzeyinde unutmadır. Yalnızca B görevinin vektörünü eklemek tersini yapar. Her iki vektörü eklemek, kendi görevlerinde her uzmanlaşmış modele yaklaşan 0.922 ve 0.940 puanlarına sahip tek bir model oluşturur. A görevinin vektörünü çıkarmak A görevini 0.616 düzeyine düşürürken B görevi yalnızca 0.897 düzeyinden 0.887 düzeyine geçer.

Gereksinimler ve Sınırlar#

Görev aritmetiği, her ince ayarın aynı mimarideki aynı önceden eğitilmiş ağırlıklarla başlamasını gerektirir. Ultralytics YOLO26 yeni bir veri kümesinde eğitim yaptığında, yolo26n.pt konumundan başlayarak şekli uyan tüm önceden eğitilmiş tensörleri kopyalar, sınıflandırma başlığı satırlarını sınıf adlarıyla eşleştirir ve sayıyı “Önceden eğitilmiş ağırlıklardan N/M öğe aktarıldı” şeklinde kaydeder. Sınıf sayıları farklı olan veri kümeleri, son sınıflandırma evrişimlerinin farklı şekillerde olmasına yol açar; dolayısıyla bu çalıştırmalardaki görev vektörleri yalnızca ortak katmanlarda toplanabilir.

Vektörler çakıştığında veya çok fazla ölçeklendiğinde aritmetik de bozulur; çünkü büyük λ değerleri ağırlıkları, ince ayarı yapılmış modellerin iyi performans gösterdiği bölgenin dışına iter. Olumsuzlama, ince ayar verilerinin kapsadığı her alandaki performansı düşürerek makineyi hafifçe unutma biçimine dönüşür. Guillermo Ortiz-Jimenez, Alessandro Favero ve Pascal Frossard'ın Teğet Uzayında Görev Aritmetiği çalışması, başarılı aritmetiğin; ağırlık uzayındaki ayrı yönlerin, girdi uzayının örtüşmeyen ayrı bölgelerinde model çıktılarını değiştirdiği ağırlık ayrışmasından kaynaklandığını gösterdi ve modelin doğrusallaştırılmış bir sürümüne ince ayar yapmanın bu durumu güçlendirdiğini ortaya koydu.

  • Görev vektörleri: Görev aritmetiğinin işlediği ağırlık farklarıdır. Görev aritmetiği; toplama, olumsuzlama ve benzetmeler işlemlerinin bütünüdür.
  • Model çorbaları: Bir görevin performansını artırmak için aynı göreve ait birkaç ince ayarlı modeli ortalar. Görev aritmetiği farklı görevlerin ince ayarlı modellerini toplar; iki görev vektörünü λ = 0.5 ile toplamak, ince ayarı yapılmış iki modeli ortalamaya eşittir.
  • Model düzenleme: Hedefe yönelik, çoğu zaman kapalı biçimli bir ağırlık güncellemesiyle tek bir olguyu veya dar kapsamlı bir davranışı değiştirir. Görev aritmetiği ise tüm görevleri bir kerede düzenler.
  • Çok görevli eğitim: Tüm görevlerin verileriyle tek bir modeli birlikte eğitir; böylece etkileşim önlenir, ancak tüm veri kümelerinin aynı anda hazır olması gerekir. Görev aritmetiği, verileri artık erişilebilir olmayabilecek modelleri birleştirir ve görevleri art arda ince ayarlamaktan kaynaklanan unutmayı önler.

Explore solutions

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ü

Ultralytics YOLO ile drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma 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ü

Ultralytics YOLO modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
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
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ü

Ultralytics YOLO ile drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma 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ü

Ultralytics YOLO modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
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
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ü

Ultralytics YOLO ile drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma 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ü

Ultralytics YOLO modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
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