Makine Öğrenimi ve Sinir Ağları - sayfa 57

 

Ders 10.2 — Uzman Karışımları



Ders 10.2 — Uzman Karışımları [Makine Öğrenimi için Sinir Ağları]

1990'ların başında geliştirilen uzmanların karışımı modeli, her biri verinin farklı bölümlerinde uzmanlaşmış birden çok sinir ağını eğitir. Buradaki fikir, veri rejimi başına bir sinir ağına sahip olmak ve bir yönetici sinir ağının girdi verilerine dayanarak hangi uzmanın atanacağına karar vermesidir. Bu yaklaşım, tahminleri iyileştirmek için kapsamlı verilerden yararlanabileceğinden, daha büyük veri kümeleriyle daha etkili hale gelir. Eğitim sırasında, daha iyi performans gösterdikleri durumlara odaklanmak için modellerin ağırlıkları artırılır. Bu uzmanlaşma, bireysel modellerin belirli alanlarda mükemmel performans gösterirken diğerlerinde kötü performans göstermesine yol açar. Anahtar, her uzmanın diğer uzmanlardan daha iyi performans gösterdiği durumlarda doğru cevabı tahmin etmeye odaklanmasını sağlamaktır.

Model yelpazesinde yerel ve küresel modeller bulunmaktadır. En yakın komşular gibi yerel modeller, belirli eğitim durumlarına odaklanır ve tahmin için değerlerini saklar. Tüm verilere bir polinom sığdırmak gibi genel modeller daha karmaşıktır ve kararsız olabilir. Arada, farklı rejimlere ve değişen girdi-çıktı ilişkilerine sahip veri kümeleri için yararlı olan orta düzey karmaşıklık modelleri vardır.

Farklı modelleri farklı rejimlere uydurmak için, eğitim verilerinin her bir rejimi temsil eden alt kümelere bölünmesi gerekir. Tek başına girdi vektörlerine dayalı kümeleme ideal değildir. Bunun yerine girdi-çıktı eşlemelerindeki benzerlik dikkate alınmalıdır. Girdi-çıktı eşlemeye dayalı bölümleme, modellerin her rejim içindeki ilişkileri daha iyi yakalamasına olanak tanır.

İki hata fonksiyonu vardır: biri modelleri işbirliği yapmaya teşvik eder, diğeri ise uzmanlaşmaya teşvik eder. İşbirliğini teşvik etmek, tüm öngörücülerin ortalamasını hedefle karşılaştırmayı ve farkı en aza indirmek için öngörücüleri birlikte eğitmeyi içerir. Bununla birlikte, model, her tahmin ediciyi ayrı ayrı eğitmekten daha güçlüyse, bu durum fazla uydurmaya yol açabilir. Buna karşılık, uzmanlaşmayı teşvik eden hata fonksiyonu, her modelin çıktısını hedefle ayrı ayrı karşılaştırır. Bir yönetici, her modele atanan ve o modeli seçme olasılığını temsil eden ağırlıkları belirler. Çoğu uzman, çoğu hedefi göz ardı ederek, yalnızca iyi performans gösterdikleri eğitim durumlarının bir alt kümesine odaklanacaktır.

Uzmanların karışımı modelinin mimarisi, birden çok uzman, bir yönetici ve bir softmax katmanından oluşur. Yönetici, girdi verilerine dayalı olarak her bir uzmanı seçme olasılığını belirler. Hata fonksiyonu, uzmanların çıktıları ve yöneticinin olasılıkları kullanılarak hesaplanır. Hata fonksiyonunun farklılaştırılmasıyla uzmanların ve yöneticinin eğitimi için gradyanlar elde edilebilir. Belirli bir durum için düşük olasılıklı uzmanlar, parametrelerini koruyan küçük gradyanlara sahip olacaktır. Kapılama ağının çıktılarına göre farklılaşmak, olasılığa dayalı uzmanlaşmayı sağlar.

Gauss tahminlerini ve maksimum olasılık tahminini içeren karışım modellerine dayalı daha karmaşık bir maliyet fonksiyonu vardır. Bu işlev, uzmanların öngörücü dağılımı karışımı altında hedef değerin log olasılığını maksimize eder. Amaç, maliyet fonksiyonu olarak negatif günlük olasılığını en aza indirmektir.

Uzmanların karışımı modeli, farklı veri rejimleri için özel sinir ağlarından yararlanır ve gelişmiş tahminler için büyük veri kümelerini etkin bir şekilde kullanır.

