Sinir Ağlar: Yapı

Nöral ağların doğrusal olmayan problemlere nasıl yardımcı olabileceğini görmek için bir doğrusal modeli grafik olarak temsil ederek:

Üzerlerindeki yeşil bir daireye oklarla bağlı olan, üst üste dizilmiş üç mavi daire

Şekil 3. Grafik olarak doğrusal model.

Her mavi daire bir giriş özelliğini, yeşil daire ise girişlerin ağırlıklı toplamıdır.

Bu modeli, doğrusal olmayan problemlerle başa çıkma yeteneğini iyileştirmek için nasıl değiştirebiliriz? sorun mu var?

Gizli Katmanlar

Aşağıdaki grafikte temsil edilen modele "gizli katman" ara değerlerden ibarettir. Gizli katmandaki her sarı düğüm ağırlıklı bir toplamdır vardır. Sonuç, sarı renkteki öğelerin ağırlıklı toplamıdır düğüm.

Etiketli bir satırdaki üç mavi daire

Şekil 4. İki katmanlı model grafiği.

Bu model doğrusal mı? Evet. Bunun sonucu hâlâ geri bildirim vermemiz gerekir.

Aşağıdaki grafikte temsil edilen modele, tablodaki ikinci bir gizli ağırlıklı toplamlar katmanıdır.

Etiketli bir satırdaki üç mavi daire

Şekil 5. Üç katmanlı modelin grafiği.

Bu model hâlâ doğrusal mı? Evet. Çıkışı sadeleştirme işlemini gerçekleştirirseniz girdiler. Bu toplam, Şekil 2'deki doğrusal olmayan problemi etkili bir şekilde modellemez.

Etkinleştirme İşlevleri

Doğrusal olmayan bir problemi modellemek için, doğrusal olmayan bir problemi doğrudan ele alabiliriz. Google'da her bir gizli katman düğümünü doğrusal olmayan bir fonksiyon ile ilişkilendirin.

Aşağıdaki grafikte temsil edilen modelde, Gizli Katman 1 aktarılmadan önce doğrusal olmayan bir işlev tarafından dönüştürülür katmanın ağırlıklı toplamlarına eşittir. Doğrusal olmayan bu fonksiyona aktivasyon fonksiyonu.

"Doğrusal Olmayan Dönüşüm Katmanı" etiketli pembe dairelerden oluşan bir satır dışında önceki şekil ile aynı iki gizli katman arasına eklenmiştir.

Şekil 6. Aktivasyon fonksiyonu içeren üç katmanlı model grafiği

Artık bir etkinleştirme işlevi eklediğimize göre, katman eklemenin daha fazla etkisi var. Doğrusal olmayanlıkları doğrusal olmayanlar üzerinde yığmak, çok karmaşık ve tahmin edilen çıktılar arasındaki ilişkiyi kontrol eder. Kısacası, daha karmaşık ve daha yüksek seviyeli bir işlevi etkili bir şekilde ham girişler. Bunun nasıl çalıştığı konusunda daha fazla sezgi geliştirmek isterseniz Chris Olah'ın mükemmel blog yayını.

Ortak Etkinleştirme İşlevleri

Aşağıdaki sigmoid etkinleştirme işlevi, ağırlıklı toplamı 0 ile 1 arasında bir değere ayarlayacağız.

$$F(x)=\frac{1} {1+e^{-x}}$$

Konuyu aşağıda bulabilirsiniz:

Sigmoid işlevi

Şekil 7. Sigmoid etkinleştirme işlevi.

Aşağıdaki düzeltilmiş doğrusal birim etkinleştirme fonksiyonu (veya ReLU, kısa) genelde sigmoid gibi akıcı bir işlevden biraz daha iyi sonuç verir. hem de hesaplama işlemi önemli ölçüde daha kolay.

$$F(x)=max(0,x)$$

ReLU'nun üstünlüğü, muhtemelen ReLU tarafından sağlanan deneysel bulgulara dayanır yanıt verme süresini artırırsınız. Bir sigmoid'in duyarlılığı düşüyor hızlı bir şekilde çözülebilir.

ReLU etkinleştirme işlevi

8. Şekil. ReLU etkinleştirme işlevi.

Aslında, herhangi bir matematiksel fonksiyon aktivasyon fonksiyonu olarak kullanılabilir. \(\sigma\) ifadesinin, aktivasyon fonksiyonumuzu temsil ettiğini varsayalım (Relu, Sigmoid vb.) Sonuç olarak, ağdaki bir düğümün değeri aşağıdaki şekilde verilir formül:

$$\sigma(\boldsymbol w \cdot \boldsymbol x+b)$$

Özet

Şimdi modelimiz, insanların genellikle kullandığı bunun anlamı şudur:

  • Katmanlar halinde düzenlenmiş, nöronlara benzeyen bir düğüm kümesi.
  • Her bir nöral ağ arasındaki bağlantıları temsil eden bir ağırlık grubu katmanı ve altındaki katmandır. Alttaki katman ya da başka tür bir katman.
  • Her düğüm için bir tane olmak üzere bir ağırlıklandırma grubu.
  • Bir katmandaki her düğümün çıkışını dönüştüren bir etkinleştirme işlevi. Farklı katmanların farklı etkinleştirme işlevleri olabilir.

Dikkat: Nöral ağların her zaman özellik çakışmalarına neden olur, ancak nöral ağlar bu şekilde çalışan esnek bir alternatif sunar. iyi sonuç verir.