Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Epok

Makine öğreniminde dönem nedir ve model eğitimi üzerinde nasıl bir etkisi vardır? Optimizasyonu keşfedin, aşırı uyumu önleyin ve Ultralytics kolaylıkla eğitin.

Bir dönem, makine öğrenimi algoritması tarafından tüm eğitim veri seti üzerinden yapılan bir tam döngüyü temsil eder. Bu süreçte, model, verilerdeki her örnek temelinde iç parametrelerini tam olarak bir kez güncelleme fırsatına sahiptir. Derin öğrenme bağlamında, tek bir geçiş, bir sinir ağının karmaşık kalıpları etkin bir şekilde öğrenmesi için nadiren yeterlidir. Bu nedenle, eğitim genellikle birden fazla epok içerir ve öğrenme algoritmasının anlayışını yinelemeli olarak geliştirmesine ve tahminleri ile gerçek durum arasındaki hatayı en aza indirmesine olanak tanır.

Optimizasyonda Çağların Rolü

Eğitimin temel amacı, belirli bir kayıp fonksiyonunu en aza indirmek için model ağırlıklarını ayarlamaktır. Stokastik gradyan inişi (SGD) veya Adam gibi optimizasyon algoritmaları, her dönem boyunca hesaplanan hatayı kullanarak bu ayarlamaları yönlendirir. Dönem sayısı arttıkça, model genellikle yüksek hata durumundan (rastgele tahmin) daha düşük hata durumuna (öğrenilen modeller) geçer.

Ancak, doğru dönem sayısını seçmek, hiperparametre ayarlamasının kritik bir yönüdür. hiperparametre ayarlaması.

  • Çok az dönem: Bu, modelin verilerin temel eğilimini henüz yakalayamadığı underfitting'e yol açabilir. .
  • Çok fazla dönem: Bu genellikle aşırı uyumlamaya neden olur; model, yeni verilere genelleme yapmak yerine eğitim gürültüsünü ezberler. Bunu önlemek için, geliştiriciler genellikle doğrulama verilerindeki performansı izler ve genelleme iyileşmeyi durdurduğunda eğitimi durdurmak için erken durdurma gibi teknikler kullanır.

Dönem vs. Toplu İşlem vs. Yineleme

Yeni başlayanların "epoch" ile ilgili terimleri karıştırması yaygındır. Bu kavramların hiyerarşisini anlamak eğitim döngülerini doğru şekilde yapılandırmak için gerekli:

  • Epoch: Tüm veri setini bir kez tamamen tarama.
  • Toplu iş: Veri kümesinin aynı anda işlenen bir alt kümesi. Veri kümeleri genellikle GPU bir kerede sığmayacak kadar büyük olduğundan, toplu iş boyutuna göre tanımlanan daha küçük gruplara bölünürler. Toplu iş boyutu, bir seferde işlenecek veri miktarını belirler.
  • İterasyon: Modelin ağırlıklarına yapılan tek bir güncelleme. Bir veri kümesinde 1.000 görüntü varsa ve toplu iş boyutu 100 ise, bir dönemi tamamlamak için 10 iterasyon gerekir.

Gerçek Dünya Uygulamaları

Gerekli olan dönem sayısı, görevin karmaşıklığına ve verilerin boyutuna bağlı olarak büyük ölçüde değişir.

  • Tıbbi Görüntü Analizi: MRG taramalarında tümörleri tespit etmek gibi tıbbi görüntü analizinde doğruluk çok önemlidir. Bu görevler için eğitilen modeller genellikle yüzlerce dönem boyunca çalışır. Bu kapsamlı eğitim, evrişimli sinir ağı (CNN) malign dokuyu sağlıklı dokudan ayıran ince anomalileri ayırt edebilmesini sağlar ve potansiyel olarak hayat kurtarabilir.
  • Otonom Sürüş: Otonom araçlar için, nesne algılama modelleri yayaları, işaretleri ve diğer araçları güvenilir bir şekilde tanımlamalıdır. Bu sağlam sistemlerin eğitimi genellikle COCO gibi büyük veri kümelerini içerir. COCO veya Objects365 gibi büyük veri kümeleri içerir. Veri kümesi boyutu çok büyük olsa da, model, çeşitli hava ve ışık koşullarına iyi bir şekilde genelleme yapabilen bir çözüme ulaşmak için yine de birden fazla döneme ihtiyaç duyar.

Kod ile Eğitim Döngülerini Yönetme

Ultralytics gibi modern çerçeveler kullanıldığında Ultralytics YOLOkullanırken, epoch sayısını tanımlamak eğitim komutunda basit bir argümandır. Ultralytics gibi araçlar, her epoch üzerindeki kayıp eğrilerini görselleştirerek optimum durma noktasını belirlemeye yardımcı olabilir.

Aşağıdaki örnek, bir YOLO26 modelini eğitirken epoch sayısını nasıl ayarlayacağınızı göstermektedir:

from ultralytics import YOLO

# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")

# Train the model for 50 epochs
# The 'epochs' argument determines how many times the model sees the entire dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

Bu kod parçacığında epochs=50 argümanı, eğitim motoruna coco8.yaml veri setini 50 farklı kez. Her döngü sırasında, model ileri yayılım ve geri yayılım (backpropagation) algılama yeteneklerini geliştirmek için .

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın