Derin Öğrenmede Düzenleme: Bilmeniz Gereken Her Şey
Yayınlanan: 2020-11-16Veri bilimcilerin veya makine öğrenimi mühendislerinin karşılaştığı en büyük sorunlardan biri, yeni girdilerin yanı sıra eğitim verileri üzerinde iyi performans gösteren algoritmalar oluşturmanın karmaşıklığıdır. Test hatasını en aza indirmek veya tamamen ortadan kaldırmak için makine öğreniminde birçok teknik kullanılır. Bu, bazı durumlarda artan eğitim hatasını çok fazla önemsemeden yapılır. Bir araya getirilen tüm bu tekniklere genellikle düzenlileştirme denir.
Daha basit bir ifadeyle, düzenlileştirme, eğitim hatasını azaltmaya çok fazla odaklanmadan genelleme hatasını en aza indirmek için bir öğrenme algoritmasında yapılan değişikliklerdir. Her biri bir öğrenme algoritmasının veya sinir ağının farklı bir yönü üzerinde çalışan ve her biri farklı bir sonuca yol açan birkaç düzenleme tekniği mevcuttur.
Parametre değerleri üzerindeki kısıtlamalar gibi bir öğrenme modeline ek kısıtlamalar getiren düzenlileştirme teknikleri vardır. Parametre değerlerine kısıtlama getirenler var. Düzenlileştirme tekniği dikkatli bir şekilde seçilirse, test verisi modelinde iyileştirilmiş bir performansa yol açabilir.
İçindekiler
Neden sinir ağı düzenlemesine ihtiyacımız var?
Derin sinir ağları, tanınmayan verilere genelleştirilmiş bir yaklaşım benimsemek yerine bireysel eğitim seti modellerini ezberlemenin esnek doğası nedeniyle, fazla uydurmaya maruz kalan karmaşık öğrenme modelleridir. Bu nedenle sinir ağının düzenlenmesi çok önemlidir. Sinir ağının tanıyamadığı verileri genelleştirmesine izin vermek için öğrenme modelini anlaşılması kolay tutmanıza yardımcı olur.
Bunu bir örnekle anlayalım. Hem girdi hem de çıktı değerlerini içeren bir veri setimiz olduğunu varsayalım. Bu değerler arasında doğru bir ilişki olduğunu da varsayalım. Şimdi, derin öğrenmenin amaçlarından biri, girdi ve çıktı değerleri arasında yaklaşık bir ilişki kurmaktır. Dolayısıyla, her veri seti için bu ilişkiyi tanımlamamıza yardımcı olabilecek iki model vardır – basit model ve karmaşık model.
Basit modelde, söz konusu ilişkiyi tanımlayan sadece iki parametreyi içeren düz bir çizgi vardır. Bu modelin grafiksel bir temsili, söz konusu veri kümesinin merkezinden yakından geçen düz bir çizgiyi içerecek ve çizgi ile altındaki ve üstündeki noktalar arasında çok az mesafe olmasını sağlayacaktır.

Ayrıca okuyun: Makine Öğrenimi Proje Fikirleri
Öte yandan, karmaşık model, veri setine bağlı olarak birkaç parametreye sahiptir. Her eğitim veri noktasından geçmesine izin veren polinom denklemini takip eder. Karmaşıklığın kademeli olarak artmasıyla, eğitim hatası sıfır değerine ulaşacak ve model, veri kümesinin bireysel modellerini ezberleyecektir. Farklı veri kümeleri üzerinde eğitildiklerinde bile birbirinden çok farklı olmayan basit modellerin aksine, karmaşık modeller için aynı şey söylenemez.
Önyargı ve Varyans nedir?
Basit bir ifadeyle, önyargı, gerçek popülasyon çizgisi ile farklı veri kümeleri üzerinde eğitilmiş modellerin ortalaması arasındaki mesafenin bir ölçüsüdür. Önyargı, iyi bir tahmin aralığına sahip olup olmayacağımıza karar vermede çok önemli bir role sahiptir. Bunu, ortalama fonksiyonun gerçek ilişkiye ne kadar yaklaştığını hesaplayarak yapar.
Ayrıca okuyun: Hindistan'da Makine Öğrenimi Mühendisi Maaşı
Varyans, ortalama bir fonksiyon için tahmin varyasyonunu nicelendirir. Varyans, belirli bir veri kümesinde modellenen bir modelin, tüm tahmin yolculuğu boyunca farklı veri kümeleri üzerinde eğitildiğinde ne kadar sapma göstereceğini belirler. Bir algoritmanın yüksek önyargısı veya yüksek varyansı olsun, daha iyi performans göstermesi için birkaç değişiklik yapabiliriz.
Yüksek Bias ile nasıl başa çıkabiliriz?
- Daha uzun süreler için eğitin
- Gizli birimler veya katmanlarla daha büyük bir ağ kullanın
- Daha iyi sinir ağı mimarisini veya gelişmiş optimizasyon algoritmalarını deneyin
Yüksek varyansla (fazla uydurma) nasıl başa çıkabiliriz?
- düzenlileştirme
- veri ekleme
- Daha iyi sinir ağı mimarisi bulun
Mevcut derin öğrenme algoritmalarıyla, sapma üzerinde herhangi bir etki yaratmadan önyargıyı en aza indirmek için daha büyük sinir ağlarını eğitmeye devam etmekte özgürüz. Benzer şekilde, sapmanın değeri üzerinde herhangi bir etki yaratmadan varyansı en aza indirmek için veri eklemeye devam edebiliriz. Ayrıca, hem yüksek yanlılık hem de yüksek varyansla uğraşıyorsak, doğru derin öğrenme düzenleme tekniğini kullanarak bu değerleri aşağı çekebiliriz.

