Nöral ağlar: Etkileşimli alıştırmalar

Aşağıdaki etkileşimli alıştırmalarda, Sauce and Spoon'un tablete geçiş süreciyle ilgili nöral ağlardır. Öncelikle parametrenin ve hiperparametrenin ağın tahminlerini etkiler. Sonra da öğrendiklerinizi kullanarak sinir ağını, doğrusal olmayan verileri uyduracak şekilde kullanmakta fayda var.

1. alıştırma

Aşağıdaki widget, aşağıdaki yapılandırmayla bir nöral ağ oluşturur:

  • 0.00, 0.00 ve 0.00 değerlerini içeren 3 nöronlu giriş katmanı
  • 4 nöronlu gizli katman
  • 1 nöronlu çıkış katmanı
  • ReLU etkinleştirme işlevi tüm gizli katman düğümlerini ve çıkış düğümünü

Ağın ilk kurulumunu inceleyin (not: ▶️ >| düğmelerini kullanarak) ve ardından widget'ın altındaki görevleri tamamlayın.

Görev 1

Nöral ağ modelindeki üç giriş özelliğinin değerlerinin hepsi 0.00 Ağdaki düğümlerin her birini tıklayarak başlatılan tüm düğümleri değerler. Oynat (▶️) düğmesine basmadan önce şu soruyu yanıtlayın:

Ne tür bir çıkış değeri ne olacak?
Pozitif çıkış değeri
Negatif çıkış değeri
0 çıkış değeri

Şimdi ağın üst kısmındaki Oynat (▶️) düğmesini tıklayın ve tüm gizli katmanı izleyin ve çıkış düğümü değerlerinin doldurulur. Yukarıdaki yanıtınız doğru muydu?

Açıklama için burayı tıklayın

Elde edeceğiniz çıkış değeri, ağırlığa göre değişiklik gösterir ve ağırlık parametreleri rastgele başlatılır. Ancak her nöron öğesinin değeri 0'dır. Bu eşitliğin hesaplanması için kullanılan ağırlıklar gizli katman düğüm değerlerinin tümü sıfırlanır. Örneğin, ilk olarak gizli katman düğümü hesaplaması şöyle olur:

y = ReLU(w11* 0,00 + w21* 0,00 + w31* 0,00 + b)

y = ReLU(b)

Dolayısıyla, her bir gizli katman düğümünün değeri yanlılık (b) - b negatifse 0 olur, b 0 ise b'nin kendisi b pozitif olmalıdır.

Ardından, çıkış düğümünün değeri aşağıdaki gibi hesaplanacaktır:

y = ReLU(w11* x11 + w21* x21) + w31* x31 + w41* x41 + b)

Görev 2

Sinir ağını değiştirmeden önce aşağıdaki soruyu yanıtlayın:

Başka bir gizli katman eklerseniz katmandan sonra nöral ağa bağlanacak ve yeni katman 3'e ve ağırlık/önyargı parametreleri aynıdır (ör. diğer düğümlerin hesaplamalar etkilenecek mi?
Tüm düğümler ağdaki, giriş düğümleri hariç
Yalnızca ilk gizli katman
Yalnızca çıkış düğümü

Şimdi aşağıdaki gibi 3 düğüme sahip yeni bir gizli katman eklemek için nöral ağını değiştirin:

  1. Yeni bir gizli katman eklemek için 1 gizli katman metninin solundaki + düğmesini tıklayın katmandan önceki gizli katman.
  2. 2 düğüm daha eklemek için yeni gizli katmanın üzerindeki + düğmesini iki kez tıklayın. uygulayacaksınız.

Yukarıdaki yanıtınız doğru muydu?

Açıklama için burayı tıklayın

Yalnızca çıkış düğümü değişir. Çünkü bu nöral ağ için çıkarım "feed-ileri"dir (hesaplamaların baştan sona ilerlemesi), katmana eklemek, yalnızca yeni katmandan sonraki düğümleri etkiler katmandır. Kendisinden öncekileri değil.

Görev 3

Ağın ilk gizli katmanındaki ikinci düğümü (üstten) tıklayın grafiğe dönüştürülebilir. Ağ yapılandırmasında değişiklik yapmadan önce şu soru var:

