Kıvrımlı sinir ağları
Uyarı
Daha fazla ayrıntı için Metin ve resimler sekmesine bakın!
Görüntülere efekt uygulamak için filtreleri kullanabilme özelliği, görüntü düzenleme yazılımıyla gerçekleştirebileceğiniz gibi görüntü işleme görevlerinde yararlıdır. Ancak görüntü işlemenin amacı genellikle görüntülerden anlam veya en azından eyleme dönüştürülebilir içgörüler elde etmektir; bu, büyük hacimli mevcut görüntüleri temel alan özellikleri tanıyacak şekilde eğitilen makine öğrenmesi modellerinin oluşturulmasını gerektirir.
Tavsiye
Bu ünitede makine öğrenmesinin temel ilkeleri hakkında bilgi sahibi olduğunuz ve sinir ağlarıyla derin öğrenme hakkında kavramsal bilgiye sahip olduğunuz varsayılır. Makine öğrenmesi konusunda yeniyseniz Microsoft Learn'de Makine öğrenmesi kavramlarına giriş modülünü tamamlamalısınız.
Görüntü işleme için en yaygın makine öğrenmesi modeli mimarilerinden biri, bir tür derin öğrenme mimarisi olan kıvrımlı sinir ağıdır (CNN). CNN'ler görüntülerden sayısal özellik eşlemelerini ayıklamak için filtreleri kullanır ve ardından etiket tahmini oluşturmak için özellik değerlerini derin öğrenme modeline besler. Örneğin, bir görüntü sınıflandırma senaryosunda etiket görüntünün ana konusunu temsil eder (başka bir deyişle, bu bir görüntü nedir?). Tahmin edilen etiketin belirli bir görüntüdeki meyve türü olması için farklı türde meyve (elma, muz ve portakal gibi) görüntüleriyle bir CNN modeli eğitebilirsiniz.
Bir CNN için eğitim işlemi sırasında, filtre çekirdekleri başlangıçta rastgele oluşturulan ağırlık değerleri kullanılarak tanımlanır. Daha sonra eğitim süreci ilerledikçe model tahminleri bilinen etiket değerlerine göre değerlendirilir ve filtre ağırlıkları doğruluğu geliştirmek için ayarlanır. Sonunda, eğitilmiş meyve görüntüsü sınıflandırma modeli, farklı meyve türlerini tanımlamaya yardımcı olan özellikleri en iyi ayıklayan filtre ağırlıklarını kullanır.
Aşağıdaki diyagramda bir görüntü sınıflandırma modeli için CNN'nin nasıl çalıştığı gösterilmektedir:
- Bilinen etiketlere sahip görüntüler (örneğin, 0: elma, 1: muz veya 2: turuncu) modeli eğitmek için ağa aktarılır.
- Ağ üzerinden beslendiği için her görüntüden özellik ayıklamak için bir veya daha fazla filtre katmanı kullanılır. Filtre çekirdekleri rastgele atanan ağırlıklarla başlar ve özellik eşlemeleri olarak adlandırılan sayısal değer dizileri oluşturur. Ek katmanlar, filtreler tarafından ayıklanan önemli görsel özellikleri vurgulayan daha küçük diziler oluşturmak için özellik haritalarını "havuzlayabilir" veya "küçültebilir".
- Özellik eşlemeleri tek boyutlu bir özellik değerleri dizisine düzleştirilir.
- Özellik değerleri tamamen bağlı bir sinir ağına beslenir.
- Sinir ağının çıkış katmanı, [0.2, 0.5, 0.3] gibi her olası sınıf için olasılık değeri içeren bir sonuç üretmek için softmax veya benzer bir işlev kullanır.
Eğitim sırasında çıkış olasılıkları gerçek sınıf etiketiyle karşılaştırılır. Örneğin, bir muz görüntüsü (sınıf 1) [0.0, 1.0, 0.0] değerine sahip olmalıdır. Tahmin edilen ve gerçek sınıf puanları arasındaki fark, modeldeki kaybı hesaplamak için kullanılır ve tam olarak bağlı sinir ağındaki ağırlıklar ve özellik ayıklama katmanlarındaki filtre çekirdekleri kaybı azaltmak için değiştirilir.
Eğitim süreci, en uygun ağırlık kümesi öğrenilene kadar birden çok dönem boyunca tekrar eder. Ardından ağırlıklar kaydedilir ve model, etiketin bilinmediği yeni görüntülerin etiketlerini tahmin etmek için kullanılabilir.
Uyarı
CNN mimarileri genellikle özellik eşlemelerinin boyutunu küçültmek, ayıklanan değerleri kısıtlamak ve özellik değerlerini başka şekilde işlemek için birden çok kıvrımlı filtre katmanı ve ek katman içerir. Bu basitleştirilmiş örnekte anahtar kavramına odaklanmak için bu katmanlar atlanmıştır. Bu, filtrelerin resimlerden sayısal özellikleri ayıklamak için kullanıldığı ve daha sonra bir sinir ağında görüntü etiketlerini tahmin etmek için kullanıldığıdır.