AI 101
CNN'ler (Evrişimli Sinir Ağları) nedir?
Belki Facebook veya Instagram'ın bir görseldeki yüzleri nasıl otomatik olarak tanıyabildiğini veya Google'ın sadece kendi fotoğrafınızı yükleyerek benzer fotoğrafları internette aramanıza nasıl izin verdiğini merak etmişsinizdir. Bu özellikler bilgisayarlı görme örnekleridir ve tarafından desteklenmektedir. evrişimli sinir ağları (CNN'ler). Yine de evrişimli sinir ağları tam olarak nedir? Bir CNN mimarisine derinlemesine bir dalış yapalım ve nasıl çalıştıklarını anlayalım.
Sinir Ağları nedir?
Evrişimli sinir ağlarından bahsetmeye başlamadan önce, düzenli sinir ağlarını tanımlayalım. var başka bir makale mevcut sinir ağları konusunda, bu yüzden burada çok derine inmeyeceğiz. Ancak kısaca tanımlamak gerekirse insan beyninden ilham alan hesaplamalı modellerdir. Bir sinir ağı, verileri alarak ve girdi özelliklerinin birbiriyle ve nesnenin sınıfıyla nasıl ilişkili olduğuna dair varsayımlar olan "ağırlıkları" ayarlayarak verileri manipüle ederek çalışır. Ağ eğitildikçe, ağırlıkların değerleri ayarlanır ve umarız özellikler arasındaki ilişkileri doğru bir şekilde yakalayan ağırlıklarda birleşirler.
İleri beslemeli bir sinir ağı bu şekilde çalışır ve CNN'ler iki yarıdan oluşur: ileri beslemeli bir sinir ağı ve bir grup evrişimli katman.
Evrişim Sinir Ağları (CNN'ler) nedir?
Evrişimli bir sinir ağında meydana gelen “evrişimler” nelerdir? Evrişim, bir dizi ağırlık oluşturan, esasen görüntünün parçalarının bir temsilini oluşturan matematiksel bir işlemdir. Bu ağırlık kümesine şu ad verilir: çekirdek veya filtre. Oluşturulan filtre, görüntünün yalnızca bir alt bölümünü kaplayan giriş görüntüsünün tamamından daha küçüktür. Filtredeki değerler görüntüdeki değerlerle çarpılır. Filtre daha sonra görüntünün yeni bir bölümünün bir temsilini oluşturmak için hareket ettirilir ve tüm görüntü kaplanana kadar işlem tekrarlanır.
Bunu düşünmenin başka bir yolu da, tuğlaların giriş görüntüsündeki pikselleri temsil ettiği bir tuğla duvar hayal etmektir. Filtre olan duvar boyunca bir "pencere" ileri geri kaydırılıyor. Pencereden görüntülenebilen tuğlalar, değerlerinin filtre içindeki değerlerle çarpımı olan piksellerdir. Bu nedenle, filtre ile ağırlık oluşturma yöntemine genellikle "kayan pencereler" tekniği denir.
Filtrelerin tüm giriş görüntüsü etrafında hareket ettirilmesinden elde edilen çıktı, tüm görüntüyü temsil eden iki boyutlu bir dizidir. Bu diziye "özellik haritası" denir.
Konvolüsyonlar Neden Gereklidir?
Yine de kıvrımlar yaratmanın amacı nedir? Bir sinir ağının bir görüntüdeki pikselleri sayısal değerler olarak yorumlayabilmesi gerektiğinden evrişimler gereklidir. Evrişimli katmanların işlevi, görüntüyü sinir ağının yorumlayabileceği sayısal değerlere dönüştürmek ve ardından ilgili kalıpları çıkarmaktır. Evrişimli ağdaki filtrelerin işi, görüntüdeki kalıpları öğrenecek olan bir sinir ağının sonraki katmanlarına geçirilebilecek iki boyutlu bir değerler dizisi oluşturmaktır.
Filtreler ve Kanallar

Fotoğraf: Wikimedia Commons aracılığıyla cecebur, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)
CNN'ler giriş görüntülerinden desenleri öğrenmek için yalnızca bir filtre kullanmaz. Farklı filtreler tarafından oluşturulan farklı diziler giriş görüntüsünün daha karmaşık ve zengin bir temsiline yol açtığından, birden fazla filtre kullanılır. CNN'ler için yaygın filtre sayıları 32, 64, 128 ve 512'dir. Ne kadar çok filtre varsa, CNN'in giriş verilerini inceleme ve ondan öğrenme fırsatı o kadar çok olur.
Bir CNN, nesnelerin sınırlarını belirlemek için piksel değerlerindeki farklılıkları analiz eder. Gri tonlamalı bir görüntüde, CNN yalnızca siyah ve beyaz, açıktan koyuya terimlerindeki farklılıklara bakardı. Görüntüler renkli görüntüler olduğunda, CNN yalnızca karanlık ve ışığı hesaba katmaz, aynı zamanda üç farklı renk kanalını da (kırmızı, yeşil ve mavi) hesaba katmalıdır. Bu durumda, filtreler, görüntünün kendisinde olduğu gibi 3 kanala sahiptir. Bir filtrenin sahip olduğu kanal sayısı, derinliği olarak adlandırılır ve filtredeki kanal sayısı, görüntüdeki kanal sayısıyla eşleşmelidir.
Evrişimli Sinir Ağı (CNN) mimari
Evrişimsel sinir ağının tam mimarisine bir göz atalım. Her evrişimsel ağın başında bir evrişimsel katman bulunur, çünkü görüntü verilerini sayısal dizilere dönüştürmek gerekir. Ancak, evrişimsel katmanlar diğer evrişimsel katmanlardan sonra da gelebilir, yani bu katmanlar birbirinin üzerine istiflenebilir. Birden fazla evrişimsel katmana sahip olmak, bir katmandan gelen çıktıların daha fazla evrişime uğrayabileceği ve ilgili desenlerde gruplanabileceği anlamına gelir. Pratikte bu, görüntü verileri evrişimsel katmanlardan geçtikçe ağın görüntünün daha karmaşık özelliklerini "tanımaya" başladığı anlamına gelir.
Bir ConvNet'in ilk katmanları, basit çizgileri oluşturan pikseller gibi düşük seviyeli özelliklerin çıkarılmasından sorumludur. ConvNet'in sonraki katmanları, bu çizgileri şekiller halinde birleştirecektir. Yüzey seviyesi analizden derin seviye analize geçiş süreci, ConvNet hayvanlar, insan yüzleri ve arabalar gibi karmaşık şekilleri tanıyana kadar devam eder.
Veriler, tüm evrişim katmanlarını geçtikten sonra, CNN'nin yoğun şekilde bağlantılı kısmına ilerler. Yoğun şekilde bağlı katmanlar, geleneksel bir ileri beslemeli sinir ağının neye benzediğini, birbirine bağlı katmanlar halinde dizilmiş bir dizi düğümü temsil eder. Veriler, evrişimli katmanlar tarafından çıkarılan kalıpları öğrenen bu yoğun bağlantılı katmanlar boyunca ilerler ve bunu yaparken ağ, nesneleri tanıyabilir hale gelir.