Konvolüsyonel Sinir Ağlarının İnternetteki En İyi Açıklaması!

CNN'ler görüntü ve video tanıma, öneri sistemleri ve doğal dil işleme alanlarında geniş uygulamalara sahiptir. Bu makalede alacağım örnek Computer Vision ile ilgili. Ancak, temel kavram aynı kalır ve başka herhangi bir kullanım durumuna uygulanabilir!

Yapay Sinir Ağlarının hızlı bir şekilde özetlenmesi için, çok açık bir şekilde anlatılmış bir makale dizisi.

CNN'ler, sinir ağları gibi, öğrenilebilir ağırlıkları ve önyargıları olan nöronlardan oluşur. Her bir nöron birkaç girdi alır, üzerlerinde ağırlıklı bir miktar alır, bir aktivasyon işlevinden geçirir ve bir çıktı ile yanıt verir. Tüm ağın bir kayıp işlevi vardır ve sinir ağları için geliştirdiğimiz tüm ipuçları ve püf noktaları hala CNN'lerde geçerlidir. Oldukça basit, değil mi?

Öyleyse, Evrişimsel Sinir Ağları Sinir Ağlarından nasıl farklıdır?

CNN'ler Hacimler üzerinden çalışıyor!

Bununla ne kastediyoruz?

1. RGB görüntüsü örneği (

Girişin bir vektör olduğu sinir ağlarından farklı olarak, burada giriş çok kanallı bir görüntüdür (bu durumda 3 kanallı).

Bir süre konuşacağımız başka farklılıklar var.

Daha derine inmeden önce, evrişimin ne demek olduğunu ilk önce anlayalım.

kıvrım

2. Bir görüntüyü bir filtre ile sarsma

5 * 5 * 3 filtreyi alıp tüm resmin üzerine kaydırırız ve bu sırada nokta ürünü filtre ile giriş görüntüsünün parçaları arasında alırız.

3. Bu nasıl görünüyor

Alınan her nokta ürün için sonuç bir skalerdir.

Öyleyse, tüm görüntüyü süzgeçle kıvırırsak ne olur?

4. Bu!

28'in nasıl geldiğini anlamak için üzerinize bırakıyorum. (İpucu: Filtrenin görüntüye yerleştirilebileceği 28 * 28 benzersiz konum vardır)

Şimdi, CNN’lere geri dönelim

Evrişim katmanı, evrişimsel bir sinir ağının ana yapı taşıdır.

5. Evrişim Katmanı

Evrişim katmanı bir dizi bağımsız filtre içerir (gösterilen örnekte 6). Her filtre, görüntü ile bağımsız olarak sarılır ve 6 * 28 * 1 şeklinde 6 özellik haritası ile son buluruz.

Bir dizi evrişim katmanımız olduğunu varsayalım. O zaman ne olacak?

6. sırayla evrişim katmanları

Tüm bu filtreler rastgele başlatılır ve daha sonra ağ tarafından öğrenilecek olan parametrelerimiz olur.

Size eğitimli bir ağ örneği göstereceğim.

7. Eğitimli bir ağdaki filtreler

İlk katmandaki filtrelere bir göz atın (bunlar 5 * 5 * 3 filtrelerimizdir). Geriye doğru yayılma yoluyla, kendilerini renkli parçaların ve kenarların lekeleri olmaya ayarlamışlardır. Diğer evrişim katmanlarına daha da derinleştiğimizde, filtreler önceki evirim katmanlarının girişine nokta ürünleri yapıyorlar. Böylece daha küçük renkli parçaları veya kenarları alıyorlar ve onlardan daha büyük parçalar çıkarıyorlar.

Resim 4'e bir göz atın ve 28 * 28 * 1 ızgarayı 28 * 28 nöronların bir ızgarası olarak hayal edin. Belirli bir özellik haritası için (görüntünün belirli bir filtreyle çevrilmesi üzerine alınan çıktı, özellik haritası olarak adlandırılır), her bir nöron giriş görüntüsünün sadece küçük bir yığınına bağlanır ve tüm nöronlar aynı bağlantı ağırlıklarına sahiptir. Bu yüzden yine CNN ve sinir ağı arasındaki farklara geri dönüyoruz.

CNN'lerde parametre paylaşımı ve yerel bağlantı olarak adlandırılan birkaç kavram vardır.

Parametre paylaşımı, ağırlıkların belirli bir özellik haritasında tüm nöronlar tarafından paylaşılmasıdır.

Yerel bağlanabilirlik, yalnızca giriş görüntüsünün bir alt kümesine bağlı her bir sinirsel kavramdır (tüm nöronların tam olarak bağlandığı sinir ağının aksine)

Bu, tüm sistemdeki parametre sayısını azaltmaya yardımcı olur ve hesaplamayı daha verimli hale getirir.

Buradaki sıfır doldurma kavramı hakkında konuşmayacağım, çünkü fikir basit tutmak. İlgili kişiler ayrı ayrı okuyabilir!

Havuz Katmanları

Bir havuz katmanı, bir CNN'nin başka bir yapı taşıdır.

havuzlama

İşlev, ağdaki parametre ve hesaplama miktarını azaltmak için gösterimin uzamsal boyutunu aşamalı olarak azaltmaktır. Havuz katmanı her bir özellik haritasında bağımsız olarak çalışır.

Havuzda kullanılan en yaygın yaklaşım, maksimum havuzlamadır.

Max Havuzlama

Bir CNN'nin Tipik Mimarisi

CNN'nin tipik mimarisi

Konvolüsyon katmanları (CONV ile gösterilen) ve havuz katmanları (POOL ile gösterilen) hakkında zaten tartıştık.

RELU, sinir ağlarına benzer şekilde uygulanan doğrusal olmayan bir özelliktir.

FC, CNN sonunda tamamen bağlanmış bir nöron tabakasıdır. Tamamen bağlı bir katmandaki nöronlar, normal Yapay Sinir Ağlarında görüldüğü gibi, önceki katmandaki tüm aktivasyonlarla tam bağlantılara sahiptir ve benzer şekilde çalışır.

Umarım şimdi bir CNN'nin mimarisini anlıyorsundur. Bu mimaride birçok farklılıklar var ama daha önce de belirttiğim gibi, temel kavram aynı kalıyor. Herhangi bir şüpheniz / geribildiriminiz varsa, lütfen yorum yapın.

Aşkın beni besliyor! Eğer bu makaleyi okumaktan zevk alıyorsanız, lütfen küçük yeşil düğmeye basın!

Daha fazla TechnologyMadeEasy makalesi okumak için beni takip edebilirsiniz!

Arkadaşlarının da bunu okumasını istiyorsan, paylaş'ı tıkla!

Kaynaklar: http://cs231n.github.io/convolutional-networks/#overview