Tartışıldığı gibi, model karmaşıklığındaki bir artış, varyans değerinde bir artışa ve yanlılığın değerinde bir azalmaya neden olur. Doğru düzenleme tekniğiyle, hem test hem de eğitim hatasını azaltmak için çalışabilir ve böylece varyans ve önyargı arasında ideal bir değiş tokuşa izin verebilirsiniz.
Düzenlileştirme Teknikleri
İşte en yaygın düzenleme tekniklerinden üçü:
1. Veri Kümesi Büyütme
Genelleme yapmanın en kolay yolu nedir? Cevap oldukça basit, ama uygulaması öyle değil. Bu modeli daha geniş bir veri setinde eğitmeniz yeterlidir. Ancak, çoğunlukla sınırlı verilerle uğraştığımız için bu çoğu durumda geçerli değildir. Çeşitli makine öğrenimi sorunları için gerçekleştirilebilecek olası en iyi çözüm, mevcut veri kümenize eklemek üzere sentetik veya sahte veriler oluşturmaktır. Dolayısıyla, görüntü verileriyle uğraşıyorsanız, sentetik veri oluşturmanın en kolay yolları ölçekleme, resmin piksel çevirisi ve döndürmeyi içerir.
2. Erken durdurma
Bir modelin nispeten daha büyük bir veri setinde eğitilmesi, fazla uydurmaya yol açan çok yaygın bir eğitim senaryosudur. Bu durumda, modelin daha uzun bir süre için eğitilmesi, genelleme yeteneğinin artmasıyla sonuçlanmaz; bunun yerine aşırı takmaya yol açacaktır.
Eğitim sürecinde belirli bir noktadan sonra ve eğitim hatasında önemli bir azalmadan sonra doğrulama hatasının artmaya başladığı bir zaman gelir. Bu, fazla takmanın başladığını gösterir. Erken Durdurma tekniğini kullanarak, doğrulama hatasında bir artış gördüğümüz anda modellerin eğitimini durduruyor ve parametreleri olduğu gibi tutuyoruz.

3. L1 ve L2
L1 ve L2, modelleri eğitmek için oldukça yaygın olarak kullanılan Ağırlık Cezası düzenleme tekniğini oluşturur. Daha büyük ağırlıklı modelleri daha küçük ağırlıklı olanlardan daha karmaşık hale getiren bir varsayım üzerinde çalışır. Tüm bunlarda cezaların rolü, ağırlıkların sıfır veya çok küçük olmasını sağlamaktır. Tek istisna, karşı koymak için büyük gradyanların mevcut olmasıdır. Ağırlık Cezası, ağırlıkların daha küçük bir birime veya sıfıra düşmesini ifade eden Ağırlık Azalması olarak da adlandırılır.
L1 normu: Bazı ağırlıkların büyük olmasına izin verir ve bazılarını sıfıra doğru iter. Bir ağırlığın gerçek değerini cezalandırır.
L2 normu: Tüm ağırlıkları daha küçük değerlere doğru yönlendirir. Bir ağırlığın kare değerini cezalandırır.
Çözüm
Bu yazıda, derin öğrenmede sinir ağı düzenlemesi ve teknikleri hakkında bilgi edindiniz. Bunun, konuyla ilgili sorgularınızın çoğunu temizlediğini umarız.
Derin öğrenme ve yapay zeka hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 30'dan fazla vaka çalışması ve ödevi, 25'ten fazla endüstri mentorluğu oturumu, 5'ten fazla pratik el sağlayan Makine Öğrenimi ve Yapay Zeka alanında PG Diploma programımıza göz atın. - capstone projeleri, en iyi firmalarla 450 saatten fazla sıkı eğitim ve işe yerleştirme yardımı.
L1'in L2 düzenlemesine göre avantajı nedir?
L1 düzenlemesi, beta katsayılarını düşürdüğünden veya onları neredeyse sıfıra kadar küçülttüğünden, önemsiz özelliklerin sonlandırılması için esastır. L2 düzenlemesi ise ağırlıkları eşit olarak azaltır ve yalnızca verinin kendisinde çoklu bağlantı mevcut olduğunda uygulanır. Bu nedenle L1 düzenlemesi, özellik seçimi için kullanılabilir ve bu da ona L2 düzenlemesine göre bir avantaj sağlar.
Veri büyütmenin faydaları ve zorlukları nelerdir?
Faydaları, daha fazla eğitim verisi ekleyerek tahmin modellerinin doğruluğunu iyileştirmeyi, daha iyi modeller için verilerin kıt olmasını önlemeyi ve modellerin bir çıktıyı genelleştirme yeteneğini artırmayı içerir. Ayrıca veri toplama ve ardından etiketleme maliyetini de azaltır. Zorluklar, veri artırma etki alanları için gelişmiş uygulamalarla sentetik veriler oluşturmak için yeni araştırmalar geliştirmeyi içerir. Ayrıca, gerçek veri kümeleri önyargı içeriyorsa, artırılmış veriler de önyargıları içerecektir.
Yüksek önyargı ve yüksek varyansla nasıl başa çıkıyoruz?
Yüksek önyargı ile uğraşmak, daha uzun süreler için veri setlerini eğitmek anlamına gelir. Bunun için gizli katmanlarla daha büyük bir ağ kullanılmalıdır. Ayrıca, daha iyi sinir ağları uygulanmalıdır. Yüksek varyansla başa çıkmak için düzenlileştirme başlatılmalı, ek veriler eklenmeli ve benzer şekilde daha iyi bir sinir ağı mimarisi çerçevelenmelidir.