Yapay zeka temelleri

CNN’ler (Konvolüsyonel Sinir Ağları) Nedir?

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

Bir konvolüsyonel sinir ağı (CNN), girdinin yerel bölgeleri boyunca öğrenilmiş filtreler kullanan bir sinir ağı mimarisidir. CNN’ler, desenlerin nerede ortaya çıktığından bağımsız olarak tespit edebildikleri ve aynı parametreleri bir görüntü boyunca yeniden kullandıkları için modern bilgisayarlı görünin temelini oluşturmuştur.

Bir CNN, görüntüyü sayısal olmayan bir formdan sayısal forma dönüştürmez—görüntü zaten piksel değerlerinden oluşan bir tensör olarak gelir. Amacı, bu tensörü sınıflandırma, nesne tespiti, bölütleme veya başka bir görev için faydalı olan özellik haritalarına dönüştürmektir.

Temel Çıkarımlar

  • Bir konvolüsyon, yerel giriş değerlerini öğrenilmiş bir çekirdek ile birleştirerek bir özellik haritası üretir.
  • Adım (stride), doldurma (padding), genişletme (dilation) ve havuzlama (pooling), uzamsal çözünürlük ve algı alanını kontrol eder.
  • Ağırlık paylaşımı, CNN’leri ham pikseller üzerinde tam bağlantılı bir ağa göre daha parametre verimli kılar.
  • Vision transformer’lar bir alternatif sunsa da, CNN’ler verimli ve veri kısıtlı sistemler için hâlâ güçlüdür.
Convolutional neural network diagram showing a learned kernel sliding over an image, producing feature maps, residual blocks, global pooling, and an output head
Bir CNN, yerel öğrenilmiş filtreleri giderek daha büyük algı alanlarına ve görev‑özel çıktılara dönüştürür.

Konvolüsyon Nasıl Çalışır

Bir çekirdek, öğrenilebilir ağırlıklardan oluşan küçük bir ızgaradır. Her konumda, CNN çekirdek değerlerini karşılık gelen giriş değerleriyle çarpar, sonuçları toplar ve genellikle bir önyargı ekler. Bu işlem girdinin tamamı boyunca tekrarlandığında bir özellik haritası elde edilir.

Renkli bir görüntü için çekirdek, tüm giriş kanallarını kapsar. Bir katman, birden fazla çekirdek kullanarak birden çok çıkış kanalı oluşturur. Eğitim sırasında geriye yayılım (backpropagation), bu çekirdek ağırlıkları için gradyanları hesaplar; konvolüsyon işlemi her görüntüden yeni, sabit bir ağırlık kümesi üretmez.

Adım (Stride), Doldurma (Padding) ve Genişletme (Dilation)

  • Stride (adım), çekirdeğin ne kadar hareket ettiğini kontrol eder. Birden büyük bir stride, uzamsal çözünürlüğü azaltır.
  • Padding (doldurma), bir girişin etrafına değerler ekleyerek kenar bilgisinin işlenebilmesini ve çıktı boyutunun kontrol edilebilmesini sağlar.
  • Dilation (genişletme), çekirdek elemanlarını birbirinden uzaklaştırarak, parametre sayısını orantılı artırmadan algı alanını genişletir.

Algı alanı (receptive field), bir birimi etkileyebilen orijinal girdinin bölgesidir. Konvolüsyonların üst üste yığılması bunu genişletir ve daha sonraki özelliklerin daha geniş alanlardan bilgi birleştirmesine olanak tanır.

Aktivasyon, Normalizasyon ve Havuzlama

Konvolüsyonel katmanların ardından genellikle doğrusal olmayan aktivasyonlar ve normalizasyonlar gelir. Havuzlama, maksimum veya ortalama gibi bir işlemle yerel bölgeleri özetler. Öğrenilmiş adımlı (strided) konvolüsyonlar da aşağı örnekleme yapabilir.

Havuzlama zorunlu değildir. Birçok modern ağ, büyük bir özellik haritasını tam bağlantılı bir yığına dönüştürmek yerine çıktıya yakın bir konumda küresel ortalama havuzlama (global average pooling) kullanır. Bu, parametre sayısını azaltır ve ağın uzamsal kanıtları toplamasını sağlar.

Modern Bir CNN Mimarisi

Tipik bir görsel model, bir çekirdek (stem), bir dizi özellik bloğu, aşağı örnekleme aşamaları ve bir görev başlığı (task head) içerir. Artık (residual) bağlantılar, bir bloğun girdisine bir değişiklik öğrenmesini ve bilgi ile gradyanlar için doğrudan bir yol sağlamasını mümkün kılar. Artık ağların başarısı, çok daha derin CNN’lerin pratik olarak eğitilebilmesini sağladı.

Sınıflandırma başlıkları (classification heads) sınıf skorları üretir. Nesne tespiti başlıkları (detection heads) kategori ve kutuları tahmin eder. Bölütleme mimarileri, uzamsal detayı geri kazanan kod çözücü (decoder) yolları ekler. Aynı CNN omurgası, transfer öğrenme yoluyla yeniden kullanılabilir.

