Regularization
Düzenlileştirmenin makine öğrenmesinde aşırı öğrenmeyi nasıl önlediğini keşfet. Model genellemesini geliştirmek için Ultralytics YOLO26 kullanarak dropout ve ağırlık çürümesini uygulamayı öğren.
Düzenlileştirme, makine öğrenimi alanında modellerin aşırı karmaşık hâle gelmesini önlemek ve yeni, daha önce görülmemiş verilere genelleme yeteneklerini geliştirmek için kullanılan bir dizi tekniktir. Eğitim sürecinde model, genellikle eğitim verilerindeki karmaşık örüntüleri öğrenerek hatasını en aza indirmeye çalışır. Ancak kısıtlamalar olmadan model, gürültüyü ve aykırı değerleri ezberlemeye başlayabilir; bu sorun aşırı öğrenme olarak bilinir. Düzenlileştirme, modelin kayıp fonksiyonuna bir ceza ekleyerek bu sorunu ele alır; böylece aşırı parametre değerlerini caydırır ve algoritmayı daha düzgün, daha dayanıklı örüntüler öğrenmeye zorlar.
Temel Kavramlar ve Teknikler#
Düzenlileştirme ilkesi genellikle Occam'ın Usturası ile karşılaştırılır ve en basit çözümün çoğunlukla doğru çözüm olduğunu öne sürer. Geliştiriciler, modeli kısıtlayarak modelin rastlantısal korelasyonlar yerine verilerin en önemli özelliklerine odaklanmasını sağlar.
Modern derin öğrenme çerçevelerinde düzenlileştirmeyi uygulamak için yaygın olarak çeşitli yöntemler kullanılır:
- L1 ve L2 Düzenlileştirmesi: Bu teknikler, model ağırlıklarının büyüklüğüne dayalı bir ceza terimi ekler. Ağırlık çürümesi veya Ridge Regresyonu olarak da bilinen L2 düzenlileştirmesi, büyük ağırlıkları ağır biçimde cezalandırarak bunların küçük ve dağınık olmasını teşvik eder. Lasso Regresyonu olarak da adlandırılan L1 düzenlileştirmesi, bazı ağırlıkları sıfıra çekerek etkili bir şekilde özellik seçimi gerçekleştirebilir.
- Dropout: Özellikle sinir ağlarında kullanılan dropout katmanı, eğitim sırasında nöronların belirli bir yüzdesini rastgele devre dışı bırakır. Bu, ağı belirli bir tahmin için hiçbir tek nöronun darboğaz hâline gelmemesini sağlayacak şekilde özellikleri tanımlamak için yedek yollar geliştirmeye zorlar.
- Veri Artırma: Öncelikle bir ön işleme adımı olsa da veri artırma, güçlü bir düzenlileştirici olarak görev yapar. Veri kümesini değiştirilmiş görüntü sürümleriyle (döndürmeler, çevirmeler, renk değişimleri) yapay olarak genişleterek model daha fazla çeşitlilikle karşılaşır ve orijinal sabit örnekleri ezberlemesi önlenir.
- Erken Durdurma: Bu yöntemde eğitim sırasında modelin doğrulama verileri üzerindeki performansı izlenir. Eğitim hatası azalırken doğrulama hatası artmaya başlarsa modelin gürültüyü öğrenmesini önlemek için süreç durdurulur.
Gerçek Dünya Uygulamaları#
Düzenlileştirme, veri çeşitliliğinin yüksek olduğu çeşitli sektörlerde güvenilir AI sistemlerini kullanıma sunmak için vazgeçilmezdir.
-
Otonom Sürüş: Otomotiv çözümleri için AI alanında bilgisayarlı görü modelleri, farklı hava koşullarında yayaları ve trafik işaretlerini algılamalıdır. Düzenlileştirme olmadan model, eğitim kümesindeki belirli aydınlatma koşullarını ezberleyebilir ve gerçek dünyada başarısız olabilir. Ağırlık çürümesi gibi teknikler, algılama sisteminin yağmur, sis veya parlamaya iyi genelleme yapmasını sağlar; bu da otonom araçlarda güvenlik açısından kritik öneme sahiptir.
-
Tıbbi Görüntüleme: Tıbbi görüntü analizi gerçekleştirilirken veri kümelerinin boyutu, gizlilik endişeleri veya hastalıkların nadir görülmesi nedeniyle genellikle sınırlıdır. Burada aşırı öğrenme önemli bir risktir. Düzenlileştirme yöntemleri, X ışınlarında veya MRI'larda anomalileri tespit etmek üzere eğitilen modellerin yeni hasta verilerinde doğru sonuç vermeye devam etmesine yardımcı olarak sağlık hizmetlerinde AI alanında daha iyi tanı sonuçlarını destekler.
Python ile Uygulama#
Modern kütüphaneler, hiperparametreler aracılığıyla düzenlileştirme uygulamayı kolaylaştırır. Aşağıdaki örnek, YOLO26 modelini eğitirken dropout ve weight_decay ögelerinin nasıl uygulanacağını gösterir.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train with regularization hyperparameters
# 'dropout' adds randomness, 'weight_decay' penalizes large weights to prevent overfitting
model.train(data="coco8.yaml", epochs=100, dropout=0.5, weight_decay=0.0005)Bu deneyleri yönetmek ve farklı düzenlileştirme değerlerinin performansı nasıl etkilediğini izlemek, eğitim çalışmalarını kaydetme ve karşılaştırma araçları sunan Ultralytics Platform aracılığıyla sorunsuz bir şekilde gerçekleştirilebilir.
Düzenlileştirme ve İlgili Kavramlar#
Düzenlileştirmeyi diğer optimizasyon ve ön işleme terimlerinden ayırt etmek faydalıdır:
- Düzenlileştirme ve Normalizasyon: Normalizasyon, yakınsamayı hızlandırmak için girdi verilerinin standart bir aralığa ölçeklenmesini içerir. Batch Normalization gibi tekniklerin hafif bir düzenlileştirici etkisi olabilse de temel amaçları öğrenme dinamiklerini kararlı hâle getirmektir; düzenlileştirme ise karmaşıklığı açıkça cezalandırır.
- Düzenlileştirme ve Hiperparametre Ayarlama: Düzenlileştirme parametreleri (dropout oranı veya L2 cezası gibi) başlı başına hiperparametrelerdir. Hiperparametre ayarlama, genellikle bias-varyans ödünleşimini dengelemek amacıyla bu ayarlar için en uygun değerleri aramaya yönelik daha kapsamlı süreçtir.
- Düzenlileştirme ve Ensemble Öğrenmesi: Ensemble yöntemleri, varyansı azaltmak ve genelleme yeteneğini geliştirmek için birden fazla modelin tahminlerini birleştirir. Bu yöntem düzenlileştirmeyle benzer bir hedefe ulaşsa da bunu tek bir modelin öğrenmesini kısıtlamak yerine çeşitli modelleri bir araya getirerek yapar.









