Bir dropout katmanının sinir ağlarında aşırı uyumu nasıl önlediğini keşfedin. Doğruluğu artırmak için Ultralytics ile bu düzenleme tekniğini uygulamayı öğrenin.
Dropout katmanı, yaygın aşırı uyum sorunuyla mücadele etmek için sinir ağlarında (NN) kullanılan temel bir düzenleme tekniğidir. Bir model, sınırlı sayıda örnek üzerinde eğitildiğinde, genellikle temel genel kalıpları ayırt etmek yerine, eğitim verilerinin gürültüsünü ve belirli ayrıntılarını ezberlemeyi öğrenir. Bu ezberleme, geliştirme sırasında yüksek doğruluk sağlar, ancak yeni, görülmemiş girdilerde düşük performansla sonuçlanır. Dropout, eğitim sürecinin her adımında bir katmandaki nöronların bir kısmını rastgele devre dışı bırakarak veya "düşürerek" bu sorunu çözer. Srivastava ve diğerleri tarafından yayınlanan çığır açıcı bir araştırma makalesinde tanıtılan bu basit ama etkili strateji, derin öğrenme (DL) mimarilerinin kararlılığını ve performansını önemli ölçüde geliştirmiştir . .
Dropout katmanının arkasındaki mekanizma, antrenman sırasında bir spor takımından oyuncuları çıkararak kalan oyuncuları daha çok çalışmaya ve tek bir yıldız sporcuya güvenmemeye zorlamaya benzer. Model eğitim aşamasında, katman sıfır ve birlerden oluşan olasılıklı bir maske oluşturur. Düşme oranı 0,5 olarak ayarlanırsa, nöronların yaklaşık %50'si belirli bir ileri ve geri geçiş sırasında geçici olarak göz ardı edilir. Bu süreç, kalan aktif nöronları bağımsız olarak sağlam özellikleri öğrenmeye zorlar ve ağın tek bir nörona aşırı derecede güvenmesini önler. Bu fenomen, makine öğreniminde (ML) özelliklerin birlikte uyumlanması olarak bilinir.
Gerçek zamanlı çıkarım veya test aşamasında, dropout katmanı genellikle devre dışı bırakılır. Tüm nöronlar, eğitilmiş modelin tam tahmin kapasitesini kullanmak için aktif kalır . Toplam aktivasyon değerlerinin eğitim aşamasıyla tutarlı kalmasını sağlamak için, ağırlıklar genellikle çerçeve tarafından otomatik olarak ölçeklendirilir. PyTorch gibi modern kütüphaneler PyTorch gibi modern kütüphaneler bu matematiksel ölçeklendirme işlemlerini sorunsuz bir şekilde gerçekleştirir ve geliştiricilerin aritmetik yerine mimariye odaklanmalarını sağlar.
Kullanıcılar için ultralytics paket, en son teknolojiye sahip bir modele dropout uygulayarak
YOLO26 bir eğitim argümanını ayarlamak kadar basittir. Bu
özellikle aşırı uyum riskinin daha yüksek olduğu daha küçük veri kümeleriyle çalışırken yararlıdır. Rastgelelik
ekleyerek, modelin farklı ortamlarda daha iyi genelleme yapmasını sağlayabilirsiniz.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model with a custom dropout rate of 0.1 (10%)
# This encourages the model to learn more generalized features
results = model.train(data="coco8.yaml", epochs=50, dropout=0.1)
Dropout, modellerin mevcut verilere göre çok sayıda parametreyi kullandığı yapay zeka (AI) alanlarının çeşitli alanlarında vazgeçilmezdir. Bu makalede, dropout'un yapay sinir ağlarında öğrenme hızını ve verimliliği artırmak için kullanılan bir teknik olduğunu açıklıyoruz.
Dropout oldukça etkili olmakla birlikte, genellikle diğer tekniklerle birlikte kullanılır. Veri artırma, ağ mimarisinin kendisini değil, giriş görüntülerini (örneğin, çevirme veya döndürme) değiştirir. Benzer şekilde, yığın normalleştirme, öğrenmeyi stabilize etmek için katman girdilerini normalleştirir, ancak nöronları açıkça devre dışı bırakmaz.
Karmaşık projelerde, bu hiperparametreleri yönetmek zor olabilir. Ultralytics , eğitim metriklerini görselleştirme araçları sağlayarak bu süreci basitleştirir ve kullanıcıların, bırakma oranlarının doğrulama kaybını etkili bir şekilde azalttığını belirlemelerine yardımcı olur. İster özel bir görüntü sınıflandırma sistemi ister sofistike bir segmentasyon boru hattı oluşturuyor olun, bırakmayı anlamak dayanıklı AI sistemleri oluşturmanın anahtarıdır.