CNN'deki evrişim operatörlerinin sayısı nasıl belirlenir?


10

Konvolüsyonel Sinir Ağları (CNN) ile nesne sınıflandırması gibi bilgisayar görme görevlerinde, ağ çekici bir performans sağlar. Ama evrişimsel katmanlarda parametreleri nasıl ayarlayacağımdan emin değilim. Örneğin 480x480, birinci evrişimsel katman gibi bir gri tonlamalı görüntü ( ), 10 sayısının evrişimsel operatörlerin sayısı anlamına 11x11x10geldiği gibi evrişimsel bir operatör kullanabilir.

Soru, CNN'deki evrişim operatörlerinin sayısının nasıl belirleneceği?

Yanıtlar:


11

11x11x1010, 11x11 filtreli bir katmanınız olduğunu söylediğinizde bunu varsayıyorum . Yapacağınız kıvrım sayısı filtre bankanızdaki filtre başına sadece 10, 2B ayrık kıvrımdır. Diyelim ki bir ağınız var:

480x480x1    # your input image of 1 channel
11x11x10     # your first filter bank of 10, 11x11 filters
5x5x20       # your second filter bank of 20, 5x5 filters
4x4x100      # your final filter bank of 100, 4x4 filters    

: Sen yapıyor olacağız çok kanallı 2D helezonlar her 1, 10, ve 20 derinliğe sahip, sırasıyla. Gördüğünüz gibi, her evrişimin derinliği, bir önceki katmandan gelen girdi hacminin derinliğinin bir fonksiyonu olarak değişecektir.10+20+100=130

Ancak, bunu tek kanallı bir 2 boyutlu evrişimle nasıl karşılaştıracağınızı anlamaya çalıştığınızı varsaydım. Her bir giriş hacminin derinliğini, her bir katmandaki filtre sayısı ile çarpıp birleştirebilirsiniz. Sizin durumunuzda: .10+200+2000=2,210

Şimdi bu sadece her büklüm değil ne kadar yoğun hesaplama gerektiren, yapıyoruz kaç tek kanallı 2D kıvrım bulunur anlatır, her konvolüsyon hesaplama yoğunluğu da dahil olmak üzere çeşitli parametreler bağlıdır image_size, image_depth, filter_size, senin stride(her birey arasında adım ne kadar filtre hesaplama), sahip olduğunuz havuz katmanlarının sayısı vb.

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.