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

Meta Learning

Meta-öğrenme, bir modelin az sayıda örnekle yeni bir göreve uyum sağlaması için onu çok sayıda görev üzerinde eğitir. Bölümlerin, MAML'ın ve prototip ağların nasıl çalıştığını öğren.

Genellikle "öğrenmeyi öğrenme" olarak adlandırılan meta-öğrenme, modelin yeni bir göreve çoğunlukla az sayıda etiketli örnekle hızla uyum sağlayabilmesi için modeli birbiriyle ilişkili birçok görev üzerinde eğiten bir makine öğrenimi (ML) yaklaşımıdır. Denetimli öğrenme tek bir veri kümesine uyum sağlarken meta-öğrenme, öğrenme sürecinin kendisini optimize eder: başlangıç ağırlıklarını, örnekleri karşılaştırmak için kullanılan gömme uzayını veya tek bir ileri geçişte örneklerden öğrenen bir ağı. Başlıca uygulaması, her biri için bir ila birkaç örnekten yeni sınıfları tanıyan az örnekli öğrenmenin yanı sıra yeni koşullara anında uyum sağlaması gereken robotları ve diğer ajanları kapsar.

Meta-Öğrenme Nasıl Çalışır#

Meta-öğrenme, modelin test sırasında karşılaşacağı durumu taklit eden bölümler hâlinde eğitim yapar. Her bölümde bir görev örneklenir; örneğin, her biri bir etiketli görüntü içeren beş sınıftan oluşturulmuş 5 yönlü, 1 örnekli bir sınıflandırma problemi. Etiketli örnekler destek kümesini, aynı sınıflara ait ve eğitim dışında tutulan örnekler ise sorgu kümesini oluşturur. İç döngüde model destek kümesine uyum sağlar; dış döngüde ise uyarlanmış modelin sorgu kümesindeki başarısına göre meta parametreler güncellenir. Böylece model tek bir görevi ezberlemek yerine iyi uyum sağladığı için ödüllendirilir. Meta testinde kullanılan sınıflar meta eğitiminde hiçbir zaman yer almaz.

Başlıca Yaklaşımlar#

  • Optimizasyon tabanlı: Modelden Bağımsız Meta-Öğrenme (MAML), yeni bir görevin destek kümesinde atılan bir veya birkaç gradyan inişi adımının iyi performans vermesini sağlayan bir başlangıç noktası öğrenir. Dış döngü, iç güncelleme üzerinden türev alır ve bu ikinci dereceden gradyanlar gerektirir. OpenAI'nin Reptile gibi birinci dereceden varyantları, her görevde uyarlanmış ağırlıklara doğru başlangıç noktasını kaydırarak bu maliyetten kaçınır.
  • Metrik tabanlı: Bu yöntemler, örneklerin uzaklığa göre sınıflandırılabileceği bir gömme uzayı öğrenir. Prototip Ağları, her sınıfın destek gömmelerinin ortalamasını alarak bir prototip oluşturur ve her sorguyu en yakın prototipe atar; böylece test sırasında sınıf eklemek için hiç eğitim gerekmez.
  • Model tabanlı: Harici belleğe sahip tekrarlayan sinir ağı (RNN) gibi bir ağ, destek kümesini okur ve sorguların etiketlerini doğrudan tahmin eder; uyarlama prosedürünü aktivasyonlarında öğrenir. GPT-3 makalesi, büyük dil modellerinde (LLMs) bağlam içi öğrenmeyi, istemdeki örneklerden hareketle bir görevi çözme biçimini, bu tür meta öğrenmenin iç döngüsü olarak tanımlarken ön eğitimi dış döngü olarak ele alır.

MAML'ın kendi regresyon kıyaslamasında, küçük bir ağdan her biri 10 noktadan oluşan, genliği ve fazı rastgele belirlenmiş sinüs dalgalarını öğrenmesi istenir. Aşağıdaki PyTorch örneği, her iki döngüyü kullanarak başlangıç değerlerini meta-eğitir ve ardından yeni sinüs dalgalarında tek bir uyarlama adımını test eder:

import torch
import torch.nn.functional as F
from torch import nn
from torch.func import functional_call

torch.manual_seed(0)
net = nn.Sequential(nn.Linear(1, 40), nn.ReLU(), nn.Linear(40, 40), nn.ReLU(), nn.Linear(40, 1))
meta_optimizer = torch.optim.Adam(net.parameters(), lr=0.001)


