Convolutional Neural Networks

CNN mimarileri, girdilerin görüntüler olduğu konusunda açık bir varsayımda bulunur ve bu da belirli özellikleri mimariye kodlamamıza izin verir. Bunlar daha sonra ileri işlevi uygulamak için daha verimli hale getirir ve ağdaki parametre miktarını büyük ölçüde azaltır.

Convolutional Neural Networks (CNN- Evrişimli Sinir Ağları), güçlü ve en yaygın kullanılan yapay sinir ağı tekniğidir.

Bu ağlar, problemin uzamsal yapısını korur ve el yazısı rakam tanıma gibi nesne tanıma görevleri için geliştirilmiştir. Popülerler çünkü insanlar zor bilgisayar görüşü ve doğal dil işleme görevlerinde son teknoloji ürünü sonuçlar elde ediyorlar.

CNN;

•Otonom yol izleme sistemlerinde

•Pazar performans analizinde

•Kredi müracatında müşteri analizi yapma

•Tıpta fark edilmemiş desenleri saptama, sınıflama, tıbbi aygıtların kontrolü, tıbbi görüntülerin karakteristiklerinin tespit edilmesi gibi pek çok uygulamada aktif olarak kullanılmaktadır.

Genel Mimari

CNN mimarileri, girdilerin görüntüler olduğu konusunda açık bir varsayımda bulunur ve bu da belirli özellikleri mimariye kodlamamıza izin verir. Bunlar daha sonra ileri işlevi uygulamak için daha verimli hale getirir ve ağdaki parametre miktarını büyük ölçüde azaltır.

CNN, en basit mimarisi, bir giriş katmanıyla (görüntü) başlar ve bunu bir dizi gizli katmanlar takip eder. Aktivasyon fonksiyonu genellikle bir RELU katmanıdır. (aktivasyon fonksiyonlarına diğer yazılarda değineceğim merak etmeyin ) Daha sonra, girişleri ve çıkışları aktivasyon fonksiyonu ve son convolutional tarafından maskelenmesi nedeniyle gizli katmanlar olarak adlandırılan pooling layers, fully connected layers ve normalization layers gibi ek katmanlar içerir.

Convolutional layers, pooling layers ve ReLu katmanları öğrenilebilir özellik çıkarıcılar olarak hareket ederken, fully connected layers bir makine öğrenimi sınıflandırıcısı olarak işlev görür. 

Yani, ağın ilk katmanları görüntülerin jenerik modellerini kodlarken, sonraki katmanlar görüntülerin detay modellerini kodlar.

Örnek Mimariye Genel Bakış:  Diğer yazımızda daha fazla ayrıntıya gireceğiz, ancak sınıflandırma için basit bir ConvNet [INPUT – CONV – RELU – POOL – FC] mimarisine sahip olabilir. Daha ayrıntılı olarak:

  • INPUT [32x32x3] görüntünün ham piksel değerlerini tutacaktır, bu durumda 32 genişliğinde, 32 yüksekliğinde ve üç renk kanalı R, G, B olan bir görüntü.
  • CONV katmanı, girişteki yerel bölgelere bağlı nöronların çıktısını hesaplayacak, her biri ağırlıkları ile giriş hacminde bağlı oldukları küçük bir bölge arasında bir iç çarpım hesaplayacaktır. 12 filtre kullanmaya karar verirsek, bu [32x32x12] gibi bir hacimle sonuçlanabilir.
  • RELU katmanı, örneğin m bir x ( 0 , x )max(0,x)sıfırda eşikleme. Bu, hacmin boyutunu değiştirmeden bırakır ([32x32x12]).
  • POOL katmanı, uzamsal boyutlar (genişlik, yükseklik) boyunca alt örnekleme işlemi gerçekleştirecek ve [16x16x12] gibi bir hacim elde edecektir.
  • FC (yani tam bağlantılı) katmanı, sınıf puanlarını hesaplayacak ve sonuçta [1x1x10] boyutunda hacim elde edilecektir; burada 10 sayının her biri, 10 CIFAR-10 kategorisi arasında olduğu gibi bir sınıf puanına karşılık gelir. Sıradan Sinir Ağlarında olduğu gibi ve adından da anlaşılacağı gibi, bu katmandaki her nöron bir önceki ciltteki tüm sayılara bağlanacaktır.
