tag Regularization
Bu sayfada Regularization etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.
Düzenlileştirme (Regularization), makine öğrenimi modellerinin eğitim verisine aşırı uyum sağlaması (overfitting) problemini önlemek için kayıp fonksiyonuna ek bir ceza terimi ekleyen teknikler ailesidir. Temel amaç, modelin eğitim setini ezberlemek yerine görülmemiş verilere genelleştirme kapasitesini artırmaktır. Aşırı öğrenme (overfitting), bir modelin eğitim verilerindeki gürültüyü ve ayrıntıları kapasitesi sayesinde öğrenmesi ama yeni veriye uygulandığında başarısız olması durumudur. Düzenlileştirme bu sorunu ağırlık değerlerini küçük tutmaya zorlayarak çözer: büyük ağırlıklar modelin tek veri noktalarına aşırı duyarlı olduğuna işaret eder; ceza terimi bu değerleri sıfıra yakın tutarak daha düz ve genelleşebilir bir karar sınırı öğretir. **L2 Düzenlileştirme (Ridge / Ağırlık Sönümlemesi)** en yaygın yöntemdir. Kayıp fonksiyonuna tüm ağırlıkların karelerinin toplamı λΣw² eklenir. Bu formülasyon büyük ağırlıkları cezalandırır ama hiçbirini tam sıfıra indirgemez; sonuç olarak tüm özellikler modelde küçük de olsa katkıda bulunur. Deep learning'de "weight decay" olarak da anılır ve PyTorch optimizer'larında `weight_decay` parametresiyle doğrudan kullanılır. **L1 Düzenlileştirme (Lasso)**, λΣ|w| ceza terimiyle bazı ağırlıkları tam sıfıra iter; bu sayede otomatik özellik seçimi gerçekleşir. Yüzlerce özellik içinden yalnızca birkaç kritik birinin önemli olduğu durumlar için idealdir. L1 ile L2'yi birleştiren Elastic Net, her iki avantajdan yararlanır. **Dropout**, derin sinir ağlarına özgü güçlü bir düzenlileştirme yöntemidir: eğitim sırasında her adımda nöronların rastgele bir oranı (ör. %20-50) devre dışı bırakılır. Model, belirli nöronlara güvenemeyeceği için farklı yollarla aynı sonuca ulaşmayı öğrenir; bu da ansambl etkisi yaratır. Çıkarım sırasında tüm nöronlar etkin olur ve ağırlıklar bırakma oranıyla ölçeklenir. **Erken Durdurma (Early Stopping)**, doğrulama kaybı artmaya başladığı noktada eğitimi kesen örtük bir düzenlileştirme yöntemidir. Model henüz eğitim setini ezberlemeye geçmeden öğrenme durdurulur. Uygulamada λ hiperparametresi kademeli grid search veya Bayesian optimizasyonla ayarlanır; çok büyük λ modeli yetersiz öğrenmeye (underfitting) iter.
Dropout (Düzenlileştirme Tekniği)
Dropout, derin sinir ağı eğitimi sırasında her güncelleme adımında belirli bir olasılıkla (dropout oranı, p) gizli katman nöronlarının çıkışlarını sıfırlayan ve bu şekilde modelin belirli nöronlara bağımlılığını kıran bir düzenlileştirme tekniğidir. 2014 yılında Srivastava ve arkadaşları tarafından önerilen bu yöntem, derin öğrenme tarihinin en etkili yeniliklerinden biri olarak kabul görmektedir. Temel fikir, eğitim sırasında ağı sürekli değişen rastgele alt ağlar üzerinde çalıştırarak her nöronun diğer nöronların varlığına ya da yokluğuna göre hareket etmeyi öğrenmesini önlemektir. Bu mekanizma, ko-adaptasyonu (co-adaptation) kırar ve her nöronu bağımsız olarak yararlı özellikler çıkarmaya zorlar. Ağ böylece tek bir nörona veya nöron grubuna aşırı güvenmek yerine dağıtık temsiller öğrenir. Pratikte dropout oranı p=0.5, tam bağlı katmanlar için standart başlangıç noktası olarak yaygın biçimde kullanılmaktadır. Ancak giriş katmanlarında p=0.1-0.2, konvolüsyonel katmanlarda daha düşük değerler tercih edilir; bu katmanlarda zaten az parametre bulunduğundan çok yüksek dropout aşırı bilgi kaybına yol açabilir. Batch normalization ile birlikte kullanıldığında dikkatli olmak gerekir; ikisi arasındaki etkileşim bazen istenmeyen davranışlara neden olabilmektedir. Test aşamasında dropout tamamen devre dışı bırakılır; tüm nöronlar aktif kalır. Ağırlıklar eğitim sırasında kullanılan seyrelmeyi telafi etmek için (1−p) çarpanıyla ölçeklenir. Modern çerçeveler "inverted dropout" uygular: eğitim sırasında kalan nöronların çıkışları 1/(1−p) ile çarpılır, böylece test aşamasında ekstra işlem gerekmez. PyTorch'ta torch.nn.Dropout(p=0.5) ve Keras'ta layers.Dropout(0.5) ile tek satırda eklenir. Dropout ayrıca Bayesian derin öğrenmeyle de ilişkilendirilmektedir. Test zamanında da dropout açık tutularak birden fazla tahmin yapılırsa (MC Dropout), bu tahminlerin dağılımı modelin belirsizliğine dair istatistiksel bilgi üretir. Özellikle tıbbi teşhis ve otonom araç gibi güvenlik açısından kritik uygulamalarda bu özellik son derece değerlidir. Spatial Dropout ise konvolüsyonel ağlarda tüm özellik haritası kanallarını sıfırlayarak uzamsal bağıntıları daha etkili biçimde kırmaktadır.
Regularization (Düzenlileştirme)
Düzenlileştirme (Regularization), makine öğrenimi modellerinin eğitim verisine aşırı uyum sağlaması (overfitting) problemini önlemek için kayıp fonksiyonuna ek bir ceza terimi ekleyen teknikler ailesidir. Temel amaç, modelin eğitim setini ezberlemek yerine görülmemiş verilere genelleştirme kapasitesini artırmaktır. Aşırı öğrenme (overfitting), bir modelin eğitim verilerindeki gürültüyü ve ayrıntıları kapasitesi sayesinde öğrenmesi ama yeni veriye uygulandığında başarısız olması durumudur. Düzenlileştirme bu sorunu ağırlık değerlerini küçük tutmaya zorlayarak çözer: büyük ağırlıklar modelin tek veri noktalarına aşırı duyarlı olduğuna işaret eder; ceza terimi bu değerleri sıfıra yakın tutarak daha düz ve genelleşebilir bir karar sınırı öğretir. **L2 Düzenlileştirme (Ridge / Ağırlık Sönümlemesi)** en yaygın yöntemdir. Kayıp fonksiyonuna tüm ağırlıkların karelerinin toplamı λΣw² eklenir. Bu formülasyon büyük ağırlıkları cezalandırır ama hiçbirini tam sıfıra indirgemez; sonuç olarak tüm özellikler modelde küçük de olsa katkıda bulunur. Deep learning'de "weight decay" olarak da anılır ve PyTorch optimizer'larında `weight_decay` parametresiyle doğrudan kullanılır. **L1 Düzenlileştirme (Lasso)**, λΣ|w| ceza terimiyle bazı ağırlıkları tam sıfıra iter; bu sayede otomatik özellik seçimi gerçekleşir. Yüzlerce özellik içinden yalnızca birkaç kritik birinin önemli olduğu durumlar için idealdir. L1 ile L2'yi birleştiren Elastic Net, her iki avantajdan yararlanır. **Dropout**, derin sinir ağlarına özgü güçlü bir düzenlileştirme yöntemidir: eğitim sırasında her adımda nöronların rastgele bir oranı (ör. %20-50) devre dışı bırakılır. Model, belirli nöronlara güvenemeyeceği için farklı yollarla aynı sonuca ulaşmayı öğrenir; bu da ansambl etkisi yaratır. Çıkarım sırasında tüm nöronlar etkin olur ve ağırlıklar bırakma oranıyla ölçeklenir. **Erken Durdurma (Early Stopping)**, doğrulama kaybı artmaya başladığı noktada eğitimi kesen örtük bir düzenlileştirme yöntemidir. Model henüz eğitim setini ezberlemeye geçmeden öğrenme durdurulur. Uygulamada λ hiperparametresi kademeli grid search veya Bayesian optimizasyonla ayarlanır; çok büyük λ modeli yetersiz öğrenmeye (underfitting) iter.