Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Ders 8.2 — Karakter dizilerini modelleme
Ders 8.2 — Karakter dizilerini modelleme [Makine Öğrenimi için Sinir Ağları]
Şimdi Wikipedia'dan karakter dizilerini modelleme görevine Hessian'sız optimizasyon uygulayacağız. Tipik olarak, dili modellerken, kişi kelime dizileriyle çalışır. Bununla birlikte, web karakter dizilerinden oluştuğu için, karakter düzeyindeki bilgilerin modellenmesi daha basit bir yaklaşım sağlayabilir.
Karakter dizilerini modellemek, morfemlerle uğraşmak, kelimeleri anlamlı birimlere bölmek ve sondan eklemeli özelliklere sahip dilleri kullanmak gibi benzersiz zorluklar sunar. Karakter seviyesinde modellemeye odaklanarak, metni kelimelere dönüştürmeden önceki karmaşıklıklardan kaçınıyoruz ve kalıpları ve bilgileri doğrudan karakter seviyesinde yakalayabiliyoruz. Bunu başarmak için, çarpımsal bağlantılara sahip tekrarlayan bir sinir ağı (RNN) kullanıyoruz. RNN, bu durumda 1500 gizli birim içeren gizli durumlardan oluşur. Gizli durumun dinamikleri, yeni gizli durumu hesaplamak için mevcut karakterin ve önceki gizli durumun dikkate alınmasını içerir. Ardından, RNN bir sonraki karakteri bir softmax katmanı kullanarak tahmin etmeye çalışır ve olası her karaktere olasılıklar atar.
Geleneksel bir RNN yapısı kullanmak yerine, daha iyi sonuçlar veren farklı bir yaklaşım kullanıyoruz. Tüm olası karakter dizilerini, her karakterin gizli durum geçişini etkilediği ağaç benzeri bir yapıda organize ediyoruz. Bu ağacı temsil etmek için, her bir düğümün bilgilerini yakalamak için gizli durum vektörlerini kullanırız. Bu, genel model performansını iyileştirerek benzer düğümler arasında verimli bir şekilde bilgi paylaşmamızı sağlar. Karaktere özgü geçişleri verimli bir şekilde uygulamak için çarpanları kullanarak çarpımsal bağlantılar sunuyoruz. Her faktör, iki girdi grubuna dayalı olarak ağırlıklı bir toplam hesaplar ve sonucu giden ağırlıkları ölçeklendirmek için kullanır. Karaktere özgü faktörleri dahil ederek, mevcut karaktere dayalı olarak gizli durum gelişimini yönlendiren geçiş matrisini belirleyebiliriz.
Bu yaklaşım, parametreleri verimli bir şekilde kullanırken karakter düzeyinde dil modellemenin karmaşıklığını yakalamamızı sağlar. Her karakter için ayrı ağırlık matrisleri tutmak yerine, parametreleri paylaşmak için karakterler arasındaki benzerliklerden yararlanıyoruz. Bu parametre paylaşımı, fazla uydurmanın önlenmesine yardımcı olur ve hesaplama yükünü azaltır.
Wikipedia'dan karakter dizilerini modellemek için Hessian içermeyen optimizasyon kullanıyoruz. Çarpımsal bağlantıları ve karaktere özgü faktörleri kullanarak, mevcut karaktere bağlı olarak gizli durumlar arasındaki geçişleri verimli bir şekilde yakalayabilir ve böylece modelleme performansını geliştirebiliriz.
Ders 8.3 — HF [Makine Öğrenimi için Sinir Ağları] kullanarak bir sonraki karakteri tahmin etme
Ders 8.3 — HF [Makine Öğrenimi için Sinir Ağları] kullanarak bir sonraki karakteri tahmin etme
Bu videoda, çoğalan bağlantılara sahip tekrarlayan bir sinir ağını optimize etmek için Hessian içermeyen optimize ediciyi kullanmanın etkilerini keşfedeceğiz. Ağın amacı, Wikipedia metnindeki bir sonraki karakteri tahmin etmektir. Ağ, milyonlarca karakter üzerinde eğitimden sonra dikkate değer bir performans sergiliyor. İngilizce dili hakkında derin bir anlayış kazanır ve tutarlı ve ilginç cümle tamamlamalar üretme konusunda ustalaşır.
Deneyi yapan Skeever, İngilizce Wikipedia'dan alınan, her biri yüz karakterden oluşan beş milyon dize kullandı. Her dizideki 11. karakterden başlayarak, tekrarlayan ağ, çeşitli gizli durumlardan geçerek tahmin etmeye başlar. Eğitim süreci, Hessian içermeyen optimize edici kullanılarak tahmin hatalarının geri yayılmasını içerir. Mükemmel bir model elde etmek, yüksek hızlı bir GPU'da yaklaşık bir aylık hesaplama gerektirdi.
Şu anda, karakter tahmini için Skeever'in en iyi tekrarlayan sinir ağı, bu görev için en seçkin tek model olarak duruyor. Birden fazla modeli bir sinir ağıyla birleştirmek daha iyi sonuçlar verebilirken, tek modeli performansın özünü temsil ediyor. Özellikle, modeli diğer en iyi performans gösteren modellerden önemli ölçüde farklıdır. Spesifik olarak, modeli, uzun mesafelerde alıntıların ve parantezlerin dengeli kullanımını etkili bir şekilde ele alabilir; bu, bağlam eşleştirme modellerinde mümkün olmayan bir başarıdır. Örneğin, bir parantezi kapatmak için belirli önceki bağlamları eşleştirmek, araya giren tüm karakterlerin saklanmasını ve geri çağrılmasını gerektirir ki bu pek olası değildir. Buna karşılık, Skeever'in modeli parantezleri ve alıntıları başarılı bir şekilde dengeleme becerisi sergiliyor.
Model tarafından edinilen bilgiyi değerlendirmek için, tahminlerini gözlemlemek için diziler oluşturulur. Model çıktısının gereğinden fazla yorumlanmamasına özen gösterilmelidir. Oluşturma işlemi, varsayılan gizli durumla başlamayı ve ardından bir yazma sırasını içerir. Her karakter gizli durumu güncelleyerek tahmin aşamasına geçer. Modelin bir sonraki karakter için olasılık dağılımı incelenir ve bu dağılıma göre rastgele bir karakter seçilir. Seçilen karakter daha sonra gerçek oluşum olarak modele geri beslenir ve istenen sayıda karakter oluşturulana kadar süreç devam eder. Üretilen bu diziler, modelin edindiği bilgilere ışık tutar.
Skeever ağı tarafından üretilen bir dizi örneği, etkileyici performansını sergiliyor. Bu alıntı, daha geniş bir metin pasajından seçilmiş olmasına rağmen, modelin kapasitesini etkili bir şekilde göstermektedir. Özellikle, oluşturulan dizi, "Opus Paul at Rome" gibi tuhaf semantik çağrışımlar sergiler. Bu tür ifadeler bireyler tarafından kullanılmasa da "opus", "Paul" ve "Roma" kelimelerinin birbirine bağlılığını ortaya koymaktadır. Bununla birlikte, dize tutarlı bir uzun vadeli tematik yapıya sahip değildir ve her noktadan sonra sık sık konuları değiştirir.
İlginç bir şekilde, model çok az kelime olmayan kelime üretiyor. Bir İngilizce kelimeyi benzersiz bir şekilde tamamlamaya yetecek kadar karakter verildiğinde, bir sonraki karakteri neredeyse mükemmel bir şekilde tahmin eder. Kırmızıyla vurgulanan "geçici" sözcüğü gibi sözcük olmayan sözcüklerin geçtiği durumlarda, bunlar son derece makuldür. Modelin performansı, mükemmel braket dengesini sürekli olarak korumasa da braketleri dengelemeye kadar uzanır. Ayrıca, teklifleri açma ve kapama söz konusu olduğunda tutarlı davranış sergiler.
Modelin bilgisini analiz etmek birkaç önemli yönü ortaya çıkarır. İlk olarak, ağırlıklı olarak İngilizce kelimeler ve ara sıra büyük harflerle baş harf dizileri üreten sağlam bir kelime anlayışına sahiptir. Sayıları, tarihleri ve bunların bağlamsal kullanımını işleyebilir. Ayrıca, alıntıları ve parantezleri doğru bir şekilde dengeleme, hatta bir dereceye kadar parantezleri sayma becerisini gösterir. Sözdizimsel bilgisi, mantıklı İngilizce kelime dizilerinin üretilmesiyle belirgindir. Bununla birlikte, bu sözdizimsel bilginin kesin biçimini deşifre etmek zorlayıcıdır. Ezberlenmiş kelime dizilerine dayanan basit trigram modellerine uymaz. Bunun yerine, model, bir dizi dilbilim kuralı yerine anadili İngilizce olan birinin örtük sözdizimsel bilgisine benzeyen tutarlı söz dizimiyle sözcük dizilerini sentezler.
Model ayrıca zayıf anlambilime dayalı çağrışımlar da sergiler. Örneğin model, "Plato" ve "Vicarstown" gibi kelimeler arasındaki çağrışımların anlaşıldığını gösterir. Bu ilişkilendirmeler kesin veya iyi tanımlanmış değildir, ancak Vikipedi okuyarak edinilen anlamsal bilgi düzeyini yansıtır. Model, özellikle "lahana" ve "sebze" arasındaki ilişkilerin iyi bir şekilde kavrandığını göstermektedir.
Modelin bilgisini daha fazla değerlendirmek için belirli diziler test olarak tasarlanmıştır. Örneğin, "runthourunge" gibi kelime olmayan bir modele sunulur. İngilizce konuşanlar, kelimenin biçimine bağlı olarak, onun bir fiil olmasını beklerdi. Bu durumda "S" gibi model tarafından tahmin edilen en olası sonraki karakter incelenerek, modelin bağlama göre fiil biçimini tanıdığı açık hale gelir. Benzer şekilde, virgülle ayrılmış bir ad listesi ve bir adı andıran büyük harfle yazılmış bir "T" sağlandığında, model dizeyi bir ad olarak başarıyla tamamlar. Bu, farklı dillerdeki isimlerin geniş bir şekilde anlaşılmasını sağlar.
Model aynı zamanda “hayatın anlamı şu” önermesine tabi tutulmakta ve oluşturulan tamamlamalar incelenmektedir. Şaşırtıcı bir şekilde, model ilk girişimlerinde hem sözdizimsel hem de anlamsal olarak mantıklı olan "edebi tanıma" tamamlamasını üretir. Bu, hayatın anlamı kavramını kavramaya başlayan model olarak görülebilse de, dikkatli olmak ve aşırı yorumlamadan kaçınmak çok önemlidir.
Sonuç olarak, modelin Wikipedia metnine kapsamlı bir şekilde maruz kalması, ona kelimeler, özel adlar, sayılar, tarihler ve sözdizimsel yapılar hakkında bilgi verir. Anlamsal çağrışımları belirli bir dereceye kadar kullanarak alıntıları ve köşeli parantezleri dengelemede mükemmeldir. Sözdizimi anlayışı, akıcı bir konuşmacınınkine benzer ve bu bilginin tam biçimini belirlemeyi zorlaştırır. Skeever'in modeli gibi yinelenen sinir ağları (RNN'ler), dil modelleme görevlerinde diğer yöntemlerden daha iyi performans göstererek daha az eğitim verisi gerektirir ve veri kümeleri büyüdükçe daha hızlı iyileştirme gösterir. Sonuç olarak, özellikle hesaplama gücü ve veri kümesi boyutları genişlemeye devam ettikçe, alternatif yaklaşımların RNN'leri yakalaması giderek daha zor hale geliyor.
Ders 8.4 — Yankı Durum Ağları
Ders 8.4 — Yankı Durum Ağları [Makine Öğrenimi için Sinir Ağları]
Yankı durumu ağları, tekrarlayan sinir ağlarında (RNN'ler) öğrenme sürecini basitleştirmek için akıllı bir yaklaşımdır. RNN'deki bağlantıları, girişi osilatör durumlarına dönüştüren bir bağlı osilatör rezervuarı ile başlatırlar. Çıktı daha sonra bu durumlara göre tahmin edilebilir ve gereken tek öğrenme çıktının osilatörlere nasıl bağlanacağıdır. Bu, gizliden gizliye bağlantıları veya gizliden gizliye bağlantıları öğrenme ihtiyacını ortadan kaldırır.
Eko durum ağlarının karmaşık görevlerdeki performansını iyileştirmek için büyük bir gizli durum gereklidir. Yankı durumu ağlarının dikkatli bir şekilde tasarlanmış başlatmasını, zamana ve momentuma göre geriye yayılımla birleştirmek, yeteneklerini daha da geliştirebilir. Yinelenen sinir ağlarının eğitiminde yeni bir başka fikir, gizliden gizliye bağlantıları rastgele düzeltmek ve çıkış bağlantılarını eğitmeye odaklanmaktır. Bu yaklaşım, öğrenme sürecini basitleştirerek yalnızca son katmanın öğrenildiği ileri beslemeli sinir ağlarındaki rastgele özellik algılayıcıları kavramına benzer.
Yankı durumu ağlarının başarısı, sönme veya patlama gibi sorunlardan kaçınmak için rastgele bağlantıların doğru şekilde ayarlanmasına bağlıdır. Gizliden gizliye ağırlıklar matrisinin en büyük özdeğerine karşılık gelen spektral yarıçapın, aktivite vektörünün uzunluğunun sabit kalmasını sağlamak için yaklaşık olarak bire ayarlanması gerekir. Ağırlıkların çoğunun sıfır olduğu ve bilgilerin ağın belirli bölümlerinde tutulmasına olanak tanıyan seyrek bağlantı da önemlidir. Girdiden gizliye bağlantıların ölçeği, önemli bilgileri silmeden osilatörlerin durumlarını yönlendirmek için dikkatli bir şekilde seçilmelidir. Yankı durum ağlarındaki öğrenme süreci hızlıdır ve performansı optimize etmek için bağlantıların ölçekleri ve seyrekliği ile deneyler yapılmasını sağlar. Giriş dizisinin çıkış için bir sinüs dalgasının frekansını belirttiği bir Yankı durum ağı örneği gösterilmektedir. Ağ, doğru çıkışı tahmin etmek için gizli birimlerin durumlarını kullanarak doğrusal bir model uydurarak sinüs dalgaları üretmeyi öğrenir. Ortadaki dinamik rezervuar, giriş sinyali tarafından yönlendirilen karmaşık dinamikleri yakalar.
Yankı durumu ağlarının, doğrusal bir model uydurmanın basitliği nedeniyle hızlı eğitim, gizliden gizliye ağırlıkların mantıklı bir şekilde başlatılmasının önemi ve tek boyutlu zaman serilerini etkili bir şekilde modelleme yetenekleri dahil olmak üzere çeşitli avantajları vardır. Ancak, yüksek boyutlu verileri modellemede zorluk çekebilirler ve geleneksel RNN'lere kıyasla daha fazla sayıda gizli birim gerektirebilirler.
Ilya Sutskever, tekrarlayan bir sinir ağını Yankı durum ağı teknikleriyle başlatmayı ve ardından zaman içinde geriye yayılımı kullanarak onu eğitmeyi araştırdı. Bu kombinasyonun, tekrarlayan sinir ağlarını eğitmek için etkili bir yöntem olduğu kanıtlandı ve geliştirilmiş performans elde edildi. Ilya Sutskever'in Yankı durumu ağlarının başlatma tekniklerini zaman içinde geriye yayılım (BPTT) ile birleştirme yaklaşımı, tekrarlayan sinir ağlarının (RNN'ler) eğitiminde umut verici sonuçlar verdi. Sutskever, Yankı durum ağı başlatmayı kullanarak ve ardından RMSprop ve momentum gibi tekniklerle BPTT uygulayarak, bu yaklaşımın RNN'lerin eğitiminde oldukça etkili olduğunu buldu.
Yankı durum ağı başlatmanın kullanılması, RNN için iyi bir başlangıç noktası sağlar ve yalnızca çıkışa gizlenmiş bağlantıları eğiterek bile iyi öğrenmesini sağlar. Bununla birlikte, Sutskever'in deneyi, RNN'nin performansını daha da iyileştirmenin, gizliden gizliye ağırlıkları da öğrenerek elde edilebileceğini gösterdi. Echo durum ağlarının ve geleneksel RNN'lerin güçlü yönlerini birleştiren bu hibrit yaklaşım, her iki yöntemin de avantajlarından yararlanır. Yankı durumu ağı başlatma, sağlam bir temel sağlarken, BPTT, RNN'nin performansının ince ayarını ve optimizasyonunu sağlar. Bu yaklaşımın başarısı, RNN'lerin eğitiminde uygun başlatmanın önemini göstermektedir.
Problem alanının dinamiklerini yakalayan bir başlatma ile başlayarak sonraki eğitim daha verimli ve etkili olabilir. Ek olarak, RMSprop gibi optimizasyon tekniklerinin ivme ile kullanılması öğrenme sürecini daha da geliştirir ve daha iyi sonuçlara ulaşılmasına yardımcı olur.
Yankı durum ağı başlatma ve BPTT'nin optimizasyon teknikleriyle birleşimi, RNN'leri eğitmek için güçlü bir yaklaşım sunar. Öğrenme verimliliğini, model performansını ve tahmin doğruluğunu iyileştirmek için her iki yöntemin güçlü yönlerinden yararlanır.
Ders 9.1 — Genellemeyi geliştirme yollarına genel bakış
Ders 9.1 — Genellemeyi geliştirme yollarına genel bakış [Makine Öğrenimi için Sinir Ağları]
Bu videoda tartışılan konu, sinir ağlarında aşırı uydurmayı azaltarak genellemeyi geliştirmektir. Aşırı uyum, bir ağın eğitim verisi miktarına göre çok fazla kapasiteye sahip olması durumunda meydana gelir. Videoda, bir ağın kapasitesini kontrol etmeye ve kapasite kontrolü için uygun meta parametreleri belirlemeye yönelik çeşitli yöntemler açıklanmaktadır.
Aşırı uyum, eğitim verilerinin yalnızca girdi-çıktı eşlemesindeki gerçek modeller hakkında bilgi içermediği, aynı zamanda eğitim setine özgü örnekleme hatası ve tesadüfi düzenlilikleri de içerdiği için ortaya çıkar. Bir modeli uydururken, bu tür düzenlilikler arasında ayrım yapamaz ve model çok esnekse ve örnekleme hatasına uyuyorsa zayıf genellemeye yol açar.
Fazla uydurmayı önlemenin basit bir yöntemi daha fazla veri elde etmektir. Veri miktarını artırmak, gerçek düzenliliklerin daha iyi bir temsilini sağlayarak aşırı uydurmayı azaltır. Başka bir yaklaşım, modelin kapasitesini mantıklı bir şekilde sınırlandırarak, örnekleme hatasının neden olduğu sahte düzenliliklerden kaçınırken gerçek düzenlilikleri yakalamasına izin vermektir. Bu zor olabilir, ancak video, kapasiteyi etkili bir şekilde düzenlemek için çeşitli teknikleri tartışıyor.
Video ayrıca farklı modellerin ortalamasını almak gibi topluluk yöntemlerinin kullanımından da bahsediyor. Modelleri verilerin farklı alt kümelerinde eğiterek veya iyi performans gösteren farklı ağırlık kümeleri bularak, tahminlerinin ortalamasını almak, tek tek modellere kıyasla genel performansı iyileştirebilir. Ek olarak, Bayes yaklaşımı, tek bir sinir ağı mimarisi kullanmayı, ancak çıktıyı iyi tahmin eden birden çok ağırlık kümesi bulmayı ve ardından test verileri üzerindeki tahminlerinin ortalamasını almayı içerir.
Bir modelin kapasitesi, mimariyi ayarlamak (örneğin, gizli katmanların ve katman başına birim sayısını sınırlamak), ağırlıkları cezalandırmak, ağırlıklara veya faaliyetlere gürültü eklemek veya bu yöntemlerin bir kombinasyonunu kullanmak gibi farklı yollarla kontrol edilebilir.
Kapasite kontrolü için meta-parametreleri ayarlarken, sonuçları belirli bir test setine yönlendirmekten kaçınmaya ihtiyaç vardır. Video daha iyi bir yaklaşım öneriyor: verileri eğitim, doğrulama ve test alt kümelerine bölmek. Doğrulama verileri, modelin performansına dayalı olarak uygun meta parametreleri belirlemek için kullanılırken, test verileri ağın etkinliğinin tarafsız bir tahminini sağlar. Aşırı uydurmayı önlemek için test verilerini yalnızca bir kez kullanmak çok önemlidir.
Video ayrıca, verilerin n alt kümeye bölündüğü bir teknik olan n katlı çapraz doğrulamadan bahseder ve en iyi meta parametrelere ilişkin birden çok tahmin elde etmek için modeller bu alt kümelerin farklı kombinasyonları üzerinde eğitilir ve doğrulanır.
Son olarak video, erken durdurma adı verilen kullanımı kolay bir yöntemi anlatıyor. Küçük ağırlıklarla başlamayı ve modelin doğrulama setindeki performansı bozulmaya başladığında eğitim sürecini durdurmayı içerir. Bu yaklaşım kapasiteyi kontrol eder çünkü küçük ağırlıklara sahip modeller sınırlı kapasiteye sahiptir ve doğrusal ağlara benzer şekilde davranır. Eğitimi doğru noktada durdurmak, gerçek düzenlilikleri uydurmak ile eğitim setinin neden olduğu sahte düzenlilikleri uydurmak arasındaki dengeyi optimize eder.
Genel olarak video, sinir ağlarında kapasiteyi kontrol etmeye ve fazla uydurmayı önlemeye yönelik çeşitli yaklaşımları vurgulamaktadır. Bu yöntemler, daha fazla veri elde etmeyi, kapasiteyi mantıklı bir şekilde düzenlemeyi, topluluk yöntemlerini kullanmayı, doğrulama yoluyla uygun meta parametreleri ayarlamayı ve erken durdurma gibi teknikleri kullanmayı içerir.
Ders 9.2 — Ağırlıkların boyutunu sınırlama
Ders 9.2 — Ağırlıkların boyutunu sınırlama [Makine Öğrenimi için Sinir Ağları]
Bu videoda, ağırlıklarının boyutunu sınırlayarak bir ağın kapasitesini nasıl kontrol edebileceğimizi tartışacağım. Yaygın yaklaşım, ağırlıkların çok büyük olmasını kısıtlayan bir ceza uygulamaktır. Daha küçük ağırlıklara sahip bir ağın, daha büyük ağırlıklara sahip bir ağa kıyasla daha basit olduğu varsayılır.
Kullanılabilecek çeşitli ceza terimleri vardır ve ayrıca her gizli birim için gelen ağırlık vektörünün belirli bir uzunluğu aşmaması sağlanarak ağırlıklara kısıtlamalar getirilebilir. Ağırlık boyutunu sınırlamak için standart yöntem, bir L2 ağırlık cezası kullanmaktır. Bu ceza, ağırlıkların karesel değerini cezalandırır ve bazen ağırlık azaltma olarak anılır. Bu cezanın türevi, ağırlıkları sıfıra doğru çeken bir kuvvet görevi görür. Sonuç olarak, ağırlık cezası, onu ortadan kaldıracak önemli hata türevleri olmadığı sürece ağırlıkları küçük tutar.
Ceza terimi, ağırlıkların karelerinin toplamının bir katsayı (lambda) ile çarpıp ikiye bölünmesiyle temsil edilir. Maliyet fonksiyonunun türevini alarak, türevin hata türevi ile ağırlığın büyüklüğü ve lambda değeri ile ilgili bir terimin toplamı olduğunu buluruz. Ağırlığın büyüklüğü 1 bölü lambda çarpı türevin büyüklüğüne eşit olduğunda türev sıfır olur. Bu nedenle, büyük ağırlıklar, yalnızca aynı zamanda önemli hata türevlerine sahip olduklarında var olabilir. Bu özellik, minimum etkiye sahip daha az sayıda büyük ağırlık olduğu için ağırlıkların yorumlanmasını kolaylaştırır.
L2 ağırlık cezası, ağın gereksiz ağırlıklar kullanmasını önleyerek daha iyi genelleme sağlar. Ek olarak, girdideki değişikliklerle çıktının daha kademeli olarak değiştiği daha yumuşak modellere yol açar. Benzer girdiler için ağırlık cezası, ağırlığı eşit olarak dağıtırken, ceza olmadan tüm ağırlık tek bir girdiye atanabilir.
L2 cezası dışında, ağırlıkların mutlak değerlerini cezalandıran L1 cezası gibi başka ağırlık cezaları da kullanılabilir. Bu tür bir ceza, birçok ağırlığı tam olarak sıfıra getirerek yorumlamaya yardımcı olur. Ağırlık arttıkça maliyet fonksiyonunun gradyanı azaldığında daha aşırı ağırlık cezaları uygulanabilir. Bu, ağın sıfıra doğru çekilmeden büyük ağırlıkları korumasını ve bunun yerine cezayı küçük ağırlıklara odaklamasını sağlar.
Cezalar yerine, ağırlık kısıtlamaları kullanılabilir. Ağırlık kısıtlamalarıyla, her bir gizli birim veya çıktı birimi için gelen ağırlık vektörüne maksimum karesi alınmış bir uzunluk empoze edilir. Uzunluk kısıtlamayı aşarsa, uzunluk izin verilen sınıra uyana kadar tüm ağırlıklar aynı faktöre bölünerek ağırlıklar küçültülür. Uzunluğun karesi için mantıklı bir değer seçmek daha kolay olduğundan, ağırlık kısıtlamaları ağırlık cezalarına göre avantajlar sunar. Ek olarak, ağırlık kısıtlamaları, gizli birimlerin küçük, etkisiz ağırlıklara takılıp kalmasını önler. Ayrıca ağırlık patlamasını da önlerler.
Ayrıca, ağırlık kısıtlamalarının cezalar üzerinde ince bir etkisi vardır. Bir birim kısıtlamasına ulaştığında, tüm ağırlıklar üzerindeki etkili ceza, büyük gradyanlar tarafından belirlenir. Büyük gradyanlar, gelen ağırlık vektörünün uzunluğunu yukarı iterek diğer ağırlıklar üzerinde aşağı doğru baskı uygular. Bu kendi kendine ölçeklenen ceza, alakasız ağırlıkları sıfıra doğru iten sabit bir cezadan daha etkilidir. Lagrange çarpanları açısından cezalar, kısıtlamaları karşılamak için gerekli çarpanlar olarak görülebilir.
Ağırlık kısıtlamalarını kullanmak, ağırlık cezalarına göre çeşitli avantajlar sunar. Gelen ağırlık vektörünün uzunluğunun karesi için uygun bir değer seçmek, optimal ağırlık cezasını belirlemeye kıyasla daha kolaydır. Lojistik birimlerin, bir ağırlık değerinin önemini anlamayı kolaylaştıran doğal bir ölçeği vardır.
Ağırlık kısıtlamaları, tüm ağırlıkları son derece küçük ve etkisiz olduğu için gizli birimlerin takılıp kalmasını da engeller. Tüm ağırlıklar küçük olduğunda, büyümeleri üzerinde herhangi bir kısıtlama yoktur ve potansiyel olarak onları işe yaramaz hale getirir. Ağırlık kısıtlamaları, ağırlıkların göz ardı edilemez hale gelmemesini sağlar.
Ağırlık kısıtlamalarının bir başka yararı da, bazı durumlarda ağırlık cezalarıyla ortaya çıkabilen ağırlıkların patlamasını önlemesidir. Bu, kararlılığı korumak ve ağdaki sayısal istikrarsızlıkları önlemek için çok önemlidir.
Ağırlık kısıtlamalarının ek bir ince etkisi, cezalar üzerindeki etkisidir. Bir birim kısıtlamasına ulaştığında ve ağırlık vektörünün uzunluğu kısıtlandığında, tüm ağırlıklar üzerindeki etkili ceza, büyük eğimlerden etkilenir. Büyük gradyanlar, gelen ağırlık vektörünün uzunluğunu yukarı iter ve bu da diğer ağırlıklar üzerinde aşağı doğru baskı uygular. Özünde ceza, önemli ağırlıklara uygun olacak şekilde kendini ölçeklendirir ve küçük ağırlıkları bastırır. Bu uyarlanabilir ceza mekanizması, ilgisiz ağırlıkları sıfıra doğru iten sabit bir cezadan daha etkilidir.
Lagrange çarpanlarına aşina olanlar için cezalar, kısıtlamaları karşılamak için gereken ilgili çarpanlar olarak görülebilir. Ağırlık kısıtlamaları, ağın ağırlıklarının istenen özelliklerini zorlamanın bir yolu olarak işlev görür.
Ağırlıkların boyutunu sınırlayarak bir ağın kapasitesini kontrol etmek, cezalar veya kısıtlamalar yoluyla sağlanabilir. Her iki yöntemin de avantajları vardır, ancak ağırlık kısıtlamaları uygun değerlerin seçilmesinde daha fazla kolaylık sağlar, ağırlıkların önemsiz hale gelmesini veya patlamasını önler ve kendi kendini ölçekleyen bir ceza mekanizması sağlar. Bu teknikler, sinir ağlarının yorumlanabilirliğine, kararlılığına ve etkinliğine katkıda bulunur.
Ders 9.3 — Gürültüyü düzenleyici olarak kullanma
Ders 9.3 — Gürültüyü bir düzenleyici olarak kullanma [Makine Öğrenimi için Sinir Ağları]
Ağırlıklara veya faaliyetlere gürültü eklenmesini içeren bir sinir ağının kapasitesini kısıtlamanın başka bir yöntemini keşfedelim. Karesel hatayı en aza indirmeyi amaçlayan basit bir doğrusal ağın girişlerine gürültü eklemek, ağın ağırlıklarına bir L2 cezası uygulamaya eşdeğerdir. Bu konsept, gürültülü ağırlıkların kullanıldığı daha karmaşık ağlara genişletilebilir, özellikle performansı iyileştirilmiş tekrarlayan ağlarda.
Ek olarak, faaliyetlere bir düzenleyici olarak gürültü de dahil edilebilir. Geri yayılım kullanarak lojistik gizli birimlerle çok katmanlı bir sinir ağı eğitmeyi düşünün. İleri geçiş sırasında birimleri ikili ve stokastik hale getirerek ve ardından gerçek değerleri kullanarak geri geçiş sırasında bunları deterministikmiş gibi ele alarak, stokastik bir ikili nöron yaratırız. Tamamen doğru olmasa da bu yaklaşım, daha yavaş eğitimle de olsa, test setinde eğitim setine kıyasla daha iyi performans sağlar.
Ağırlıklarda veya faaliyetlerde gürültüyü birleştirme yöntemleri, sinir ağlarının kapasitesini kontrol etmek ve genelleme yeteneklerini geliştirmek için alternatif teknikler sunar.
Özetle, sinir ağlarına gürültü eklemek, kapasiteyi kontrol etmek ve genellemeyi geliştirmek için yararlı bir strateji olabilir. Girişlere Gauss gürültüsü ekleyerek, L2 ağırlık cezasına benzer bir etki elde edebiliriz. Bu, ağırlıkların karesine dayalı gürültü varyansını yükseltir ve genel kare hatasına katkıda bulunur. Ağırlıklardaki gürültü, tekrarlayan ağlar gibi daha karmaşık ağlarda özellikle etkili olabilir ve performansın artmasına yol açar.
Ayrıca gürültü, bir düzenlileştirme tekniği olarak ağın faaliyetlerine uygulanabilir. İleri geçiş sırasında birimleri stokastik ikili nöronlar olarak ele alarak ve geri yayılım sırasında gerçek değerleri kullanarak, sisteme rastgelelik katıyoruz. Bu yaklaşım, daha yavaş eğitimle sonuçlanabilir, ancak genellikle test setinde daha iyi performans sağlar ve genellemenin arttığını gösterir.
Ağırlıklar veya faaliyetler biçiminde gürültünün eklenmesi, kapasiteyi sınırlamak ve sinir ağlarının sağlamlığını ve genelleme yeteneklerini geliştirmek için alternatif bir yaklaşım sağlar.
Ders 9.4 — Tam Bayes yaklaşımına giriş
Ders 9.4 — Tam Bayes yaklaşımına giriş [Makine Öğrenimi için Sinir Ağları]
Modelleri uydurmaya yönelik Bayes yaklaşımı, en olası olanı aramak yerine parametrelerin tüm olası ayarlarını dikkate almayı içerir. Parametreler için bir ön dağılım varsayar ve bir sonsal dağılım elde etmek için bunu gözlenen verilerin olasılığı ile birleştirir.
Bir madeni para atma örneğinde, frekansçı yaklaşım (maksimum olasılık), gözlemlenen verilerin olasılığını en üst düzeye çıkaran parametre değerinin seçilmesini önerir. Ancak, önceki inançları veya belirsizlikleri hesaba katmayabileceğinden, bu yaklaşımın sınırlamaları vardır.
Bayesçi çerçevede, parametre değerlerine bir ön dağılım atanır. Verileri gözlemledikten sonra, önceki, her bir parametre değeri için olasılık ile çarpılır ve bu da normalleştirilmemiş bir sonsal dağılımla sonuçlanır. Uygun bir olasılık dağılımı elde etmek için, sonsal, bir alana sahip olacak şekilde ölçeklendirilerek yeniden normalleştirilir.
Yinelemeli adımlarla, daha fazla veri gözlemlendikçe sonsal dağılım güncellenir. Nihai sonsal dağılım, hem önceki bilgileri hem de gözlenen verileri içeren, parametre değerleri hakkındaki güncellenmiş inancı temsil eder. Olasılıklarıyla birlikte bir dizi makul parametre değeri sağlar.
Bayes teoremi, veri verilen bir parametre değerinin sonsal olasılığını hesaplamak için kullanılır. Önceki olasılığın, o parametre değeri verilen verinin olasılığı ile çarpılmasını ve verilerin olasılığına bölünerek normalleştirilmesini içerir.
Tam sonsal dağılımı göz önünde bulunduran Bayes yaklaşımı, parametre değerlerinin daha kapsamlı bir analizine izin verir, önceki inançları birleştirir ve bunları gözlemlenen verilere dayalı olarak günceller.
Ders 9.5 — Ağırlık azalmasının Bayesci yorumu
Ders 9.5 — Ağırlık azalmasının Bayesci yorumu [Makine Öğrenimi için Sinir Ağları]
Bu video, tam Bayes yaklaşımında ağırlık cezalarının Bayesci yorumunu tartışıyor. Bayes yaklaşımında amaç, model parametrelerinin olası her ayarının sonsal olasılığını hesaplamaktır. Bununla birlikte, maksimum a posteriori öğrenme adı verilen basitleştirilmiş bir versiyon, önceki inançları uydurmak ile gözlemlenen verileri uydurmak arasında en iyi uzlaşma olan tek bir parametre kümesini bulmaya odaklanır. Bu yaklaşım, model kapasitesini kontrol etmek için ağırlık azalmasının kullanımına ilişkin bir açıklama sağlar. Denetimli maksimum olasılıklı öğrenme sırasında hatanın karesini en aza indirirken, aslında doğru cevabın log olasılık yoğunluğunu en üst düzeye çıkaran bir ağırlık vektörü buluyoruz. Bu yorum, sinir ağının çıktısına Gauss gürültüsü eklenerek doğru cevabın üretildiğini varsayar.
Bu olasılıksal yorumda, modelin çıktısı bir Gauss'un merkezi olarak kabul edilir ve bu Gauss'un altında yüksek olasılıkla hedef değere sahip olmakla ilgileniriz. Ağın çıktısı verildiğinde, hedef değerin negatif log olasılık yoğunluğu, hedef ile çıktı arasındaki farkın karesinin Gauss varyansının iki katına bölünmesine eşdeğerdir. Günlükleri alıp eksi işareti koyarak, ağın çıktısına verilen hedef değerin negatif günlük olasılık yoğunluğu bir maliyet fonksiyonu haline gelir. Bu maliyet işlevinin en aza indirilmesi, mesafenin karesinin en aza indirilmesine eşdeğerdir. Bu, karesel bir hatayı en aza indirirken, bir Gauss altında log olasılığını en üst düzeye çıkardığımız olasılıksal bir yorum olduğunu gösterir.
Uygun Bayes yaklaşımı, doğrusal olmayan ağlar için zor olabilecek tüm olası ağırlık vektörleri üzerinde tam sonsal dağılımı bulmaktır. Daha basit bir alternatif olarak, ön bilgilerimize ve verilere göre en olası ağırlık vektörünü bulmaya çalışabiliriz.
Maksimum a posteriori öğrenmede, öncekini uydurma ve verileri uydurma arasındaki ödünleşimi optimize eden ağırlıklar kümesini bulmayı amaçlıyoruz. Negatif günlük olasılıklarını maliyet olarak kullanmak, olasılık alanında çalışmaktan daha uygundur. Ağırlıklar verilen verilerin log olasılığını maksimize ediyoruz; bu, ağırlıklar verilen tüm eğitim durumları için çıktıların log olasılıklarının toplamını maksimize etmeye eşdeğerdir. Ağırlıkları optimize etmek için, veri verilen ağırlıkların negatif log olasılığını dikkate alıyoruz. Bu maliyet iki terimden oluşur: biri hem verilere hem de ağırlıklara bağlı olarak hedeflere ne kadar uyduğumuzu ölçen terim ve ağırlıklar verilen verilerin log olasılığından türetilen yalnızca ağırlıklara bağlı olan başka bir terim.
Tahmin yapmak için modelin çıktısına Gauss gürültüsünün ve ağırlıklar için öncenin Gauss'un eklendiğini varsayarsak, o zaman ağırlıklar verilen verilerin log olasılığı, çıktı ile hedef arasındaki mesafenin karesi alınır ve varyansın iki katı kadar ölçeklenir. Gauss gürültüsü. Benzer şekilde, öncekinin altındaki bir ağırlığın log olasılığı, ağırlığın Gauss öncülünün varyansının iki katı ile ölçeklenmiş değerinin karesidir.
Gauss gürültüsü ve öncesinin varyanslarının iki katının çarpımı ile çarparak yeni bir maliyet fonksiyonu elde ederiz. İlk terim, bir sinir ağında tipik olarak en aza indirgenmiş karesel hataya karşılık gelir. İkinci terim, ağırlık cezası olan ağırlıkların karelerinin toplamı ile çarpılan iki varyansın oranı olur. Dolayısıyla ağırlık cezası bu Gauss yorumunda varyansların oranına göre belirlenir ve bu çerçevede keyfi bir değer değildir. Bu nedenle, bu Bayes yorumundaki ağırlık cezası, performansı artırmak için seçilen keyfi bir değer değildir. Gauss gürültüsü ve öncesinin varyanslarına dayanan anlamlı bir yorumu vardır.
Daha da detaylandırmak gerekirse, denklemi varyansların iki katıyla çarptığımızda ve tüm eğitim durumlarını topladığımızda, ilk terim sinir ağının çıktısı ile hedef arasındaki kare farka karşılık gelir. Bu terim, tipik olarak bir sinir ağında en aza indirilen kare hatasını temsil eder. Yalnızca ağırlıklara bağlı olan ikinci terim, ağırlıkların karelerinin toplamıyla çarpılan iki varyansın oranı olur. Bu terim ağırlık cezasıdır. Büyük ağırlık değerlerini cezalandırır ve daha küçük ağırlıkları teşvik eder. Varyansların oranı bu cezanın gücünü belirler.
Temel olarak, bir ağırlık cezası getirerek, verileri iyi uydurmak ve ağırlıkları küçük tutmak arasında değiş tokuş yapıyoruz. Bu değiş tokuş, varyansların oranı tarafından kontrol edilir. Daha büyük bir ağırlık cezası (yani, daha küçük varyans oranı) daha küçük ağırlıklarla sonuçlanırken, daha küçük bir ağırlık cezası (yani, daha büyük varyans oranı) daha büyük ağırlıklara izin verir. Bayes yaklaşımı olarak ağırlık azalması veya ağırlık cezalarının yorumlanmasının, Gauss gürültüsü ve Gauss önceki dağılımları varsayımına dayandığına dikkat etmek önemlidir. Bu varsayımlar, hesaplamaları basitleştirir ve ağırlık cezalarının optimizasyon süreci üzerindeki etkisini anlamak için olasılıksal bir çerçeve sağlar.
Uygulamada, özellikle karmaşık doğrusal olmayan ağlar için tüm olası ağırlık vektörleri üzerinden tam sonsal dağılımı bulmak hesaplama açısından zor olabilir. Bu nedenle, en olası ağırlık vektörünü bulmayı amaçlayan maksimum a posteriori öğrenme daha pratik bir alternatif sunar. Bu yaklaşım, uzlaşmacı bir çözüm sağlayarak, önceki inançların ve gözlemlenen verilerin uydurulmasını dengeler.
Ağırlık cezalarının Bayes yorumu, sinir ağı optimizasyonundaki rollerinin daha derin bir şekilde anlaşılmasını sağlar. Olasılık perspektifini ve verileri uydurma ile önceki ağırlık arasındaki ödünleşimi göz önünde bulundurarak, model kapasitesini kontrol etmek ve genelleştirme performansını iyileştirmek için bir düzenleme tekniği olarak ağırlık cezalarından yararlanabiliriz.
Ders 9.6 — MacKay'in hızlı ve kirli yöntemi
Ders 9.6 — MacKay'in hızlı ve kirli yöntemi [Makine Öğrenimi için Sinir Ağları]
Bu videoda, 1990'larda David MacKay tarafından bir doğrulama setine dayanmadan bir sinir ağındaki ağırlık cezalarını belirlemek için geliştirilen bir yöntemi tartışacağım. MacKay'in yaklaşımı, ağırlık cezalarının maksimum a posteriori (MAP) tahmini olarak yorumlanmasına dayanır; burada ağırlık cezasının büyüklüğü, ağırlıklar üzerindeki önceki dağılımın sıkılığıyla ilgilidir.
MacKay, sinir ağının çıktısına hem ağırlık cezalarını hem de varsayılan gürültüyü ampirik olarak sığdırabileceğimizi gösterdi. Bu, bir ağ içindeki bağlantıların alt kümeleri için farklı ağırlık cezalarına izin vererek, doğrulama seti gerektirmeyen ağırlık cezalarını uydurmak için bir yöntem elde etmemizi sağlar. Bu esnekliği doğrulama setleri kullanarak elde etmek hesaplama açısından pahalı olacaktır.
Şimdi, ağırlık cezalarının iki varyansın oranı olarak yorumlanmasından yararlanmak için David MacKay tarafından geliştirilen basit ve pratik bir yöntemi anlatacağım. Hatanın karesini en aza indirmek için bir model öğrendikten sonra, çıktı varyansı için en iyi değeri belirleyebiliriz. Bu değer artık hataların varyansı kullanılarak elde edilir.
Ağırlıklar için önce Gauss'taki varyansı da tahmin edebiliriz. Başlangıçta, bu varyans hakkında bir tahminde bulunur ve öğrenme sürecine devam ederiz. İşte ampirik Bayes adı verilen "kirli numara" geliyor. Önceki varyansı, modelin öğrendiği ağırlıkların varyansı olarak belirledik çünkü bu ağırlıkları en olası hale getiriyor. Bu, Bayes yaklaşımının bazı varsayımlarını ihlal etse de, verilere dayanarak önceyi belirlememizi sağlar.
Ağırlıkları öğrendikten sonra, öğrenilen ağırlıkların tek boyutlu dağılımına sıfır ortalamalı bir Gauss dağılımı uyduruyoruz. Daha sonra bu Gauss'un varyansını ağırlık öncesi varyansımız olarak alırız. Özellikle, farklı katmanlarda olduğu gibi farklı ağırlık alt kümeleri varsa, her katman için farklı varyanslar öğrenebiliriz.
MacKay'in yönteminin avantajı, bir doğrulama seti gerektirmemesi ve test dışı tüm verilerin eğitim için kullanılmasını sağlamasıdır. Ayrıca, doğrulama setleri kullanılarak elde edilmesi zor olan çoklu ağırlık cezalarının dahil edilmesine izin verir.
Yöntemi özetlemek için, gürültü varyansının oranını ve ağırlık önceliği varyansını tahmin ederek başlıyoruz. Ardından, ağırlıkları iyileştirmek için gradyan iniş öğrenmesi gerçekleştiriyoruz. Daha sonra, artık hataların varyansı olması için gürültü varyansını ve öğrenilen ağırlıkların dağılımının varyansı olması için ağırlık öncesi varyansı güncelliyoruz. Bu döngü yinelemeli olarak tekrarlanır.
Uygulamada, MacKay'in yönteminin etkili bir şekilde çalıştığı gösterildi ve bu yaklaşımı kullanarak birçok yarışmada başarı elde etti.
10.1 — Modelleri birleştirmek neden yardımcı olur?
10.1 — Modelleri birleştirmek neden yardımcı olur [Makine Öğrenimi için Sinir Ağları]
Bu videoda, tahmin yapmak için birden fazla modeli birleştirmenin önemini tartışacağım. Tek bir model kullanırken, onun için doğru kapasiteyi seçme zorluğuyla karşı karşıya kalıyoruz. Kapasite çok düşükse model, eğitim verilerindeki düzenlilikleri yakalamayacaktır. Öte yandan, kapasite çok yüksekse, model belirli eğitim setindeki örnekleme hatasını aşacaktır. Birden fazla modeli birleştirerek, gerçek düzenliliklere uyma ve fazla uydurmadan kaçınma arasında daha iyi bir denge kurabiliriz. Modellerin birlikte ortalamasının alınması, genellikle herhangi bir tek modelin kullanılmasına kıyasla daha iyi sonuçlara yol açar. Bu etki, modeller farklı tahminler yaptığında özellikle önemlidir. Modellerin farklı tahminlerde bulunmalarını teşvik etmek çeşitli tekniklerle sağlanabilir.
Sınırlı eğitim verileriyle uğraşırken, aşırı uyum yaygın bir sorundur. Ancak, çoklu modellerin tahminlerini göz önünde bulundurarak fazla uydurmayı azaltabiliriz. Bu, özellikle modeller farklı tahminler yaptığında geçerlidir. Regresyonda, karesel hatayı bir önyargı terimine ve bir varyans terimine ayırabiliriz. Yanlılık terimi, modelin gerçek fonksiyona ne kadar iyi yaklaştığını gösterirken, varyans terimi, modelin eğitim setindeki örnekleme hatasını yakalama yeteneğini ölçer. Yüksek kapasiteli modeller genellikle düşük sapma gösterdiğinden, modellerin ortalamasını alarak, düşük sapmayı korurken varyansı azaltabiliriz. Bu, hatayı azaltmak için ortalama almanın faydalarından yararlanmamızı sağlar.
Tek bir modeli, belirli bir test senaryosundaki modellerin ortalamasıyla karşılaştırırken, bazı bireysel öngörücülerin birleşik öngörücüden daha iyi performans göstermesi mümkündür. Bununla birlikte, farklı bireysel öngörücüler, farklı durumlarda üstündür. Ek olarak, bireysel tahmin ediciler birbirleriyle önemli ölçüde aynı fikirde olmadığında, birleşik tahminci genellikle ortalama olarak tüm bireysel tahmincilerden daha iyi performans gösterir. Bu nedenle amaç, doğru kalırken birbirinden farklı hatalar yapan bireysel tahmin edicilere sahip olmaktır.
Matematiksel olarak, ağları birleştirirken, beklenen iki karesel hatayı karşılaştırırız. İlk hata, rastgele bir tahmin edicinin seçilmesine ve tahminlerin tüm tahmin ediciler üzerinden ortalamasının alınmasına karşılık gelir. İkinci hata, modellerin tahminlerinin ortalaması alınarak elde edilir. Bir modelin rastgele seçilmesinden beklenen karesel hatanın, ortalama alma yoluyla elde edilen karesel hatadan daha büyük olması, hatayı azaltmada ortalama almanın avantajını gösterir. Denklemdeki ek terim, ortalama alarak etkili bir şekilde azaltılan model çıktılarının varyansını temsil eder.
Modeller arasında farklı tahminler elde etmek için çeşitli yaklaşımlar kullanılabilir. Bu, farklı türde modellerin kullanılmasını, model mimarilerinin değiştirilmesini, farklı öğrenme algoritmalarının kullanılmasını ve verilerin farklı alt kümelerinde eğitim modellerinin kullanılmasını içerir. Torbalama ve artırma gibi teknikler de çeşitli modeller oluşturmada etkilidir. Paketleme, verilerin farklı alt kümelerinde farklı modellerin eğitilmesini içerirken, boosting ağırlıkları her model için eğitim durumlarını farklı şekilde belirler. Bu yöntemler, modelleri birleştirirken geliştirilmiş performansa katkıda bulunur.
Birden çok modeli birleştirmek, tahmin görevleri için faydalıdır. Modellerin ortalamasını alarak, düzenlilikleri yakalamak ile fazla uydurmadan kaçınmak arasında bir denge kurabiliriz. Modeller arasındaki çeşitli tahminler, birleşik tahmin edicinin performansını artırır. Çeşitli tahminleri teşvik etmek için çeşitli teknikler uygulanabilir ve bu da genel olarak daha iyi sonuçlara yol açar.