Düzenlileştirme
Düzenlemenin makine öğreniminde aşırı uyumu nasıl önlediğini keşfedin. Model genelleştirmesini iyileştirmek için Ultralytics kullanarak dropout ve ağırlık azalmasını uygulamayı öğrenin.
Düzenleme, makine öğreniminde modellerin aşırı karmaşık hale gelmesini önlemek ve yeni, görülmemiş verilere genelleme yeteneklerini geliştirmek için kullanılan bir dizi tekniktir.
Eğitim sürecinde, bir model genellikle eğitim verileri içindeki karmaşık kalıpları öğrenerek hatasını en aza indirmeye çalışır.
Ancak, kısıtlamalar olmadan model gürültü ve aykırı değerleri ezberlemeye başlayabilir; bu sorun aşırı uyum olarak bilinir.
Düzenleme, modelin kayıp fonksiyonuna bir ceza ekleyerek bu sorunu çözer ve aşırı parametre değerlerini caydırarak algoritmanın daha yumuşak ve daha sağlam kalıpları öğrenmesini sağlar.
Düzenleme, modelin kayıp fonksiyonuna bir ceza ekleyerek bu sorunu çözer ve aşırı parametre değerlerini caydırarak algoritmanın daha yumuşak ve daha sağlam kalıpları öğrenmesini sağlar. Düzenleme, modelin kayıp fonksiyonuna bir
ceza ekleyerek bu sorunu çözer, böylece aşırı parametre değerlerini etkili bir şekilde
engeller ve algoritmayı daha düzgün, daha sağlam kalıpları öğrenmeye zorlar.
Temel Kavramlar ve Teknikler
Düzenleme ilkesi genellikle
Occam'ın Usturası ile karşılaştırılır ve en basit çözümün
genellikle doğru çözüm olduğunu öne sürer. Modeli kısıtlayarak, geliştiriciler modelin tesadüfi korelasyonlardan ziyade
verilerin en önemli özelliklerine odaklanmasını sağlar.
Modern derin öğrenme çerçevelerinde düzenlemeyi uygulamak için birkaç yaygın yöntem kullanılır:
:
-
L1 ve L2 Düzenleme: Bu teknikler, modelin ağırlıklarının büyüklüğüne göre bir ceza terimi ekler.
L2 düzenleme, Ridge Regresyonuveya ağırlık zayıflaması olarak da bilinir ve büyük ağırlıkları ağır bir şekilde cezalandırarak, bunların küçük ve dağınık olmasını teşvik eder. L1 düzenleme veya Lasso Regresyonu, bazı ağırlıkları sıfıra indirerek, etkili bir şekilde özellik seçimi gerçekleştirir.
-
Dropout: Özellikle
sinir ağlarında kullanılan bir
dropout katmanı, eğitim sırasında
nöronların belirli bir yüzdesini rastgele devre dışı bırakır. Bu, ağın özellikleri tanımlamak için yedekli yollar geliştirmesini sağlar ve
tek bir nöronun belirli bir tahmin için darboğaz haline gelmesini önler.
-
Veri Artırma: Öncelikle bir ön işleme adımı olmakla birlikte,
veri artırma güçlü bir
düzenleyici görevi görür. Görüntülerin değiştirilmiş versiyonları (dönüşler, ters çevirmeler, renk
değişiklikleri) ile veri setini yapay olarak genişleterek, model daha fazla değişkenliğe maruz kalır ve orijinal statik örnekleri ezberlemesi engellenir.
-
Erken Durdurma: Bu, eğitim sırasında modelin
doğrulama verileri üzerindeki performansını izlemeyi içerir.
Doğrulama hatası artmaya başlarken eğitim hatası azalırsa, modelin
gürültü öğrenmesini önlemek için işlem durdurulur.
Gerçek Dünya Uygulamaları
Düzenleme, veri değişkenliğinin yüksek olduğu çeşitli endüstrilerde güvenilir AI sistemleri kurmak için vazgeçilmezdir
.
-
Otonom Sürüş:
Otomotiv çözümleri için yapay zeka alanında, bilgisayar görme
modellerinin çeşitli hava koşulları altında detect ve trafik işaretlerini detect gerekir. Düzenleme yapılmazsa, model
eğitim setinden belirli aydınlatma koşullarını ezberleyebilir ve gerçek dünyada başarısız olabilir.
Ağırlık zayıflaması gibi teknikler, algılama sisteminin
yağmur, sis veya parlama gibi durumlarda da iyi bir şekilde genelleme yapmasını sağlar. Bu, otonom araçların güvenliği için çok önemlidir.
Otonom Sürüş:
-
Tıbbi Görüntüleme: Tıbbi görüntü analizi yapılırken,
gizlilik endişeleri veya durumların nadirliği nedeniyle veri kümelerinin boyutu genellikle
sınırlıdır. Burada aşırı uyumlama önemli bir risktir.
Düzenleme yöntemleri, X-ışınları veya MRG'lerdeki detect için eğitilmiş modellerin yeni hasta
verilerinde de doğru kalmasına yardımcı olarak,
sağlık hizmetlerinde yapay zeka ile daha iyi teşhis sonuçları elde edilmesini destekler.
Python'da Uygulama
Modern kütüphaneler, hiperparametreler aracılığıyla düzenlemeyi kolaylaştırır. Aşağıdaki örnek,
uygulama dropout ve weight_decay eğitim sırasında
YOLO26 Model.
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üzenleme değerlerinin performansı nasıl etkilediğini izlemek,
Ultralytics aracılığıyla sorunsuz bir şekilde gerçekleştirilebilir. Bu platform,
eğitim çalışmalarını kaydetmek ve karşılaştırmak için araçlar sunar.
Düzenlileştirme ve İlgili Kavramlar
Düzenli hale getirmeyi diğer optimizasyon ve ön işleme terimlerinden ayırmak faydalı olacaktır:
-
Düzenli hale getirme ve Normalleştirme: Normalleştirme, yakınsamayı hızlandırmak için giriş verilerinin standart bir aralığa ölçeklendirilmesini içerir. gibi teknikler olsa da
Toplu Normalleştirme hafif bir
Düzenleyici etki, birincil amaçları öğrenme dinamiklerini stabilize etmektir, oysa düzenli hale getirme açıkça
karmaşıklığı cezalandırır.
-
Düzenleme ve
Hiperparametre Ayarlama: Düzenleme parametreleri (dropout oranı veya L2 cezası gibi) kendileri hiperparametredir. Hiperparametre
ayarlama, genellikle önyargı-varyans dengesi sağlamak için bu ayarlar için en uygun değerleri arama sürecidir.
.
-
Düzenlileştirme ve Topluluk Öğrenmesi: Ensemble yöntemleri, varyansı azaltmak ve genellemeyi iyileştirmek için birden fazla modelden gelen tahminleri birleştirir. Bir yandan
Bu, düzenli hale getirmeye benzer bir hedefe ulaşır, ancak bunu kısıtlamak yerine farklı modelleri bir araya getirerek yapar
tek bir modelin öğrenilmesi.