Makine öğreniminde (ML), özellikle de derin öğrenme modellerinin eğitimi bağlamında, bir epok, öğrenme algoritması aracılığıyla tüm eğitim veri kümesinin tam bir geçişini temsil eder. Modellerin eğitilmesi, modelin verileri tekrar tekrar işleyerek kalıpları öğrendiği yinelemeli bir süreçtir. Epoklar, algoritmanın tüm veri kümesi boyunca kaç kez çalışacağını tanımlayan temel bir hiperparametredir ve modelin verilerdeki her örnekten birden çok kez öğrenmesine olanak tanır.
Epoch Açıklandı
Eğitim süreci sırasında, bir modelin dahili parametreleri veya ağırlıkları, tahminlerinde yaptığı hatalara göre ayarlanır. Bu ayarlama tipik olarak Gradient Descent veya türevleri (örneğin Adam Optimizer) gibi bir optimizasyon algoritması kullanılarak yapılır. Bir epok, eğitim veri kümesindeki her örneğin modelin dahili parametrelerini bir kez güncelleme fırsatı bulduğu anlamına gelir. Büyük veri kümeleri için, tüm veri kümesini bir kerede işlemek hesaplama açısından pahalıdır, bu nedenle veriler genellikle yığın adı verilen daha küçük parçalara bölünür.
Dönem vs Yineleme vs Parti Boyutu
Bir dönemi ilgili terimlerden ayırt etmek önemlidir:
- Toplu İş Boyutu: Bu, modelin ağırlıkları güncellenmeden önce işlenen örnek sayısını tanımlar.
- Yineleme: Bu, bir epoğu tamamlamak için gereken parti sayısını ifade eder. Bir veri kümesinde 1000 örnek varsa ve yığın boyutu 100 ise, bir epok için 10 iterasyon gerekir (1000 örnek / yığın başına 100 örnek = 10 yığın/iterasyon). Her iterasyon bir yığının işlenmesini ve modelin ağırlıklarının güncellenmesini içerir.
- Dönem: Tüm eğitim veri kümesi boyunca bir tam döngü. Yukarıdaki örnekte, 10 iterasyonun tamamlanması bir epok oluşturur.
Bunu bir kitap okumak gibi düşünün: tüm kitap veri kümesidir, bir bölüm bir yığındır, bir bölümü okumak bir yinelemedir ve tüm kitabı baştan sona okumak bir dönemdir.
Çağlar Neden Önemlidir?
Epok sayısı kritik bir hiper parametredir çünkü modelin tam veri kümesinden kaç kez öğreneceğini belirler.
- Çok Az Epok: Bir model çok az epok için eğitilirse, altta yatan kalıpları etkili bir şekilde öğrenmek için verilere yeterince maruz kalmayabilir. Bu durum, modelin hem eğitim verilerinde hem de görülmeyen test verilerinde düşük performans gösterdiği yetersiz uyuma yol açar.
- Çok Fazla Epok: Tersine, çok fazla epok için eğitim aşırı uyuma yol açabilir. Bu senaryoda model, gürültüsü ve belirli ayrıntıları da dahil olmak üzere eğitim verilerini çok iyi öğrenir ve yeni, görülmemiş verilere genelleme yeteneğini kaybeder. Model, eğitim setinde mükemmel doğruluk gösterebilir ancak doğrulama verilerinde veya test verilerinde kötü performans gösterebilir.
Doğru dengeyi bulmak, iyi bir model performansı ve genelleme elde etmenin anahtarıdır. Bu genellikle eğitim sırasında modelin performansının ayrı bir doğrulama veri kümesi üzerinde izlenmesini içerir.
Dönem Sayısının Belirlenmesi
Tek bir "doğru" epok sayısı yoktur; en uygun değer verilerin karmaşıklığına, veri kümesinin boyutuna, model mimarisine ve öğrenme oranına bağlıdır. Yaygın yaklaşımlar şunları içerir:
- Deneme: Farklı sayıda epok denemek ve performansı değerlendirmek.
- Doğrulama Metriklerini İzleme: Bir doğrulama kümesinde kayıp ve doğruluk gibi metriklerin izlenmesi. Eğitim genellikle bu metrikler iyileşmeyi durdurduğunda veya bozulmaya başladığında durdurulur, bu Erken Durdurma olarak bilinen bir tekniktir.
- Hiperparametre Ayarlama: Genellikle Ultralytics Hyperparameter Tuning Guide'da bulunanlar gibi otomatik araçlar veya teknikler kullanarak, epok sayısı da dahil olmak üzere en iyi hiperparametreleri sistematik olarak aramak.
Gerçek Dünyadan Örnekler
- Nesne Algılama: Bir kişiyi eğitirken Ultralytics YOLO modeli, örneğin YOLOv8 veya YOLO11COCO gibi büyük bir veri kümesinde, model 100 veya 300 gibi belirli sayıda epok için eğitilebilir. Her epoch sırasında model, COCO eğitim setindeki tüm görüntüleri işler ve nesneler için sınırlayıcı kutuları ve sınıf etiketlerini daha iyi tahmin etmek için ağırlıklarını ayarlar. Ultralytics HUB gibi platformlar, kullanıcıların bu eğitim sürecini kolayca yönetmesine ve dönemler arasındaki performansı izlemesine olanak tanır.
- Doğal Dil İşleme (NLP): Duygu analizi gibi bir görev için BERT gibi büyük bir dil modelinin eğitilmesi, model aracılığıyla çok miktarda metin verisinin beslenmesini içerir. Eğitim, veri kümelerinin ve modellerin büyüklüğü nedeniyle daha az sayıda epok (örneğin 3-10) üzerinde gerçekleşebilir. Her bir epok, modelin tüm metin külliyatını bir kez görmesini sağlayarak duyarlılıkla ilgili dil nüanslarına ilişkin anlayışını geliştirir. Hugging Face Transformers gibi çerçeveler genellikle ince ayar için varsayılan dönem sayılarını belirtir.
Araçlar ve Çerçeveler
Epoklar, çoğu derin öğrenme çerçevesinde standart bir parametredir:
- PyTorch: Eğitim döngüleri PyTorch epoklar ve gruplar üzerinde açıkça yineleme yapar.
- TensorFlow: Keras gibi üst düzey API'ler TensorFlow kullanıcıların epok sayısını doğrudan
fit
yöntem. - Ultralytics HUB: YOLO gibi eğitim modelleri için kullanıcıların epok sayısını kolayca yapılandırabileceği ve eğitim ilerlemesini görsel olarak izleyebileceği kullanıcı dostu bir arayüz sağlar.
Epoklar, makine öğreniminde yinelemeli öğrenmenin temel taşlarından biridir ve aşırı uyum riskine karşı verilere yeterince maruz kalma ihtiyacını dengeler. Stanford'un CS231n kursu veya Machine Learning Mastery blogu gibi kaynaklarda tartışıldığı gibi, genellikle dikkatli deneyler ve izleme yoluyla doğru sayıda epok seçmek, etkili modeller oluşturmanın anahtarıdır. Google Makine Öğrenimi Sözlüğü gibi kaynaklarda daha fazla tanım bulabilirsiniz.