loop Neden Birden Fazla Epoch Gerekir?
Bir öğrenciye 1000 sayfalık bir kitabı bir kez okutursanız, konuyu tam anlayamaz. Kitabı ikinci kez okuduğunda daha iyi anlar, 10. kez okuduğunda ustalaşır. Yapay zeka da böyledir. 1 Epoch, 10.000 fotoğrafın hepsine bir kez bakılmasıdır. Modelin detayları kavraması için genellikle 50 veya 100 Epoch'a (aynı veriyi 100 kez turlamaya) ihtiyaç vardır.
balance Epoch Sayısını Belirlemek
Eğer Epoch çok düşük (Örn: 2) olursa, model hiçbir şey öğrenemez (Underfitting). Eğer Epoch çok yüksek (Örn: 1000) olursa, model veriyi tamamen ezberler ve yeni durumlara adapte olamaz (Overfitting). Veri bilimciler Loss grafiğine bakarak 'Erken Durdurma' (Early Stopping) yöntemiyle en ideal Epoch anında eğitimi keserler.
Epoch, Batch ve Iteration İlişkisi
- check_circle Epoch: Tüm Verinin Bir Kez Görülmesi: Model eğitim verisinin tamamını bir kez işlediğinde bir epoch tamamlanır. 10.000 örnekli veri seti ile 10 epoch eğitim yapılırsa model bu örnekleri toplamda 10 kez görür. Her epoch tamamlandığında genellikle doğrulama seti üzerinde performans ölçülür.
- check_circle Batch: Her Seferinde İşlenen Örnek Grubu: Model tüm veriyi aynı anda değil, küçük gruplara (batch) bölerek işler. Batch boyutu (batch size) tipik olarak 16, 32, 64 veya 128 olarak seçilir. Küçük batch → daha gürültülü ama daha düzenli güncelleme; büyük batch → daha kararlı ama bellek gereksimi yüksek.
- check_circle Iteration: Her Batch için Bir Güncelleme: Her batch'in işlenmesi ve parametre güncellemesi bir iteration'dır. 10.000 örnek ve batch boyutu 100 ise 1 epoch = 100 iteration. 3 epoch eğitim = 300 iteration = 30.000 örnek görülmesi. Learning rate scheduler, warmup adımları ve early stopping çoğunlukla iteration sayısına göre ayarlanır.
- check_circle Gradient Accumulation: GPU belleği kısıtlı olduğunda büyük batch boyutu kullanmak mümkün olmayabilir. Gradient accumulation, birkaç küçük batch'in gradyanlarını topladıktan sonra tek bir büyük güncelleme yapmayı sağlar. Örnek: 32'lik batch boyutu ve 4 adım birikim = 128'lik efektif batch boyutu; bellek kullanımı değişmez.
Doğru Epoch Sayısı: Early Stopping ve LR Scheduling
Kaç epoch eğitim yapılmalı sorusunun evrensel cevabı yoktur; veri boyutu, model karmaşıklığı ve görev türüne göre değişir. Çok az epoch → underfitting: model veriyi yeterince öğrenemez. Çok fazla epoch → overfitting: model eğitim verisini ezberler, doğrulama performansı bozulur. Early stopping bu dengeyi otomatik bulur: doğrulama kaybı belirli bir sabır (patience) sayısı kadar iyileşmediğinde eğitim durdurulur. Learning rate scheduling da epoch/iteration tabanlıdır: cosine annealing, step decay ve warmup stratejileri eğitim süresince öğrenme hızını yönetir. LLM ince ayarında (fine-tuning) genellikle 1-5 epoch yeterlidir; görüntü sınıflandırma modellerinde 50-200 epoch tipiktir.
Sıkça Sorulan Sorular
- check_circle Epoch nedir?: Epoch, makine öğrenmesi modelinin eğitim verisinin tamamını bir kez işlediği eğitim döngüsüdür. Eğitim genellikle birden fazla epoch ile yapılır; her epoch'ta model parametreleri güncellenir ve doğrulama performansı ölçülür.
- check_circle Epoch ile iteration arasındaki fark nedir?: Epoch: tüm eğitim verisinin bir kez işlenmesi. Iteration: tek bir batch'in işlenmesi ve parametre güncellemesi. Eğer veri seti 1000 örnek ve batch boyutu 50 ise: 1 epoch = 20 iteration (1000/50 = 20). 10 epoch eğitim = 200 toplam iteration.
- check_circle Kaç epoch eğitim yapmak gerekir?: Görev ve model büyüklüğüne bağlıdır. LLM ince ayarı: genellikle 1-5 epoch. Sıfırdan görüntü sınıflandırma: 50-200 epoch. En iyi pratik: early stopping — doğrulama performansı iyileşmediğinde otomatik durdurma kullan. Bu hem overfitting'i önler hem de gereksiz hesaplamayı engeller.