CNN'de “çekirdek” ve “filtre” arasındaki fark


Yanıtlar:


42

Konvolüsyonel sinir ağları bağlamında, çekirdek = filtre = özellik dedektörü.


İşte Stanford'un derin öğrenme öğreticisinin harika bir örneği ( Denny Britz tarafından da güzel bir şekilde açıklanmıştır ).

görüntü tanımını buraya girin

Filtre sarı kayar pencere ve değeri:

[101010101]

2
Filtre için belirli bir ad var mı? Bir "Bulanıklaştırma" veya "Kenardan Tespit" gibi
Pratik Khadloya

2
@PratikKhadloya hayır, bu isimler filtrenin tespit ettiği şeylere dayanarak araştırmacılar tarafından öznel olarak verilir.
shadowtalker

1
@Frank Dernoncourt Bu linke göre towardsdatascience.com/... biz bir çift kanal varken onlar farklıdır. aslında çok kanallı olduğunda Her filtre aslında bir çekirdek koleksiyonu olur, katmana her bir giriş kanalı için bir çekirdek ve her çekirdek benzersizdir.
Fikrinizi almaktan

6

Bir özellik haritası, bu belirli bağlamdaki bir filtre veya "çekirdek" ile aynıdır. Filtrenin ağırlıkları hangi özelliklerin tespit edildiğini belirler.

Mesela Franck harika bir görsel oluşturdu. Filtre / özellik dedektörünün diyagonal elemanlar boyunca x1 ve diğer tüm elemanlar boyunca x0 olduğuna dikkat edin. Bu çekirdek ağırlığı böylece görüntünün köşegenleri boyunca 1 değerinde olan pikselleri algılar.

Elde edilen kıvrımlı özelliğin, 3x3 filtresinin köşegen değerleri boyunca görüntünün "1" olduğu yerde 4 değer gösterdiğini (böylece görüntünün bu belirli 3x3 bölümünde filtreyi algılar) ve bu alanlarda 2 değerinin düşük değerlerini gösterir. Bu filtrenin o kadar güçlü bir şekilde uyuşmadığı görüntü.


4

2B ağırlık dizisi için "çekirdek" terimini ve üst üste yığılmış birden fazla çekirdeğin 3B yapısı için "filtre" terimini kullanmaya ne dersiniz? Bir filtrenin boyutu, (kare çekirdeği varsayarak). Bir filtre oluşturan çekirdeğinin her biri , girişin kanallarından biri ile (giriş boyutları , örneğin x RGB görüntüsü). Bir 2B ağırlık dizisini tanımlamak için farklı bir kelime kullanmak ve ağırlıkların 3B yapısı için farklı bir ifade kullanmak mantıklıdır, çünkü çarpma 2B diziler arasında gerçekleşir ve daha sonra 3B işlemini hesaplamak için sonuçlar toplanır.k×k×CCCHin×Hin×C32×32

Halen bu alanda adlandırmada bir sorun var. Aynı şeyi anlatan birçok terim var ve hatta farklı kavramlar için birbirinin yerine kullanılan terimler bile var! Örnek olarak bir evrişim tabakasının çıktısını tanımlamak için kullanılan terminolojiyi ele alın: özellik haritaları, kanallar, aktivasyonlar, tensörler, düzlemler, vb ...

Wikipedia dayanarak, "Görüntü işlemede, bir çekirdek küçük bir matristir".

Wikipedia dayanarak, "Bir matris satır ve sütunlarda düzenlenmiş dikdörtgen bir dizidir".

Bir çekirdek dikdörtgen bir , genel olarak boyutunda olan ağırlıkların 3B yapısı .k1×k2×C

Bunun en iyi terminoloji olduğunu iddia edemem , ancak "çekirdek" ve "filtre" terimlerini birbirinin yerine kullanmaktan daha iyidir. Dahası, filtreyi oluşturan farklı 2D dizileri kavramını tanımlamak için bir kelimeye ihtiyacımız var .


1

Mevcut cevaplar mükemmel ve soruyu kapsamlı bir şekilde cevaplıyorlar. Sadece Convolutional ağlarındaki filtrelerin tüm görüntüde paylaşıldığını eklemek istersiniz (örneğin, giriş Franck'in cevabında göründüğü gibi, filtreyle birlikte gelir). Açık alan , belirli bir nöronun söz konusu nöron etkileyen tüm giriş birimleridir. Konvolüsyonlu bir ağdaki bir nöronun alıcı alanı genellikle, bir paylaşılan filtrelerin Yoğun ağ izniyle (ayrıca parametre paylaşımı olarak da adlandırılır ) bir nöronun alıcı alanından daha küçüktür .

Parametre paylaşımı, CNN'ler üzerinde, yani çeviriye eşdeğeri olarak nitelendirilen bir özellik olarak belirli bir fayda sağlar . Bu, eğer girdi bozulursa veya çevrilirse, çıkışın da aynı şekilde değiştirildiğini söylemek gerekir. Ian Goodfellow, Derin Öğrenme Kitabında, uygulayıcıların CNN'lerde nasıl eşdeğerlikten yararlanabileceği ile ilgili harika bir örnek sunar:

Zaman serisi verilerini işlerken, bu, evrişimin, girişte farklı özelliklerin ne zaman göründüğünü gösteren bir zaman çizelgesi ürettiği anlamına gelir. Girişte daha sonra bir olayı hareket ettirirsek, bunun tam olarak aynı gösterimi çıktıda görünecektir. daha sonra. Görüntülere benzer şekilde, evrişim, girişte belirli özelliklerin göründüğü 2 boyutlu bir harita oluşturur. Girdide nesneyi hareket ettirirsek, gösterimi çıktıda aynı miktarda hareket edecektir. Bu, az sayıda komşu pikselin bazı işlevlerinin birden fazla giriş konumuna uygulandığında yararlı olduğunu bildiğimizde faydalıdır. Örneğin, görüntüleri işlerken, evrişimli bir ağın ilk katmanındaki kenarları tespit etmek yararlıdır. Aynı kenarlar görüntünün her yerinde az ya da çok görünür, bu nedenle parametreleri görüntünün tamamında paylaşmak pratiktir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.