def sine_task_losses():
    """Sample a sine-wave task, adapt on 10 points with one gradient step, and return query losses before and after."""
    amplitude, phase = torch.empty(1).uniform_(0.1, 5), torch.empty(1).uniform_(0, 3.14)
    x = torch.empty(20, 1).uniform_(-5, 5)
    y = amplitude * torch.sin(x + phase)
    params = dict(net.named_parameters())
    support_loss = F.mse_loss(functional_call(net, params, x[:10]), y[:10])
    grads = torch.autograd.grad(support_loss, list(params.values()), create_graph=True)  # inner loop
    adapted = {name: p - 0.01 * g for (name, p), g in zip(params.items(), grads)}
    before = F.mse_loss(functional_call(net, params, x[10:]), y[10:])
    after = F.mse_loss(functional_call(net, adapted, x[10:]), y[10:])
    return before, after


# Outer loop: update the shared initialization so that one inner step fits each new task
for step in range(10000):
    meta_loss = sum(sine_task_losses()[1] for _ in range(4))
    meta_optimizer.zero_grad()
    meta_loss.backward()
    meta_optimizer.step()

# On 500 unseen sine waves, compare query error before and after the one-step adaptation
losses = torch.tensor([[loss.item() for loss in sine_task_losses()] for _ in range(500)])
print(f"query MSE before adaptation: {losses[:, 0].mean():.2f}, after one step: {losses[:, 1].mean():.2f}")

query MSE before adaptation: 3.10, after one step: 0.70 çıktısını verir. Meta-öğrenilmiş başlangıç noktası belirli bir sinüs dalgasına uymaz; ancak 10 nokta üzerinde atılan tek bir gradyan adımı, görülmemiş bir dalganın yeni noktalarındaki hatayı dört kattan fazla azaltır.

  • Aktarım öğrenmesi: Uyarlanabilirlik için optimize etmeden, büyük bir görevde eğitilmiş ağırlıkları başka bir görevin başlangıç noktası olarak yeniden kullanır. Özel bir veri kümesinde COCO ile önceden eğitilmiş bir Ultralytics YOLO26 algılayıcısını ince ayarlamak, aktarım öğrenmesidir: başlangıç ağırlıkları COCO üzerinde sıradan eğitimden gelir ve uyarlama, az sayıda örnek ve birkaç gradyan adımı yerine etiketli bir veri kümesi ve çok sayıda eğitim epoch'u kullanır.
  • Az örnekli öğrenme: Çok az örnekten öğrenme problemidir. Meta-öğrenme çözümlerden biridir; basit bir sınıflandırıcıyla kullanılan önceden eğitilmiş gömmeler de başka bir çözümdür.
  • Otomatik makine öğrenimi (AutoML): Genellikle tek seferde bir veri kümesi için mimari ve hiperparametre araması yapar. Bazı incelemeler, görevler arasında hiperparametre öğrenimini meta-öğrenme olarak değerlendirir.
  • Sürekli öğrenme: Önceki görevleri unutmadan bir görev dizisi öğrenirken meta-öğrenme, modeli yeni görevleri hızla öğrenmeye hazırlar.

Kıyaslamalar ve Bulgular#

Az örnekli görüntü kıyaslamaları, meta-öğrenme araştırmalarının çoğuna yön verdi: Omniglot, 50 alfabeden 1.623 el yazısı karakter içerir; miniImageNet ise her biri 600 görüntü içeren 100 ImageNet sınıfını meta-eğitim, doğrulama ve test için ayrı sınıflara böler. Sonraki iki çalışma, meta-öğrenmenin katkısını sorguladı. “Hızlı Öğrenme mi, Özellik Yeniden Kullanımı mı?” MAML'in başarısının esas olarak dış döngüde öğrenilen özelliklerin yeniden kullanılmasından geldiğini gösterdi; iç döngüde yalnızca son katmanı uyarlayan basitleştirilmiş ANIL varyantı da MAML ile aynı sonucu verdi. Ardından “Az Örnekli Görüntü Sınıflandırmasını Yeniden Düşünmek”, meta-eğitim sınıflarında olağan denetimli veya öz denetimli eğitimle öğrenilmiş, iyi bir gömme üzerine kurulu doğrusal sınıflandırıcının o dönemin önde gelen az örnekli meta-öğrenme yöntemlerinden daha iyi performans gösterdiğini buldu.

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