• Sonuç bulunamadı

5. CNN KATMAN SAYISI ve SINIFLANDIRMA BAŞARIMI

5.3 Model Küçültülmesi ve İnce Ayar

Modelin küçültülmesi aşaması olarak adlandırılan bu adımda, bir önceki adımda belirlenmiş olan ResNet-50, DenseNet-121 ve DenseNet-201 modellerin evrişimsel modellerin doku temelli katmanını bulmak için çeşitli deneyler yapılmıştır. ImageNet veri kümesi ile önceden eğitimli modeller kullanılmış olduğu için, tespit edilen modellerin üst katmanları; ImageNet veri kümesinde yer alan imgelere özgü öznitelik vektörlerine sahiptir. Doku tabanlı öznitelik vektörleri orta katmanlarda yer almaktadır. Modeli küçültebilmek için doku temelli katmanlardan en uygun olanı deneysel olarak belirlenmiştir.

Bölüm 3’te belirtilmiş olduğu gibi bu mimariler, kendilerine özgü blokların tekrarlanması ile oluşmaktadır. Modeli küçültebilmek adına en son bloktan yukarıya doğru hareket edilmiştir. Her deneyde, bir önceki bloktan çıkış alınmış, model eğitilmiş ve model başarımı çizelge 5.1’de verilen düzeylerde kalmış ise bir önceki bloğa geçilmiştir. Bu süreçte, sadece çıkış alınan blok için ince ayar uygulanmıştır. Model başarımı belirgin bir şekilde düşene kadar aynı işlemlere devam edilmiştir. Model başarımının düştüğü noktadan itibaren kesme işlemi durdurulmuş ve ince ayar yapılacak katmanların belirlenmesi işlemine geçilmiştir.

En yüksek başarımı verecek olan orta katman, tespit edildikten sonra, oluşan ince ayar uygulanacak katmanlar belirlenmiştir. Bu işlem de yine, model küçültme aşaması gibi deneysel olarak yapılmıştır. Ağın çıkışından geriye doğru gidilmiştir. Çıkış katmanından itibaren her bir blok sırayla ince ayar için açılırken, giriş seviyesindeki katmanların ağırlıkları korunmuştur. Model başarımı düşene kadar işleme devam edilmiştir. Böylece giriş seviyesinde bulunan evrişimsel katmanların ağırlıkları korunurken, çıkış alınan orta katmandan itibaren geriye dönük olmak üzere ince ayar uygulanması gereken katmanlar ve ağırlık katsayılarının korunması gereken katmanlar belirlenmiştir.

57

Son olarak, ağın çıkışından alınan kanal sayısını kademeli olarak azaltan evrişimsel katmanlar ve sınıflandırma katmanı eklenmiştir. Böylece YResNet50, YDenseNet121 ve YDenseNet201 tasarımları oluşturulmuştur. Yeni eklenen katmanlar sıfırdan eğitilmiştir.

Bu şekilde, bilindik modellerin küçültülmesi ile elde edilen yeni mimariler ve parametre sayıları Çizelge 5.2’de verilmektedir.

Çizelge 5.2 Yeni modellerin parametre sayısı

Kullanılan Mimari

YResNet50 6.444.461 3.195.181

YDenseNet121 5.063.277 1.676.525

YDenseNet201 11.932.389 8.099.392

5.3.1 YResNet50 modeli

ResNet ailesi olarak tanımlanan mimariler, artık bağlantılar olarak adlandırılan ve evrişimsel katmanların bulunduğu bloklardan oluşur. Yapılan deneylerin algoritmasını anlatan sözde kod şekil 5-2 ile verilmiştir.

Başla

Şekil 5.2 ResNet-50 –Model küçültme algoritması

58

Yapılan deneyler kapsamında; 50 bloktan oluşan önceden ResNet-50 mimarisinde, 31.

bloktan çıkış alınmıştır. 31. bloktan çıkış alma kararı tamamen deneysel yöntemlerle belirlenmiştir. Şekil 5.2’de verilmiş olan algoritmanın uygulanması sonucunda ResNet-50 modelin 30. Bloğuna gelindiğinde model başarımında düşüş tespit edilmiştir. İkinci olarak modelin hangi bloklarındaki ağırlıkların sabit tutulacağı, hangi blokların eğitim için açılacağı yine test edilmiştir. Burada ise blokları sırayla eğitime açılarak başarımları karşılaştırılmıştır. Model başarımına etkinin az olduğu noktada ağırlıkların eğitime açılması süreci sonlandırılmıştır. Bu şekilde, blokların her birinin ağırlıkları sırasıyla açılıp ince ayar uygulandığında 25-31 blok arasında model başarımı yükselmiştir. 24.

Bloktan itibaren ince ayar yapılmasının model başarımına etkisinin düşük olması sebebiyle bu blok ve gerisinde kalan blokların ağırlık katsayıları dondurulmuştur.

Çizelge 5.3 Önerilen YResNet50- model mimarisi

YResNet50

AÇIKLAMA Durum Vektör Boyutu

ResNet50 modelinde, giriş katmanından itibaren Act31 katmanına kadar orjinal model tasarımı kullanılmıştır.

