Eğitim Döngüsü Nedir?
İngilizce: Training Loop
Yayın: · Son güncelleme:
Eğitim Döngüsü Nedir? Kısaca
Eğitim döngüsü (training loop), bir makine öğrenmesi modelinin veri üzerinde tekrar tekrar tahmin yapıp hatasını ölçtüğü ve parametrelerini güncellediği tekrarlı süreçtir. Derin öğrenmede model eğitiminin iskeletini oluşturur.

Eğitim döngüsü, modelin "öğrenme" denen sürecini adım adım çalıştıran koddur. Derin öğrenme kütüphanelerinde ister elle yazılsın ister hazır bir fonksiyonla çalıştırılsın, arka planda aynı temel adımlar tekrarlanır.
Eğitim döngüsü nedir?
Döngü iki katmanlıdır. Dış döngü veri setinin tamamı üzerinden yapılan her geçişi, yani her epoch değerini sayar. İç döngü ise veriyi küçük parçalara, yani mini yığınlara (batch) böler ve her yığın için şu adımları uygular:
- İleri geçiş: Model, yığındaki girdiler için tahmin üretir.
- Kayıp hesabı: Tahminler gerçek etiketlerle karşılaştırılır ve kayıp fonksiyonu bir hata değeri üretir.
- Geri yayılım: Geri yayılım ile kaybın her parametreye göre gradyanı hesaplanır.
- Parametre güncelleme: Optimizasyon algoritması, gradyanları kullanarak ağırlıkları küçük bir adımla günceller.
- Gradyanları sıfırlama: Bir sonraki yığına geçmeden önce biriken gradyanlar temizlenir.
Her epoch sonunda model genellikle doğrulama verisi üzerinde değerlendirilir.
Örnek
Varsayımsal olarak 10.000 örnekli bir veri setin ve 100'lük yığın boyutun olsun. Bir epoch 100 iterasyondan oluşur. 20 epoch eğitimde döngü toplam 2.000 kez parametre günceller.
Döngüye eklenen yaygın parçalar
- Kontrol noktası kaydetme: Belirli aralıklarla modelin ağırlıklarını kaydetmek.
- Erken durdurma: Doğrulama performansı iyileşmeyi bıraktığında eğitimi bitirmek.
- Öğrenme oranı planlaması: Eğitim ilerledikçe adım büyüklüğünü değiştirmek.
- Kayıt ve izleme: Kayıp ve metrikleri grafiğe dökmek.
Değerlendirme sırasında dropout gibi yalnızca eğitimde etkin olan katmanların kapatılması ve gradyan hesabının durdurulması gerekir. Bu adımların unutulması, eğitim döngüsündeki en yaygın hatalardandır.
Sıkça Sorulan Sorular
Eğitim döngüsü ile epoch arasındaki fark nedir?
Epoch, veri setinin tamamının bir kez modelden geçirilmesidir. Eğitim döngüsü ise bu epoch'ları ve her epoch içindeki yığın bazlı güncellemeleri yöneten genel süreçtir.
Eğitim döngüsünü elle yazmak gerekir mi?
Gerekmez; pek çok derin öğrenme kütüphanesi hazır eğitim fonksiyonları sunar. Ancak döngüyü elle yazmak, özel kayıp fonksiyonları ya da karmaşık eğitim senaryoları için daha fazla esneklik sağlar.