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

 

Ders 6.2 — Mini toplu gradyan iniş için bir çanta dolusu numara



Ders 6.2 — Mini toplu gradyan iniş için bir yığın numara [Makine Öğrenimi için Sinir Ağları]

Bu videoda, mini partilerle stokastik gradyan inişini kullanırken ortaya çıkan birkaç sorunu tartışacağız. Genellikle sinir ağlarının "kara sanatı" olarak adlandırılan, performansı önemli ölçüde artırabilecek çok sayıda numara vardır. Bu videoda bazı önemli püf noktalarını ele alacağım.

İlk sorunla başlayalım: bir sinir ağında ağırlık başlatma. İki gizli birim aynı ağırlıklara ve önyargılara sahipse, her zaman aynı gradyanı alacaklar ve asla birbirlerinden farklılaşmayacaklar. Farklı özellik dedektörlerini öğrenmelerini sağlamak için onları farklı ağırlıklarla başlatmamız gerekiyor. Bu tipik olarak simetriyi kırmak için küçük rasgele ağırlıklar kullanılarak yapılır. İlk ağırlıkların boyutunun tüm birimler için aynı olmaması gerektiğine dikkat etmek önemlidir. Daha büyük fan girişine (gelen bağlantılara) sahip gizli üniteler daha büyük ağırlıklarla doyma eğilimindedir, bu nedenle bu gibi durumlarda daha küçük ağırlıklar tercih edilir. Öte yandan, daha küçük yelpaze girişli gizli üniteler daha büyük ağırlıklardan yararlanır. Başlangıç ağırlıklarının boyutu, yelpaze girişinin kareköküyle orantılı olmalıdır.

Bir diğer önemli faktör de girdilerin kaydırılmasıdır. Her girdi bileşenine sabit bir değer eklemek, öğrenme hızı üzerinde önemli bir etkiye sahip olabilir. Girişleri kaydırmak, en dik iniş kullanılırken özellikle etkilidir. Her girdi bileşenini, eğitim verileri genelinde ortalama olarak sıfır ortalama değerine sahip olacak şekilde kaydırmanız önerilir.

Ardından, hata yüzeyini ve bunun ağırlıklar ve eğitim durumlarıyla nasıl ilişkili olduğunu ele alalım. Bazı durumlarda, ağırlıklar farklı eğitim durumlarını karşıladığında, hata yüzeyi uzayarak öğrenmeyi zorlaştırabilir. Ancak her bir girdi bileşeninden sabit bir değer çıkararak hata yüzeyini dairesel bir şekle çevirerek öğrenmeyi kolaylaştırabiliriz.

Göz önünde bulundurulması gereken diğer bir faktör de gizli birimler için aktivasyon işlevidir. -1 ile 1 arasında değişen hiperbolik teğetler, ortalama değeri sıfıra yakın gizli birim faaliyetlerine yol açtığı için sıklıkla tercih edilir. Bu, sonraki katmanlarda daha hızlı öğrenmeyi kolaylaştırabilir. Bununla birlikte, lojistik aktivasyon fonksiyonları, küçük negatif girdiler için sıfır çıktı sağlayarak ağın bu girdilerdeki dalgalanmaları göz ardı etmesine izin verdiği için avantajlara sahiptir. Hiperbolik teğetler, bu tür dalgalanmaları göz ardı etmek için daha büyük girdiler gerektirir.

Girdileri ölçeklendirmek de etkili öğrenme için çok önemlidir. Girdi bileşenlerini, tüm eğitim setinde tipik bir veya eksi bir değerinde birim varyansa sahip olacak şekilde dönüştürerek, hata yüzeyini iyileştirebiliriz. Girdilerin ölçeklendirilmesi, ağırlıklardaki değişikliklerin tüm girdi bileşenlerinde benzer etkilere sahip olmasını sağlayarak daha dengeli bir öğrenme sürecine yol açar.

Mini toplu öğrenmeyi hızlandırmak için dikkate alınması gereken dört ana yöntem vardır:

  1. Momentum: Momentum, eğime dayalı olarak ağırlıkları doğrudan değiştirmek yerine, ağırlıkların hızını artırmak için eğimi kullanır. Bu yaklaşım, ağırlıkların önceki gradyanlardan gelen bilgileri tutmasına izin verir.

  2. Uyarlanabilir öğrenme oranları: Her parametre için ayrı bir uyarlanabilir öğrenme oranı kullanmak ve ampirik ölçümlere dayalı olarak ayarlamak öğrenmeyi geliştirebilir. Gradyan işaret değiştirmeye devam ederse, öğrenme oranı azalır. Gradyan tutarlı kalırsa, öğrenme oranı artar.

  3. RMSprop: Bu yöntem, öğrenme oranını son gradyan büyüklüklerinin çalışan ortalamasına böler. Uygun şekilde ölçeklendirerek çok çeşitli degradeleri etkili bir şekilde işler.

  4. Tam toplu öğrenme: Bu yaklaşım, öğrenme için tüm eğitim setinin kullanılmasını ve eğrilik bilgisini dikkate alan gelişmiş optimizasyon tekniklerinin kullanılmasını içerir. Etkili olabilse de mini partilerle çalışmak için daha fazla uyarlama gerektirebilir.

Bunlar, mini partilerle stokastik gradyan iniş performansını önemli ölçüde artırabilen tekniklerden sadece birkaçıdır.

