Aslında sanırım soru biraz geniş! Neyse.
Konvolüsyon Ağlarını Anlamak
Öğrenilenler ConvNets
, sınıflandırma görevlerinde girdileri doğru şekilde sınıflandırmak için maliyet işlevini en aza indirmeye çalışır. Tüm parametre değiştirme ve öğrenilen filtreler belirtilen hedefe ulaşmak için.
Farklı Katmanlardaki Öğrenilmiş Özellikler
İlk katmanlarındaki yatay ve dikey çizgiler gibi özellikleri düşük seviyede, bazen anlamsız, bazen öğrenerek maliyeti düşürmeye çalışırlar ve daha sonra son katmanlarında genellikle anlamlı olan soyut şekiller oluşturmak için istiflenirler. Bu resmi göstermek için. Buradan kullanılmış olan 1 kabul edilebilir. Giriş veriyoludur ve gird, girişi birinci katmandaki farklı filtrelerden geçirdikten sonra yapılan aktiviteleri gösterir. Görülebildiği gibi, parametrelerinin öğrenildiği bir filtrenin aktivasyonu olan kırmızı çerçeve, nispeten yatay kenarlar için aktive edilmiştir. Mavi çerçeve nispeten dikey kenarlar için etkinleştirildi. Bu mümkünConvNets
yararlı olan bilinmeyen filtreleri öğreniriz ve örneğin, bilgisayarlı görme pratisyenleri olarak bunların yararlı olabileceğini keşfetmedik. Bu ağların en iyi yanı, kendi başlarına uygun filtreler bulmaya çalıştıkları ve sınırlı keşif filtrelerimizi kullanmadıklarıdır. Maliyet fonksiyonunun miktarını azaltmak için filtreler öğrenirler. Belirtildiği gibi, bu filtreler mutlaka bilinmemektedir.
Daha derin katmanlarda, önceki katmanlarda öğrenilen özellikler bir araya gelir ve çoğunlukla anlamı olan şekiller oluşturur. Olarak , bu kağıt bu tabakalar bize veya insan olarak, bildirilen anlamı kavramlarla anlamlı etkinleştirme olabileceğini ele alınmıştır, diğer etkinleştirme arasında dağıtılabilir. İncirde. Şekil 2, yeşil çerçeve, bir filtrenin aktivatinlerini, beşinci katınConvNet
. Bu filtre yüzleri önemser. Diyelim ki kırmızı olanın saçla ilgileniyor. Bunların anlamı var. Görülebildiği gibi, girişteki tipik yüzlerin konumunda doğru aktive edilmiş olan başka aktivasyonlar vardır, yeşil çerçeve bunlardan biridir; Mavi çerçeve bunlara başka bir örnektir. Buna göre, şekillerin soyutlanması bir filtre veya çok sayıda filtre ile öğrenilebilir. Başka bir deyişle, yüz ve bileşenleri gibi her kavram, filtreler arasında dağıtılabilir. Kavramların farklı katmanlar arasında dağıldığı durumlarda, eğer her birine birisi bakarsa, karmaşık olabilir. Bilgi aralarında dağılmıştır ve tüm bu filtrelerin ve bunların aktivasyonlarının, çok karmaşık görünmelerine rağmen, dikkate alınması gerektiğini anlamak için.
CNNs
Kara kutu olarak kabul edilmemelidir. Zeiler ve diğerleri , bu şaşırtıcı makalede , bu ağların içinde ne yapıldığını anlamadığınız takdirde , daha iyi modellerin geliştirilmesinin deneme yanılma durumuna düşürüldüğünü tartıştılar . Bu makale özellik haritalarını görselleştirmeye çalışır ConvNets
.
Genelleştirilmesi Gereken Farklı Dönüşümleri Yönetme Yeteneği
ConvNets
kullanmak pooling
parametre sayısını azaltmak için değil, aynı zamanda her bir özelliğin tam yerine karşı olmak için yeteneği var, sadece katmanları. Ayrıca bunların kullanımı, katmanların farklı özellikleri öğrenmesini sağlar; bu, ilk katmanların kenarlar veya yaylar gibi basit düşük düzey özellikleri öğrendiği ve daha derin katmanların gözler veya kaşlar gibi daha karmaşık özellikleri öğrendiği anlamına gelir. Max Pooling
örneğin, özel bir bölgede özel bir özelliğin olup olmadığını araştırmaya çalışır. pooling
Katmanlar fikri çok faydalıdır ancak diğer dönüşümler arasındaki geçişi idare edebilmektedir. Her ne kadar farklı katmanlardaki filtreler farklı desenler bulmaya çalışsalar da, örneğin döndürülmüş bir yüz normal bir yüzden farklı katmanlar kullanılarak öğrenilir,CNNs
kendi başına diğer dönüşümleri idare edecek herhangi bir katman yoktur. Bunu göstermek için, basit yüzleri minimum netlikte döndürmeden basit yüzler öğrenmek istediğinizi varsayalım. Bu durumda modeliniz bunu mükemmel yapabilir. İstediğiniz yüz rotasyonuyla her türlü yüzü öğrenmeniz istendiğini varsayalım. Bu durumda, modelinizin önceki öğrenilen ağdan çok daha büyük olması gerekir. Bunun nedeni girdideki bu dönüşleri öğrenmek için filtrelerin olması gerektiğidir. Maalesef bunların hepsi dönüşüm değil. Girişiniz de bozuk olabilir. Bu davalar Max Jaderberg ve öfkesini kızdırdı. Bu makaleyi, bu sorunların üstesinden gelmek için öfkemizi olduğu gibi çözmek için bestelediler .
Evrişimsel Sinir Ağları Çalışıyor
Sonunda bu noktalara değindikten sonra çalışırlar çünkü giriş verilerinde kalıp bulmaya çalışırlar. Onları, evrişim katmanları ile soyut kavramlar yapmak için istiflerler. Giriş verilerinin bu kavramların her birine sahip olup olmadığını bulmaya çalışırlar ve giriş verilerinin hangi sınıfa ait olduğunu bulmak için yoğun katmanlarda yokturlar.
Yardımcı olabilecek bazı bağlantılar eklerim: