Nöral Ağlar: Yapı

Özellik Haçları biriminden hatırlayorsanız aşağıdaki sınıflandırma sorunu doğrusal değildir:

Cartesian hikayesi. Geleneksel x ekseni 'x1' olarak etiketlenir. Geleneksel y ekseni 'x2' olarak etiketlenir. Kuzeybatı ve güneydoğu çeyreklerinde mavi noktalar, güneybatı ve kuzeydoğu çeyreklerinde ise mavi noktalar bulunur.

Şekil 1. Doğrusal olmayan sınıflandırma sorunu.

"Doğrusal olmayan", formun modeliyle bir etiketi doğru şekilde tahmin edemeyeceğiniz anlamına gelir \(b + w_1x_1 + w_2x_2\) Başka bir deyişle, "karar yüzeyi" bir çizgi değildir. Daha önce, doğrusal olmayan problemlerin modellenmesi için olası bir yaklaşım olarak özellik çaprazlarını inceledik.

Şimdi de aşağıdaki veri kümesini dikkate alın:

Veri kümesi çok sayıda turuncu ve birçok mavi nokta içerir. Tutarlı bir kalıp belirlemek zordur ancak turuncu noktalar, belirsiz bir spiral oluşturur. Mavi noktalar ise farklı bir spiral olabilir.

Şekil 2. Daha zor bir doğrusal olmayan sınıflandırma sorunu.

Şekil 2'de gösterilen veri kümesi doğrusal bir modelle çözümlenemez.

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 başlayalım:

Üstlerindeki yeşil daireye oklarla bağlanmış üç mavi daire

3. Şekil. Grafik olarak doğrusal model.

Her mavi daire bir giriş özelliğini, yeşil daire de girişlerin ağırlıklı toplamını temsil eder.

Doğrusal olmayan sorunlarla başa çıkma becerisini iyileştirmek için bu modeli nasıl değiştirebiliriz?

Gizli Katmanlar

Aşağıdaki grafiğin temsil ettiği modele, aracı değerlerinin "gizli katmanını" ekledik. Gizli katmandaki her sarı düğüm, mavi giriş düğümü değerlerinin ağırlıklı bir toplamıdır. Çıkış, sarı düğümlerin ağırlıklı bir toplamıdır.

Arka arkaya üç mavi daire

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

Bu model doğrusal mı? Evet, çıkışı hala girdilerden oluşan doğrusal bir kombinasyondur.

Aşağıdaki grafiğin temsil ettiği modele, ağırlıklı toplamları içeren ikinci bir gizli katman ekledik.

Arka arkaya üç mavi daire

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

Bu model hâlâ doğrusal mı? Evet. Çıkışı girdinin işlevi olarak ifade edip sadeleştirdiğinizde girişlerin yalnızca ağırlıklı ağırlıklı bir toplamını elde edersiniz. Bu toplam, Şekil 2'deki doğrusal olmayan sorunu etkili bir şekilde modellemez.

Etkinleştirme İşlevleri

Doğrusal olmayan bir sorunu modellemek için doğrudan doğrusal olmayan bir sorunu tanıtabiliriz. Gizlenen her katman düğümünü doğrusal olmayan bir işlev aracılığıyla borulara bağlayabiliriz.

Aşağıdaki grafikte gösterilen modelde, Gizli Katman 1'deki her bir düğümün değeri, bir sonraki katmanın ağırlıklı toplamlarına geçirilmeden önce doğrusal olmayan bir işlev tarafından dönüştürülür. Bu doğrusal olmayan işleve etkinleştirme işlevi denir.

İki gizli katman arasına 'Doğrusal Olmayan Dönüşüm Katmanı' etiketli pembe dairelerin satırı dışında, önceki şekilde aynıdır.

6. Şekil. Etkinleştirme işlevine sahip üç katmanlı modelin grafiği.

Artık bir etkinleştirme işlevi eklediğimize göre, katman eklemenin de daha büyük bir etkisi var. Doğrusal olmayan değişkenleri doğrusal olmayan öğeler olarak katmanlandırmak, girişler ve tahmin edilen çıkışlar arasındaki çok karmaşık ilişkileri modellememize olanak verir. Özetle, her katman ham girişlerle kıyaslandığında daha karmaşık ve yüksek düzeyde bir işlevi etkin biçimde öğrenir. Bunun işleyiş şekliyle ilgili daha fazla sezgisel bilgi edinmek isterseniz Chris Olah'ın mükemmel blog yayınına bakın.

Sık Kullanılan Etkinleştirme İşlevleri

Aşağıdaki sigmoid etkinleştirme işlevi, ağırlıklı toplamı 0 ile 1 arasında bir değere dönüştürür.

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

Aşağıda bir olay örgüsü verilmiştir:

Sigmoid işlevi

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

Aşağıdaki düzeltilmiş doğrusal birim etkinleştirme işlevi (veya kısaca RELU), genellikle sigmoid gibi yumuşak bir işlevden biraz daha iyi sonuç verir ve aynı zamanda hesaplanması çok daha kolaydır.

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

ReLU'nun üstünlüğü, büyük olasılıkla daha yararlı bir yanıt aralığına sahip olmayla elde edilen deneysel bulgulara dayanır. Sigmoidin yanıt verme hızı her iki tarafta da nispeten hızlı bir şekilde düşer.

ReLU etkinleştirme işlevi

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

Aslında, herhangi bir matematiksel işlev bir etkinleştirme işlevi görevi görebilir. Etkinleştirme işlevimizi ( \(\sigma\) , Relu, Sigmoid vb.) temsil ettiğini varsayalım. Sonuç olarak, ağdaki bir düğümün değeri aşağıdaki formülle verilir:

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

TensorFlow, birçok etkinleştirme işlevi için kullanıma hazır destek sağlar. Bu etkinleştirme işlevlerini, TensorFlow'un temel nöral ağ işlemleri için sarmalayıcılar listesinde bulabilirsiniz. Bununla birlikte, ReLU ile başlamanızı öneririz.

Özet

Modelimizde artık, "nöral ağ" dediklerinde kullanıcıların genellikle ne anlama geldiğine dair tüm standart bileşenler bulunuyor:

  • Katmanlarda düzenlenmiş, nöronlara benzeyen bir dizi düğüm.
  • Her nöral ağ katmanı ile altındaki katman arasındaki bağlantıları temsil eden bir ağırlık kümesi. Alttaki katman başka bir nöral ağ katmanı veya başka bir katman olabilir.
  • Her bir düğüm için bir ön yargı kümesi.
  • 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 edilmesi gereken nokta: Nöral ağların her zaman özellik haçlarından daha iyi olması gerekmez ancak nöral ağlar birçok durumda işe yarayan esnek bir alternatif sunar.