Giriş 224x224x3

Çıkış 14x14x1024

1x1 boyutlu 512 katmanlı evrişim katmanı kullanılarak bir üst katmandan gelen öznitelik vektörü boyutu düşürülmüştür.

1x1 boyutlu 256 katmanlı evrişim katmanı kullanılarak bir üst katmandan gelen öznitelik vektörü boyutu düşürülmüştür.

Giriş 7x7x512

Çıkış 7x7x256

Düzeltme katmanı. Modelin eğitimi esnasın 0.5 eksiltme regülasyonu kullanılmştır.

(Dropout=0,5)

Giriş 7x7x256

Çıkış 12544

Sınıflandırma katmanı (softmax) Bu katmanın boyutu veri kümesinin sınıf sayısına göre 45 olarak ayarlanmıştır.

Giriş 12544

Çıkış 45

Sonuç olarak; seçilen ResNet-50 modelin; 31. evrişimsel bloğundan çıkış alınmış ve 25-31 bloklar için ince ayar yapılacak şekilde model küçültülmüştür. Bu aşamadan sonra,

59

modelin 31. Bloktan alınan çıkışında yer alan filtreleri kademeli olarak küçülten katmanların eklenme sürecine geçilmiştir.

31. bloğun sonundaki aktivasyon katmanının çıkışından 14x14 boyutunda 1024 kanaldan oluşan bir tensor elde edilmektedir. Buradaki 1024 olan kanal sayısı 1x1 evrişimsel katmanlar kullanılarak kademeli olarak azaltılmıştır 31. Bloğun sonuna eklenen bu yeni yapı, çizelge 5.3’te gösterilmektedir. Eğitilen model, standart bir ResNet-50 modelinin yaklaşık yarısı olduğu için YResNet50 olarak adlandırılmıştır

5.3.2 YDensNet121 ve YDensNet201 modelleri

ResNet mimarisi, artık bloklar olarak adlandırılan bir yapı üzerinden evrişimsel sinir ağı tasarımı üzerine kuruludur. DenseNet mimarisi de benzer şekilde bloklar ile ilerlemektedir. ResNet mimarisinden farklı olarak, DenseNet mimarisinde, önceki blokların çıkışından alınan öznitelik vektörleri bir sonraki bloğa olduğu gibi aktarılır.

Bunu yapabilmek için ResNet’de olduğu gibi, blok çıkışında elde edilen ve öznitelik vektörünü oluşturan tensorleri element bazında toplamak yerine ardışık olarak birleştirir.

DenseNet mimarisinin küçültülmesi işlemi için de Şekil 5.2’de tarif edilen yola benzer bir yol izlenmiştir. Önce kademeli olarak geriye doğru gidilmiştir. 4. Havuzlama bloğunun gerisinde model başarımı düştüğü için buradan çıkış alınmıştır. Sadece bu blok içindeki evrişimsel katmanlar eğitime açılmıştır. Giriş bloklarının ağırlıkları dondurulmuştur.

4. Blok eğitilirken, modelin diğer bloklarındaki ağırlıklar dondurulmuştur. DenseNet modelinin 4. Blok çıkışları; DenseNet-121’de 512 ve DenseNet201’de 896 adet 7x7 tensordan oluşur. YResnet50 modelinin çıkışına benzer şekilde, bu katmanlar kademeli olarak indirgenmiştir. 4. Blok üzerinden çıkış alındıktan sonra yapılan işlemler Çizelge 5.4’te verilmiştir. Eğitilen modeller, standart bir DenseNet modellerinin yaklaşık yarısı olduğu için YDenseNet121 ve YDenseNet201 olarak adlandırılmıştır.

60

Çizelge 5.4 Önerilen YDenseNet121 ve YDenseNet201 mimarileri Vektör Boyutları

AÇIKLAMA Durum YDenseNet121 YDenseNet201

Giriş katmanından itibaren pool4_pool katmanına kadar orjinal model tasarımı kullanılmıştır.

Giriş 224x224x3 224x224x3

Çıkış 7x7x512 7x7x896

1x1 boyutlu 512 katmanlı evrişim katmanı kullanılarak bir üst katmandan gelen öznitelik vektörü boyutu

düşürülmüştür.

Giriş 7x7x512 7x7x896

Çıkış 7x7x256 7x7x512

2x2 büyüklüğünde filtrelerle havuzlama yapılmıştır.

Giriş 7x7x256 7x7x512

Çıkış 3x3x256 3x3x512

1x1 boyutlu 256 katmanlı evrişim katmanı kullanılarak bir üst katmandan gelen öznitelik vektörü boyutu

düşürülmüştür.

Giriş 3x3x256 3x3x512

Çıkış 3x3x128 3x3x256

Düzeltme katmanı. Modelin eğitimi esnasın 0.5 eksiltme regülasyonu kullanılmştır. (Dropout=0,5)

Giriş 3x3x128 3x3x256

Çıkış 1.152 2.304

Sınıflandırma katmanı (softmax) Bu katmanın boyutu veri kümesinin sınıf sayısına göre 45 olarak ayarlanmıştır.

Giriş 1.152 2.304

Çıkış 45 45