Sözlük

Konvolüsyon

Konvolüsyonun bilgisayarla görmede yapay zekayı nasıl güçlendirdiğini ve nesne algılama, görüntü tanıma ve tıbbi görüntüleme gibi görevleri hassas bir şekilde nasıl mümkün kıldığını öğrenin.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

Konvolüsyon, yapay zekada, özellikle de bilgisayarla görme (CV) alanında yaygın olarak kullanılan temel bir matematiksel işlemdir. Konvolüsyonel Sinir Ağları (CNN'ler) için çok önemli bir yapı taşı görevi görür ve bu ağların karmaşık, hiyerarşik desenleri doğrudan görüntüler veya videolar gibi ızgara benzeri verilerden otomatik olarak öğrenmesini sağlar. Süreç, bir giriş sinyali veya görüntüsü üzerinde çekirdek olarak bilinen küçük bir filtrenin uygulanmasını içerir. Bu işlem, çekirdeğin algılamak üzere tasarlandığı belirli desenleri (kenarlar, dokular veya şekiller gibi) vurgulayan özellik haritası adı verilen bir çıktı üretir.

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

Konvolüsyon işlemini küçük bir büyüteci (çekirdek veya filtre) daha büyük bir görüntü (giriş verileri) üzerinde kaydırmak gibi düşünün. Çekirdek her konumda girdinin küçük bir parçasına odaklanır. Konvolüsyon işlemi daha sonra çekirdek içinde tanımlanan ağırlıkları kullanarak bu yama içindeki piksel değerlerinin ağırlıklı bir toplamını hesaplar. Hesaplanan bu değer, elde edilen çıktı özellik haritasında tek bir piksel haline gelir. Çekirdek,'adım' adı verilen bir parametre tarafından belirlenen adım boyutu ile tüm giriş görüntüsü boyunca sistematik olarak adım adım hareket eder. Bazen, çıktı boyutunu kontrol etmek için giriş görüntüsünün etrafında'dolgu' (ekstra sınır pikselleri ekleme) kullanılır. Tek bir evrişimsel katman içinde birden fazla çekirdek uygulayarak, bir CNN aynı anda girdiden çeşitli özellikler çıkarabilir. Stanford CS231n ders notlarında bulunanlar gibi görsel açıklamalar daha fazla sezgi sağlayabilir.

Konvolüsyonun Temel Bileşenleri

Birkaç parametre bir konvolüsyon işlemini tanımlar:

  • Çekirdek/Filtre: Belirli özellikleri tespit eden ağırlıkları(filtre ağırlıkları) içeren küçük bir matris. Çekirdeğin boyutu, her adımda işlenen yerel alanı belirler.
  • Adım: Çekirdeğin her adımda giriş görüntüsü üzerinde kaydırdığı piksel sayısı. Daha büyük bir adım, daha küçük bir çıktı özellik haritası ile sonuçlanır.
  • Dolgu: Giriş görüntüsünün kenarına piksel (genellikle sıfır değerli) ekleme. Bu, çıktının uzamsal boyutlarını kontrol etmeye yardımcı olur ve çekirdeklerin kenar piksellerini daha etkili bir şekilde işlemesini sağlar.
  • Aktivasyon Fonksiyonu: Tipik olarak, konvolüsyon işleminin çıktısı, modele doğrusal olmayan bir özellik katarak daha karmaşık örüntüleri öğrenmesini sağlamak için ReLU (Rectified Linear Unit) gibi doğrusal olmayan bir aktivasyon fonksiyonundan geçirilir.

Konvolüsyon ve İlgili İşlemler

Konvolüsyon genellikle CNN'lerdeki diğer işlemlerle birlikte kullanılır, ancak farklı bir amaca hizmet eder:

  • Havuzlama: Maksimum havuzlama veya ortalama havuzlama gibi işlemler, özellik haritalarının uzamsal boyutlarını (genişlik ve yükseklik) azaltmak için kullanılır, bu da modeli hesaplama açısından daha verimli ve özellik konumundaki değişikliklere karşı daha sağlam hale getirir. Özellikleri ayıklayan konvolüsyonun aksine, havuzlama bir bölge içindeki özellikleri özetler. Daha fazla ayrıntı için havuzlama yöntemlerine genel bir bakış bulabilirsiniz.
  • Tam Bağlantılı Katmanlar: Konvolüsyonel katmanlar, alıcı alana dayalı olarak paylaşılan ağırlıkları(parametre paylaşımı) kullanarak yerel bölgeleri işlerken, tam bağlı bir katman, girişindeki her nöronu çıkışındaki her nörona bağlar. Bunlar genellikle son sınıflandırma veya regresyon görevleri için standart bir Sinir Ağı (NN) yapısındaki bir CNN'in sonunda kullanılır.

Konvolüsyon Uygulamaları

Evrişimsel katmanlar çok sayıda modern yapay zeka uygulamasının vazgeçilmezidir:

1. Nesne Algılama

Nesne algılamada, CNN'ler görüntülerden özellikler çıkarmak için konvolüsyonel katmanlar kullanır, bu da nesneleri tanımlamalarını ve sınırlayıcı kutular kullanarak konumlarını belirlemelerini sağlar. Gibi son teknoloji modeller Ultralytics YOLOgibi versiyonlar da dahil olmak üzere YOLO11verimli ve doğru algılama için çeşitli ölçeklerdeki özellikleri analiz etmek için büyük ölçüde konvolüsyonlara bağlıdır. Bu, sürücüsüz araçların(Waymo'nun teknolojisine bakın) güvenli navigasyon için yayaları, araçları ve trafik işaretlerini algılamasını sağlamak gibi Otomotiv uygulamalarında yapay zeka için hayati önem taşır ve genellikle gerçek zamanlı çıkarım gerektirir.

