Early Stopping
Erken durdurma, doğrulama performansı ilerlemediğinde eğitimi sonlandırarak gereksiz hesaplamayı ve aşırı öğrenmeyi azaltırken modelin en iyi kontrol noktasını korur.
Erken durdurma, izlenen bir performans ölçütü iyileşmeyi bıraktığında yinelemeli bir makine öğrenimi çalışmasını sonlandıran bir eğitim tekniğidir. Öğrenmenin ne kadar süreceğini doğrulama performansının belirlemesini sağlayarak gereksiz hesaplamayı azaltır ve aşırı öğrenmeyi sınırlar. Sezgisel olarak eğitim, ek alıştırmalar modelin ayrılmış örnekleri ele alma becerisini artık geliştirmediğinde durur. Makine öğrenimi dışında “erken durdurmak”, bir etkinliği planlanan bitişinden önce sonlandırmak anlamına gelir.
Erken Durdurma Nasıl Çalışır#
Eğitim sırasında bir iyileştirici, modeli eğitim verilerini kullanarak günceller. Model, belirli aralıklarla ayrı doğrulama verileri üzerinde değerlendirilir. Doğrulama performansı kötüleşirken eğitim kaybı düşmeye devam edebilir: Bu, modelin eğitim örneklerine özgü ayrıntılara giderek daha fazla uyduğu aşırı öğrenmenin bir işaretidir. Erken durdurma, ayrılmış verilerdeki performansa göre bir durma noktası seçerek bu süreci sınırlar.
Tipik bir uygulama, en iyi doğrulama puanını izler, bu puana karşılık gelen model ağırlıklarını kaydeder ve yeterli iyileşme olmadan art arda yapılan kontrolleri sayar. İyileşme sayacı sıfırlar; yapılandırılan sabır eşiğine ulaşılması eğitimi sonlandırır. En iyi kontrol noktasını geri yüklemek, son eğitim adımından önce ortaya çıkabilecek en güçlü doğrulama sonucunu korur.
Nelson Morgan ve Hervé Bourlard, ileri beslemeli sinir ağları için doğrulamaya dayalı durdurmayı genelleme ve parametre tahmini üzerine 1989 tarihli çalışmalarında tanıttı. Deneyleri konuşma sınıflandırmasını da kapsadı ve bağımsız verileri izleyerek eğitim süresini belirlemenin işe yaradığını gösterdi.
Metrikler, Sabır ve En İyi Ağırlıklar#
Durdurma kuralı çeşitli ayarlara bağlıdır:
- İzlenen metrik: Doğrulama kaybı tahmin hatasını ölçer ve en aza indirilir; doğrulama doğruluğu doğru tahminleri ölçer ve en üst düzeye çıkarılır.
- Sabır ve eğitim süresi: Sabır, eğitimin tolere ettiği başarısız kontrol sayısını belirtir. Bir epoch, eğitim veri kümesinin tamamının bir kez işlenmesidir.
- İyileşme eşiği: Keras bunu
min_deltaolarak adlandırır; ilerleme sayılan en düşük mutlak değişim miktarıdır.restore_best_weights=Trueayarı, izlenen en iyi değere karşılık gelen ağırlıkları geri yükler. - Doğrulama kontrolü sıklığı: PyTorch Lightning sabrı doğrulama kontrollerine göre sayar. Her on epoch'ta bir kontrol yapılması ve sabır değerinin üç olması, en iyi kontrolden sonraki otuz epoch boyunca üç başarısız kontrole izin verir.
Sabır ve iyileşme eşikleri, ağırlık güncelleme sürecinin dışında seçilen ayarlar olan hiperparametrelerdir. Daha düşük sabır değeri, ilerleme göstermeyen çalışmaları daha erken sonlandırır; daha yüksek sabır değeri ise geçici duraklamaların daha uzun sürmesine izin verir. Isınma süresi, ilk öğrenme aşaması oturana kadar izlemeyi geciktirir. Bu ayarlar, optimizasyon güncellemelerinin büyüklüğünü belirleyen öğrenme oranıyla etkileşir.
Kullanım Alanları ve Çalıştırılabilir Örnek#
Erken durdurma hem sinir ağları hem de gradyan artırmalı ağaçlar için kullanılabilir. scikit-learn ile gradyan artırmada her aşamada bir ağaç eklenir ve doğrulamaya dayalı durdurma aşama sayısını belirler. California Housing örneğinde veriyi ayırmak için validation_fraction, doğrulama ilerlemesi durduktan sonra eğitimi sonlandırmak içinse n_iter_no_change kullanılır.
Aşağıdaki örnek, scikit-learn ile birlikte sunulan diyabet veri kümesini kullanır ve gerçekte eğitilen artırma aşamalarının sayısını yazdırır:
from sklearn.datasets import load_diabetes
from sklearn.ensemble import GradientBoostingRegressor
X, y = load_diabetes(return_X_y=True)
# Reserve an internal validation split and monitor progress.
model = GradientBoostingRegressor(
n_estimators=1000,
validation_fraction=0.2,
n_iter_no_change=10,
random_state=42,
)
model.fit(X, y)
print(f"Boosting stages fitted: {model.n_estimators_}/1000")Eğitilen aşama sayısı, durdurma ölçütünün ağaç oluşturmayı 1.000 aşamalık üst sınırın neresinde sonlandırdığını gösterir.
Ultralytics YOLO, patience bağımsız değişkeni aracılığıyla model eğitimi sırasında, YOLO26 dâhil olmak üzere erken durdurma uygular; bu bağımsız değişken, doğrulama başarımının iyileşmediği epoch'ları sayar. Tespit görevlerinde başarım mAP50–95 kullanılarak hesaplanır ve eğitici en iyi kontrol noktasını best.pt olarak kaydeder.
Erken Durdurma ve İlgili Kavramlar#
Erken durdurma, eğitim süresini denetleyen bir düzenlileştirme biçimidir. Ağırlık çürümesi büyük ağırlıkları cezalandırırken dropout, eğitim sırasında birimleri rastgele devre dışı bırakır. Bu yöntemler birlikte kullanılabilir. Eğitimi çok erken durdurmak, yararlı örüntülerin öğrenilmeden kalmasına yol açarak yetersiz öğrenmeye neden olur.
Kontrol noktası kaydetme, model durumlarını saklar; erken durdurma ise optimizasyonun ne zaman sona ereceğine karar verir. Çapraz doğrulama, model seçimlerini değerlendirmek için ayrılmış veri bölümlerini sırayla kullanırken ayrı test verileri son değerlendirmeyi destekler. Durdurma kararı doğrulama sonuçlarına göre bir model seçtiğinden, seçilen kontrol noktasının doğrulama puanı model seçiminin bir parçasıdır.
Keras'ta restore_best_weights varsayılan olarak False değerini kullanır; bu nedenle yalnızca erken durdurmayı etkinleştirmek, modelin son adımdaki ağırlıklarla kalmasına yol açar.










