💫
Derin Öğrenme
  • 💫Derin Öğrenme Notları
  • 🚀English Version
  • 🦋Projeye Katkıda Bulunma
  • 💼Kullanışlı Araçlar
  • 💎Yapay Sinir Ağları Kavramları
    • 🌱Giriş
    • 🔎Esas Problem
    • 👷‍♀️ Yapay Sinir Ağlarının Uygulanması Üzerine Notlar
    • 📚Yapay Sinir Ağlarının Kavramları
    • 💥Yapay Sinir Ağlarında Aktivasyon Fonksiyonları
    • 🎈NN Uygulama İp Uçları
    • 👩‍🔧 NN Düzenlileştirme (Regularization)
    • ✨Optimizasyon Algoritmaları
    • 🎨Softmax Regression
    • 🏃‍♀️ Tensorflow'a Hızlı Giriş
    • 👩‍💻 Yapay Sinir Ağlarıyla ilgili Pyhton Kod Parçaları
  • 🙋‍♀️ Yapay Sinir Ağları ile Derin Öğrenme'nin Hello World'u
    • 🌱Giriş
    • 🌐Tarayıcıda CNNler
  • 🚪Bilgisayar Görüşüne Giriş
    • 🌱Giriş
  • 🚩Evrişimli Sinir Ağları Kavramları
    • 🌱Giriş
    • 📌Evrişimli Sinir Ağları ile İlgili Genel Kavramlar
    • 🌟Evrişimli Sinir Ağları Gelişmiş Kavramları
    • 👀Evrişimli Sinir Ağlarının Görselleştirilmesi
    • 👵Klasik Evrişimli Sinir Ağları
    • ✨CNN'leri Kurmak İçin Diğer Yaklaşımlar
    • 🕸️CNN'lerin Popüler Uygulamaları
  • 👩‍💻 CNN'ler Üzerinde Kodlar ve Notlar
    • 🌱Giriş
  • 💄Derin Öğrenmenin Popüler Stratejileri
    • 🌱Giriş
    • 🚙Öğrenme Aktarması (Transfer Learning)
    • 📚Derin Öğrenmede Diğer Stratejiler
  • 🤡Resim Artırma (Image Augmentation)
    • 🌱Giriş
  • 🤸‍♀️ Uygulamalı Makine Öğrenmesi Üzerine Notlar
    • 🌱Giriş
    • 👩‍🔧 Makine Öğrenimi Projelerinin Yapılandırılması Üzerine Notlar
    • 👩‍🏫 Uygulama Talimatları
  • 🕵️‍♀️ Obje Algılama Temelleri
    • 🌱Giriş
    • ⭕Bölge Tabanlı (Region-Based) CNN'ler
    • 🤳SSD ve YOLO
    • 🤖TensorFlow Object Detection API
  • ➰Derin Öğrenmede Dizi Modelleri
    • 🌱Giriş
    • 📚Dizi Modellerinin Genel Kavramları
    • 🔄Tekrarlayan Sinir Ağları (RNN)
    • 🌌RNN'deki Vanishing Gradients
    • 🌚Kelime Gösterimi
    • 💬NLP Hakkında Karışık Bilgiler
  • 📕Proje Sözlüğü
  • 📚Faydalı PDF'ler
  • 👀Hızlı Görsel Bilgiler
Powered by GitBook
On this page
  • 🧒👧 Face Verification
  • 🙌 Karşılaştırma
  • 🤸‍♀️ Çözüm Yaklaşımı
  • 🤳 One Shot Learning
  • 🖇 Süreç
  • 👓 Nasıl Kontrol Edeyim?
  • 🤔 Benzerlik fonksiyonu ne olabilir?
  • 👩‍🏫 Nasıl Eğitebilirim?
  • 🌠 Sinirsel Stil Aktarımı (Neural Style Transfer)
  • 👀 Göreslleştirme
  • 👩‍🎓 Metodoloji
  • 🌞 Yazının Aslı

Was this helpful?

Export as PDF
  1. Evrişimli Sinir Ağları Kavramları

CNN'lerin Popüler Uygulamaları

Uygulama

Açıklama

🧒👧 Yüz Doğrulama

Verilen görüntünün ve ID'nin aynı kişiye ait olup olmadığını bilmek

👸 Yüz Tanıma

Giriş yüzü görüntüsüne ID atama

🌠 Sinirsel Stil Aktarımı

Belirli bir görüntünün stilini öğrenerek bir görüntüyü diğerine dönüştürme

🧒👧 Face Verification

🙌 Karşılaştırma

Terim

Soru

Giriş

Çıkış

Problem Türü

🧒👧 Yüz Doğrulama

Bu aranan kişi mi? 🕵️‍♂️

Face image / ID

True / False

1:1

👸 Yüz Tanıma

Bu kişi kimdir? 🧐

Face image

K yüzünüz DB'deki ID'si

1:K

🤸‍♀️ Çözüm Yaklaşımı

🤳 One Shot Learning

Bir örnekten (veritabanında sahip olduğumuz) kişiyi tekrar tanımayı öğrenmek