Özetle, sinir ağlarında mini partilerle stokastik gradyan inişiyle ilgili birkaç önemli konuyu ve tekniği tartıştık. Bu teknikler, sinir ağlarının "kara sanatı" olarak hizmet eder ve performanslarını büyük ölçüde artırabilir. Ana noktaları tekrar özetleyelim:

  1. Ağırlık Başlatma: Gizli birimlerin farklı özellik dedektörlerini öğrenmesine izin vermek için, ağırlıklarını farklı şekilde başlatmak çok önemlidir. Simetriyi bozan küçük rasgele ağırlıklar kullanarak her birimin birbirinden farklı başlamasını sağlayabiliriz. Başlangıç ağırlıklarının boyutu, iyi bir başlangıç noktasına ulaşılmasına yardımcı olacak şekilde, yelpaze girişinin kareköküyle orantılı olmalıdır.

  2. Girdileri Değiştirme: Her bileşene bir sabit ekleyerek girdileri kaydırmanın öğrenme hızı üzerinde önemli bir etkisi olabilir. Girdinin ortalama olarak sıfır değerine sahip olması için her bir bileşeni kaydırmak faydalıdır. Bu, eğitim verilerinden girdi değerlerinin ortalamasını çıkararak elde edilebilir.

  3. Girdileri Ölçeklendirme: Girdi değerlerini ölçeklendirme, stokastik gradyan inişinde başka bir yararlı tekniktir. Girdileri, her bileşenin tüm eğitim setinde birim varyansa sahip olacağı şekilde dönüştürmek, öğrenme sürecini basitleştirir. Girdileri yeniden ölçeklendirmek, dairesel bir hata yüzeyi oluşturmaya yardımcı olur ve bu da gradyan inişini daha verimli hale getirir.

  4. Girdi Bileşenlerinin İlişkisizleştirilmesi: Girdi vektörlerinin bileşenlerinin ilişkisinin bozulması, özellikler arasındaki korelasyonları kaldırarak öğrenmeyi geliştirir. Temel bileşenler analizi, bunu başarmak için değerli bir yöntemdir. Küçük özdeğerlere sahip bileşenleri kaldırarak ve kalan bileşenleri ölçeklendirerek, gradyan inişini kolaylaştıran dairesel bir hata yüzeyi elde edebiliriz.

  5. Yaygın Sorunlar: Yapay sinir ağı eğitiminde karşılaşılan bazı yaygın sorunlar arasında, gizli birimlerin takılıp kalmasına yol açan yüksek ilk öğrenme hızları, küçük ağırlıklarla başlarken yavaş öğrenme ve öğrenme hızını erken düşürme yer alır. Optimum öğrenmeyi sağlamak için öğrenme oranını ayarlarken bir denge kurmak önemlidir.

  6. Mini Toplu Öğrenmeyi Hızlandırma: Mini toplu öğrenmeyi hızlandırmak için özellikle daha hızlı öğrenme için tasarlanmış dört ana yöntem vardır: momentum, uyarlanabilir öğrenme oranları, RMSprop ve eğrilik bilgileriyle tam toplu öğrenme. Bu teknikler, öğrenme sürecini hızlandırmak için momentum, uyarlanabilir ayarlamalar ve gradyan büyüklükleri gibi çeşitli mekanizmalardan yararlanır.

Bu teknikler, sinir ağlarında mini yığınlarla stokastik gradyan iniş performansını önemli ölçüde artırırken, eldeki belirli sorunu göz önünde bulundurmak ve en iyi sonuçları elde etmek için farklı yaklaşımlarla deneyler yapmak önemlidir. Optimizasyon alanı, sinir ağlarında daha da verimli öğrenme için keşfedilmeye değer daha gelişmiş yöntemler sunar.

Bu, sinir ağlarında mini yığınlarla stokastik gradyan inişiyle ilgili zorluklar ve tekniklerle ilgili bu videoda ele alınan ana noktaları sonuçlandırıyor.

