Bilgi damıtmanın, büyük öğretmenlerden kompakt öğrencilere zekayı nasıl aktardığını öğrenin. Hızlı ve verimli uç dağıtımı için Ultralytics optimize edin.
Bilgi damıtma, makine öğreniminde kullanılan sofistike bir tekniktir. Bu teknikte, "öğrenci" olarak adlandırılan kompakt bir sinir ağı, "öğretmen" olarak bilinen daha büyük ve daha karmaşık bir ağın davranışını ve performansını yeniden üretmek üzere eğitilir. Bu sürecin temel amacı, Bu sürecin temel amacı, model optimizasyonudur. Bu sayede geliştiriciler, ağır mimarilerin tahmin yeteneklerini, kaynak kısıtlı donanımlarda kullanıma uygun hafif modellere aktarabilirler. Öğretmenin tahminlerinde kodlanan zengin bilgileri yakalayarak, öğrenci modeli genellikle yalnızca ham verilerle eğitildiğinde elde edilenden çok daha yüksek bir doğruluk oranına ulaşır ve yüksek performans ile verimlilik arasındaki boşluğu etkili bir şekilde doldurur.
Geleneksel denetimli öğrenmede, modeller eğitim verilerinden"sert etiketler" kullanılarak eğitilir; burada bir görüntü kesin olarak kategorize edilir (örneğin, %100 "köpek" ve %0 "kedi"). Ancak, önceden eğitilmiş bir öğretmen modeli, tüm sınıflara olasılıklar atayan bir softmax fonksiyonu aracılığıyla bir çıktı üretir. Bu olasılık dağılımları "yumuşak etiketler" veya "karanlık bilgi" olarak bilinir.
Örneğin, bir öğretmen modeli bir kurt görüntüsünü analiz ederse, %90 kurt, %9 köpek ve %1 kedi tahmininde bulunabilir. Bu dağılım, kurtun köpekle görsel özellikleri paylaştığını ortaya koyar; bu, sabit etiketlerin göz ardı ettiği bir bağlamdır. Damıtma sürecinde öğrenci, tahminlerini öğretmenin yumuşak etiketleriyle uyumlu hale getirmek için Kullback-Leibler sapması gibi bir kayıp fonksiyonunu en aza indirir. Geoffrey Hinton'ın araştırmalarıyla popüler hale gelen bu yöntem, öğrencinin daha iyi genelleme yapmasına yardımcı olur ve daha küçük veri kümelerinde aşırı uyumu azaltır. Öğrenme süreci, öğrencinin öğretmenin etiketlerini öğrenmesi için bir dizi deneme ve hata döngüsünden oluşur.
Bilgi damıtma, hesaplama kaynaklarının kısıtlı olduğu ancak yüksek performansın tartışılmaz olduğu sektörlerde çok önemlidir.
Bilgi damıtmayı diğer sıkıştırma stratejilerinden ayırmak önemlidir, çünkü bunlar modelleri temelden farklı şekillerde değiştirirler.
Pratik bir iş akışında, önce öğrenci olarak hizmet verecek hafif bir mimari seçersiniz. Ultralytics , veri kümelerini yönetmek ve bu verimli modellerin eğitim track için kullanılabilir. Aşağıda, kenar dağıtımı için ideal olan ve öğrenci ağı olarak hizmet veren kompakt bir YOLO26 modelini başlatma örneği verilmiştir: :
from ultralytics import YOLO
# Load a lightweight YOLO26 nano model (acts as the student)
# The 'n' suffix denotes the nano version, optimized for speed
student_model = YOLO("yolo26n.pt")
# Train the model on a dataset
# In a custom distillation loop, the loss would be influenced by a teacher model
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)