Yapay sinir ağı, insan beynindeki nöronların çalışma şeklini temel alan bir donanım ve/veya yazılım sistemidir. Evrişimli sinir ağları (CNN'ler), genellikle tamamen bağlantılı veya havuzlanmış birden fazla evrişimli katman boyunca çok katmanlı algılayıcıların (görsel girdileri sınıflandıran algoritmalar) bir varyasyonunu uygular.
CNN'ler insanlarla aynı şekilde öğrenir. İnsanlar bir kedinin ya da kuşun neye benzediğini bilmeden doğarlar. Olgunlaştıkça, belirli şekil ve renklerin topluca bir öğeye karşılık gelen öğelere karşılık geldiğini öğreniriz. Pençelerin ve gagaların neye benzediğini öğrendiğimizde kedi ile kuşu daha iyi ayırt edebiliriz.
Sinir ağları aslında aynı şekilde çalışır. Etiketli görüntülerin eğitim setlerini işleyerek makine, görüntülerdeki nesnelerin karakteristik öğelerini tanımlamayı öğrenebilir.
CNN, derin öğrenme algoritmalarının en popüler türlerinden biridir. Evrişim, sayısal bir değer olarak temsil edilen bir aktivasyonla sonuçlanan bir girişe basit bir filtre uygulanmasıdır. Aynı filtrenin bir görüntüye tekrar tekrar uygulanmasıyla, özellik haritası adı verilen bir aktivasyon haritası üretilir. Bu, tespit edilen özelliklerin konumlarını ve güçlü yönlerini gösterir.
Evrişim, filtre adı verilen iki boyutlu bir ağırlık dizisi elde etmek için bir ağırlık kümesinin girdiyle çarpılmasını içeren doğrusal bir işlemdir. Filtre, girişte belirli bir özellik türünü tespit edecek şekilde ayarlanmışsa, bu filtrenin giriş görüntüsünün tamamında tekrar tekrar kullanılması, bu özelliğin görüntünün herhangi bir yerinde keşfedilmesini sağlayabilir.
Örneğin, bir filtre belirli bir şekle sahip eğrileri tespit etmek için, diğeri dikey çizgileri tespit etmek için ve üçüncüsü ise yatay çizgileri tespit etmek için tasarlanabilir. Diğer filtreler renkleri, kenarları ve ışık yoğunluğunun derecelerini algılayabilir. Birden fazla filtrenin çıktısını bağlamak, eğitim verilerindeki bilinen öğelerle eşleşen karmaşık şekilleri ortaya çıkarabilir.
Bir CNN genellikle üç katmandan oluşur: 1) bir giriş katmanı, 2) bir çıkış katmanı ve 3) birden fazla evrişimsel katman içeren bir gizli katman. Gizli katmanların içinde havuz katmanları, tamamen bağlı katmanlar ve normalizasyon katmanları bulunur.
İlk katman genellikle kenarlar, renk, degrade yönü ve temel geometrik şekiller gibi temel özelliklerin yakalanmasına ayrılmıştır. Katmanlar eklendikçe model, büyük kahverengi bir bloğun önce bir araç, sonra bir araba ve ardından bir Buick olduğunu aşamalı olarak belirleyen üst düzey özellikleri doldurur.
Havuzlama katmanı, daha verimli hesaplama için gösterimin uzaysal boyutunu giderek azaltır. Her özellik haritasında bağımsız olarak çalışır. Havuzlamada kullanılan yaygın bir yaklaşım, bir dizinin maksimum değerinin yakalandığı ve hesaplama için gereken değer sayısını azaltan maksimum havuzlamadır. Evrişimsel katmanların istiflenmesi, girdinin temel öğelerine ayrıştırılmasına olanak tanır.
Normalleştirme katmanları, sinir ağlarının performansını ve kararlılığını artırmak için verileri düzenler. Normalleştirme, tüm girdileri ortalama sıfıra ve varyansa bire dönüştürerek her katmanın girdilerini daha yönetilebilir hale getirir.
Tam bağlantılı katmanlar, bir katmandaki her nöronu diğer katmandaki tüm nöronlara bağlamak için kullanılır.