Görev tabanlı hesaplamanın, model davranışını düzenlemek için ağırlık güncellemelerini nasıl kullandığını keşfedin. Ultralytics , modeli baştan eğitmeye gerek kalmadan görevleri birleştirmeyi veya özellikleri silmeyi öğrenin.
Görev aritmetiği, önceden eğitilmiş sinir ağlarının davranışını belirli ağırlık güncellemeleri ekleyerek veya çıkararak değiştirmeyi içeren gelişmiş bir makine öğrenimi tekniğidir. Uygulayıcılar, bir modeli sıfırdan tamamen yeniden eğitmek yerine, temel model ile ince ayarlanmış model arasındaki öğrenilmiş farkları ayırabilirler. Bu farklar, esasen belirli bir yeteneği veya davranışı kapsayan yönlü güncellemelerdir. Geliştiriciler, bu güncellemelere toplama ve çıkarma gibi temel matematiksel işlemleri uygulayarak derin öğrenme sistemlerini dinamik olarak düzenleyebilirler. Bu paradigma, görev aritmetiği üzerine yapılan son arXiv araştırmalarında önemli bir ilgi görmüş ve büyük ölçekli modelleri yeni gereksinimlere uyarlamak için hafif, hesaplama açısından verimli bir yöntem sunmuştur.
Bu tekniğin temeli, önceden eğitilmiş bir temel model ile belirli bir veri kümesinde ince ayar işleminden geçirilmiş bir sürüm arasındaki model ağırlık farkının hesaplanmasına dayanır. Bu izole edilmiş fark, yeni becerinin yerelleştirilmiş bir temsili haline gelir. Mühendisler, PyTorch sözlüklerini doğrudan işleyerek veya TensorFlow metodolojilerini kullanarak, bu ağırlık farklarını ölçeklendirebilir ve birleştirebilir. Örneğin, belirli bir ağırlık güncellemesini çıkarmak, bir modeli öğrenilmiş bir davranışı "unutmaya" zorlayabilir; bu kavram, model güvenliği üzerineAnthropic yoğun bir şekilde incelenmiştir.
Aritmetik işlemleri, modern bilgisayar görme ve doğal dil işleme iş akışlarında birçok son derece verimli iş akışının önünü açar:
IEEE Xplore arşivlerinde veya ACM dijital kütüphanesinde gezinirken, görev aritmetiğini ilgili metodolojilerle karıştırmak kolaydır:
Bu model optimizasyon stratejilerini uygulamaya geçirmek, modelin iç durumunun dikkatli bir şekilde yönetilmesini gerektirir. Aşağıda, son dönemdeki bilgisayar görme makalelerinde sıkça ele alınan bir teknik olan PyTorch kullanılarak bir güncellemenin hesaplanması ve uygulanmasına dair bir örnek yer almaktadır.
import torch
# Load the state dictionaries of the pre-trained base and fine-tuned models
base_weights = torch.load("yolo26_base.pt")
tuned_weights = torch.load("yolo26_tuned.pt")
# Calculate the task vector and add it back to the base model with a scaling factor
scaling_factor = 0.5
for key in base_weights.keys():
task_vector = tuned_weights[key] - base_weights[key]
base_weights[key] += scaling_factor * task_vector
Karmaşık veri etiketleme süreçlerini ve çok sayıda ince ayarlı model sürümünü yöneten ekipler için Ultralytics , bulut ortamında yapılan eğitimi ve sorunsuz dağıtımı denetlemek üzere kolaylaştırılmış bir ortam sunarak, yinelemeli model iyileştirmelerinin yönetimini çok daha verimli hale getirir.
Makine öğreniminin geleceği ile yolculuğunuza başlayın