Makine öğrenmez: ayrıntılı sinir ağı açıklaması, ileri yayılma ve geri yayılma

Temel olarak, sinir ağlarını öğrenmenin temeli olan birçok temel kavramı içeren Lojistik regresyonun içeriğinden bahsetti. Lojistik regresyondan sinir ağına geçelim. Önce "Sığ Sinir Ağına" bir göz atalım.

1. Sinir ağı nedir

Burada açıkladığımız sinir ağı, Lojistik regresyon temelinde bir veya daha fazla gizli katman eklemektir.Aşağıdaki, yalnızca iki katmana sahip en basit sinir ağıdır:

İki katmanlı sinir ağı:

Yukarıdaki resmin üç veya dört katman değil "iki katman" olduğuna dikkat edilmelidir, giriş ve çıkış katman olarak sayılmaz!

Burada önce gösterimi tanımlıyoruz:

  • z, x ve w, b, z = wx + b'nin doğrusal işleminin sonucudur; a, z'nin aktivasyon değeridir; alt simge 1, 2, 3, 4, katmanın i-inci nöronunu (birim) temsil eder; Mevcut seviyenin temsilcisini bekliyorum. y ^ modelin çıktısını temsil eder ve y, etiket olan gerçek değerdir

Ek olarak, genellikle bir şey karıştırılır:

-Yukarıdaki resimdeki x1, x2, x3, x44 örneği temsil etmemektedir! Bir örneğin dört özelliğidir (4 boyutlu değerler)!

M örneğiniz varsa, yukarıdaki işlemi m kez tekrarlamanız gerektiği anlamına gelir:

Sinir ağlarının "iki yayılımı":

  • İleri Yayılma İleriye doğru yayılma, girdiden katman katmanlarına kadar her katmanın z ve a'nın sürekli olarak hesaplanması ve son olarak y ^ çıktısının elde edilmesi işlemidir. Y ^ 'yi hesapladıktan sonra, onu kullanabilir ve Gerçek değer y arasındaki fark, kaybı hesaplamak için kullanılır. Geriye Doğru Yayılma Geriye doğru yayılma, L (y ^, y) kayıp fonksiyonuna göre her bir katmanın z, a, w, b'nin kısmi türevini (gradyan) hesaplamak ve böylece parametreleri güncellemektir.
  • İleri ve geri yayılma:

Her ileri ve geri yayılmadan sonra, parametreler bir kez güncellenir ve daha sonra yukarıdaki işlem yeni parametrelerle yeniden döngüye alınır. Bu, sinir ağı eğitiminin tamamıdır.

İkincisi, ileriye doğru yayılma

Örnek başına bir örnek hesaplamak için bir for döngüsü kullanırsanız, açıkça çok yavaştır.İlk birkaç notumu okuyan arkadaşlar, m örnekleri, hesaplama için bir X vektörüne sıkıştırmak için Vectorization kullandığımızı bilmelidir. Benzer şekilde, z, A, Z ve A'yı elde etmek için vektörleştirilir, böylece m'nin örnekleri aynı anda gösterilebilir ve hesaplanabilir.

Bu şekilde, iki katmanlı sinir ağımızın ileri yayılma sürecini ifade etmek için bir formül kullanıyoruz:

Katman 1: Z = W · X + bA = (Z)

Katman 2: Z = W · A + bA = (Z)

Ve X'in aslında A olduğunu biliyoruz, bu yüzden görmek zor değil: her katmanın hesaplamaları aynı:

Katman i: Z = W · A + b Bir = (Z )

(Not: sigmoid işlevidir)

Bu nedenle, sinir ağımızın kaç katmanı olursa olsun, yukarıdaki işlemi tekrarlar.

Kayıp fonksiyonu için, Lojistik regresyonda olduğu gibi, "çapraz entropi" kullanan formül iki sınıflı bir sorundur: L (y ^, y) = - Çok sınıflı problem: L = -y (j) · Y ^ (j)

Bu, her bir numunenin kaybıdır. Genellikle, J ile temsil edilen ve maliyet olarak da adlandırılan tüm numune setinin kaybını hesaplamamız gerekir; burada J, L'nin ortalamasıdır:

J (W, b) = 1 / m · L (y ^ (i), y (i))

Yukarıdaki Z, A, L ve J'yi bulma süreci ileriye doğru yayılımdır.

Üç, geri yayılma

Geri yayılım, W ve b'nin kısmi türevini J'nin formülüne göre bulmayı, yani gradyanı bulmayı basitleştirir. Çünkü parametreleri güncellemek için gradyan iniş yöntemini kullanmamız gerekiyor ve güncelleme bir gradyan gerektiriyor.

Bununla birlikte, kısmi türevleri elde etmek için zincir kuralına göre, 1. katmanın parametrelerinin gradyanının l + 1 katman gradyanı ile elde edilmesi gerektiğini biliyoruz, bu nedenle türetme sürecimiz "ters" dir, bu yüzden "Geri yayılma" denir.

