Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Convolutional Neural Network (CNN)

Evrişimli sinir ağı (CNN), paylaşılan ve kayan filtrelerle görüntü özelliklerini öğrenir. Katmanlarını, özelliklerini, temel modelleri ve CNN'lerle ViT'lerin karşılaştırmasını ele alır.

Evrişimli sinir ağı (CNN), ızgara biçimindeki verileri (çoğunlukla görüntüleri) girdi üzerinde kayan, öğrenilebilir küçük filtrelerle işleyen bir derin öğrenme mimarisidir. Her filtre aynı ağırlıkları her konumda yeniden kullanır; böylece CNN, tam bağlantılı bir ağa kıyasla çok daha az parametre kullanırken kenar veya tekerlek gibi bir örüntüyü nerede görünürse görsün algılar. Üst üste yığılmış katmanlar, ilk katmanlardaki kenar ve dokulardan daha derin katmanlardaki nesne parçalarına ve bütün nesnelere uzanan bir özellik hiyerarşisi oluşturur. CNN'ler, AlexNet'in 2012'de ImageNet yarışmasını kazanmasından bu yana bilgisayarlı görü alanındaki ilerlemenin büyük bölümünü sağladı ve uç donanımlarda gerçek zamanlı görü için en yaygın seçenek olmayı sürdürüyor.

CNN Nasıl Çalışır#

Bir CNN, her aşaması bir öncekinden daha düşük çözünürlükte çalışan birkaç katman türünü aşamalar hâlinde tekrarlar:

  • Evrişim katmanları: Her katman, genellikle 3×3 boyutunda bir dizi öğrenilebilir filtreyi girdinin yüksekliği ve genişliği boyunca kaydırır. Her filtre, çıktı özellik haritasının bir kanalını üretir; dolayısıyla 64 filtreli bir katman 64 kanal çıktı verir.
  • Normalleştirme ve aktivasyon: Yığın normalleştirme, eğitim sırasında her katmanın çıktısını kararlı bir aralıkta tutar. ReLU veya SiLU gibi doğrusal olmayan bir aktivasyon fonksiyonu, üst üste yığılmış katmanların tek bir doğrusal dönüşümden fazlasını temsil etmesini sağlar.
  • Alt örnekleme: Maksimum havuzlama veya 2 adımlı evrişim, yüksekliği ve genişliği yarıya indirir; böylece sonraki katmanların alıcı alanı genişler ve hesaplama azalır. Birçok modern tasarım alt örneklemeyi çoğunlukla adımlı evrişimlerle yapar.
  • Başlık: Görüntü sınıflandırma için küresel ortalama havuzlama, her son kanalı tek bir sayıya indirger ve tam bağlantılı bir katman bu sayıları sınıf puanlarına dönüştürür. Algılama ve bölütleme modellerinde bu başlığın yerine kutuları veya piksel başına maskeleri tahmin eden katmanlar kullanılır.

CNN'lerin Temel Özellikleri#

Üç özellik, evrişimlerin görüntüler için neden uygun olduğunu açıklar. Yerel bağlantı, her çıktının girdinin yalnızca küçük bir komşuluğuna bağlı olması demektir ve bu, yakındaki pikseller arasındaki güçlü korelasyonla örtüşür. Ağırlık paylaşımı, tek bir filtrenin görüntünün tamamında kullanılmasını sağlar; bu nedenle parametre sayısı her girdi boyutunda aynı kalır. Öteleme eşdeğişmezliği, girdiyi kaydırmanın özellik haritasını aynı miktarda kaydırması demektir; böylece bir köşede öğrenilen örüntü her yerde tanınır. Havuzlama katmanları buna küçük kaymalara karşı bir miktar tolerans ekler. Bu özellikler bir araya gelerek, CNN'nin daha az görüntüyle öğrenmesini sağlayan yerleşik varsayımlar olan CNN'nin tümevarımsal önyargısını oluşturur; Transformer ise daha fazla görüntüye ihtiyaç duyar.

Aşağıdaki PyTorch kod parçası, aynı 224×224 RGB görüntüye uygulanan bir evrişim katmanını tam bağlantılı bir katmanla karşılaştırır.

import torch
from torch import nn

image = torch.randn(1, 3, 224, 224)

# 64 learnable 3x3 filters, each reused at every position of the RGB image
conv = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3, padding=1)

# A fully connected layer mapping the same flattened image to only 64 numbers
dense = nn.Linear(3 * 224 * 224, 64)