2. Tıbbi Görüntü Analizi

Konvolüsyon tıbbi görüntü analizinde önemli bir rol oynar ve sağlık uzmanlarına X-ışınları, CT taramaları ve MRI'lar gibi taramaları yorumlamada yardımcı olur. CNN'lerle oluşturulanyapay zeka modelleri, bazen insan hızını ve doğruluğunu aşarak tümörler veya kırıklar gibi hastalıkların göstergesi olan ince desenleri tespit edebilir(Radyoloji: Yapay Zeka). Örneğin, modeller tümör tespiti için YOLO11 kullanmak gibi belirli görevler için eğitilebilir. Sağlık Hizmetlerinde Yapay Zeka çözümleri hakkında daha fazlasını keşfedin.

Bunların ötesinde, konvolüsyon görüntü tanıma ve görüntü segmentasyonu gibi diğer görme görevleri için de temeldir.

Derin Öğrenmedeki Önemi

Konvolüsyon, özellikle ızgara benzeri verileri içeren görevler için modern derin öğrenmenin (DL) temel taşıdır. Uzamsal yerellikten yararlanma (yakındaki piksellerin ilişkili olduğunu varsayarak) ve farklı konumlar arasında parametreleri paylaşma yeteneği, CNN'leri geleneksel tam bağlantılı ağlara kıyasla görsel hiyerarşileri öğrenmede oldukça verimli ve etkili hale getirir.

Araçlar ve Eğitim

Konvolüsyon kullanan modellerin uygulanması ve eğitilmesi çeşitli derin öğrenme çerçeveleri tarafından kolaylaştırılmaktadır. Gibi kütüphaneler PyTorchPyTorch resmi sitesi) ve TensorFlowTensorFlow resmi sitesi) CNN'ler oluşturmak için sağlam araçlar sağlar. Ultralytics HUB gibi platformlar, model eğitim sürecini kolaylaştırarak kullanıcıların konvolüsyonları içeren önceden oluşturulmuş mimarilerden yararlanmasına veya belirli uygulamalar için özel modeller eğitmesine olanak tanır. Keras gibi üst düzey API'ler geliştirmeyi daha da basitleştirir.

Tümünü okuyun