İlgili Haber  Açlık ve Yalnızlık beyinde aynı yeri paylaşıyorlar

Bu şekilde CNN, orijinal görüntü katmanını orijinal piksel değerlerinden son sınıf puanlarına katman katman dönüştürür. Bazı katmanların parametre içerdiğini ve diğerlerinin içermediğini unutmayın. 

Özellikle, CONV / FC katmanları, yalnızca giriş hacmindeki aktivasyonların değil, aynı zamanda parametrelerin (nöronların ağırlıkları ve önyargıları) bir fonksiyonu olan dönüşümleri gerçekleştirir. 

Öte yandan, RELU / POOL katmanları sabit bir işlev uygulayacaktır.

CONV / FC katmanlarındaki parametreler gradyan inişi ile eğitilecektir, böylece ConvNet’in hesapladığı sınıf puanları, her görüntü için eğitim setindeki etiketlerle tutarlı olacaktır.

Özetle:

convnet Convolutional Neural Networks Haberler
Örnek bir ConvNet mimarisinin etkinleştirilmesi.
 İlk hacim, ham görüntü piksellerini (solda) ve son hacim, sınıf puanlarını (sağda) depolar. İşlem yolu boyunca her bir aktivasyon hacmi bir sütun olarak gösterilir. 3B ciltleri görselleştirmek zor olduğundan, her cildin dilimlerini satırlar halinde yerleştiriyoruz. Son katman hacmi, her sınıfın puanlarını tutar, ancak burada yalnızca sıralanan ilk 5 puanı görselleştirir ve her birinin etiketlerini yazdırırız. 
  • Bir ConvNet mimarisi, en basit durumda, görüntü hacmini bir çıktı hacmine dönüştüren (örneğin, sınıf puanlarını tutan) bir Katman listesidir.
  • Birkaç farklı Katman türü vardır (ör. CONV / FC / RELU / POOL açık ara en popüler olanlardır)
  • Her Katman bir giriş 3B hacmini kabul eder ve bunu farklılaştırılabilir bir işlev aracılığıyla 3B çıktı hacmine dönüştürür
  • Her Katman parametrelere sahip olabilir veya olmayabilir (örn. CONV / FC do, RELU / POOL yok)
  • Her Katman ek hiperparametrelere sahip olabilir veya olmayabilir (örneğin CONV / FC / POOL yapar, RELU yoktur)

Son olarak aşağıda CNN kullanmanın bazı faydaları verilmiştir:

  • Tamamen bağlı bir ağa göre öğrenmek için daha az parametre (ağırlık) kullanırlar.
  • Sahnedeki konum ve bozulma nesnesine değişmeyecek şekilde tasarlanmıştır.
  • Giriş alanından özellikleri otomatik olarak öğrenir ve genelleştirir.

Diğer yazımızda CNN’in yapı taşları ile devam edeceğiz.

E-bültene Abone Ol Merak etmeyin. Spam yapmayacağız.

Yazar

Bilgisayar Mühendisliğinden eylülde mezun oluyorum. Yapay zeka konusunda yeniyim fakat bilgimi geliştirmek için çeşitli eğitimler alıp bu alanda güzel işler başarmak istiyorum. Bir bütünün parçası olarak hareket etmeyi seviyorum ve attığım adımları bu doğrultuda atıyorum.

seymaktas.6798@gmail.com

İlgili Yazılar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Hızlı yorum için giriş yapın.

Başka Yazı Yok

Kayıt Ol

VEYA

Zaten üye misiniz? Giriş Yap

Giriş Yap

VEYA

Henüz üyeliğiniz yok mu? Kayıt Ol

close

Abone ol!