CNN Katmanları Ne Öğrenir

Erken filtrelerin kenarlara veya dokulara yanıt verdiği ve daha sonraki temsillerin parçalara veya nesnelere karşılık geldiği görselleştirilmesi yaygındır. Bu faydalı bir sezgi olsa da sabit bir kural değildir. Özellikler, göreve, mimariye, verilere, hedefe ve eğitim sürecine bağlıdır; bazı birimler ise insan kavramına net bir şekilde karşılık gelmeyen bilgileri birleştirir.

CNN’ler ve Vision Transformer’lar Karşılaştırması

Vision transformer’lar görüntüleri parçacıklara (patch) ayırır ve bunlar arasındaki ilişkileri modellemek için dikkat (attention) mekanizması kullanır. Büyük ön‑eğitim veri setleriyle etkili bir şekilde ölçeklenebilirler. CNN’ler ise yerelliği ve çeviri‑ilişkili varsayımları doğrudan mimariye yerleştirir; bu da onları daha küçük ortamlarda daha verimli ve veri‑etkin kılar.

Birçok pratik sistem, konvolüsyon ve dikkati birleştirir. Doğru mimari, doğruluk, gecikme, bellek, eğitim verisi, donanım ve dağıtım koşullarına bağlıdır; en yeni aileye değil.

Sınırlamalar ve Pratik Hususlar

CNN’ler dağılım kayması, adversarial bozulmalar, arka plan kestirme yolları ve yanlı eğitim verilerine karşı hassas olabilir. Pozisyon, döndürme, ölçek veya bakış açısına tamamen değişmez değildirler. Veri artırma ve mimari seçimleri dayanıklılığı artırabilir ancak bunu garanti etmez.

Dağıtım için uçtan uca gecikme, bellek, verim (throughput) ve alt grup davranışlarını ölçün. Edge AI için özellikle kuantizasyon ve budama maliyeti azaltabilir, ancak sıkıştırılmış modeller yeniden doğrulanmalıdır.

Konvolüsyon, Algı Alanları ve Modern CNN Blokları

Bir konvolüsyonel katman, öğrenilmiş çekirdekleri bir ızgara üzerinde kaydırır ve ağırlıkları konumlar arasında paylaşır. Çekirdek boyutu, stride, dilation ve padding, çıktı şeklini ve algı alanını belirler. Erken katmanlar genellikle yerel kenarlara veya dokulara yanıt verir; daha derin katmanlar daha büyük bölgeler üzerinde bilgiyi birleştirir, ancak öğrenilmiş temsiller insan kavramlarına temiz bir şekilde eşlenmek zorunda değildir. Havuzlama veya adımlı konvolüsyon uzamsal çözünürlüğü azaltır. Kanallar özellik haritalarını taşırken, gruplanmış ve derinlemesine ayrılabilir konvolüsyon, çapraz kanal karışımını daha düşük hesaplama maliyeti için takas eder. Artık bağlantılar (residual connections), çok derin ağların optimize edilmesini kolaylaştırır.

Bir girdinin yüksekliği ve genişliği için padding, sınır işleme ve stride örnekleme kontrol eder. Aşırı aşağı örnekleme küçük nesneleri silebilir; sıfır padding kenar artefaktları oluşturabilir; dilation aynı parametre artışı olmadan bağlamı genişletir ancak ızgara (gridding) oluşturabilir. Batch normalization, eğitim istatistiklerine bağlıdır; alternatifler ise küçük batch boyutlarında daha iyi davranabilir. Modern mimariler, boğaz (bottleneck), çok ölçekli özellikler, dikkat (attention) veya ters (inverted) artık bağlantıları birleştirir. Mimariyi, yalnızca görüntü sınıflandırma doğruluğu yerine görev çözünürlüğü, bellek bant genişliği, gecikme ve hedef donanım gibi faktörlere göre seçin.

Eğitim, Yorumlama ve Dağıtım

Etiketleri koruyan ve gerçek varyasyonu yansıtan veri artırımları kullanın ve artırmadan önce konuyu ya da sahneyi ayırın. Transfer öğrenme yaygındır: görev başlığını değiştirin, onu eğitin ve ardından omurgayı (backbone) dikkatli bir şekilde serbest bırakın. Sınıfa özgü performans, kalibrasyon, bulanıklığa, sıkıştırmaya, aydınlatmaya, ölçeğe, kırpma ve adversarial bozulmaya karşı dayanıklılığı değerlendirin. Özellik haritaları ve saliency gibi görselleştirme yöntemleri kestirme yolları ortaya çıkarabilir, ancak yöntem ve temel modele duyarlıdır. Şüpheli bağımlılığı karşıt örnek görüntüler, örtülme testleri veya veri seti değişiklikleriyle doğrulayın.