conv_params = sum(p.numel() for p in conv.parameters())
dense_params = sum(p.numel() for p in dense.parameters())
print(f"Conv2d: output {tuple(conv(image).shape)}, {conv_params:,} parameters")
print(f"Linear: output {tuple(dense(image.flatten(1)).shape)}, {dense_params:,} parameters")

Kod Conv2d: output (1, 64, 224, 224), 1,792 parameters ve Linear: output (1, 64), 9,633,856 parameters değerlerini yazdırır. Ağırlık paylaşımı, evrişimin 1,792 parametreyle tam çözünürlüklü 64 özellik haritası üretmesini sağlar; tam bağlantılı katmanın yalnızca 64 sayı üretmek için bunun 5,376 katı kadar parametreye ihtiyacı vardır.

Önemli CNN Mimarileri#

  • LeNet-5 (1998): Yann LeCun'un el yazısı rakamları okumak için geliştirdiği ağ, tam bağlantılı katmanların izlediği dönüşümlü evrişim ve havuzlama katmanları düzenini ortaya koydu. Banka çeklerini okumak için ticari olarak kullanıldı.
  • AlexNet (2012): İki GPU'da ReLU aktivasyonları ve dropout kullanılarak eğitilen model, ILSVRC 2012 yarışmasını %15,3'lük ilk 5 test hatasıyla kazandı; ikinci en iyi katmanın hata oranı %26,2'ydi.
  • VGG (2014): Küçük 3×3 evrişimleri 16 ila 19 ağırlıklı katmana kadar yığmanın ImageNet doğruluğunu önemli ölçüde artırdığını gösterdi.
  • ResNet (2015): Artık bağlantılar, 152 katmana kadar derin ağların eğitilmesini sağladı ve bir ResNet topluluğu ILSVRC 2015'i kazandı.
  • U-Net (2015): Atlama bağlantılarına sahip bir kodlayıcı-kod çözücü CNN'dir ve biyomedikal görüntü bölütlemede standart mimari hâline gelmiştir.
  • ConvNeXt (2022): Transformer dönemindeki tasarım seçimleriyle modernleştirilmiş bir ResNet'tir; ImageNet'te %87,8 ilk 1 doğruluğuna ulaşır ve COCO algılamada Swin Transformer'ı geride bırakır.

CNN'lerin Kullanım Alanları#

  • Nesne algılama: Tek aşamalı CNN algılayıcıları, nesneleri tek ileri geçişte bulup sınıflandırır; kameralar, telefonlar ve gömülü kartlarda video işlemek için yeterince hızlıdır.
  • Tıbbi görüntü analizi: U-Net tarzı CNN'ler, her pikselin etiketinin önemli olduğu CT ve MRI taramalarında organları, tümörleri ve lezyonları bölütler.
  • Poz tahmini: CNN'ler spor analizi, ergonomi ve fitness uygulamaları için vücut anahtar noktalarını tahmin eder.
  • Görüntüler dışındaki sinyaller: Tek boyutlu evrişimler ses dalga biçimlerini ve sensör zaman serilerini işler; iki boyutlu CNN'ler ise konuşma tanımada spektrogramları sınıflandırır.

CNN'ler ve Görüntü Transformer'ları#

Bir görüntü Transformer'ı (ViT), görüntüyü parçalara böler ve öz dikkat kullanarak her parçayı diğer tüm parçalarla ilişkilendirir; böylece ilk katmandan itibaren küresel bağlamı görür. Daha zayıf tümevarımsal önyargının bir bedeli vardır: özgün ViT, yalnızca ImageNet üzerinde eğitildiğinde benzer boyuttaki ResNet'lerin gerisinde kalmış; ancak 14 milyondan 300 milyona kadar görüntü üzerinde ön eğitimden sonra onlara yetişmiş veya onları geçmiştir. Dikkat hesaplama maliyeti parça sayısının karesiyle artar; bu da yüksek çözünürlüklü girdileri pahalı hâle getirirken evrişimin maliyeti piksel sayısıyla doğrusal artar. Bu nedenle birçok güncel model iki yaklaşımı birleştirerek yüksek çözünürlükte evrişim aşamalarını korur ve özellik haritası küçük olduğunda dikkat ekler. YOLO26 bu yaklaşımı izler: Conv blokları (evrişim, yığın normalleştirme ve SiLU) ile C3k2 blokları işin çoğunu yapar; çok başlı öz dikkat ise yalnızca 640×640 görüntü için 20×20 ızgaradan oluşan 32 adımlı özellik haritasında çalışır.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla