Bu makale, orijinal başlığı olan AI Araştırma Enstitüsü tarafından derlenen teknik bir blogdur:
Sığ Sinir Ağları
Yazar | Rochak Agrawal
Çeviri | hxyzzz0 Editör | Demps Jeff, Wang Liyu
Orijinal bağlantı:
https://towardsdatascience.com/shallow-neural-networks-23594aa97a5
Ne zaman bir sinir ağının adını duysak, içinde birçok gizli katman olduğunu düşünürüz, ancak aslında yalnızca birkaç gizli katmana sahip bir sinir ağı vardır: Sığ bir sinir ağı yalnızca bir veya iki gizli katman içerir. Sığ sinir ağlarının incelenmesi, derin sinir ağlarının iç işleyiş mekanizmasına ilişkin anlayışımızı güçlendirebilir. Bu makale sığ bir sinir ağının ne olduğunu ve matematiksel ilkelerini tanıtacaktır. Aşağıdaki şekil, yalnızca bir gizli katman, bir giriş katmanı ve bir çıkış katmanına sahip sığ bir sinir ağını göstermektedir.
Gizli katman, her biri yukarıdaki iki adımı gerçekleştiren birçok nörondan oluşur. Yukarıdaki şekildeki sığ sinir ağında, gizli katmandaki dört nöron şu şekilde hesaplanır:
Yukarıdaki denklemde:
Alt simge i, i'inci katmanı temsil eder ve alt simge j bu katmandaki j'inci nöronu temsil eder.
X, 3 özellik içeren bir giriş vektörüdür.
W j, i-inci katmandaki j. nöronun ağırlığıdır.
b j, i-inci katmandaki jnci nöronun önyargısıdır.
Z j, i-inci katmandaki jnci nöronun ara çıktısıdır.
Bir j i-inci katmandaki j. nöronun son çıktısı.
Sigma, sigmoid aktivasyon işlevidir. Matematiksel tanımı:
Açıkçası, yukarıdaki dört denklem oldukça uzun, bu yüzden onları vektörleştiriyoruz:
İlk denklem, tüm ara Z çıktılarını hesaplamak için bir matris çarpımını kullanır.
İkinci denklem, tüm aktivasyon fonksiyonu çıktılarını A hesaplamak için bir matris işlemi kullanır.
İlk denklem, ilk gizli katmanın Z ara çıktısını hesaplar.
İkinci denklem, ilk gizli katmanın son çıktısını A hesaplar.
Üçüncü denklem, çıktı katmanının ara çıktısını Z hesaplar.
Dördüncü denklem, tüm sinir ağının son çıktısı olan çıktı katmanının son çıktısını A hesaplar.
Bir sinir ağının temelde matematiksel denklemler ve ağırlıklardan oluştuğunu biliyoruz. Sinir ağının sağlamlığını iyileştirmek, böylece çeşitli farklı senaryolarda iyi sonuçlar elde etmek için bir aktivasyon işlevi kullanıyoruz. Bu aktivasyon fonksiyonları, sinir ağına doğrusal olmayan özellikler katar. Daha sonra, sığ sinir ağı temelinde aktivasyon işlevinin önemini anlayın.
Aktivasyon işlevi yoksa, sığ sinir ağımız şu şekilde ifade edilebilir:
Denklem 1'deki Z'yi Denklem 2'ye koymak aşağıdaki denklemi verir:
Açıkçası, çıktı yeni bir ağırlık matrisi W, giriş X ve yeni bir önyargı matrisi b'nin doğrusal bir kombinasyonu olacaktır, bu da nöronların ve bunların gizli katmandaki ağırlıklarının anlamlarını yitirdiği anlamına gelir. Bu nedenle, ağa doğrusal olmayan özellikler eklemek için aktivasyon işlevini kullanmamız gerekir.
Sigmoid, Tanh, ReLU, vb. Dahil olmak üzere birçok çeşit aktivasyon fonksiyonu vardır ve her katmanda farklı aktivasyon fonksiyonları kullanılabilir. Aşağıdaki makalede aktivasyon işlevleri hakkında daha fazla bilgi edinebilirsiniz.
(Https://towardsdatascience.com/activation-functions-neural-networks-1cbd9f8d91d6)
Sinir ağının ağırlık matrisi genellikle rastgele başlatılır. Öyleyse neden 0 veya başka bir değerle başlatılamıyor? Ardından, bu sorunu sığ sinir ağımız aracılığıyla anlıyoruz.
İlk katmanın ağırlık matrisi W1'i ve ikinci katmanın ağırlık matrisi W2'yi 0 veya diğer değerlerle başlatalım. Şimdi, ağırlık matrisi değişmeden kalırsa, gizli katmandaki nöronların aktivasyon fonksiyonu da aynıdır ve aktivasyon fonksiyonunun türevi de aynıdır. Bu nedenle, gizli katmandaki her bir nöronun ağırlığı, benzer bir değere değiştirilecektir, böylece gizli bir katmanın birden fazla nöron içermesi gerekmez. Ancak istediğimiz bu değil. Aksine, gizli katmandaki her bir nöronun benzersiz olmasını, farklı ağırlıklara sahip olmasını ve bağımsız bir denklem olarak çalışmasını istiyoruz. Bu nedenle ağırlıkları rastgele başlatmamız gerekiyor.
En iyi başlatma yöntemi, Xavier başlatmadır. Matematiksel tanımı:
Denklem, 1. katmanın ağırlık matrisinin W değerinin normal bir dağılımla üretildiğini gösterir; burada ortalama = 0 ve varyans sigma², l-1. Katmandaki nöron sayısının tersidir. Tüm katmanların önyargısı 0 olarak başlatılır.
Sinir ağının ağırlıkları rastgele başlatılır. Doğru tahminler yapmak için sinir ağını kullanmak için bu ağırlıkları güncellememiz gerekir.Ağırlıkları güncellemek için kullanılan yönteme gradyan inişi denir. Aşağıdakiler, hesaplama diyagramı aracılığıyla anlaşılır.
Yukarıdaki şekilde, verilen X girdisine göre çıktıyı hesaplamak için ileri yayılma (siyah çizgi ile gösterilmiştir) kullanılır. Geri yayılım (kırmızı çizgi ile gösterilir), hesaplama grafiğinin her adımının türevini hesaplar, böylece ağırlık matrisi W, W ve sapma b, b'yi günceller. Kayıp fonksiyonu L aşağıdaki gibi tanımlanır:
Yukarıdaki formülde gösterilen L kayıp fonksiyonuna göre, gizli katman ve çıktı katmanı sigmoid aktivasyon fonksiyonunu benimser ve türevin zincir kuralı hesaplanabilir:
Yukarıdaki denklemler biraz kafa karıştırıcı görünebilir, ancak gradyan inişinde çok kullanışlıdır. DZ hesaplama denkleminde, * nokta çarpımı ve 'sigma türevini temsil eder.
"Kalkülüsü bilen okuyucuların, gradyan inişinin nasıl çalıştığını daha iyi anlayabilmeleri için yukarıdaki denklemleri kişisel olarak hesaplamalarını şiddetle tavsiye ediyorum."
Bu yazıda, sığ sinir ağlarının matematiksel ilkelerini öğrendik. Her şeyi olabildiğince ayrıntılı olarak açıklamama rağmen, biraz bilginiz olmadığını düşünüyorsanız, lütfen önceki gönderilerime bakın veya aşağıdaki yorumlar bölümünde sorular sorun. Lei Feng Ağı Lei Feng Ağı Lei Feng Ağı
Coursera - Derin Öğrenme Kursu 1
DeepLearning Notları - Başlatma
Bu makalenin ilgili bağlantılarını ve referanslarını görüntülemeye devam etmek ister misiniz?
Tıklamak Erişmek için sığ sinir ağı]:
Github proje önerisi: Öneri sistemi veri seti özeti