Epoch (Devir)
Veri & eğitimEpoch nedir?
Epoch, bir modelin eğitim verisinin tamamını baştan sona bir kez işlemesidir. Veri setinde bir milyon örnek varsa, model bu örneklerin hepsini bir kez gördüğünde bir epoch tamamlanmış olur.
Eğitim genelde birden fazla epoch sürer. Çünkü model veriyi tek seferde tam olarak öğrenemez; aynı veriyi tekrar tekrar görerek örüntüleri pekiştirir.
Nasıl çalışır?
Her epoch boyunca veri küçük gruplara, yani batch lere bölünür. Model her batch için tahmin yapar, hatasını ölçer ve parametrelerini gradient descent ile günceller. Tüm gruplar işlenince bir epoch biter ve sıradaki epoch aynı veriyle yeniden başlar.
Eğitim ilerledikçe her epoch sonunda modelin hatası, yani loss, genelde düşer. Bu düşüşün ne zaman yavaşladığını izlemek, kaç epoch gerektiğine karar vermenin en pratik yoludur.
Neden önemli?
Epoch sayısı, öğrenme ile ezberleme arasındaki dengeyi belirler. Çok az epoch ile model veriyi yeterince öğrenemez; buna underfitting denir. Çok fazla epoch ile model eğitim verisini ezberler ama yeni verilerde başarısız olur; bu da overfitting dir.
Doğru epoch sayısı sabit bir kural değildir. Veri miktarına, modelin boyutuna ve görevin zorluğuna göre değişir. Bu yüzden eğitim sırasında doğrulama verisindeki performans takip edilir.
Kullanım alanları
Epoch kavramı fine-tuning yaparken en sık karşına çıkar. Kendi verinle bir modeli özelleştirirken kaç epoch döndüreceğin, sonucun kalitesini doğrudan etkiler. Genelde az veriyle birkaç epoch yeterken, büyük veri setlerinde tek epoch bile işe yarayabilir. Early stopping gibi teknikler, model ezberlemeye başlamadan eğitimi otomatik durdurur.