Lecture 10.2 — Mixtures of Experts [Neural Networks for Machine Learning]
Lecture 10.2 — Mixtures of Experts [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 10.3 — Tam Bayes öğrenme fikri



Ders 10.3 — Tam Bayesçi öğrenme fikri [Makine Öğrenimi için Sinir Ağları]

Bu videoda tam Bayes öğrenimini ve nasıl çalıştığını tartışacağım. Tam Bayesci öğrenmede, tek bir optimum ayar aramak yerine tüm olası parametre ayarları üzerinden tam sonsal dağılımı bulmayı amaçlıyoruz. Bununla birlikte, bu dağılımı hesaplamak, sinir ağları gibi karmaşık modeller için hesaplama açısından yoğundur. Sonsal dağılımı elde ettikten sonra, farklı parametre ayarlarından elde edilen tahminlerin sonsal olasılıklarına göre ağırlıklandırılarak ortalamasını alarak tahminler yapabiliriz. Bu yaklaşım, hesaplama açısından zorlu olsa da, sınırlı verilerle bile karmaşık modelleri kullanmamıza izin verir.

Fazla uydurma, karmaşık modelleri küçük veri kümelerine uydururken yaygın bir sorundur. Bununla birlikte, parametreler üzerinden tam sonsal dağılımı elde ederek fazla uydurmayı önleyebiliriz. Frekansçı bir yaklaşım, bir model uydurmanın en iyi parametre ayarını bulmak anlamına geldiğini varsayarak, sınırlı veri olduğunda daha basit modellerin kullanılmasını önerir. Ancak tam sonsal dağılımla, çok az veriyle bile, önemli sonsal olasılıklara sahip farklı parametre ayarları nedeniyle tahminler belirsiz olabilir. Daha fazla veri topladıkça, sonsal dağılım belirli parametre ayarlarına daha fazla odaklanarak daha keskin tahminlere yol açar.

Fazla uydurma örneği, beşinci dereceden bir polinomu, verilere mükemmel şekilde uyan altı veri noktasına uydurmayı içerir. Buna karşılık, yalnızca iki serbestlik derecesine sahip bir düz çizgi, verilere iyi uymaz. Bununla birlikte, beşinci dereceden polinomlarda makul bir önsel ile başlarsak ve tüm sonsal dağılımı hesaplarsak, daha belirsiz ama daha mantıklı tahminler elde ederiz. Sonsal dağılım içindeki farklı modeller, belirli bir girdi değerinde farklı tahminler yapar ve ortalama olarak, yeşil çizgi tarafından yapılan tahminlerle yakından hizalanır.

Bayes bakış açısından, toplanan veri miktarı, model karmaşıklığı hakkındaki önceki inançları etkilememelidir. Bir sinir ağında tam Bayesci öğrenmeye birkaç parametreyle yaklaşarak, ızgara tabanlı bir yaklaşım kullanabiliriz. Parametre uzayının üzerine, her parametreye birkaç alternatif değer sağlayan bir ızgara yerleştiriyoruz. Bu değerlerin çapraz çarpımı, parametre uzayında bize grid noktalarını verir. Her grid noktasının verileri tahmin etmedeki performansını değerlendirerek ve önceki olasılığını göz önünde bulundurarak, son olasılıkları atarız. Hesaplama açısından pahalı olmasına rağmen, bu yöntem gradyan inişini ve yerel optimum sorunlarını önler. Sınırlı veri olduğunda maksimum olasılıktan veya maksimum a-posteriori'den daha iyi performans gösterir.

Test verileri üzerinde tahminlerde bulunmak için, tüm ızgara noktalarının olasılıklarını toplayarak bir test girişi verilen bir test çıktısının olasılığını hesaplarız. Girdi ve ızgara noktası verilen test çıktısını elde etme olasılığı ile çarpılan veri ve önceki bir ızgara noktasının olasılığı, her bir ızgara noktasının tahmininin ağırlığını belirler. Test cevabını üretmeden önce ağın çıktısını değiştirme olasılığını da göz önünde bulunduruyoruz.

Tam Bayesci öğrenmeyi gösteren sağlanan resimde, dört ağırlık ve iki sapmaya sahip küçük bir ağ gösterilmektedir. Her ağırlık ve yanlılık için dokuz olası değeri göz önünde bulundurursak, parametre uzayının dokuz üzeri altı ızgara noktası olacaktır. Her ızgara noktası için, tüm eğitim durumları için gözlemlenen çıktıların olasılığını, o ızgara noktasına özgü önceki olasılık ile çarparak hesaplıyoruz. Bu olasılıkları normalleştirmek bize tüm grid noktalarında sonsal olasılığı verir. Son olarak, bu ızgara noktalarını kullanarak tahminler yapıyoruz ve her tahminin sonsal olasılığına göre ağırlıklandırıyoruz.

Lecture 10.3 — The idea of full Bayesian learning [Neural Networks for Machine Learning]
Lecture 10.3 — The idea of full Bayesian learning [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 10.4 — Tam Bayesçi öğrenmeyi pratik hale getirme



Ders 10.4 — Tam Bayesçi öğrenmeyi pratik hale getirme [Makine Öğrenimi için Sinir Ağları]

Bu videoda, tam Bayes öğrenmenin binlerce hatta milyonlarca ağırlığa sahip büyük sinir ağları için nasıl pratik hale getirileceğini açıklayacağım. Kullanılan teknik, ilk başta tuhaf görünebilecek bir Monte Carlo yöntemidir. Ağırlık vektörlerinin uzayını rasgele bir şekilde keşfetmek için bir rasgele sayı üreteci kullanıyoruz, ancak maliyet fonksiyonunun azalmasına yönelik bir önyargı ile. Doğru yapıldığında, bu yaklaşımın dikkate değer bir özelliği vardır: ağırlık vektörlerini sonsal dağılımdaki olasılıklarıyla orantılı olarak örnekler. Çok sayıda ağırlık vektörü örnekleyerek, tam Bayes yöntemine iyi bir yaklaşım elde edebiliriz.

Parametre sayısı arttıkça, parametre uzayındaki ızgara noktalarının sayısı katlanarak artar. Bu nedenle, çoğu parametre vektörünü son derece olasılık dışı kılmak için yeterli veri olduğunda, birkaç parametreden daha fazlası için bir ızgara oluşturmak mümkün değildir. Bunun yerine, tahminlere önemli katkı sağlayan ızgara noktalarının küçük bir kısmını değerlendirmeye odaklanabiliriz. Bayesci öğrenmeyi mümkün kılan bir fikir, ağırlık vektörlerini arka olasılıklarına göre örneklemektir. Denklemdeki tüm terimleri toplamak yerine, toplamdan terimleri örnekleyebiliriz. Örneklenip örneklenmediğine bağlı olarak her ağırlık vektörüne bir veya sıfır ağırlık atarız. Örnekleme olasılığı, ağırlık vektörünün sonsal olasılığına karşılık gelir ve doğru beklenen değerle sonuçlanır.

Sağ tarafta gösterilen standart geri yayılım, gradyan boyunca hareket ederek ve maliyet fonksiyonundan aşağı inerek bir başlangıç noktasından son bir tek noktaya giden yolu izler. Buna karşılık, bir örnekleme yöntemi, ağırlık vektörünün ağırlık uzayını sürekli olarak keşfetmesine ve dolaşmasına neden olarak, her ağırlık güncellemesinde Gauss gürültüsünü ortaya çıkarır. Bu gezinme davranışı, düşük maliyetli bölgeleri tercih eder ve mümkün olduğunda yokuş aşağı hareket etme eğilimindedir. Önemli bir soru, ağırlıkların uzaydaki her noktayı ne sıklıkta ziyaret edeceğidir. Kırmızı noktalar, dolaşırken alınan örnekleri temsil eder ve doğal gürültü nedeniyle en düşük maliyetli bölgelerde olmayabilirler. Bununla birlikte, yeterli keşiften sonra, Markov zinciri Monte Carlo'nun dikkat çekici bir özelliği ortaya çıkıyor: ağırlık vektörleri, gerçek sonsal dağılımdan yansız örnekler haline geliyor. Posteriorun altında olma olasılığı yüksek olan ağırlık vektörlerinin, olasılık dışı olanlara göre kırmızı bir noktayla temsil edilme olasılığı daha yüksektir. Markov zinciri Monte Carlo olarak bilinen bu teknik, binlerce parametre ile Bayesci öğrenmenin kullanılmasını sağlar.

Gauss gürültüsü eklemeyi içeren daha önce belirtilen yönteme Langevin yöntemi denir. Etkili olsa da, en verimli yaklaşım değildir. Güvenilir örnekler elde etmeden önce ağırlık vektörlerinin alanı keşfetmesi için daha az zaman gerektiren daha karmaşık yöntemler mevcuttur. Böyle bir yaklaşım, tam Bayesçi öğrenmede mini yığınları kullanmaktır. Rastgele bir mini partide maliyet fonksiyonunun gradyanını hesaplarken, örnekleme gürültüsü ile tarafsız bir tahmin elde ederiz. Bu örnekleme gürültüsü, Markov zinciri Monte Carlo yönteminin gerektirdiği gürültüyü sağlamak için kullanılabilir. Welling ve işbirlikçilerinin zekice bir fikri, mini parti yöntemleri kullanılarak ağırlıklar üzerinden sonsal dağılımdan verimli örnekleme yapılmasına olanak tanır. Bu ilerleme, eğitim sürecini tamamlamak için mini kümelerle eğitim gerektiren çok daha büyük ağlar için tam Bayesci öğrenmeyi mümkün kılmalıdır.

Tam Bayes öğreniminde mini partilerin kullanılması çeşitli avantajlar sunar. Rastgele bir mini partide maliyet fonksiyonunun gradyanını hesaplarken, yalnızca örnekleme gürültüsüyle yansız bir tahmin elde etmekle kalmaz, aynı zamanda mini parti yöntemlerinin verimliliğinden de yararlanırız. Bu, aksi takdirde tam Bayes öğrenmesi ile eğitilmesi mümkün olmayan çok daha büyük ağları eğitebileceğimiz anlamına gelir.

Welling ve işbirlikçileri tarafından elde edilen buluş, mini parti yöntemleri kullanılarak ağırlıklar üzerinden sonsal dağılımdan verimli örnekleme yapılmasına izin verir. Akıllı fikirleri, Markov zinciri Monte Carlo yönteminin gerektirdiği gürültü olarak hizmet etmek için mini parti gradyan tahmininde bulunan örnekleme gürültüsünü kullanır. Bu gürültüyü uygun bir şekilde dahil ederek, arka dağılımdan başarılı bir şekilde güvenilir örnekler elde ettiler ve tam Bayes öğrenmeyi daha büyük ağlar için pratik hale getirdiler.

Bu ilerlemeyle birlikte, mini partiler kullanarak binlerce hatta milyonlarca ağırlığa sahip sinir ağlarını eğitmek ve ağırlıklar üzerinden arka dağılımdan örnekler almak mümkün hale geldi. Bu, özellikle kapsamlı hesaplama kaynakları gerektiren büyük ölçekli problemlerle uğraşırken faydalıdır. Eksiksiz Bayes öğrenme yoluyla belirsizliği dahil etme yeteneği, model tahminlerinin daha kapsamlı bir şekilde anlaşılmasını sağlar ve daha iyi karar vermeye yol açabilir.

Tam Bayesci öğrenme, Markov zinciri Monte Carlo gibi Monte Carlo yöntemlerinden yararlanılarak büyük sinir ağları için pratik hale getirilebilir. Ağırlık vektörlerini arka olasılıklarına göre örnekleyerek tam Bayes yöntemine yaklaşabilir ve modellerimizin belirsizliği hakkında değerli bilgiler elde edebiliriz. Mini parti yöntemlerinin tanıtılmasıyla, ağırlıklar üzerinden sonsal dağılımdan verimli örnekleme artık elde edilebilir ve tam Bayes öğrenmesinin çok daha büyük ağlara uygulanmasına olanak tanır.

Lecture 10.4 — Making full Bayesian learning practical [Neural Networks for Machine Learning]
Lecture 10.4 — Making full Bayesian learning practical [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 10.5 — Bırakma



Ders 10.5 — Bırakma [Makine Öğrenimi için Sinir Ağları]

Bırakma, her modeli ayrı ayrı eğitmeden çok sayıda sinir ağı modelini birleştirmek için başarılı bir yöntemdir. Bu yaklaşımda, gizli birimlerin rasgele alt kümeleri her eğitim durumu için çıkarılarak her durum için farklı mimariler elde edilir. Bu, her eğitim durumu için benzersiz bir model oluşturarak test sırasında bu modellerin nasıl eğitileceği ve verimli bir şekilde ortalamalarının alınacağı hakkında sorular ortaya çıkarır.

Birden çok modelin çıktılarını birleştirmenin iki yolu, çıktı olasılıklarının ortalamasını almak veya olasılıklarının geometrik ortalamasını kullanmaktır. Ağırlık paylaşımı bu yöntemde çok önemli bir rol oynar. Bırakma, doğru Bayes yaklaşımı kadar iyi performans göstermese de sinir ağlarını ortalamak için etkili bir yol sağlar. Eğitim sırasında, gizli birimler 0,5 olasılıkla rastgele bırakılır ve bu da çok sayıda mimarinin ağırlıkları paylaşmasına neden olur. Bırakma, çoğu modelin örneklenmediği ve örneklenen her modelin yalnızca bir eğitim örneği aldığı model ortalaması olarak görülebilir. Modeller arasında ağırlık paylaşımı, onları etkili bir şekilde düzenli hale getirir. Test zamanında, tüm gizli birimler kullanılır, ancak tüm olası modellerden tahminlerin geometrik ortalamasını hesaplamak için giden ağırlıkları yarıya bölünür. Bırakma, her katmanda 0,5'lik bir bırakma uygulanarak birden çok gizli katmana genişletilebilir. Bu yaklaşım, ayrı bırakma modellerinin ortalamasını almaktan daha hızlıdır ancak iyi bir yaklaşım sağlar.

Ayrıca, girdileri tutma olasılığı daha yüksek olan girdi katmanlarına bırakma uygulanabilir. Bu teknik, otokodlayıcıların gürültüsünün giderilmesinde halihazırda kullanılmaktadır ve iyi sonuçlar vermiştir. Bırakmanın, derin sinir ağlarında hataları azaltmada ve fazla uydurmayı önlemede etkili olduğu gösterilmiştir. Gizli birimlerin uzmanlaşmasını teşvik eder ve yeni test verilerinde yetersiz genellemeye yol açabilecek karmaşık ortak uyarlamaları önler. Ayrılma, gizli birimleri diğer gizli birimlerin farklı kombinasyonlarıyla çalışmaya zorlayarak, bireysel olarak yararlı davranışı teşvik eder ve belirli işbirliklerine güvenmeyi caydırır. Bu yaklaşım, her birimin benzersiz ve marjinal olarak yararlı bir şekilde katkıda bulunmasına izin vererek, mükemmel sonuçlara yol açarak, bırakma ağlarının performansını artırır.

Bırakma, sinir ağı modellerini eğitmek ve birleştirmek için güçlü bir tekniktir. Ağırlık paylaşımı ve gizli birimlerin rastgele çıkarılması yoluyla modelleri düzenli hale getirerek fazla uydurma sorununu ele alır. Her eğitim durumu için farklı mimariler oluşturarak, bırakma, bireysel birim uzmanlaşmasını teşvik eder ve karmaşık birlikte uyarlamaları azaltır. Modellerin çıktı olasılıklarının ortalamasını alma veya geometrik ortalamayı kullanma süreci, topluluk benzeri bir etki sağlayarak ağın genel performansını artırır. Bırakma, doğru Bayes yaklaşımıyla aynı düzeyde performans elde edemese de, pratik ve verimli bir alternatif sunar. Birden fazla gizli katmana uygulandığında, her katmanda bırakma olasılığı 0,5 olacak şekilde bırakma kullanılabilir. "Ortalama net" olarak bilinen bu yaklaşım, bırakmanın faydalarını daha hızlı hesaplama ile etkili bir şekilde birleştirir. Hesaplama kaynakları sınırlı olduğunda özellikle yararlıdır.

Ayrıca, bırakma, girdileri tutma olasılığı daha yüksek olan bırakma uygulanarak girdi katmanına genişletilebilir. Bu teknik, fazla takmayı önlemeye yardımcı olur ve çeşitli uygulamalarda başarı göstermiştir. Bırakmanın yalnızca eğitim verilerindeki performansı iyileştirmekle kalmayıp aynı zamanda görünmeyen test verilerine genellemeyi de geliştirdiğine dikkat etmek önemlidir. Bireysel birim davranışını teşvik ederek ve karmaşık ortak uyarlamaları azaltarak, bırakma modelleri yeni ve görülmemiş örneklerde iyi performans gösterme eğilimindedir.

Bırakma, sinir ağı modellerini birleştirmek için pratik ve etkili bir yöntemdir. Gizli birimleri rastgele bırakarak ve bireysel birim davranışını teşvik ederek, bırakma fazla uydurmayı azaltır ve genellemeyi geliştirir. Sadeliği ve verimliliği, onu derin sinir ağlarını eğitmek için değerli bir araç haline getirir.

Lecture 10.5 — Dropout [Neural Networks for Machine Learning]
Lecture 10.5 — Dropout [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 11.1 — Hopfield Ağları



Ders 11.1 — Hopfield Ağları [Makine Öğrenimi için Sinir Ağları]

Bu videoda sunum yapan kişi, Hopfield ağlarını ve bunların 1980'lerde sinir ağlarına olan ilginin yeniden canlanmasındaki rolünü tanıtıyor. Hopfield ağları, hatıraları dağıtılmış aktivite kalıpları olarak depolamak için kullanılan basit cihazlardır. İkili eşik birimleri ve tekrarlayan bağlantıları olan enerji tabanlı modellerdir.

Doğrusal olmayan birimlere ve tekrarlayan bağlantılara sahip ağları analiz etmek, kararlı durumlara yerleşme, salınma ve hatta kaotik olma gibi çeşitli davranışlarından dolayı zor olabilir. Ancak Hopfield ve diğer araştırmacılar, bağlantılar simetrik ise, ağın her bir ikili konfigürasyonu için küresel bir enerji fonksiyonunun tanımlanabileceğini fark ettiler. Doğru enerji fonksiyonu ile birleştirilen ikili eşik karar kuralı, ağın enerjide yokuş aşağı hareket etmesine ve sonunda bir enerji minimumuna ulaşmasına neden olur. Enerji fonksiyonu, bağlantı ağırlıklarının ve bağlı nöronların ikili durumlarının çarpımını temsil eden yerel katkılardan oluşur.

Minimum enerjiyi bulmak için, bir Hopfield ağındaki birimler sırayla, birer birer, rasgele sırada güncellenir. Her birim, durumunu en düşük küresel enerjiyle sonuçlanan konfigürasyona göre hesaplar. Bu sıralı güncelleme, birimlerin enerjiyi artırabilecek ve salınımlara yol açabilecek eş zamanlı kararlar almasını engeller. Hopfield ağları, anılar ağdaki minimum enerjiye karşılık geldiğinden, anıları depolamak için uygundur. Anılar kısmi veya bozuk olabilir ve ikili eşik karar kuralı onları temizleyebilir ve tam anılara geri yükleyebilir. Bu içerik adreslenebilir bellek, kısmi içerik bilgisine dayalı olarak saklanan öğelere erişim sağlar.

Hopfield ağları, birkaç birim çıkarılsa bile düzgün şekilde çalışabildikleri için donanım hasarına karşı dayanıklı olmalarını sağlayan özelliklere sahiptir. Ağdaki ağırlıklar, bir dinozorun birkaç kemikten yeniden yapılandırılmasına benzer şekilde, nöronların durumlarının nasıl birbirine uyduğu hakkında bilgi sağlar. Bir Hopfield ağındaki anılar için saklama kuralı basittir. Faaliyetlerinin ürününe göre birimler arasındaki ağırlıkları artırarak, bir ikili durum vektörü saklanabilir. Bu kural, verilerden yalnızca bir geçiş gerektirir ve bu da onu çevrimiçi bir kural haline getirir. Ancak hem avantajları hem de dezavantajları olan bir hata düzeltme kuralı değildir.

Hopfield ağları, anıları depolamak için basit bir yaklaşım sunar ve onları çeşitli uygulamalar için değerli kılan ilginç özelliklere sahiptir.

Lecture 11.1 — Hopfield Nets [Neural Networks for Machine Learning]
Lecture 11.1 — Hopfield Nets [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 11.2 - Sahte minimumlarla başa çıkmak



Ders 11.2 — Sahte minimumlarla başa çıkma [Makine Öğrenimi için Sinir Ağları]

Bu videoda Hopfield ağlarının depolama kapasitesini ve bunun sahte anılarla nasıl sınırlandığını tartışacağım. Sahte anılar, yakındaki enerji minimumları birleşerek yanlış yerde yeni bir minimum oluşturduğunda ortaya çıkar. Bu sahte minimumları ortadan kaldırma çabaları, temel Hopfield ağlarından daha karmaşık sistemlerde ilginç bir öğrenme yöntemine yol açtı.

Hopfield ağlarının kapasitesinin artırılmasıyla ilgili tarihsel bir yeniden keşfe de değineceğim. Depolama kapasitelerini artırmaya çalışan fizikçiler, başlangıçta Hopfield'ın bellek depolama cihazları olarak Hopfield ağlarını icat etmesinden sonra geliştirilen algılayıcı yakınsama prosedürüne rastladılar.

Tamamen bağlı bir ağ için Hopfield depolama kuralını kullanan bir Hopfield ağının kapasitesi, yaklaşık 0,15n bellektir; burada n, ikili eşik birimlerinin sayısını temsil eder. Bu kapasite, karışıklık olmadan saklanabilecek hafıza sayısını gösterir. Her bellek, n bilgi bitine katkıda bulunan N birimin rastgele bir konfigürasyonundan oluşur. Böylece, bir Hopfield ağında depolanan toplam bilgi yaklaşık 0.15 N kare bittir.

Ancak bu depolama yöntemi, ağırlıkları depolamak için gereken bitleri verimli bir şekilde kullanmaz. Ağırlıkları bilgisayarda depolamak için gereken bit sayısını analiz edersek, 0,15 N kare biti aşıyor, bu da yerel enerji minimumunda dağıtılmış belleğin verimli olmadığını gösteriyor.

Bir Hopfield ağının kapasitesini geliştirmek için, kapasitesini sınırlayan enerji minimumlarının birleştirilmesini ele almalıyız. Her ikili yapılandırma ezberlendiğinde, yeni bir minimum enerji yaratmayı umuyoruz. Bununla birlikte, yakın modeller, minimumların birleşmesine yol açarak ayrı anılar arasında ayrım yapmayı imkansız hale getirebilir. Bu birleştirme olgusu, bir Hopfield ağının kapasitesini kısıtlayan şeydir.

Hopfield ağlarının kapasitesinin geliştirilmesinden ortaya çıkan ilgi çekici bir fikir, öğrenmeyi unutma kavramıdır. Öğrenmeyi unutma, ağın rastgele bir başlangıç durumundan oturmasına izin vermeyi ve ardından sahte minimumları ortadan kaldırmak için depolama kuralının tersini uygulamayı içerir. Hopfield, Feinstein ve Palmer, öğrenmeyi unutmanın hafıza kapasitesini etkili bir şekilde artırdığını gösterdi ve Crick ve Mitchison, öğrenmeyi unutmanın REM uykusu sırasında gerçekleşebileceğini öne sürdü.

Buradaki zorluk, ne kadar öğrenmeden vazgeçilmesi gerektiğinin belirlenmesinde yatmaktadır. İdeal olarak, öğrenmeyi unutma, bir modeli verilere uydurma sürecinin bir parçası olmalıdır. Modelin maksimum olasılık uydurması, gerekli öğrenmeyi bırakma miktarı hakkında kesin rehberlik sağlayarak öğrenmeyi otomatik olarak içerebilir.

Fizikçiler, tanıdık matematiksel kavramlar ile beyin işlevselliği arasında bağlantılar bulma arzusuyla Hopfield ağlarının kapasitesini artırmak için çaba sarf ettiler. Elizabeth Gardner, ağırlıkların tam kapasitesini kullanan daha verimli bir depolama kuralı önerdi. Bu kural, eğitim setinde birçok kez dolaşmayı ve her birimin doğru durumunu eğitmek için algılayıcı yakınsama prosedürünü kullanmayı içeriyordu.

Bu teknik, diğer tüm boyutlardaki değerler verildiğinde bir boyutu doğru elde etmeyi amaçladığınız istatistikte kullanılan sözde olasılık yöntemine benzer. Hopfield ağlarındaki simetrik ağırlıklar için bazı ayarlamalarla algılayıcı yakınsama prosedürü, daha verimli bellek depolamaya izin verir.

Algılayıcı yakınsama prosedürünü kullanarak ve verileri birçok kez yineleyerek, Hopfield ağlarının bellek depolama verimliliğini artırabiliriz. Bu teknik, amacın diğer tüm boyutların değerlerine dayalı olarak bir boyutu doğru elde etmek olduğu istatistikte kullanılan sözde olasılık yöntemine benzer. Hopfield ağlarındaki simetrik ağırlıklar için uygun modifikasyonlarla algılayıcı yakınsama prosedürü, daha etkili bellek depolama sağlar.

Gardner tarafından sunulan bu geliştirilmiş depolama kuralı, Hopfield ağlarının kapasitesini maksimize etmede önemli bir ilerlemeyi temsil ediyor. Eğitim setinde dolaşarak ve ağırlıkları algılayıcı yakınsama prosedürüne dayalı olarak yinelemeli olarak ayarlayarak, ağ daha fazla sayıda hafıza depolayabilir.

Bu yaklaşımın, verilerin tek bir geçişte işlenmesine izin veren Hopfield ağlarının çevrimiçi özelliğini feda ettiğini belirtmekte fayda var. Bununla birlikte, ağırlıkların tam kapasitesinin kullanılması yoluyla elde edilen iyileştirilmiş depolama verimliliği, takası haklı çıkarır.

Hopfield, Feinstein ve Palmer tarafından önerildiği gibi öğrenmeyi unutmanın dahil edilmesi, sahte minimumları ortadan kaldırmak ve hafıza kapasitesini daha da artırmak için bir araç sağlar. Unlearning, birleştirilmiş minimumların ayrılmasına izin vererek bireysel anıların daha iyi hatırlanmasını sağlar.

İlginç bir şekilde Crick ve Mitchison, REM uykusu sırasında öğrenmeyi unutmak için işlevsel bir açıklama önerdiler. Rüya görmenin amacının, sahte minimumların kaldırılmasını kolaylaştırmak, ağı etkili bir şekilde rastgele bir duruma sıfırlamak ve önceki kalıpları unutmak olduğunu öne sürdüler.

Öğrenmeyi unutmanın optimal miktarını belirlemenin matematiksel zorluğunu ele almak için, öğrenmeyi unutmayı model uydurma sürecinin bir parçası olarak ele almak olası bir çözümdür. Maksimum olasılık uyumu kullanılarak, modelin performansını optimize etmek için gereken öğrenmeden çıkarmanın kapsamı hakkında kesin rehberlik sağlayarak, öğrenmeyi bırakma otomatik olarak dahil edilebilir.

Hopfield ağlarının kapasitesini geliştirme arayışı, bellek depolama ve öğrenme süreçlerine ilişkin değerli bilgiler sağlamıştır. Algılayıcı yakınsama prosedürünün geliştirilmesi, öğrenmeyi geri almanın keşfiyle birlikte, bizi etkili bellek depolama ve geri alma için Hopfield ağlarının tam potansiyelinden yararlanmaya yaklaştırdı.

Lecture 11.2 — Dealing with spurious minima [Neural Networks for Machine Learning]
Lecture 11.2 — Dealing with spurious minima [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 11.3 — Gizli birimlerle Hopfield ağları



Ders 11.3 — Gizli birimlerle Hopfield ağları [Makine Öğrenimi için Sinir Ağları]

Bu videoda, Hopfield ağlarını ve onların enerji fonksiyonlarını kullanmaya yönelik yeni bir yaklaşımı tanıtacağım. Gizli birimleri ağa dahil ederek, bu gizli birimlerin durumlarına dayalı olarak algısal girdilerin yorumlarını elde etmeyi amaçlıyoruz. Anahtar kavram, birimler arasındaki ağırlıkların uygun yorumlara kısıtlamalar getirmesi ve düşük enerjili durumlar bularak girdi verilerinin iyi yorumlarını keşfedebilmemizdir.

Hopfield ağları iki temel fikri birleştirir: simetrik olarak bağlı ikili eşik birimlerini kullanarak yerel enerji minimumlarını bulma yeteneği ve bu yerel enerji minimumlarının anılara karşılık gelebileceği fikri. Ancak, yerel minimum bulma yeteneğinden yararlanmanın alternatif bir yolu vardır. Ağı yalnızca bellek depolamak için kullanmak yerine, onu duyusal girdilerin yorumlarını oluşturmak için kullanabiliriz. Bu fikri açıklamak için, üç boyutlu dünyayla ilgili bir görüntüdeki 2 boyutlu bir çizgiden bilgi çıkarmanın ayrıntılarını inceleyelim. 2B bir çizgi gözlemlediğimizde, dünyadaki çeşitli üç boyutlu kenarlardan kaynaklanabilir. Görüntüdeki derinlik bilgisinin kaybolması nedeniyle birden fazla 3B kenar retinada aynı görüntünün oluşmasına neden olabilir. Bu belirsizlik, çizginin her iki ucundaki derinlik hakkında bilgi sahibi olmadığımız için ortaya çıkar.

Bunu ele almak için, dünyadaki düz bir 3B kenarın görüntüde düz bir 2B çizgiye neden olduğunu varsayıyoruz. Ancak bu varsayım, 3B kenarın her iki ucundaki derinlikle ilgili iki serbestlik derecesini ortadan kaldırır. Sonuç olarak, bütün bir 3B kenar ailesi aynı 2B çizgiye karşılık gelir, ancak her seferinde yalnızca birini algılayabiliriz. Şimdi, duyusal girdiyi yorumlamaya yardımcı olması için ikili birimlerden oluşan bir ağda düşük enerji durumlarını bulma yeteneğimizi nasıl kullanabileceğimizi gösteren bir örneği ele alalım. Bir çizgi çizimimiz olduğunu ve onu üç boyutlu bir nesne olarak yorumlamak istediğimizi varsayalım. Her potansiyel 2B hat için karşılık gelen bir nöron tahsis ediyoruz. Mevcut çizgileri temsil eden herhangi bir görüntüde yalnızca birkaç nöron etkinleşir.

Yorum oluşturmak için, olası her 3B kenar için bir tane olmak üzere bir dizi 3B çizgi birimi sunuyoruz. Her bir 2B çizgi birimi birden fazla 3B çizgiye karşılık gelebileceğinden, aynı anda yalnızca bir 3B hattın aktif olması gerektiğinden, ilgili tüm 3B çizgileri harekete geçirirken aralarında rekabeti sağlamamız gerekir. Bunu başarmak için, 2B hat ünitesinden tüm aday 3B hatlara uyarıcı bağlantılar ve rekabeti sağlamak için engelleyici bağlantılar kurarız.

Ancak, sinir ağının kablolaması henüz tamamlanmadı. 3D kenarların nasıl bağlandığı hakkında bilgi toplamamız gerekiyor. Örneğin, görüntüde iki 2B çizgi birleştiğinde, birleşme noktasında aynı derinliğe sahip kenarlara karşılık gelme olasılığı yüksektir. Bu tür çakışan 3B kenarları destekleyen ek bağlantılar sunarak bu beklentiyi temsil edebiliriz.

Ayrıca, dik açılarda birleşen 3B kenarların ortak oluşumundan yararlanabiliriz. Derinlemesine uyuşan ve bir dik açı oluşturan iki 3B kenar arasında daha güçlü bağlantılar kurarak, bunların uyumlu ilişkisini gösterebiliriz. Daha kalın yeşil çizgilerle temsil edilen bu bağlantılar, dünyadaki kenarların nasıl birleştiği hakkında bilgi sağlar ve tutarlı bir 3B nesnenin oluşumuna katkıda bulunur. Artık ağımız, dünyadaki kenarların düzenlenmesi ve görüntüde çizgiler oluşturmak için nasıl yansıtıldıkları hakkında bilgi içeriyor. Bu ağa bir görüntü beslediğimizde, bir yorum oluşturması gerekir. Sunmakta olduğum görüntü söz konusu olduğunda, Necker küpü olarak bilinen iki farklı yorum var. Ağ, her biri Necker küpünün olası yorumlarından birine karşılık gelen iki enerji minimumu sergileyecektir.

Lütfen bu örneğin, algısal verilerin yorumlanması olarak düşük enerji durumlarını kullanma kavramını kavramak için bir analoji işlevi gördüğünü unutmayın. Necker küpünün ters çevrilmesini doğru bir şekilde açıklayan kapsamlı bir model oluşturmak, burada açıklanan basitleştirilmiş senaryodan çok daha karmaşık olacaktır. Sağlam algısal yorumları temsil etmek için düşük enerji durumlarını kullanmaya karar verirsek, iki temel zorluk ortaya çıkar. İlk olarak, arama konusunu, yani gizli birimlerin zayıf yerel enerji minimumlarında sıkışıp kalmasını nasıl önleyeceğimizi ele almalıyız. Zayıf minimumlar, mevcut modelimize ve ağırlıklarımıza dayalı yetersiz yorumları yansıtır. Rastgele bir başlangıç durumundan enerjide basitçe alçalmaktan daha iyi bir yaklaşım var mı?

İkinci zorluk daha da göz korkutucu - gizli birimler arasındaki ve görünür ve gizli birimler arasındaki bağlantıların ağırlıklarının nasıl öğrenileceği. Öğrenme sürecini yönlendiren harici bir süpervizör olmadığı düşünüldüğünde, bu ağırlıkları ayarlamak için basit bir öğrenme algoritması var mı? Amacımız, ağın girdi alması ve mantıklı yorumları temsil eden gizli birimlerde anlamlı etkinlik kalıpları oluşturmasıdır. Bu önemli bir zorluk oluşturmaktadır.

Özet olarak, Hopfield ağlarını ve onların enerji fonksiyonlarını yeni bir şekilde kullanmak, algısal girdinin yorumlarını türetmek için gizli birimlerin dahil edilmesini içerir. Birimler arasındaki ağırlıklar, iyi yorumlar üzerindeki kısıtlamaları temsil eder ve düşük enerji durumlarını bulmak, olumlu yorumları keşfetmemizi sağlar.

Ancak, üstesinden gelinmesi gereken zorluklar var. İlk zorluk, zayıf yerel enerji minimumlarında sıkışıp kalmaktan kaçınmayı içeren arama problemidir. Bu minimum değerler, yetersiz yorumları temsil eder ve etkili bir arama yöntemi bulmak çok önemlidir. İkinci zorluk, gizli birimler arasındaki ve görünür ve gizli birimler arasındaki bağlantılardaki ağırlıkları öğrenmektir. Bu görev, bir süpervizörün veya dış rehberliğin olmaması nedeniyle karmaşıktır. Ağın duyusal girdinin anlamlı yorumlarını oluşturmasını sağlayan ağırlıkları ayarlamak için uygun bir öğrenme algoritmasına ihtiyaç vardır. Bir 2B çizgi çiziminin 3B nesne olarak yorumlanmasını içeren verilen örneğin, yorumlar için düşük enerji durumlarını kullanma kavramını gösteren bir benzetme olduğunu belirtmek önemlidir. Daha karmaşık algısal olayları işlemek için kapsamlı bir model oluşturmak, daha karmaşık yaklaşımlar gerektirecektir.

Bir sonraki videoda, arama problemini derinlemesine inceleyeceğiz ve enerji fonksiyonunun zayıf yerel minimumlarında sıkışıp kalmamak için olası çözümleri keşfedeceğiz.

Lecture 11.3 — Hopfield nets with hidden units [Neural Networks for Machine Learning]
Lecture 11.3 — Hopfield nets with hidden units [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 11.4 — Aramayı iyileştirmek için stokastik birimleri kullanma



Ders 11.4 — Aramayı iyileştirmek için stokastik birimleri kullanma [Makine Öğrenimi için Sinir Ağları]

Bu videoda, sistemlere gürültü eklemenin yerel minimumlardan kaçmalarına nasıl yardımcı olabileceğini açıklayacağım. Spesifik olarak, gürültüyü bir Hopfield ağının birimlerine uygun bir şekilde nasıl dahil edeceğinizi göstereceğim.

Bir Hopfield ağı her zaman enerjiyi azaltan kararlar verir. Bu, yerel bir minimumun dışına çıkmayı zorlaştırır. Yerel bir minimumda sıkışıp kalırsak, daha iyi bir minimuma ulaşmak için enerji bariyerini aşamayız.

Bununla birlikte, rastgele gürültü ekleyerek, zayıf minimumlardan, özellikle sığ olan ve önemli enerji bariyerlerinden yoksun olanlardan kaçabiliriz. En etkili strateji, yüksek düzeyde gürültü ile başlamaktır, bu da alanın kaba bir ölçekte keşfedilmesine ve genel olarak iyi bölgelerin bulunmasına olanak tanır. Gürültü seviyesi düştükçe, odak yakınlardaki en iyi minimuma kayar.

Simüle tavlama, sistemi derin bir minimuma doğru yönlendirmek için gürültü seviyesini kademeli olarak azaltan bir tekniktir. Fiziksel veya simüle edilmiş bir sistemdeki sıcaklıktan yararlanır; burada daha yüksek sıcaklık, enerji manzarasını düzleştirir, engellerin daha kolay aşılmasını sağlarken, daha düşük sıcaklık, bir minimumdan diğerine geçişleri desteklemek için olasılık oranını artırır.

Gürültüyü bir Hopfield ağına sokmak için, ikili eşik birimlerini yanlı rasgele kararlar veren ikili stokastik birimlerle değiştiririz. Gürültü seviyesi, sıcaklık adı verilen bir parametre tarafından kontrol edilir. Gürültü seviyesinin yükseltilmesi, konfigürasyonlar arasındaki enerji boşluklarının azaltılmasına karşılık gelir.

Termal denge kavramının Boltzmann makineleri bağlamında anlaşılması önemlidir. Sabit bir sıcaklıkta, termal denge, enerji fonksiyonu tarafından belirlenen, durağan bir dağılıma yerleşen olasılık dağılımını ifade eder. Termal dengede bir konfigürasyon olasılığı, e'nin gücü eksi enerjisi ile orantılıdır.

Termal dengeye ulaşmak, aynı ağırlıklarla birden çok stokastik sistemin çalıştırılmasını ve stokastik güncelleme kurallarının uygulanmasını içerir. Bireysel sistemler konfigürasyonları değiştirmeye devam etse de, her konfigürasyondaki sistemlerin oranı sabit kalır. Bu, büyük bir kumarhanede ilk sıra önemsiz hale gelene ve her olası sırada eşit sayıda deste bulunana kadar kart destelerini karıştırmaya benzer.

Simüle edilmiş tavlama, yerel optimumların üstesinden gelmek için güçlü bir yöntemdir, ancak Boltzmann makinelerini anlamaktan rahatsız olabileceğinden bu kursta daha fazla tartışılmayacaktır. Bunun yerine, sıcaklığı bir (standart lojistik fonksiyon) olan ikili stokastik birimler kullanılacaktır.

Hopfield ağları ve Boltzmann makineleri gibi sistemlere gürültü eklemek, yerel minimumlardan kaçmaya ve daha elverişli bölgeleri keşfetmeye yardımcı olabilir. Gürültü seviyesi sıcaklık tarafından kontrol edilir ve termal dengeye ulaşmak, bireysel sistemler durumlarını değiştirmeye devam ederken sabit kalan her konfigürasyondaki sistem fraksiyonunu içerir.

Lecture 11.4 — Using stochastic units to improve search [Neural Networks for Machine Learning]
Lecture 11.4 — Using stochastic units to improve search [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 11.5 — Bir Boltzmann makinesi verileri nasıl modeller?



Ders 11.5 — Bir Boltzmann makinesi verileri nasıl modeller [Makine Öğrenimi için Sinir Ağları]

Bu videoda bir Boltzmann makinesinin ikili veri vektörlerini nasıl modellediğini anlatacağım. İlk olarak, ikili veri vektörlerini modellemenin nedenlerini ve böyle bir modelin potansiyel uygulamalarını tartışacağım. Ardından, bir Boltzmann makinesinde ikili veri vektörlerine atanan olasılıkların ağırlıklar tarafından nasıl belirlendiğini inceleyeceğim.

Gizli birimlere sahip stokastik Hopfield ağları olarak da bilinen Boltzmann makineleri, ikili verilerin modellenmesinde etkilidir. Bu makineler, gizli birimleri kullanarak bir ikili eğitim vektörleri kümesine bir model uydurabilir ve olası her ikili vektöre bir olasılık atayabilir.

İkili verileri modellemek için birkaç pratik uygulama vardır. Örneğin, ikili vektörlerin farklı dağılımlarına sahipseniz, yeni bir ikili vektörün hangi dağılıma ait olduğunu belirlemek isteyebilirsiniz. Her belge türünün dağılımını modellemek için gizli birimleri kullanarak, belirli bir ikili vektör için en olası belge sınıfını belirleyebilirsiniz.

Ayrıca Boltzmann makineleri, karmaşık sistemleri izlemek ve olağandışı davranışları tespit etmek için yararlı olabilir. Diyelim ki, istasyonun durumunu gösteren çeşitli kadranlardan ikili okumalara sahip bir nükleer güç istasyonunuz var. Tehlikeli durum örnekleri gerektiren denetimli öğrenmeye güvenmek yerine, normal durumların bir modelini oluşturabilir ve normdan sapmaları tespit edebilirsiniz. Bu şekilde, olağandışı durumları, bu tür durumlar hakkında önceden bilgi sahibi olmadan tanımlayabilirsiniz.

Belirli bir dağılımın gözlemlenen verileri oluşturmasının sonsal olasılığını hesaplamak için Bayes teoremini kullanabilirsiniz. Gözlenen veriler göz önüne alındığında, belirli bir modelden gelme olasılığı, modelin bu verileri üretme olasılığının tüm modeller için aynı miktarın toplamına bölümüdür.

Veri modelleri, özellikle ikili vektörler oluşturmak için iki ana yaklaşım vardır. Nedensel model yaklaşımı, önce gizli değişkenlerin durumlarının oluşturulmasını içerir, bunlar daha sonra ikili vektörü oluşturmak için kullanılır. Bu model, gizli ve görünür birimler arasındaki ağırlıklı bağlantılara ve önyargılara dayanır. Faktör analizi, sürekli değişkenleri kullanan nedensel modele bir örnektir.

Öte yandan, bir Boltzmann makinesi nedensel olarak veri üretmeyen enerji tabanlı bir modeldir. Bunun yerine, görünür ve gizli birimlerin ortak konfigürasyonlarının enerjileri açısından her şeyi tanımlar. Ortak konfigürasyon olasılığı ya doğrudan enerji cinsinden tanımlanır ya da termal dengeye ulaşılana kadar stokastik ikili birimlerin güncellenmesinden sonra prosedürel olarak hesaplanır. Ortak bir konfigürasyonun enerjisi, önyargı terimlerinden, görünür-görünür etkileşimlerden, görünür-gizli etkileşimlerden ve gizli-gizli etkileşimlerden oluşur.

Farklı görünür vektörlerin olasılıklarını hesaplamak için bir örnek üzerinde çalışabiliriz. Görünür birimlerin tüm olası durumlarını yazarak, negatif enerjilerini hesaplayarak, bu enerjileri üstelleştirerek ve olasılıkları normalleştirerek, ortak konfigürasyonların ve bireysel görünür vektörlerin olasılıklarını belirleyebiliriz.

Daha büyük ağlar için, üstel terim sayısı nedeniyle bölüm işlevini hesaplamak mümkün olmaz. Bu gibi durumlarda modelden örnekler elde etmek için Markov zinciri Monte Carlo yöntemlerini kullanabiliriz. Birimleri enerji boşluklarına göre stokastik olarak güncelleyerek durağan dağılıma ulaşabilir ve modelden bir örnek elde edebiliriz. Bir örneğin olasılığı, negatif enerjinin gücü olan e ile orantılıdır.

Ek olarak, öğrenme için gerekli olan bir veri vektörü verilen gizli konfigürasyonlar üzerinden sonsal dağılımdan örnekler elde etmek ilgimizi çekebilir. Veri vektörüne kenetlenmiş görünür birimlerle Markov zinciri Monte Carlo'yu kullanarak, yalnızca gizli birimleri güncelleyebilir ve sonsal dağılımdan örnekler alabiliriz. Bu bilgi, gözlemlenen veriler için iyi açıklamalar bulmak ve öğrenme süreçlerine rehberlik etmek için çok önemlidir.

Bir Boltzmann makinesinde öğrenme süreci, modelin eğitim verilerine uyumunu iyileştirmek için ağırlıkların ve önyargıların ayarlanmasını içerir. Bu öğrenme süreci tipik olarak kontrastlı sapma adı verilen bir algoritma aracılığıyla elde edilir.

Kontrastlı sapma, log-olasılık fonksiyonunun gradyanını tahmin etmek için kullanılan bir yaklaşım yöntemidir. Boltzmann makinesindeki ağırlıkları ve sapmaları verimli bir şekilde güncellememizi sağlar. Kontrastlı sapmanın ardındaki temel fikir, bir veri vektöründen başlayarak gizli birimlerin güncellenmesi ve görünür birimlerin güncellenmesi arasında gidip gelen Gibbs örneklemesinin birkaç adımını gerçekleştirmektir.

Gizli birimleri güncellemek için, görünür ve gizli birimlerin ortak konfigürasyonunun enerjisi tarafından belirlenen olasılıklara dayalı olarak durumlarını örnekleyebiliriz. Ardından, gizli birimlerin yeni durumlarına göre görünür birimleri güncelleriz. Bu işlem, Markov zinciri yaklaşık dengeye ulaşana kadar birkaç iterasyon için tekrarlanır.

Gizli konfigürasyonlar üzerinden sonsal dağılımdan bir örnek elde ettikten sonra, bunu görünür ve gizli birimler arasındaki pozitif ve negatif ilişkileri hesaplamak için kullanabiliriz. Pozitif ilişkiler, veri vektörünün dış çarpımı ve örneklenmiş gizli konfigürasyon alınarak hesaplanır. Negatif ilişkiler benzer şekilde hesaplanır, ancak Gibbs örnekleme sürecinden elde edilen görünür birimler kullanılır.

Pozitif ve negatif ilişkilendirmeler arasındaki farkı alarak, log-olasılık fonksiyonunun gradyanını hesaplayabiliriz. Bu gradyan daha sonra, stokastik gradyan inişi gibi bir öğrenme kuralı aracılığıyla Boltzmann makinesinin ağırlıklarını ve sapmalarını güncellemek için kullanılır.

Öğrenme süreci, zıt sapmayı tekrar tekrar uygulayarak, sonsal dağılımdan örnekleme yaparak ve ağırlıkları ve önyargıları güncelleyerek devam eder. Zamanla Boltzmann makinesi, eğitim verilerinde bulunan temel kalıpları ve dağılımları yakalamayı öğrenir.

Bir Boltzmann makinesini eğitmenin, özellikle birçok gizli birimi olan büyük ağlar için zorlu bir görev olabileceğini unutmamak önemlidir. Hesaplama karmaşıklığı, birim sayısıyla üstel olarak artar ve kesin hesaplamalar yapmayı zorlaştırır. Bununla birlikte, karşılaştırmalı sapma gibi yaklaşık yöntemler, Boltzmann makinelerinde öğrenme için pratik bir çözüm sağlar.

Bir Boltzmann makinesinde öğrenme, log-olasılık fonksiyonunun gradyanına yaklaşan kontrastlı sapma yoluyla ağırlıkların ve önyargıların ayarlanmasını içerir. Boltzmann makinesi, arka dağılımdan yinelemeli olarak örnekleme yaparak ve model parametrelerini güncelleyerek, ikili verilerdeki temel kalıpları modellemeyi öğrenebilir.

Lecture 11.5 — How a Boltzmann machine models data [Neural Networks for Machine Learning]
Lecture 11.5 — How a Boltzmann machine models data [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Ders 12.1 — Boltzmann makine öğrenimi



Ders 12.1 — Boltzmann makine öğrenimi [Makine Öğrenimi için Sinir Ağları]

Önceki videoda, bir Boltzmann makinesinin ikili veri vektörleri için olasılıksal bir model olarak nasıl kullanılabileceğini göstermiştim. Şimdi Boltzmann makine öğrenimi algoritmasını inceleyelim.

Başlangıçta, Boltzmann makine öğrenimi algoritması yavaş ve gürültülüydü, bu da onu kullanışsız hale getiriyordu. Bununla birlikte, algoritmayı önemli ölçüde hızlandırmak, daha pratik ve etkili hale getirmek için birkaç teknik geliştirildi. Aslında, milyon dolarlık bir makine öğrenimi yarışmasında başarıyla kullanılmıştır.

Boltzmann makine öğrenimi algoritması denetimsiz bir öğrenme algoritmasıdır, yani etiketlenmiş veri gerektirmez. Bunun yerine, Boltzmann makinesi tarafından eğitim vektörlerine atanan olasılıkların çarpımını maksimize ederek bir dizi girdi vektörü (veya çıktı vektörü) modeli oluşturmayı amaçlar. Bu aynı zamanda, günlük olasılıklarının toplamını veya eğitim durumlarını elde etme olasılığını maksimize ederek de elde edilebilir.

Boltzmann makinesini eğitmek için, harici bir girdi olmadan birden çok kez durağan bir dağıtıma yerleşme sürecini takip ediyoruz. Daha sonra görünür vektörü örnekliyoruz ve sonsal dağılımdan örnekler elde etmek için bu işlemi birkaç kez tekrarlıyoruz.

Ağırlıklar arasındaki etkileşimler nedeniyle Boltzmann makinesinde öğrenme zor olabilir. Değişim için uygun yönü belirlemek için her ağırlığın diğer ağırlıkları bilmesi gerekir. Şaşırtıcı bir şekilde, yalnızca yerel bilgileri kullanan basit bir öğrenme algoritması yeterlidir. Öğrenme kuralı, ağırlık güncellemeleri için gerekli bilgileri toplayan iki korelasyonun farkına dayanır.

Öğrenme kuralı iki terimden oluşur. İlk terim, verileri sunarken gözlenen birim faaliyetlerin çarpımı ile orantılı olarak ağırlıkları artırır. Bu terim, bir Hopfield ağındaki depolama terimine benzer. Bununla birlikte, kontrol olmadan, ağırlıklar artmaya devam edecek ve bu da istikrarsızlığa yol açacaktır. İkinci terim, modelin dağılımından örnekleme yapılırken birim faaliyetlerin çarpımı ile orantılı olarak ağırlıkları azaltır. Bu terim, sahte minimumları ortadan kaldırmaya yardımcı olur ve kararlılığı korur.

Görünür bir vektörün bir ağırlığa göre log olasılığının türevi oldukça basittir. Birbirine bağlı iki birim faaliyetin ürünü olarak ifade edilebilir. Bu basitlik, log olasılıkları ile ağırlıklarda lineer olan enerji fonksiyonu arasındaki lineer ilişkiden kaynaklanmaktadır.

Öğrenme sürecindeki olumsuz aşama, belirli yapılandırmaların etkisini unutmaya veya azaltmaya hizmet eder. Bölünme işlevine önemli ölçüde katkıda bulunan terimlerin enerjisini azaltmaya ve böylece etkilerini azaltmaya odaklanır.

Öğrenme kuralı için gerekli istatistikleri toplamak için, genellikle karşılaştırmalı sapma adı verilen bir yöntem kullanılır. Pozitif fazda, veri vektörleri görünür birimlere kenetlenir ve gizli birimler termal dengeye ulaşılana kadar güncellenir. Birim çiftleri arasındaki korelasyonlar daha sonra örneklenir ve tüm veri vektörleri üzerinden ortalaması alınır. Negatif aşamada, hiçbir veri sıkıştırılmaz ve ağın dış müdahale olmaksızın dengeye oturmasına izin verilir. Birim çiftleri arasındaki korelasyonlar tekrar birçok kez örneklenir.

Boltzmann makinesinin enerji manzarası birden fazla mod içerebileceğinden, negatif aşamada ihtiyaç duyulan yineleme sayısını belirlemek zor olabilir. Bu modlar, benzer enerji seviyelerine sahip farklı konfigürasyonları temsil eder ve bunları etkili bir şekilde yakalamak için tekrarlanan örnekleme gereklidir.

Bir Boltzmann makinesiyle uğraşırken, negatif fazda gereken tekrar sayısını göz önünde bulundurmak çok önemlidir. Enerji ortamında birden fazla modun bulunması nedeniyle, algoritmanın tüm modların yeterince temsil edilmesini sağlamak için kapsamlı bir şekilde örnekleme yapması gerekir.

Bir Boltzmann makinesindeki öğrenme süreci, pozitif ve negatif fazlardan elde edilen korelasyonlara dayalı olarak ağırlıkların yinelemeli olarak güncellenmesini içerir. Algoritma, bu aşamalardaki korelasyonları karşılaştırarak, modelin veri temsilini iyileştirmek için ağırlıkları ayarlayabilir.

Unutulmaması gereken önemli bir husus, Boltzmann makine öğrenimi algoritmasının bir Hebbian öğrenimi biçimi olduğudur. Donald Hebb tarafından 1940'larda veya 1950'lerde önerilen ilkeyi izler ve beyindeki sinapsların, birlikte aktivasyonlarına dayalı olarak nöronlar arasındaki bağlantıları güçlendirdiğini öne sürer. Boltzmann makinesinde, pozitif faz, Hebb'in fikrine benzer şekilde, veri sunumu sırasında gözlemlenen birim faaliyetlerin çarpımı ile orantılı olarak ağırlıkları yükseltir.

Bununla birlikte, bir dengeleme mekanizması olmadan, ağırlıklar süresiz olarak büyümeye devam edecek ve bu da istikrarsızlığa yol açacaktır. Negatif faz, modelin dağılımından örnekleme yapılırken birim faaliyetlerin ürününe dayalı ağırlıkları azaltarak bu amaca hizmet eder. Bu denge, Boltzmann makinesinin öğrenme sürecinde sabit kalmasını sağlar.

Boltzmann makine öğrenimi algoritmasının, enerji fonksiyonları ve olasılık dağılımları ile ilgili teorik temellere sahip olduğunu belirtmekte fayda var. Termal dengede küresel bir konfigürasyon olasılığı, enerjisinin üstel bir fonksiyonunu takip eder. Ağırlıklar ve log olasılığı arasındaki doğrusal ilişki, doğrudan türev hesaplamalarına izin verir ve verimli ağırlık güncellemelerini kolaylaştırır.

Boltzmann makine öğrenimi algoritması, bir girdi veya çıktı vektörü modeli oluşturmayı amaçlayan denetimsiz bir öğrenme yaklaşımıdır. Algoritma, eğitim vektörlerine atanan olasılıkları maksimize ederek, pozitif ve negatif korelasyonların bir kombinasyonunu kullanarak ağırlıkları ayarlar. Bu öğrenme süreci, karşılaştırmalı sapma gibi tekniklerle birlikte, Boltzmann makinesinin verilerdeki karmaşık kalıpları yakalamasına yardımcı olur.

Lecture 12.1 — Boltzmann machine learning [Neural Networks for Machine Learning]
Lecture 12.1 — Boltzmann machine learning [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...