Dışa aktarılan CNN’ler, GPU, NPU, tarayıcı veya mikrodenetleyici için birleştirilebilir (fused), kuantize edilebilir veya derlenebilir. Dağıtılan grafiği, ön‑işleme ve son‑işleme dahil olmak üzere tam cihazlarda doğrulayın. Uçtan uca gecikme, bellek, enerji ve termal davranışı ölçün; giriş kod çözme küçük bir modeli hâkim kılabilir. Kamera ve görüntü istatistiklerini, çıktı dağılımını ve doğrulanmış hataları izleyin. İmzalı model artefaktları, korumalı güncelleme kanalları ve sorunsuz sensör arızaları üretim tasarımının bir parçasıdır. CNN’ler faydalı bir yerellik yanlılığı kodlar, ancak nesneleri veya nedensel sahneleri otomatik olarak anlamaz.

Uygulamalı Örnek: Bir İnceleme Kamerasında CNN Dağıtımı

Bir CNN, yüksek çözünürlüklü hat‑tarama (line‑scan) görüntülerinden yüzey kusurlarını sınıflandırır. Mühendisler, küçük kusurların aşağı örneklemeden korunması, koordinatların inceleme için saklanması ve artırımların gerçek optik varyasyona karşı doğrulanması amacıyla görüntüleri örtüşerek döşer. Bir artık CNN ve daha hafif bir depthwise modeli eşit hatırlama (recall) oranı ile karşılaştırılır. Testler, kenar kusurları, parıltı, sıkıştırma, hareket, malzeme partileri ve kamera değişimlerini içerir; son değerlendirme için bağımsız üretim partileri ayrılmıştır.

Derleme, modeli bir kenar (edge) hızlandırıcı için birleştirir ve kuantize eder, ancak dağıtılan grafik hassas kusur vakalarında referansa karşı karşılaştırılır. Kod çözme, döşeme, çıkarım ve birleştirme gecikmesi uçtan uca ölçülür. Sistem, ölü pikselleri ve pozlama kaymasını ürün kusurlarından ayrı olarak işaretler. Operatörler kaynak döşemeleri inceleyebilir ve sonuçları geçersiz kılabilir. Model ve kamera değişiklikleri kademeli olarak uygulanır ve görsel boru hattı kullanılamadığında hat, güvenli bir manuel denetim prosedürünü sürdürür.

Uygulama Kanıtı ve Operasyonel Hazırlık

Bir üretim kararı, yalnızca başarılı bir gösterimden daha fazlasını gerektirir. Hedef kullanıcıları, çalışma ortamını, girişleri, çıktıları, bağımlılıkları, sorumluyu ve her önemli hatanın sonucunu tanımlayın. Ayarlamadan önce yeniden üretilebilir bir temel ve sürümlenmiş bir değerlendirme seti oluşturun. Normal durumları, sınır koşullarını, bozuk veya eksik girdileri, dağılım kaymasını, bağımlılık kesintisini, yanlış kullanımı ve en çok hizmet dışı bırakılan grup veya ortamları test edin. Görev kalitesini kalibrasyon veya belirsizlik, gecikme, verim, kaynak maliyeti, erişilebilirlik, gizlilik ve güvenlik ile birlikte ölçün. Bağımsız bir gözden geçiricinin sonucu yeniden üretebilmesi ve kanıtı çekici bir prototipten ayırabilmesi için her dönüşümü ve eşiği kaydedin.

Başlamadan önce, sürüm, istisna, değişiklik, geri alma ve emeklilik için yetki atayın. Aşamalı bir dağıtım kullanın, güvenli bir geri dönüşü koruyun ve kasıtlı olarak eklenen hatalarla izlemeyi doğrulayın. Operasyonel telemetri, gereksiz hassas veri toplamayarak giriş kalitesini, çıktı davranışını, model ya da kural sürümünü, bağımlılık sağlığını, insan müdahalelerini ve doğrulanmış sonuçları ortaya koymalıdır. Uyarı eşikleri ve bir yanıt sorumlusu tanımlayın, ardından çevrim dışı performansın devam edeceğini varsaymak yerine dağıtımdan sonra gerçek dünya kanıtlarını gözden geçirin. Veri kaynakları, kullanıcılar, modeller, satıcılar, politikalar, donanım veya hedefler değiştiğinde yeniden değerlendirin. Sürekli bir sistem, belgelenmiş bir kurtarma, olay öğrenimi, silme ve saklama prosedürleri ve devre dışı bırakılması ya da değiştirilmesi gereken net bir noktayı da gerektirir.

Sıkça Sorulan Sorular

Bir CNN her zaman havuzlama (pooling) gerektirir mi?

Hayır. Bir CNN, adımlı (strided) konvolüsyonla aşağı örnekleme yapabilir ve yoğun tahminler için çözünürlüğü koruyabilir. Havuzlama, zorunlu bir gereklilik değil, bir tasarım aracıdır.

CNN filtreleri elle tasarlanmış mıdır?

Eğitilmiş bir CNN’de çekirdek değerleri genellikle veriden öğrenilir. Bu, kenar tespiti gibi işlemler için önceden seçilen katsayıları olan klasik görsel filtrelerinden farklıdır.

Temel Referanslar

Blog yazarı ve programcı, Machine Learning ve Deep Learning konularında uzmanlık sahibi. Daniel, başkalarının AI'nin gücünü sosyal fayda için kullanmasına yardımcı olmak umudu taşıyor.