ağırlık w12 (ilk giriş düğümünün altında gösterilir, x1), diğer düğümlerin bazı girişler için hesaplamalar etkilenebilir değer mi?
Yok
Bu projedeki ikinci düğüm ilk gizli katman, ikinci gizli katmandaki tüm düğümler ve çıkış düğümünü de ekleyin.
Bu sayfadaki tüm düğümler katman ve çıkış katmanı bulunur.

Şimdi, w12 ağırlığına ( ilk giriş düğümü (x1)), değerini 5.00 olarak değiştirin ve Enter tuşuna basın. Grafikteki güncellemeleri inceleyin.

Yanıtınız doğru muydu? Cevabınızı doğrularken dikkatli olun: bir düğüm değerinin değişmemesi, temel hesaplamanın değişmediği anlamına mı geliyor?

Açıklama için burayı tıklayın

Birinci gizli katmanda etkilenen tek düğüm ikinci düğümdür ( tıklayın. İlk sıradaki diğer düğümlerin değer hesaplamalarını gizli katman parametre olarak w12 içermediğinden yardımcı olabilir. İkinci gizli katmandaki tüm düğümler kendi bünyelerinde ilk düğümdeki ikinci düğümün değerine göre gizli katman. Benzer şekilde, çıkış düğümü değeri de hesaplamalar, ikinci gizli katmandaki düğümlerin değerlerine dayanır.

Yanıtın "hiçbiri" olduğunu mu düşünüyordun çünkü ağ değişti mi? Bir temel bir düğümün hesaplaması, düğümün değeri değiştirmeden değişebilir (ör. ReLU(0) ve ReLU(–5) de 0 çıktısını üretir. Ağın yalnızca risk sermayesinden nasıl etkilendiği konusunda varsayımlarda bulunmayın. düğüm değerlerine bakıyoruz; hesaplamaları da gözden geçirin.

2. alıştırma

Çapraz özellik alıştırmaları Kategorik veri modülünde, özellik kesişimlerini, doğrusal olmayan verileri sağlayacak şekilde manuel olarak oluşturdunuz. Şimdi, otomatik olarak öğrenebilen bir nöral ağ oluşturup doğrusal olmayan verilerin nasıl sığdırılacağını öğreneceksiniz.

Göreviniz: Turuncu noktaları diğerlerinden ayırabilen bir nöral ağ yapılandırın aşağıdaki şemadaki mavi noktalarla her ikisinde de 0, 2'den daha az bir kayba eğitim ve test verilerini birleştiriyoruz.

Instructions:

Aşağıdaki etkileşimli widget'ta:

  1. Sinir ağı hiperparametrelerini değiştirmek için şu yapılandırma ayarlarından birini tercih edebilirsiniz:
    • + ve - düğmelerini tıklayarak gizli katman ekleyebilir veya ağ şemasında GİZLİ KATMANLAR başlığının solunda yer alır.
    • + ve - seçeneklerini tıklayarak gizli bir katmana nöron ekleyebilir veya mevcut nöronları kaldırabilirsiniz düğmesini tıklayın.
    • Öğrenme hızından yeni bir değer seçerek öğrenme hızını değiştirin. açılır menüyü kullanabilirsiniz.
    • Etkinleştirme açılır menüsünü açın.
  2. Sinir ağını eğitmek için diyagramın üzerindeki Oynat (▶️) düğmesini tıklayın model değerini belirleyebilirsiniz.
  3. Verileri eğitim amaçlı olarak yerleştiren modelin görselleştirmesini gözlemleme ve ilerlemenin yanı sıra Test kaybı ve Eğitim kaybı değerleri Çıkış'ı tıklayın.
  4. Model, test ve eğitim verilerinde 0,2'nin altında bir kayba ulaşmıyorsa Sıfırla'yı tıklayın ve farklı bir yapılandırma kümesiyle 1-3 arasındaki adımları tekrarlayın Ayarlar'da devre dışı bırakabilirsiniz. Tercih edilen sonuçlara ulaşana kadar bu işlemi tekrarlayın.

Çözümümüz için burayı tıklayın

Aşağıdakileri yaparak hem test hem de eğitim kaybını 0,2'nin altına düşürmeyi başardık:

  • 3 nöron içeren 1 gizli katman ekleniyor.
  • 0,01 öğrenme hızı seçiliyor.
  • ReLU'nun etkinleştirme fonksiyonunu seçme.