Lecture 6.2 — A bag of tricks for mini batch gradient descent [Neural Networks for Machine Learning]
Lecture 6.2 — A bag of tricks for mini batch gradient descent [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...
 

Ders 6.3 — Momentum yöntemi



Ders 6.3 — Momentum yöntemi [Makine Öğrenimi için Sinir Ağları]

Bu videoda, mini partilerle stokastik gradyan inişini kullanmayla ilgili birkaç konuyu tartışacağız ve etkinliğini artırmak için bazı teknikleri keşfedeceğiz. Bu teknikler genellikle sinir ağlarının "kara sanatı" olarak kabul edilir ve bazı temel teknikleri ele alacağız.

İlk olarak, bir sinir ağında ağırlık başlatma problemini ele alalım. İki gizli birim aynı ağırlıklara ve önyargılara sahipse, her zaman aynı gradyanı alacaklar ve farklı özellik dedektörlerini öğrenemeyecekler. Farklı özellikleri öğrenmelerini sağlamak için, ağırlıklarını farklı şekilde başlatmak çok önemlidir. Bunu, simetriyi bozan küçük rasgele ağırlıklar kullanarak başarıyoruz. Ayrıca, her bir gizli birimin fan-in'i göz önüne alındığında, başlangıç ağırlıklarının farklı büyüklüklere sahip olmasında fayda vardır. Örneğin, daha büyük ağırlıklar, önemli bir girişe sahip ünitelerde doygunluğa neden olabilirken, küçük bir girişe sahip üniteler için daha küçük ağırlıklar uygundur. Pratik bir kural olarak, başlangıç ağırlıklarının boyutu, yelpaze girişinin kareköküyle orantılı olmalıdır.

Girdileri kaydırmak veya her girdi bileşenine bir sabit eklemek öğrenme hızı üzerinde şaşırtıcı bir şekilde önemli bir etkiye sahip olabilir. Bu kayma, hata yüzeyini önemli ölçüde değiştirebileceği için en dik inişe yardımcı olur. Genellikle, tüm eğitim setinde ortalama sıfır değerine sahip olmak için her girdi bileşenini kaydırmanız önerilir.

Girdileri ölçeklendirmek, en dik iniş kullanılırken başka bir önemli husustur. Ölçeklendirme, her bir bileşenin tüm eğitim seti boyunca birim varyansına sahip olmasını sağlamak için girdi değerlerinin dönüştürülmesini içerir ve onları bir veya eksi birin tipik değerleri haline getirir. Bu ölçeklendirme, büyük giriş bileşenleri için yüksek eğriliği ve küçük olanlar için düşük eğriliği önleyerek daha iyi hata yüzeyi davranışı sağlar.

Girdi bileşenlerini yeniden ilişkilendirmek, öğrenmeyi büyük ölçüde kolaylaştırabilir. Girdi bileşenleri arasındaki korelasyonları kaldırarak fazlalığı azaltıyor ve öğrenme verimliliğini artırıyoruz. Temel bileşenler analizi (PCA), ilişki bozukluğunu elde etmek için yaygın olarak kullanılan bir tekniktir. Küçük özdeğerlere sahip bileşenleri kaldırmayı ve kalan bileşenleri özdeğerlerinin kareköklerine bölerek ölçeklendirmeyi içerir. Bu süreç, doğrusal sistemler için öğrenmeyi basitleştiren dairesel bir hata yüzeyine yol açar.

Şimdi sinir ağı eğitiminde karşılaşılan bazı yaygın sorunları ele alalım. Aşırı yüksek bir öğrenme oranıyla başlamak, gizli birimleri, türevlerinin sıfıra yakın olduğu aşırı durumlara götürebilir. Bu, öğrenmenin durmasına neden olur ve genellikle yerel bir minimumda sıkışmış izlenimi verir. Gerçekte, ağ büyük olasılıkla bir düzlüğe hapsolmuştur.

Başka bir zorluk, kare hatası veya çapraz entropi hatası kullanılarak sınıflandırma yapılırken ortaya çıkar. Başlangıçta ağ, çıktı birimini beklenen bir olma oranına eşitlemek olan en iyi tahmin stratejisini çabucak öğrenir. Ancak, bu tahmin stratejisinin ötesinde daha fazla gelişme, özellikle derin ağlar ve küçük başlangıç ağırlıkları söz konusu olduğunda yavaş olabilir.

Öğrenme oranını ayarlarken doğru dengeyi bulmak çok önemlidir. Öğrenme oranını çok erken veya çok fazla azaltmak ilerlemeyi engelleyebilirken, eğitimin sonuna doğru azaltmak ağın performansını dengelemeye yardımcı olabilir.

Şimdi mini toplu öğrenmeyi önemli ölçüde hızlandırmak için dört özel yöntemi keşfedelim:

  1. Momentum: Momentum, eğime dayalı olarak ağırlıkları doğrudan değiştirmek yerine, ağırlık güncellemelerinin hızını güncellemek için eğimi kullanmayı içerir. Bu momentum, ağın önceki gradyanları hatırlamasını sağlar ve öğrenmeyi hızlandırmaya yardımcı olur.

  2. Uyarlanabilir öğrenme oranları: Her parametre için ayrı bir öğrenme oranı atamak ve ampirik ölçümlere dayalı olarak yavaş yavaş ayarlamak öğrenmeyi geliştirebilir. Gradyanın işareti salınımı gösterecek şekilde değişmeye devam ederse, öğrenme oranı azalır. İşaret, ilerlemeyi gösteren tutarlı kalırsa, öğrenme oranı artar.

  3. RMSprop: Bu yöntem, ağırlık güncellemelerinin son gradyan büyüklüklerinin çalışan ortalamasına bölünmesini içerir. Çeşitli gradyan aralıklarının etkili bir şekilde işlenmesine izin vererek, gradyanların büyüklüğüne göre ağırlık güncellemelerini dinamik olarak ayarlar. RMSprop, Rprop'un mini toplu uyarlamasıdır.

Lecture 6.3 — The momentum method [Neural Networks for Machine Learning]
Lecture 6.3 — The momentum method [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 6.4 — Her bağlantı için uyarlanabilir öğrenme oranları



Ders 6.4 — Her bağlantı için uyarlanabilir öğrenme oranları [Makine Öğrenimi için Sinir Ağları]

Bu videoda, başlangıçta 1980'lerin sonlarında Robbie Jacobs tarafından geliştirilen ve daha sonra diğer araştırmacılar tarafından geliştirilen, uyarlamalı öğrenme oranları olarak bilinen bir yöntemi keşfedeceğiz. Uyarlanabilir öğrenme oranlarının ardındaki kavram, bir sinir ağındaki her bağlantıya, güncellemeler sırasında o bağlantıdaki ağırlığın nasıl davrandığına dair ampirik gözlemlere dayalı olarak benzersiz bir öğrenme oranı atamaktır. Bu yaklaşım, ağırlığın gradyanı sürekli ters gittiğinde öğrenme oranını azaltarak ve gradyanı tutarlı kaldığında arttırarak öğrenme sürecinde ince ayar yapılmasına izin verir.

Her bağlantı için ayrı uyarlanabilir öğrenme oranlarına sahip olmak, özellikle derin çok katmanlı ağlarda avantajlıdır. Bu tür ağlarda, öğrenme oranları farklı ağırlıklar arasında, özellikle farklı katmanlardaki ağırlıklar arasında önemli ölçüde değişebilir. Ek olarak, bir hatayı düzeltmek için birden fazla gelen ağırlığı ayarlarken aşma etkilerinin boyutunu belirleyen bir birimin fanlanması da farklı öğrenme hızları gerektirir. Daha büyük fan-in'ler, öğrenme oranlarının buna göre uyarlanmasını gerekli kılan daha önemli aşım etkilerine yol açabilir.

Uyarlanabilir öğrenme oranlarını uygulamak için, küresel bir öğrenme oranı manuel olarak belirlenir ve her ağırlığa özgü yerel bir kazançla çarpılır. Başlangıçta, yerel kazanç her ağırlık için 1 olarak ayarlanır. Daha sonra ağırlık güncellemesi, öğrenme oranının yerel kazanç ve bu ağırlık için hata türevi ile çarpılmasıyla belirlenir. Ağırlık için gradyan işaret değiştirmiyorsa yerel kazanç artırılarak ve gradyanlar zıt işaretlere sahipse azaltılarak uyarlanır. Salınımların meydana gelmesi durumunda büyük kazançları hızla azaltmak amacıyla ek artışlar ve çarpımsal düşüşler kullanılır.

Gradyanlar rastgele olduğunda uyarlanabilir öğrenme oranlarının davranışını dikkate almak ilginçtir. Bu gibi durumlarda, kazançlarda eşit sayıda artış ve azalma olacak ve bu da 1'lik bir kazanç etrafında gezinmeye neden olacaktır. Eğimler sürekli olarak aynı yöne sahipse, kazanç 1'den çok daha büyük olabilirken, sürekli olarak zıt gradyanlar olabilir. kazancı 1'den çok daha küçük yapın, bu da bir dağ geçidi boyunca salınımı gösterir.

Uyarlanabilir öğrenme oranlarının etkinliğini artırmak için kazanç boyutunu 0,1 ila 10 veya 0,01 ila 100 gibi makul bir aralıkta sınırlamak önemlidir. Aşırı kazançlar istikrarsızlığa yol açabilir ve ağırlıkların yakınsamasını önleyebilir. Uyarlanabilir öğrenme oranları, başlangıçta tam toplu öğrenme için tasarlanmış olsa da, mini gruplarla da uygulanabilir. Bununla birlikte, örnekleme hatalarının etkisini en aza indirmek ve gradyanlardaki işaret değişikliklerinin bir dağ geçidini geçmeyi yansıtmasını sağlamak için daha büyük mini partiler tercih edilir.

Jacobs tarafından önerildiği gibi, uyarlanabilir öğrenme oranlarını ivme ile birleştirmek mümkündür. Geçerli gradyanı önceki gradyanla karşılaştırmak yerine, mevcut gradyan ile o ağırlık için hız (birikmiş gradyan) arasındaki işaret uyumu belirlenir. Bu kombinasyon, hem momentum hem de uyarlanabilir öğrenme oranlarının faydalarından yararlanır. Uyarlanabilir öğrenme hızları eksen hizalı etkileri ele alırken, momentum köşegen elipsleri işleyebilir ve uyarlanabilir öğrenme hızlarının tek başına başaramayacağı çapraz yönlerde hızlı bir şekilde gezinebilir.

Uyarlanabilir öğrenme oranlarının performansını artırmak için birkaç ek husus ve teknik vardır. Bir denge kurmak ve kazançların aşırı büyük olmasını önlemek çok önemlidir. Kazançlar çok büyük olursa, istikrarsızlığa yol açabilir ve yeterince hızlı bir şekilde düşmeyebilir ve potansiyel olarak ağırlıklara zarar verebilir.

Ayrıca, uyarlamalı öğrenme oranlarının öncelikle tüm eğitim örneklerinin tek bir yinelemede işlendiği tam toplu öğrenme için tasarlandığını belirtmekte fayda var. Ancak, eğitim örneklerinin alt kümelerinin bir seferde işlendiği mini toplu öğrenmeye de uygulanabilirler. Mini partiler kullanılırken, örnekleme hatalarının etkisini azaltmak için mini parti boyutunun nispeten büyük olmasını sağlamak önemlidir. Bu, gradyanlardaki işaret değişikliklerinin yalnızca mini partinin örnekleme değişkenliğinden kaynaklanmak yerine bir dağ geçidini geçmenin göstergesi olmasını sağlamaya yardımcı olur.

Optimizasyon sürecini daha da geliştirebilen uyarlanabilir öğrenme oranlarını ivme ile birleştirmek de mümkündür. Geçerli gradyanı önceki gradyanla karşılaştırmak yerine, o ağırlık için mevcut gradyan ile hız (yani birikmiş gradyan) arasındaki uyum değerlendirilebilir. Momentum dahil edilerek, momentumun avantajları ve uyarlanabilir öğrenme oranları arasında bir sinerji elde edilebilir. Uyarlanabilir öğrenme oranları, eksen hizalı etkileri ele almaya odaklanırken, momentum, diyagonal elipslerle etkili bir şekilde başa çıkma ve tek başına uyarlamalı öğrenme oranları için zor olabilecek diyagonal yönlerde hızla gezinme yeteneğine sahiptir.

Uyarlanabilir öğrenme oranları, ampirik gözlemlere dayalı olarak her bir bağlantıya bireysel öğrenme oranları atayarak sinir ağlarındaki öğrenme sürecine ince ayar yapmanın bir yolunu sunar. Derin çok katmanlı ağlarda farklı ağırlıklar arasında değişen öğrenme oranlarının zorluklarını ele alıyorlar ve birimlerin dağılımını göz önünde bulunduruyorlar. Kazanç boyutunu sınırlandırma, uygun mini parti seçimi ve uyarlanabilir öğrenme hızlarını momentumla birleştirme gibi teknikler, eğitim sürecini daha da optimize ederek performans ve yakınsamayı artırabilir.

Lecture 6.4 — Adaptive learning rates for each connection [Neural Networks for Machine Learning]
Lecture 6.4 — Adaptive learning rates for each connection [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 6.5 — Rmsprop: gradyanı normalleştirin



Ders 6.5 — Rmsprop: gradyanı normalleştirin [Makine Öğrenimi için Sinir Ağları]

Video, başlangıçta tam toplu öğrenme için tasarlanmış olan Rprop (Esnek Geri Yayılım) adlı bir yöntemi tanıtıyor. Popüler geri yayılım algoritmasıyla benzerlikler paylaşır, ancak bazı farklılıklar vardır. Konuşmacı daha sonra Rprop'un büyük yedekli veri kümeleri için gerekli olan mini toplu işlerle çalışacak şekilde nasıl genişletileceğini tartışır. Ortaya çıkan iRprop (Improved Rprop) adı verilen yöntem, Rprop'un avantajlarını mini toplu öğrenmenin verimliliğiyle birleştirir.

Rprop'un arkasındaki ana motivasyon, değişen gradyan büyüklüklerinin zorluğunu ele almaktır. Sinir ağlarındaki gradyanlar, küçükten büyüğe değişebilir, bu da tek bir küresel öğrenme oranı seçmeyi zorlaştırır. Rprop, tüm ağırlık güncellemelerinin aynı boyutta olmasını sağlayarak, yalnızca eğimin işaretini dikkate alarak bu sorunu çözer. Bu teknik, küçük gradyanlara sahip platolardan kaçmak için özellikle kullanışlıdır çünkü küçük gradyanlarda bile ağırlık güncellemeleri önemli olabilir.

Rprop, gradyanın işaretini, güncellenen ağırlığa dayalı uyarlanabilir adım boyutlarıyla birleştirir. Gradyanın büyüklüğünü dikkate almak yerine, o ağırlık için önceden belirlenen adım boyutuna odaklanır. Adım boyutu zamanla uyarlanır, son iki gradyanın işaretleri uyuşursa çarpımsal olarak artar ve uyuşmazlarsa çarpımsal olarak azalır. Adım boyutlarını sınırlayarak, çok büyük veya çok küçük olmalarını önler.

Rprop, tam toplu öğrenme için iyi çalışsa da mini toplu işlere uygulandığında zorluklarla karşılaşır. Küçük bir öğrenme oranı kullanırken, ardışık mini partiler üzerinden ortalama gradyanlara dayanan stokastik gradyan inişinin arkasındaki ana fikri ihlal ediyor. Konuşmacı, Rprop'un ağırlığı mevcut adım boyutuyla birkaç kez artırdığını ve yalnızca bir kez azalttığını, bu da ağırlık büyüklüğünde istenmeyen bir artışa yol açtığını açıklıyor.

Bu sınırlamanın üstesinden gelmek için konuşmacı, Rprop'un mini toplu sürümü olarak RMSprop'u (Kök Ortalama Kare yayılımı) sunar. RMSprop, gradyanı bölmek için kullanılan sayının yakındaki mini gruplar arasında tutarlı kalmasını sağlar. Bunu, her ağırlık için kare gradyanlarının hareketli bir ortalamasını koruyarak başarır. Kareli gradyanlar, bir azalma faktörü (örn. 0.9) kullanılarak ağırlıklandırılır ve güncellenmiş ortalama kareyi hesaplamak için önceki ortalama kareyle birleştirilir. Ortalama karenin karekökü daha sonra gradyanı normalleştirmek için kullanılır ve daha etkili öğrenme sağlar.

Konuşmacı, RMSprop'ta ivme veya her bağlantıda uyarlanabilir öğrenme oranları ile birleştirmek gibi daha fazla geliştirme yapılabileceğinden bahseder. Ek olarak, Nesterov momentumu ve Yann LeCun'un grubu tarafından önerilen ve RMSprop ile benzerlikler paylaşan bir yöntem gibi ilgili yöntemlere atıfta bulunurlar.

Özetle konuşmacı, veri setinin özelliklerine göre farklı öğrenme yöntemleri önerir. Fazla fazlalık olmayan küçük veri kümeleri veya büyük veri kümeleri için doğrusal olmayan eşlenik gradyan, LBFGS veya L-BFGS-B gibi tam toplu yöntemler uygundur. Sinir ağları için uyarlanabilir öğrenme oranları veya Rprop da kullanılabilir. Büyük yedekli veri kümeleri söz konusu olduğunda, mini toplu yöntemler esastır. Denenecek ilk seçenek, momentumlu standart eğimli iniştir. Rprop ve mini toplu öğrenmenin faydalarını birleştirdiği için RMSprop, dikkate alınması gereken başka bir etkili yöntemdir. Konuşmacı, daha fazla geliştirmeyi keşfetmeyi öneriyor, ancak ağların ve görevlerin farklı doğası nedeniyle şu anda sinir ağlarını eğitmek için basit bir tarif yok.

Lecture 6.5 — Rmsprop: normalize the gradient [Neural Networks for Machine Learning]
Lecture 6.5 — Rmsprop: normalize the gradient [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 7.1 — Modelleme dizileri: kısa bir genel bakış



Ders 7.1 — Modelleme dizileri: kısa bir genel bakış [Makine Öğrenimi için Sinir Ağları]

Bu videoda konuşmacı, sekanslar için kullanılan farklı tipte modellere genel bir bakış sunar. Önceki terimlere dayalı olarak sıradaki bir sonraki terimi tahmin eden otoregresif modelleri tartışarak başlarlar. Daha sonra, gizli birimleri içeren otoregresif modellerin daha karmaşık varyasyonlarından bahsederler. Konuşmacı, doğrusal dinamik sistemler ve gizli Markov modelleri gibi gizli durum ve dinamiklere sahip modelleri tanıtarak devam eder. Bu modeller karmaşık olmalarına rağmen, amaçları tekrarlayan sinir ağları ile bu tür modeller arasındaki ilişkiyi dizi modelleme bağlamında göstermektir.

Makine öğrenimini kullanarak dizileri modellerken amaç genellikle bir diziyi diğerine dönüştürmektir. Örneğin, konuşma tanıma için İngilizce kelimeleri Fransızca kelimelere dönüştürmek veya ses baskılarını kelime kimliklerine dönüştürmek. Bazı durumlarda ayrı bir hedef dizi olmayabilir, dolayısıyla giriş dizisindeki bir sonraki terim bir öğretme sinyali olarak hizmet edebilir. Tahminler için doğal bir düzen olduğundan, bu yaklaşım zamansal diziler için daha doğaldır. Ancak, denetimli ve denetimsiz öğrenme arasındaki ayrımı bulanıklaştırarak görüntülere de uygulanabilir.

Konuşmacı daha sonra tekrarlayan sinir ağlarına (RNN'ler) dalmadan önce diğer dizi modellerinin bir incelemesini sağlar. Belleği olmayan otoregresif modellerin, ileri beslemeli bir sinir ağına gizli birimler ekleyerek genişletilebileceğini açıklıyorlar. Bununla birlikte, hafızasız modellerin, diziler için modellerin yalnızca bir alt sınıfı olduğunu vurgularlar. Diğer bir yaklaşım ise, bilgileri daha uzun süre saklayabilen gizli durumlara ve iç dinamiklere sahip modeller kullanmaktır. Doğrusal dinamik sistemler ve gizli Markov modelleri gibi bu modeller, olasılıksal çıkarım ve öğrenme algoritmalarını içerir.

Doğrusal dinamik sistemler, mühendislikte yaygın olarak kullanılmaktadır ve doğrusal dinamikler ve Gauss gürültüsü ile gerçek değerli gizli durumlara sahiptir. Gizli Markov modelleri ise ayrık dağılımlar ve olasılıksal durum geçişleri kullanır. Konuşma tanımada yaygın olarak kullanılırlar ve dinamik programlamaya dayalı verimli öğrenme algoritmalarına sahiptirler.

Konuşmacı, bir ifadenin birinci ve ikinci yarısı arasında büyük miktarda bilginin iletilmesi söz konusu olduğunda gizli Markov modellerinin sınırlamalarını açıklıyor. Bu sınırlama, gizli durumun sınırlı bellek kapasitesinden kaynaklanmaktadır. Bu, gizli durumları ve doğrusal olmayan dinamikleri dağıtan ve onları bilgiyi hatırlamada daha verimli hale getiren tekrarlayan sinir ağlarının ortaya çıkmasına yol açar.

Tekrarlayan nöral ağlar, salınım, nokta çekicilere yerleşme (hafıza geri çağırma için yararlıdır) ve kaotik davranış (belirli durumlarda yararlıdır) dahil olmak üzere çeşitli davranışlar sergileyebilir. Bir RNN'nin gizli durumunun farklı alt kümelerini kullanarak birden çok programı uygulamayı öğrenebileceği fikrinin başlangıçta onları çok güçlü kılacağı düşünülüyordu. Bununla birlikte, RNN'leri eğitmek hesaplama açısından zordur ve tam potansiyellerinden yararlanmak zor bir iş olmuştur.

Video, farklı dizi modellerine genel bir bakış sağlar, tekrarlayan sinir ağları kavramını tanıtır ve hesaplama güçlerini ve eğitimdeki zorlukları vurgular.

Lecture 7.1 — Modeling sequences: a brief overview [Neural Networks for Machine Learning]
Lecture 7.1 — Modeling sequences: a brief overview [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...
 

Ders 7.2 — RNN'leri geriye yayılımla eğitme



Ders 7.2 — Geri yayılımlı RNN'leri eğitme [Makine Öğrenimi için Sinir Ağları]

Bu videoda, tekrarlayan sinir ağlarını eğitmek için yaygın olarak kullanılan bir yöntem olan zaman algoritması aracılığıyla geriye yayılımı tartışacağım. Tekrarlayan bir sinir ağı ile farklı zaman adımlarını temsil eden çoklu katmanlara sahip bir ileri beslemeli sinir ağı arasındaki ilişkiyi anladığınızda, algoritma basittir. Tekrarlayan sinir ağlarına girdi ve istenen çıktıları sağlamak için çeşitli yaklaşımları da ele alacağım.

Diyagram, birbirine bağlı üç nöronlu basit bir tekrarlayan ağı göstermektedir. Her bağlantının bir zaman gecikmesi vardır ve ağ tamsayı işaretleri ile ayrık zamanda çalışır. Tekrarlayan bir ağı eğitmek için, bunun esas olarak zaman içinde ileri beslemeli bir ağın genişletilmiş bir versiyonu olduğunu anlamamız gerekir. Tekrarlayan ağ, sıfır zamanında bir başlangıç durumunda başlar ve birinci zamanda yeni bir durum oluşturmak için bağlantı ağırlıklarını kullanır. Sonraki yeni durumları üretmek için aynı ağırlıkları kullanarak bu işlemi tekrarlar.

Geri yayılım, ağırlık kısıtlamaları mevcut olduğunda öğrenmede etkilidir. Bu, evrişimli ağlarda da gözlemlenmiştir. Ağırlık kısıtlamalarını dahil etmek için, kısıtlamaları göz ardı ederek her zamanki gibi gradyanları hesaplıyoruz ve ardından kısıtlamaları korumak için gradyanları değiştiriyoruz. Örneğin, w1'in w2'ye eşit olmasını istiyorsak, w1 ve w2'ye göre türevlerini alıp, toplayarak veya ortalamasını alarak ve aynı miktarı güncellemek için uygulayarak w1'deki değişimin w2'deki değişime eşit olmasını sağlarız. her iki ağırlık. Ağırlıklar başlangıçta kısıtlamaları sağladığı sürece, bunu yapmaya devam edeceklerdir.

Zaman içinde geri yayılım algoritması, basitçe, tekrarlayan bir ağı paylaşılan ağırlıklara sahip bir ileri beslemeli ağ olarak ele alma ve onu geri yayılım kullanarak eğitme sürecini tanımlamak için kullanılan bir terimdir. Zaman alanında, ileri geçiş her zaman dilimindeki etkinlikleri toplarken, geriye geçiş yığından etkinlikleri çıkarır ve her zaman adımı için hata türevlerini hesaplar. Her zaman adımındaki bu geriye doğru geçiş, algoritmaya adını verir - zaman içinde geriye yayılım.

Geriye geçişten sonra, her ağırlık için tüm zaman adımlarından türevleri toplar veya ortalamasını alırız. Daha sonra, bu ağırlığın tüm örneklerini, türevlerin toplamı veya ortalamasıyla orantılı olarak aynı miktarda güncelleriz. Gizli veya çıktı birimleri gibi tüm birimlerin başlangıç durumunu belirtmezsek, ek bir husus ortaya çıkar. Bu durumda, onları belirli bir durumda başlatmamız gerekir. Yaklaşımlardan biri, 0,5 gibi varsayılan değerleri ayarlamaktır, ancak en uygun sonuçları vermeyebilir. Alternatif olarak, başlangıç durumlarını parametre olarak ele alarak ve başlangıç durumuna göre hata fonksiyonunun gradyanına göre ayarlayarak öğrenebiliriz.

Tekrarlayan bir sinir ağına girdi sağlamak için çeşitli yöntemler vardır. Tüm birimlerin başlangıç durumunu, birimlerin bir alt kümesini veya birimlerin bir alt kümesi için her zaman adımındaki durumları belirtebiliriz. İkincisi genellikle sıralı verilerle uğraşırken kullanılır. Benzer şekilde, yinelenen bir ağ için hedefleri belirlemenin farklı yolları vardır. Belirli bir çekiciye yerleşmek üzere eğitmek istiyorsak, tüm birimler için veya birden çok zaman adımı için istenen nihai durumları belirtebiliriz. Geri yayılım sırasında her zaman adımından elde edilen türevleri dahil ederek, bu spesifikasyonları kolayca dahil edebilir ve çekicilerin öğrenilmesini teşvik edebiliriz.

Zaman içinde geri yayılım algoritması, tekrarlayan sinir ağlarını eğitmek için geri yayılımın basit bir uzantısıdır. Tekrarlayan ağı, paylaşılan ağırlıklara sahip genişletilmiş bir ileri beslemeli ağ olarak ele alarak, eğitimi optimize etmek için geri yayılımı uygulayabilir ve ilk durumları ve ağırlıkları ayarlayabiliriz. Tekrarlayan ağlara girdi ve istenen çıktıları sağlamak için çeşitli yöntemler mevcuttur, bu da sıralı verilerin işlenmesinde esneklik ve belirli amaçlar için eğitim sağlar.

Lecture 7.2 — Training RNNs with back propagation [Neural Networks for Machine Learning]
Lecture 7.2 — Training RNNs with back propagation [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 7.3 — RNN eğitiminin oyuncak örneği



Ders 7.3 — Bir RNN [Makine Öğrenimi için Sinir Ağları] eğitiminin oyuncak örneği

Bu videoda tekrarlayan sinir ağının (RNN) bir oyuncak problemini nasıl çözdüğünü anlatacağım. İleri beslemeli sinir ağları ile kolayca elde edilemeyen RNN'lerin yeteneklerini göstermek için bir oyuncak problemi seçilmiştir. Burada gösterilen problem ikili toplamadır. RNN sorunu çözmeyi öğrendikten sonra gizli durumlarını inceleyebilir ve bunları aynı sorunu çözen sonlu durum otomatının gizli durumlarıyla karşılaştırabiliriz.

İki ikili sayı toplama problemini göstermek için, ileri beslemeli bir sinir ağı eğitebiliriz. Ancak, bu yaklaşımla ilgili sınırlamalar vardır. Hem giriş sayıları hem de çıkış sayısı için maksimum basamak sayısını önceden belirlemeliyiz. Ayrıca giriş numaralarının farklı bitlerine uygulanan işlem genelleme yapmaz. Sonuç olarak, son iki basamağı toplama ve taşıma işlemleriyle uğraşma bilgisi belirli ağırlıklarda bulunur. Uzun bir ikili sayının farklı bölümleriyle uğraşırken, bilginin farklı ağırlıklarda kodlanması gerekir, bu da otomatik genelleme eksikliğine yol açar.

İkili toplama algoritması resimde gösterilmiştir. Algoritmadaki durumlar, gerçekten gizli olmamaları dışında gizli bir Markov modelindeki durumlara benzer. Sistem her seferinde bir durumda çalışır ve bir duruma girildiğinde bir eylem gerçekleştirir (ya 1 ya da 0 yazdırılır). Bir durumdayken, sonraki sütundan iki sayıdan oluşan ve yeni bir duruma geçişe neden olan girdi alır. Örneğin, taşıma durumundaysa ve az önce 1 yazdırdıysa, 1 1 ile karşılaştığında aynı durumda kalır ve bir 1 daha yazdırır. Ancak, 1 0 veya 0 1 ile karşılaşırsa, taşıma durumuna geçer. durum ancak 0 yazdırır. Benzer şekilde, 0 0, onu taşıma yok durumuna götürür ve burada 1 yazdırır. Bu işlem her zaman adımı için devam eder.

İkili toplama için tekrarlayan bir sinir ağı, iki giriş birimi ve bir çıkış birimi gerektirir. Her zaman adımında iki giriş hanesi alır ve iki zaman adımı önce karşılaştığı sütuna karşılık gelen bir çıktı üretir. Zaman gecikmesini hesaba katmak için, ağın iki zaman adımlık bir gecikmeye ihtiyacı vardır; burada ilk adım, girdilere dayalı olarak gizli birimleri günceller ve ikinci adım, gizli durumdan çıktı üretir. Ağ mimarisi birbirine bağlı üç gizli birimden oluşur, ancak daha hızlı öğrenme için daha fazla gizli birim kullanılabilir. Bu gizli birimler, değişen ağırlıklarda çift yönlü bağlantılara sahiptir. Gizli birimler arasındaki bağlantılar, bir zaman adımındaki aktivite modelinin bir sonraki adımdaki gizli aktivite modelini etkilemesine izin verir. Giriş birimleri, gizli birimlerle ileri beslemeli bağlantılara sahiptir ve ağın bir sütundaki iki haneyi gözlemlemesine izin verir. Benzer şekilde, gizli birimlerin çıktı birimine ileri beslemeli bağlantıları vardır ve bu da bir çıktının üretilmesini sağlar.

Tekrarlayan sinir ağının ne öğrendiğini analiz etmek büyüleyici. İkili toplama için sonlu durum otomatındaki düğümlere karşılık gelen üç gizli biriminde dört farklı aktivite modelini öğrenir. Bir sinir ağındaki birimleri sonlu durum otomatındaki düğümlerle karıştırmamak çok önemlidir. Otomattaki düğümler, tekrarlayan sinir ağının aktivite vektörleriyle hizalanır. Otomat, her zaman adımında tam olarak bir aktivite vektörüne sahip olan RNN'deki gizli birimler gibi, her seferinde bir durumla sınırlandırılmıştır. Bir RNN, sonlu durum otomatını taklit edebilirken, temsilde katlanarak daha güçlüdür. N gizli nöronla, N olası ikili aktivite vektörünün iki üssüne sahip olabilir. Yalnızca N kare ağırlıklara sahip olmasına rağmen, tüm temsil gücünden tam olarak yararlanmayabilir. Darboğaz temsilde yatıyorsa, bir RNN sonlu durum otomatından daha iyi performans gösterebilir.

Bu, girdi akışı aynı anda meydana gelen iki ayrı işlem içerdiğinde özellikle önemlidir. Bir sonlu durum otomatının, paralel süreçleri işlemek için durum sayısını katlanarak artırması gerekir. Buna karşılık, tekrarlayan bir sinir ağının yalnızca gizli birimlerin sayısını ikiye katlaması, böylece birimlerin sayısını ikiye katlaması ve temsil edebileceği ikili vektör durumlarının sayısını dört katına çıkarması gerekir.

Lecture 7.3 — A toy example of training an RNN [Neural Networks for Machine Learning]
Lecture 7.3 — A toy example of training an RNN [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...
 

Anlatım 7.4 — Bir RNN'yi eğitmek neden zordur?



Anlatım 7.4 — Bir RNN'yi eğitmek neden zordur? [Makine Öğrenimi için Sinir Ağları]

Bu videoda, tekrarlayan sinir ağları (RNN'ler) eğitimini zorlaştıran patlayan ve kaybolan gradyan problemini tartışacağım. Uzun yıllar boyunca araştırmacılar, RNN'lerle uzun vadeli bağımlılıkları modellemenin neredeyse imkansız olduğuna inanıyorlardı. Ancak, şu anda bu konuyu ele almak için dört etkili yaklaşım var.

RNN'leri eğitmenin neden zor olduğunu anlamak için, bir RNN'deki ileri ve geri geçişler arasındaki çok önemli bir farkı tanımamız gerekir. İleri geçişte, aktivite vektörlerinin patlamasını önlemek için lojistik fonksiyon gibi ezme fonksiyonları kullanılır. RNN'deki her nöron, çıktıyı 0 ile 1 arasında sınırlayan bir lojistik birim kullanır. Bu, aktivite seviyelerinin kontrolsüz bir şekilde büyümesini engeller.

Tersine, geriye doğru geçiş tamamen doğrusaldır. Şaşırtıcı bir şekilde, son katmandaki hata türevlerini ikiye katlarsak, geriye yayılım sırasında tüm hata türevleri de ikiye katlanır. Eğimler, lojistik eğrilerin belirli noktalardaki eğimleriyle belirlenir (videoda kırmızı noktalarla işaretlenmiştir). İleri geçiş tamamlandığında, bu teğetlerin eğimleri sabitlenir. Geri yayılım sırasında, gradyanlar, doğrusal olmama eğiminin sabitlendiği doğrusal bir sistem boyunca yayılır. Bununla birlikte, lineer sistemler, yinelendikçe gradyanların patlaması veya ölmesi probleminden muzdarip olma eğilimindedir. Ağırlıklar küçükse, gradyanlar üstel olarak küçülür ve ihmal edilebilir hale gelir. Tersine, eğer ağırlıklar büyükse, gradyanlar patlar ve öğrenme sürecini bastırır. Bu sorunlar, özellikle uzun dizilerle uğraşırken, RNN'lerde ileri beslemeli sinir ağlarına kıyasla daha ciddidir.

Dikkatli ağırlık başlatmayla bile, mevcut çıktı ile birçok zaman adımı önce meydana gelen olaylar arasındaki bağımlılıkları yakalamak zor olmaya devam ediyor. RNN'ler, uzun menzilli bağımlılıklarla başa çıkmakta zorlanıyor. Video, çekici durumlarını öğrenmek için tekrarlayan bir sinir ağını eğitirken gradyanların nasıl yok olabileceğine veya patlayabileceğine dair bir örnek sunuyor. Başlangıç durumlarındaki küçük farklılıklar son durumda hiçbir değişikliğe yol açmaz (kaybolan gradyanlar), sınırlara yakın küçük değişiklikler ise önemli bir ıraksamaya (patlayan gradyanlar) neden olur.

Bu zorlukların üstesinden gelmek için, RNN'leri eğitmek için dört etkili yöntem vardır. İlk yöntem, bellek yeteneklerini geliştirmek için ağın mimarisini değiştiren Uzun Kısa Süreli Bellek'tir (LSTM). İkinci yaklaşım, küçük gradyanları etkili bir şekilde idare edebilen gelişmiş optimize edicilerin kullanılmasını içerir. Sinir ağları için özel olarak tasarlanmış kendir içermeyen optimizasyon, düşük eğriliğe sahip küçük gradyanları algılamada mükemmeldir. Üçüncü yöntem, ağırlıkların dikkatli bir şekilde başlatılmasını ve gizli durumda zayıf bağlı osilatörlerden oluşan bir rezervuar oluşturulmasını içerir. Bu, ağın giriş dizilerini yansıtmasını ve hatırlamasını sağlar. Gizli birimler ve çıkışlar arasındaki bağlantılar daha sonra eğitilirken, tekrarlayan bağlantılar sabit kalır. Dördüncü yöntem momentumu kullanır ve bunu yankı durum ağlarında kullanılan başlatma tekniğiyle birleştirir. Bu değişiklik, ağın dinamiklerini iyileştirerek onu daha da etkili hale getirir.

RNN'leri eğitme yeteneği, bu yaklaşımlarla iyileşerek, patlayan ve yok olan gradyanların getirdiği zorlukların üstesinden geldi.

Lecture 7.4 — Why it is difficult to train an RNN? [Neural Networks for Machine Learning]
Lecture 7.4 — Why it is difficult to train an RNN? [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 7.5 — Uzun süreli Kısa süreli bellek



Ders 7.5 — Uzun süreli Kısa süreli bellek [Makine Öğrenimi için Sinir Ağları]

Bu videoda tekrarlayan sinir ağlarını eğitmek için "Long Short-Term Memory" (LSTM) olarak bilinen yaklaşımı anlatacağım. LSTM, bilgilerin kapılanmasını kolaylaştıran özel modüller kullanarak bir sinir ağında uzun süreli kısa süreli bir bellek oluşturmayı amaçlar.

LSTM'deki bellek hücresi, bilgileri uzun süre saklamak için tasarlanmıştır. Çarpımsal etkileşimlere sahip lojistik ve lineer birimlerden oluşur. Bir lojistik "yazma" kapısı etkinleştirildiğinde, bilgi, tekrarlayan ağın geri kalanından bellek hücresine girer. "Yazma" geçidinin durumu, tekrarlayan ağ tarafından belirlenir. Bilgi, sistemin geri kalanı tarafından kontrol edilen "tutma" kapısı açık olduğu sürece bellek hücresinde kalır. Hafıza hücresinden bilgi okumak için, bir lojistik "okuma" kapısı etkinleştirilir ve saklanan değer alınır ve tekrarlayan sinir ağının gelecekteki durumlarını etkiler.

LSTM, lojistik birimleri kullanır, çünkü bunlar farklılaştırılabilir özelliklere sahiptir ve bunlar aracılığıyla geri yayılımı mümkün kılar. Bu, ağın bellek hücresini birden çok zaman adımında öğrenmesine ve optimize etmesine olanak tanır. Bellek hücresi aracılığıyla geri yayılım, yüzlerce zaman adımında geri yayılabilen hata türevlerine dayalı olarak ağırlıkların güncellenmesini içerir.

LSTM, el yazısı tanıma gibi görevlerde özellikle başarılı olmuştur. Bitişik el yazısı varlığında bile bilgileri etkili bir şekilde saklayabilir ve alabilir. Okuma ve yazma görevlerinde diğer sistemlere göre üstün performans göstermiştir ve Canada Post bu amaçlar için LSTM tabanlı sistemleri kullanmaya başlamıştır.

Videoda, LSTM tabanlı bir el yazısı tanıma sisteminin gösterimi gösterilmektedir. Sistem kalem koordinatlarını girdi olarak alır ve tanınan karakterleri çıktı olarak üretir. Üst sıra tanınan karakterleri gösterir, ikinci sıra seçilen bellek hücrelerinin durumlarını gösterir, üçüncü sıra kalem koordinatlarıyla gerçek yazıyı görselleştirir ve dördüncü sıra geçmiş olayların etkisini gösteren XY konumlarına geri yayılan gradyanı gösterir. karakter tanıma kararları

LSTM'nin, sıralı verilerde uzun vadeli bağımlılıkların yakalanmasını ve kullanılmasını sağlayan, tekrarlayan sinir ağlarını eğitmek için güçlü bir yaklaşım olduğu kanıtlanmıştır.

Lecture 7.5 — Long term Short term memory [Neural Networks for Machine Learning]
Lecture 7.5 — Long term Short term memory [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...
 

Ders 8.1 — Hessian içermeyen optimizasyona kısa bir genel bakış



Ders 8.1 — Hessian'sız optimizasyona kısa bir genel bakış [Makine Öğrenimi için Sinir Ağları]

Hessian içermeyen optimize edici, tekrarlayan sinir ağlarını etkili bir şekilde eğitmek için kullanılan karmaşık bir algoritmadır. Tüm ayrıntılara girmeyeceğim, ancak nasıl çalıştığına dair genel bir anlayış sunacağım.

Sinir ağlarını eğitirken amaç hatayı en aza indirmektir. Optimize edici, hatada en büyük azalmayı elde etmek için hareket edilecek yönü ve mesafeyi belirler. İndirgeme, yukarı doğru içbükey ikinci dereceden bir hata yüzeyi varsayılarak, gradyan-eğrilik oranına bağlıdır. Newton'un yöntemi, eliptik hata yüzeylerini dairesel olanlara dönüştürerek en dik iniş sınırlamasını ele alır. Bunu, gradyanı Hessian olarak da bilinen eğrilik matrisinin tersiyle çarparak yapar. Bununla birlikte, Hessian matrisinin ters çevrilmesi, boyutundan dolayı büyük sinir ağları için mümkün değildir. Bunun üstesinden gelmek için, Hessian içermeyen ve L-BFGS gibi yaklaşık yöntemler, eğriliğe yaklaşmak için daha düşük dereceli matrisler kullanır. Kendirsiz, eğrilik matrisine yaklaşır ve her seferinde bir yöndeki hatayı en aza indiren bir yöntem olan eşlenik gradyan kullanır. Önceki yönlerin gradyanlarını değiştirmeyen eşlenik yönleri seçerek önceki küçültmeyi bozmaktan kaçınır.

Eşlenik gradyan, n adımda veya daha az adımda, n boyutlu ikinci dereceden bir yüzeyin global minimumunu verimli bir şekilde bulur. Bunu, hatayı n'den çok daha az adımda minimum değere yaklaştırarak başarır. Çok katmanlı sinir ağlarında olduğu gibi ikinci dereceden olmayan hata yüzeylerine doğrudan uygulanabilir ve büyük mini yığınlarla iyi çalışır. Hessian içermeyen optimize edici, gerçek hata yüzeyine yaklaşımı yinelemeli olarak iyileştirmek ve minimuma yaklaşmak için ikinci dereceden yaklaşımı ve eşlenik gradyanı birleştirir.

Hessian'sız optimize edici ilk önce gerçek hata yüzeyine ilk ikinci dereceden bir yaklaşım yapar. Daha sonra bu ikinci dereceden yaklaşımdaki hatayı en aza indirmek için eşlenik gradyan uygular. Bunu yaparak, bu yaklaşımda bir minimum noktaya yaklaşır. Daha sonra optimize edici, eğrilik matrisine yeni bir yaklaşım yapar ve işlemi tekrarlar. Eşlenik gradyan kullanarak yaklaşımı iyileştirerek ve hatayı en aza indirerek yinelemeli olarak devam eder. Bu yinelemeli süreç, optimize edicinin kademeli olarak hata yüzeyinin gerçek minimumuna yaklaşmasına yardımcı olur.

Tekrarlayan sinir ağlarında, gizli faaliyetlerdeki büyük değişiklikler için bir ceza eklemek önemlidir. Bu, dizi boyunca yayılan erken ağırlık değişikliklerinin neden olduğu aşırı etkileri önler. Optimize edici, gizli etkinliklerdeki değişiklikleri cezalandırarak istikrar sağlar ve istenmeyen sonuçları önler.

Hessian içermeyen optimize edici, tekrarlayan sinir ağlarını etkili bir şekilde eğitmek için ikinci dereceden yaklaşımı, eşlenik gradyan minimizasyonu ve gizli aktivite değişiklikleri için cezayı birleştirir. Yaklaşımı yinelemeli olarak geliştirerek ve hatayı en aza indirerek verimli ve doğru optimizasyon sağlar.

Lecture 8.1 — A brief overview of Hessian-free optimization [Neural Networks for Machine Learning]
Lecture 8.1 — A brief overview of Hessian-free optimization [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...
Neden: