Model Weights
Model ağırlıklarının AI bilgisini nasıl temsil ettiğini öğren. Ultralytics YOLO26'nın daha hızlı ve doğru eğitim ile çıkarım için optimize edilmiş ağırlıkları nasıl kullandığını keşfet.
Model ağırlıkları, makine öğrenimi modelinin girdi verilerini tahmin edilen çıktılara dönüştüren öğrenilebilir parametreleridir. Bir sinir ağında bu ağırlıklar, farklı katmanlardaki nöronlar arasındaki bağlantıların gücünü temsil eder. Bir model başlatıldığında bu ağırlıklar genellikle küçük, rastgele değerlere ayarlanır; bu da modelin hiçbir şey "bilmediği" anlamına gelir. Eğitim adı verilen süreç boyunca model, yaptığı hatalara göre bu ağırlıkları yinelemeli olarak ayarlar ve verilerdeki örüntüleri, özellikleri ve ilişkileri kademeli olarak tanımayı öğrenir. Model ağırlıklarını yapay zekânın "hafızası" veya "bilgisi" olarak düşünebilirsin; sistemin eğitim verilerinden öğrendiklerini depolarlar.
Öğrenmede Ağırlıkların Rolü#
Bir sinir ağını eğitmenin temel amacı, modelin tahminleri ile gerçek referans arasındaki hatayı en aza indiren en uygun model ağırlıkları kümesini bulmaktır. Bu süreç, verilerin ağdan geçirilmesini (ileri geçiş olarak bilinen bir adım) ve ardından belirli bir kayıp fonksiyonu kullanılarak bir kayıp değerinin hesaplanmasını içerir. Tahmin yanlışsa Stokastik Gradyan İnişi (SGD) gibi bir optimizasyon algoritması veya YOLO26 içinde kullanılan daha yeni Muon optimizer, her ağırlığın hataya ne kadar katkıda bulunduğunu hesaplar.
Geri yayılım adı verilen bir teknik sayesinde algoritma, bir sonraki seferde hatayı azaltmak için ağırlıkları küçük miktarlarda günceller. Bu döngü, model ağırlıkları kararlı hâle gelene ve sistem yüksek doğruluğa ulaşana kadar binlerce veya milyonlarca kez tekrarlanır. Eğitim tamamlandığında ağırlıklar "dondurulur" ve kaydedilir; böylece model, yeni ve daha önce görülmemiş veriler üzerinde çıkarım için dağıtıma alınabilir.
Model Ağırlıkları ve Bias'lar#
Birlikte çalışsalar da farklı amaçlara hizmet ettikleri için ağırlıklar ile bias'ları birbirinden ayırmak önemlidir. Model ağırlıkları, nöronlar arasındaki bağlantının gücünü ve yönünü (aktivasyonun eğimini) belirlerken bias'lar, aktivasyon fonksiyonunun sola veya sağa kaydırılmasını sağlar. Bu ofset, tüm girdi özellikleri sıfır olduğunda bile modelin verilere daha iyi uymasını sağlar. Ağırlıklar ve bias'lar birlikte, Evrişimli Sinir Ağları (CNNs) gibi mimarilerin davranışını tanımlayan öğrenilebilir parametreleri oluşturur.
Gerçek Dünya Uygulamaları#
Model ağırlıkları, yapay zekâ sistemlerinin çeşitli sektörlerde çalışmasını sağlayan temel bileşendir. İşte nasıl uygulandıklarına dair iki somut örnek:
- Perakendede Bilgisayarlı Görü: Bir akıllı süpermarket sisteminde YOLO26 gibi bir model, raflardaki ürünleri tanımlamak için eğitilmiş ağırlıklarını kullanır. Ağırlıklar, mısır gevreği kutusunun şekli veya gazoz kutusunun rengi gibi görsel özellikleri "öğrenmiştir"; bu da sistemin ürünleri algılamasına, envanteri yönetmesine ve hatta otomatik ödeme süreçlerini verimli bir şekilde yürütmesine olanak tanır.
- Tıbbi Görüntü Analizi: Sağlık hizmetlerinde derin öğrenme modelleri, X-ray veya MRI taramalarını analiz etmek için özel ağırlıklardan yararlanır. Örneğin, tümör tespiti için eğitilmiş bir model, sağlıklı doku ile olası anormallikleri ayırt etmek için ağırlıklarını kullanır. Bu ağırlıklar, insan gözünün fark etmesinin zor olabileceği piksel verilerindeki karmaşık, doğrusal olmayan örüntüleri yakalayarak radyologların daha hızlı tanı koymasına yardımcı olur.
Ağırlıkları Kaydetme ve Yükleme#
Uygulamada model ağırlıklarıyla çalışmak, eğitilmiş parametrelerin bir dosyaya kaydedilmesini ve daha sonra tahmin veya ince ayar için yüklenmesini içerir. Ultralytics ekosisteminde bunlar genellikle .pt (PyTorch) dosyaları olarak depolanır.
Önceden eğitilmiş ağırlıkların bir YOLO modeline nasıl yükleneceğini ve tahmin çalıştırılacağını gösteren basit bir örnek:
from ultralytics import YOLO
# Load a model with pre-trained weights (e.g., YOLO26n)
model = YOLO("yolo26n.pt")
# Run inference on an image using the loaded weights
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")Aktarım Öğrenimi ve İnce Ayar#
Model ağırlıklarının en güçlü özelliklerinden biri taşınabilir olmalarıdır. Geliştiriciler, büyük veri kümeleri ve önemli miktarda işlem gücü gerektiren bir modeli sıfırdan eğitmek yerine, genellikle aktarım öğrenimini kullanır. Bu süreçte COCO veya ImageNet gibi büyük bir veri kümesi üzerinde önceden eğitilmiş ağırlıklara sahip bir model alınır ve belirli bir göreve uyarlanır.
Örneğin, genel bir nesne algılama modelinin ağırlıklarını alıp bunlara daha küçük bir güneş paneli veri kümesi üzerinde ince ayar uygulayabilirsin. Önceden eğitilmiş ağırlıklar kenarları, şekilleri ve dokuları zaten anladığından model çok daha hızlı yakınsar ve daha az etiketli veri gerektirir. Ultralytics Platform gibi araçlar bu süreci kolaylaştırarak ekiplerin veri kümelerini yönetmesine, modelleri bulutta eğitmesine ve optimize edilmiş ağırlıkları uç cihazlara sorunsuz bir şekilde dağıtmasına olanak tanır.
Sıkıştırma ve Optimizasyon#
Modern yapay zekâ araştırmaları genellikle performanstan ödün vermeden model ağırlıklarının dosya boyutunu azaltmaya odaklanır; bu süreç model niceleme olarak bilinir. Ağırlıkların kesinliğini (örneğin 32 bit kayan noktadan 8 bit tam sayılara) azaltarak geliştiriciler bellek kullanımını önemli ölçüde düşürebilir ve çıkarım hızını artırabilir. Bu, modellerin cep telefonları veya Raspberry Pi cihazları gibi kaynakları kısıtlı donanımlara dağıtılması için kritik öneme sahiptir. Ayrıca budama gibi teknikler çıktıya çok az katkıda bulunan ağırlıkları kaldırarak modeli gerçek zamanlı uygulamalar için daha da yalın hâle getirir.