Türev aramaya ilişkin spesifik süreç burada tekrarlanmayacaktır. Eğer ilgileniyorsanız, bunu kendiniz elde edebilirsiniz, ancak bence çoğu insan bu tür şeyleri gördükten sonra onu türetmek istemez. . . (Temelde T_T \ "formülünü yazmakta tembelim)

Dahası, çeşitli derin öğrenme çerçeveleri TensorFlow ve Keras gibi, hepsi sadece ileri yayılma sürecini kendimiz oluşturmamızı gerektirir ve geri yayılma süreci otomatik olarak yapılır, bu yüzden gerçekten endişelenmenize gerek kalmaz.

Geri yayılımdan sonra, parametreleri her katmanın parametrelerinin gradyanına göre güncelleyebiliriz Güncellemeden sonra, daha iyi parametreleri sürekli eğitmek ve öğrenmek için ileri ve geri yayılma işlemini tekrarlayın.

Dördüncü, derin sinir ağı (Derin Sinir Ağı)

Önceki açıklamalar, örnek olarak iki katmanlı çok sığ bir sinir ağını almıştır.

Derin sinir ağlarında gizemli hiçbir şey yoktur, sadece birkaç düzine / yüzlerce gizli katman.

Basit bir şema ile gösterilebilir:

Derin sinir ağı:

Derin sinir ağında, sigmoid işlevi yerine orta katmanda "ReLU" etkinleştirme işlevini kullandığımızı unutmayın.Sigmoid işlevi yalnızca son çıktı katmanında kullanılır.Bunun nedeni, gradyan hesaplanırken ReLU işlevinin daha hızlı olmasıdır. , Gradyanın bir dereceye kadar kaybolmasını da önleyebilir, bu nedenle genellikle derin ağlarda kullanılır. Aktivasyon fonksiyonu sorusuyla ilgili olarak, lütfen bakınız: [DL Fragment 3] Sinir Ağında Aktivasyon Fonksiyonu ve Karşılaştırma

Derin sinir ağıyla ilgili olarak, yapısını, özellikle de her katmandaki çeşitli değişkenlerin boyutlarını detaylı bir şekilde gözlemlememiz gerekiyor Sonuçta modeli oluştururken boyut çok önemlidir.

Ayarladık:

Toplam m örnek var ve sorun bir ikili sınıflandırma problemidir (yani, y 0,1'dir);

Ağın toplam L katmanı vardır ve mevcut katman katman l'dir (l = 1,2, ..., L);

L katmanındaki birim sayısı n'dir; bu durumda aşağıdaki parametrelerin veya değişkenlerin boyutları:

  • W: (n, n) (bu katmandaki birim sayısı, üst katmandaki birim sayısı) b: (n, 1) z: (n, 1) Z: (n, m) a: (n, 1) A :( n, m) X: (n, m) Y: (1, m)

Birisi sorabilir, W ve b boyutlarında neden m yok?

W ve b her numune için aynı olduğundan, tüm numuneler aynı parametre setini kullanır (W, b),

Ve Z ve A farklıdır.Hesaplama parametreleri aynı olmasına rağmen, numuneler farklı ise hesaplama sonuçları farklıdır, dolayısıyla boyutta m vardır.

Derin sinir ağının ileriye doğru yayılması ve geri yayılması, yukarıda yazılan iki katmanlı sinir ağına benzer, ancak birkaç katman daha ve ardından ortadaki aktivasyon işlevi sigmoidden ReLU'ya değiştirilir.

Zorlu Gözlem | Bugün çok fazla şaka var
önceki
Bireysel vergi değişikliği taslağı açıklandı. 5.000 yuan "eşiğin" Ekim ayından itibaren uygulanması bekleniyor.
Sonraki
Trendleri takip etmek de moda, yolsuz bir bilgisayar kurun! On Bin Yuan AMD Ryzen Oyun Platformu
Odak noktası | Uçak bileti fiyatlarında% 10 artış! Bu şehirlere sık sık gelenler dikkat etmeli ...
Şu anda en uygun maliyetli ve güvenilir tüm modül güç kaynağıdır! Cooler Master V550 kutudan çıktı
Siviller için entegre su soğutma çağına girerken, Cooler Bingshen B120'yi kurma deneyimi
Eski parçaları yeni kutularla değiştirin, önce Marcel 1 kasasını takın ve üç yıl daha savaşın
Arsa tersine döndü! Lei Jun'un övdüğü 00 sonrası CEO, intihale maruz kaldı, tamamen aynı!
Makineler öğrenmez: Klasik CNN modelini gözetleyin; diğer dağların yeşim taşı taşa saldırabilir
On yıldan daha uzun bir süre önce yüksek fiyatlı malların hepsi artık e-atık haline geldi Onları hiç kullandınız mı?
Çoğu çevrimiçi oyunu sorunsuzca çalıştırabilir! 2500 yuan giriş seviyesi oyun platformu
Makine öğrenmiyor: CTR serisi (5) CTR tahmini-MLR algoritması
Zhejiang'daki Anhui Yangtze Nehri Deltası'ndaki arkadaş çevresini ziyaret edin
LOL ve CF'yi elde etmek kolaydır! 2000 yuan giriş seviyesi bağımsız ekran platformu yapılandırması
To Top