🖇 Süreç

  • Giriş resmini al

  • DB'deki yüzlere ait olup olmadığını kontrol et

    (Söyelemesi kolay 🤭)

👓 Nasıl Kontrol Edeyim?

Giriş görüntüsü ile veritabanındaki görüntü arasındaki benzerliği hesaplamamız gerekir, bu nedenle:

  • ⭕ Öyle bir fonksiyon kullan ki;

    • similarity(img_in, img_db) = some_val

  • 👷‍♀️ Eşik değeri belirle

  • 🕵️‍♀️ Eşik değerini kontrol et ve çıkışı belirle

🤔 Benzerlik fonksiyonu ne olabilir?

🔷 Siamese Ağı

Yüz Doğrulama bağlamında kullanılan bir CNN, iki görüntüyü girdi olarak alır, konvolüsyonlar uyguladıktan sonra her görüntüden bir özellik vektörü hesaplar, aralarındaki farkı hesaplar ve daha sonra çıkışı verir.

Başka bir deyişle: verilen resmi kodluyor

👀 Görselleştirme

Mimarisi:

👩‍🏫 Nasıl Eğitebilirim?

Ağı bir çapa (anchor) (baz) resim A alarak ve hem pozitif bir P hem de negatif bir N örneği ile karşılaştırarak eğitebiliriz. Böylece:

  • 🚧 Çapa resmi ile pozitif resim arasındaki benzeşmezlik (dissimilarity) düşük olmalıdır

  • 🚧 Çapa resmi ile negatif resim arasındaki benzeşmezlik (dissimilarity) yüksek olmalıdır

Yani:

L=max(d(a,p)−d(a,n)+margin,0)L=max(d(a,p)-d(a,n)+margin, 0)L=max(d(a,p)−d(a,n)+margin,0)

Kayıp denklemine başka bir hiper-parametre olan kenar payı margin adlı değişken eklenir. Kenar payı, benzeşmezliğin ne kadar olması gerektiğini, yani eğer margin = 0.2 ve d(a, p) = 0.5 ise, d (a, n) en az 0.7'ye eşit olmalıdır. Kenar payı, iki görüntüyü daha iyi ayırt etmemize yardımcı oluyor 🤸‍♀️

Bu nedenle, bu kayıp fonksiyonunu kullanarak:

  • 👩‍🏫 Gradyanları hesaplayabiliriz ve gradyanların yardımıyla,

  • 👩‍🔧 Siamese ağının ağırlıklarını ve yanlılıklarını güncelleyebiliriz.

Ağı eğitmek için de:

  • 👩‍🏫 Çapa görüntüsü alıyoruz ve pozitif ve negatif görüntüleri rastgele örnekleriz ve kayıp fonksiyonunu hesaplarız

  • 🤹‍♂️ Gradyanları güncelliyoruz

🌠 Sinirsel Stil Aktarımı (Neural Style Transfer)

Bir içerik görüntüsü C (content) ve stil görüntüsü S (style) vererek bir G görüntüsü oluşturma

👀 Göreslleştirme

Bu nedenle G'yi üretmek için NN'miz S'nin özelliklerini öğrenmeli ve C'ye uygun filtreler uygulamalı.

👩‍🎓 Metodoloji

Genellikle istenen performansı elde etmek için NN'nin parametrelerini -ağırlıklarını ve yanlılıkların- optimize ediyoruz, burada Sinirsel Stil Aktarımı'nda rastgele piksel değerlerinden oluşan boş bir görüntüden başlıyoruz ve görüntünün piksel değerlerini değiştirerek bir maliyet maliyet fonksiyonunu optimize ediyoruz 🧐

Başka bir deyişle, biz:

  • ⭕ Rastgele piksellerden oluşan bir resimle başlıyoruz

  • 👩‍🏫 Bir maliyet J fonksiyonunu tanımlıyoruz

  • 👩‍🔧 Maliyet fonksiyonunu azaltmak için iteratif bir şekilde pikselleri güncelliyoruz

Uzun lafın kısası: NN'leri eğitirken ağırlıkları ve bias'ları güncelleriz, ancak stil aktarımında ağırlıkları ve bias'ları sabit tutarız ve bunun yerine imajımızı güncelleriz 🙌

⌚ Maliyet Fonksiyonu

J'yi aşağıdaki şekilde tanımlayabiliriz:

J(G)=αJContent(C,G)+βJStyle(S,G)J(G)=\alpha J_{Content}(C,G)+\beta J_{Style}(S,G)J(G)=αJContent​(C,G)+βJStyle​(S,G)

Açıklama:

  • JContentJ_{Content}JContent​ G ie C arasındaki benzerliği ifade eder

  • JStyleJ_{Style}JStyle​ G ile S arasındaki benzerliği ifade eder

  • α ve β hiper-parametrelerdir

🌞 Yazının Aslı

PreviousCNN'leri Kurmak İçin Diğer YaklaşımlarNext👩‍💻 CNN'ler Üzerinde Kodlar ve Notlar

Last updated 4 years ago

Was this helpful?

🚩
🕸️
Burada 🐾