• Sonuç bulunamadı

3.6. Derin Öğrenme Modelleri

3.6.2. DenseNet

Derin yapay sinir ağı yapılarındaki kaybolma/patlama sorunlarına çözüm için farklı teknikler ve modeller geliĢtirilmiĢtir. ResNet ve Highway ağlar 100 katman bariyerini aĢmıĢlardır. Bir katmandan alınan çıktıyı baĢka bir katmanın çıktısına ekleyen yöntemler kullanıldığı gibi daha iyi bir veri akıĢı için rastgele bir Ģekilde çeĢitli katmanların modelden çıkarıldığı çözümler de kullanılmaktadır. Bu tip çözümlerin ortak yönü baĢlangıç katmanlarından ileri seviye katmanlara doğru kısayollu bir bağlantı kullanmalarıdır (Huang ve ark., 2018).

Yapılan çalıĢmalar göstermiĢtir ki konvolüsyonel yapay sinir ağlarındaki giriĢe yakın katmanların, çıkıĢa yakın katmanlara yapmıĢ olduğu doğrudan kısa bağlantılar, daha iyi baĢarı oranı, daha verimli eğitim ve daha derin ağ yapısı sunmaktadır. Bu gözleme dayanarak geliĢtirilen DenseNet, her katmandan elde edilen çıktıyı ileri yönde yer alan diğer katmanlara bağlamaktadır. ġekil 3.15’de DenseNet modelinde yer alan bağlantı yapısı gözlemlenebilmektedir (Huang ve ark., 2018).

ġekil 3.15. DenseNet modeline ait bağlantı yapısı

Klasik ağ yapılarında L adet katmanın L adet bağlantısı bulunmaktadır. Ancak DenseNet ağlarda L adet katmanın L(L+1)/2 adet bağlantısı bulunmaktadır. Birbirine bağlama (Concenation) olarak adlandırılan bu ileri yönlü bağlantılar, diğer katmanlara özellik haritalarının (feature maps) aktarılmasına imkan vermektedir. Bu sayede ilerde yer alan her katman, önceki tüm katmanlardan ortak bir veri almaktadır. Bu durum ağın daha ince ve kompakt bir yapıda olmasını sağlamaktadır. Ayrıca az sayıda kanal sayısı

kullanılmasına ve hesaplama, bellek tüketimi yönlerinden verimlilik sağlamaktadır. ġekil 3.16’da DenseNet ve ResNet modellerine ait kısayol bağlantılarının kıyaslaması verilmiĢtir (Huang ve ark., 2018).

ġekil 3.16. ResNet (üstte) ve DenseNet (altta) kıyaslaması

DenseNet modelinde DenseBlock ve Aktarım Katmanları (Transition Layers) adı verilen yapılar kullanılmaktadır. Ġlk giriĢ seviyesinde 7 x 7 filtre boyutlarına sahip bir konvolüsyon iĢlemi gerçekleĢtirilmektedir. DenseBlock yapılarında ise farklı boyutlarda konvolüsyon iĢlemleri gerçekleĢtirilmektedir. Ġki DenseBlock arası bağlantılarda kullanılan Aktarım Katmanları’nda ise 1 x 1 konvolüsyon ve Pooling iĢlemleri yapılmaktadır. ġekil 3.17’de DenseNet modeline ait yapı verilmiĢtir (Huang ve ark., 2018).

ġekil 3.17. DenseNet modeline ait DenseBlock ve Transition Layer

DenseBlock yapıları içinde gerçekleĢtirilen konvolüsyonla birlikte Batch Normalizasyonu ve ReLU iĢlemleri de yapılmaktadır. Modelin kompleksliğini ve boyutunu azaltmak için ―BN-ReLU-1x1 Conv‖ ve ―BN-ReLU-3x3 Conv‖ iĢlemleri yapılmaktadır. GerçekleĢtirilen bu iĢlemler ġekil 3.18’de verilmiĢtir (Huang ve ark., 2018).

ġekil 3.18. DenseBlock içinde gerçekleĢen BN-ReLU-1x1 Conv ve BN-ReLU-3x3 Conv iĢlemleri

DenseNet modeline ait 121, 169, 201 ve 264 katmanlı versiyonları bulunmaktadır. Her modelde yer alan DenseBlock yapılarında kullanılan konvolüsyon iĢlemlerinin boyutları değiĢmektedir. ġekil 3.19’da DenseNet modeline ait farklı versiyonların kıyaslaması paylaĢılmıĢtır (Huang ve ark., 2018).

ġekil 3.19. DenseNet modeline ait farklı katman sayılarına sahip versiyonları

DenseNet modeli üzerinde CIFAR-10/100, Street View House Numbers (SVHN), ILSVRC-2012 sınıflandırma veri seti çalıĢtırılmıĢtır. ILSVRC veri seti üzerinden alınan Top-1 ve Top-5 hata oranlarına ait Single-Crop ve 10-Crop test sonuçları Çizelge 3.4’de paylaĢılmıĢtır (Huang ve ark., 2018).

Çizelge 3.4. DenseNet ILSVRC Single-Crop / 10-Crop Testing karĢılaĢtırması Model Top-1 Hata Oranı Top-5 Hata Oranı

DenseNet-121 25.02 / 23.61 7.71 / 6.66 DenseNet-169 23.80 / 22.08 6.85 / 5.92 DenseNet-201 22.58 / 21.46 6.34 / 5.54 DenseNet-264 22.15 / 20.80 6.12 / 5.29

GerçekleĢtirilen bu akademik tez çalıĢmasında güncel bir derin öğrenme modeli olmasından dolayı ve literatürde popüler bir konumda bulunmasından dolayı DenseNet modeli bu tez çalıĢmasında tercih edilen bir baĢka model olmuĢtur.

3.6.3. VGGNet

VGGNet, 2014 yılında ILSVRC sınıflandırma görevinde runner-up birinciliğini elde etmiĢ bir modeldir. ÇalıĢmada, küçük boyutlarda konvolüsyon filtresi kullanmanın öneminden ve ağın derinliğinden bahsedilmiĢtir. Bir önceki yıl ILSVRC’de yer alan ZFNet (Zeiler ve Fergus, 2014) modelinin küçük konvolüsyon filtresi kullanmasına vurgu yapmıĢlardır (Simonyan ve Zisserman, 2014).

GeliĢtirilen VGGNet modeline ait mimari, 224 x 224 boyutlarında Red Green Blue (RGB) görselleri giriĢ olarak almaktadır. 3 x 3 konvolüsyon filtresinin kullanıldığı modelde, 1 x 1 konvolüsyon filtresine sahip konfigürasyonlarda bulunmaktadır. Konvolüsyon filtrelerinde 1 adımlık atlama (stride) kullanılmıĢtır. Her konvolüsyon adımından sonra Max-Pooling iĢlemi gerçekleĢtirilmiĢtir. Pooling katmanlarında ise 2 adımlık atlama (stride) kullanılmıĢtır. Modelin son bölümünde ise 3 farklı tam bağlantılı (Fully-Connected) katman kullanılmıĢtır. Ġlk iki tam bağlantılı katman 4096 adet kanala sahiptir. Ancak son katman ILSVRC veri seti için 1000 kanaldan oluĢmuĢtur. Modelin son aĢamasında ise Softmax katmanı bulunmaktadır. Bütün gizli katmanlarda ise ReLU aktivasyon fonksiyonu tercih edilmiĢtir (Simonyan ve Zisserman, 2014).

VGGNet modelinde, ILSVRC 2012 ve 2013 yıllarında baĢarı sağlayan AlexNet ve ZFNet modellerinin aksine 11 x 11 ya da 7 x 7 konvolüsyon filtreleri tercih edilmemiĢtir. Bunun yerine 3 x 3 konvolüsyon filtresi 1 adım atlamayla (stride) kullanılmıĢtır. Çünkü 3 katmandan oluĢan 3 x 3 konvolüsyon filtresi, 7 x 7 boyutlarına sahip bir konvolüsyon filtresiyle aynı alanı kapsayabilmektedir. Bu durumun getirmiĢ olduğu pozitif yararlar bulunmaktadır. Modele ait farklı kongürasyonlarda, sadece C versiyonunda 1 x 1 filtre boyutuna sahip konvolüsyon iĢlemi yapılmıĢtır (Simonyan ve Zisserman, 2014).

VGGNet modeline ait 5 farklı tipte konfigürasyon bulunmaktadır. Bunlar A, B, C, D ve E olarak adlandırılmıĢtır. Sırasıyla bu konfigürasyonlar 133, 134, 138 ve 144 milyon parametreye sahiptir. A versiyonu 11, B versiyonu 13, C ve D versiyonları 16 ve son olarak E versiyonu ise 19 ağırlık katmanına sahiptir. ġekil 3.20’de bu konfigürasyonlar verilmiĢtir (Simonyan ve Zisserman, 2014).

ġekil 3.20. VGGNet A, B, C, D, E konfigürasyonları (Sırasıyla yukarında aĢağıya)

Bu derin öğrenme çalıĢmasında VGG-19 (E konfigürasyonu) tercih edilmiĢtir. VGGNet, AlexNet, ZFNet ve GoogLeNet arasında yapılan ILSVRC lokalizasyon sonuçlarına ait istatistik Çizelge 3.5’de verilmiĢtir.

Çizelge 3.5. VGGNet ILSVRC lokalizasyon sonuçları

Model Top-1 Validasyon Hata Oranı Top-5 Validasyon Hata Oranı

VGGNet (2 Nets, Multi-Crop & Dense Eval.) 23,7 6,8 VGGNet (1 Net, Multi-Crop & Dense Eval.) 24,4 7,1

AlexNet (5 Nets) 38,1 16,4

ZFNet (6 Nets) 36 14,7

3.6.4. Inception v3

Inception mimarisi GoogleNet modeliyle ortaya çıkmıĢ bir mimaridir. Szegedy ve ark. (2015) tarafından önerilen GoogleNet modeli, derinliği ve geniĢliği artırırken, hesaplama maliyetini aynı oranda tutmaya çalıĢmaktadır. Bu nedenle Inception kavramını kullanan bu modelde, farklı konvolüsyon filtreleri beraber kullanılarak alınan çıktılar birleĢtirilmiĢtir. Modele ait genel yapı ġekil 3.21’de verilmiĢtir (Szegedy ve ark., 2015).

ġekil 3.21. GoogleNet modeli

GeliĢtirilen ilk GoogleNet modeli, Inception v1 adıyla da anılmaktadır. Inception ile beraber bir adımda, farklı konvolüsyon filtreleri paralel olarak ayrı bir Ģekilde kullanılamaktadır. Bu filtrelerden alınan çıktılar, birleĢtirilerek bir sonraki adıma gönderilmektedir. Kompleksliği ve hesaplamayı kolaylaĢtırmak için bazı adımlarda 1x1 konvolüsyon matirisi de kullanılmıĢtır. 1 x 1 filtre boyutlarının yanı sıra 3 x 3, 5 x 5 ve 7 x 7 filtre boyutlarını da görmek mümkündür (Szegedy ve ark., 2015). Modelde görülen Inception özelliği ġekil 3.22’de paylaĢılmıĢtır.

Pooling katmanları dahil toplam 27 katmandan oluĢan GoogleNet (Inception v1) modeli, ILSVRC 2014 yılının kazananı olmuĢtur. Inception v2 adıyla anılan modelde Batch Normalizasyonuna yönelik iĢlemler yapılmıĢtır. Inception v3 adıyla anılan modelde ise faktorizasyona yönelik iĢlemler gerçekleĢtirilmiĢtir (Szegedy ve ark., 2016).

Inception v3 modelinde, konvolüsyon filtrelerinin faktorizasyonu üzerinde durulmuĢtur. 5 x 5 ve 7 x 7 filtre boyutlarının getirdiği maliyet ve hesaplama kompleksliğinden kurtulmak için 3 x 3 filtrelerin kullanılması önerilmiĢtir. Bir adet 5 x 5 filtre yerine iki adet 3 x 3 ya da bir adet 7 x 7 filtre yerine üç adet 3 x 3 filtrenin kullanılması önerilmiĢtir. Bu faktorizasyon iĢleminden %28 oranında bir kazancın elde edileceği vurgulanmıĢtır. Bir adet 5 x 5 filtrenin getirmiĢ olduğu parametre sayısı 25’dir. Ancak iki adet 3 x 3 filtrenin getirmiĢ olduğu parametre sayısı ise 18’dir. ġekil 3.23’de 5 x 5 filtre yerine kullanılan iki adet 3 x 3 konvolüsyon filtresi verilmiĢtir. Bu Ģekilde elde edilen yeni Inception modülü ise ġekil 3.24’de paylaĢılmıĢtır (Szegedy ve ark., 2016).

ġekil 3.24. Inception-v1 modülü (solda) ve Inception-v3-A modülü (sağda)

Inception v3 ile önerilen bir baĢka asimetrik konvolüsyon faktorizasyonudur. 3 x 3 boyutlarında bir adet filtre yerine, sırasıyla 3 x 1 ve 1 x 3 boyutlarında iki farklı konvolüsyon filtresinin kullanılması önerilmiĢtir. 3 x 3 konvolüsyon filtresinden elde edilen parametre sayısı 18’dir. Ancak 3 x 1 ve 1 x 3 filtrelerden elde edilen parametre sayısı ise 6’dır. Bu faktorizasyondan %33 oranında bir kazanç söz konusudur. ġekil 3.25’de yapılan değiĢiklik gösterilmiĢtir (Szegedy ve ark., 2016).

ġekil 3.25. 3 x 3 filtre yerine sırasıyla 3 x 1 ve 1 x 3 filtrelerin kullanılması

3 x 3 konvolüsyon filtrelerinin, 3 x 1 ve 1 x 3 filtre boyutlarıyla değiĢtirilmesi Inception modül B olarak adlandırılmıĢtır. Asimetrik konvolüsyon faktorizasyonuna bağlı olarak 3 x 3 filtre dönüĢümünün kullanıldığı bir baĢka nokta ise Inception C modülüdür. Bu modülde, yüksek boyutlardaki filtre boyutlarının dönüĢümü söz konusudur. Inception C modülünün ve n = 7 olan bir durum için Inception B modülünün gösterimi ġekil 3.26’da verilmiĢtir (Szegedy ve ark., 2016).

ġekil 3.26. Inception-v3-B modülü (solda) ve Inception-v3-C modülü (sağda)

Inception v3 olarak adlandırılan modelde, Inception modüllerinde yapılan değiĢikliklerin yanı sıra Auxiliary sınıflandırıcısı (classifier) ve ızgara (grid) sisteminde de çeĢitli güncellemeler ve değiĢiklikler yapılmıĢtır. Buna bağlı olarak Inception-v3 modelinde daha az maliyet ile aynı verimlilik seviyesi korunmuĢtur (Szegedy ve ark., 2016). ġekil 3.27’de Inception v3 modeline ait Ģematik gösterim verilmiĢtir.

ġekil 3.27. Inception v3 modeli Ģematik gösterimi

Inception v3 modeli ILSVRC 2012 veri seti üzerinde test edilmiĢtir. Yapılan kıyaslamaya ait sonuçlar Çizelge 3.6’da verilmiĢtir (Szegedy ve ark., 2016).

Çizelge 3.6. ILSVRC 2012 test sonuçları

Model Crops Top-1 Hata Oranı (%) Top-5 Hata Oranı (%)

GoogleNet 10 - 9,15 GoogleNet 144 - 7,89 VGGNet - 24,4 6,8 Inception-v2 (BN) 144 22 5,82 Inception-v3 12 19,47 4,48 Inception-v3 144 18,77 4,2 3.6.5. NASNet

NASNet, Google Brain takımının CIFAR-10 veri seti için en iyi konvolüsyon katmanını ya da hücresini ararken geliĢtirmiĢ oldukları bir modeldir. NASNet modeli, küçük model boyutuyla ve daha az karmaĢıklıkla iyi sonuçlar verebilecek bir yapıdadır. NASNet modeli, yapısı itibariyle sabit tanımlı blok ya da hücrelerden oluĢmamaktadır. Denetimli ve denetimsiz öğrenme yöntemlerinden farklı olarak pekiĢtirmeli öğrenme (reinforcement learning) yöntemini kullanmaktadır. ġekil 3.28’de NASNet modeline ait dinamik olarak değiĢebilen ve CIFAR10, ImageNet üzerinde kullanılmıĢ blok yapıları verilmiĢtir (Zoph ve ark., 2018).

ġekil 3.28. NASNet CIFAR10 (solda) ve ImageNet (sağda) blokları

NASNet modelinde ―Normal Hücre (Normal Cell)‖ ve ―Ġndirgeme Hücresi (Reduction Cell)‖ olmak üzere iki farklı hücre tipi bulunmaktadır. Normal ve indirgeme hücrelerinde konvolüsyon iĢlemleri gerçekleĢtirilmektedir. Ancak tek fark, indirgeme hücrelerinden alınan çıktıların boyutunun küçültülmüĢ olmasıdır. RNN (Recurrent Neural Network) tarafından bu yapıların arama iĢlemi gerçekleĢtirilmektedir (Zoph ve ark., 2018).

RNN ile model genelinde kullanılacak normal ve indirgeme hücreleri, bir arama uzayı içerisinde aranmaktadır. Seçilen her hücreye, hi ve hi-1 durumları aktarılmaktadır.

Bu durumlar bir önceki katmandan veya giriĢ olarak alınan veriden aktarılmaktadır. Bu iki durum göz önünde bulundurularak, RNN tahmin iĢlemlerini yürütmektedir. Çizelge 3.7’de RNN’in kullanabileceği operatörler verilmiĢtir. RNN’in yapmıĢ olduğu iĢleme ait Ģematik gösterim ġekil 3.29’da verilmiĢtir (Zoph ve ark., 2018).

Çizelge 3.7. RNN’in kullanabileceği operatörler Operatör 1 x 7 ve 7 x 1 konvolüsyon 1 x 3 ve 3 x 1 konvolüsyon 3 x 3 geniĢletici konvolüsyon 3 x 3 ortalama pooling 3 x 3 maksimum pooling 5 x 5 maksimum pooling 7 x 7 maksimum pooling 1 x 1 konvolüsyon 3 x 3 konvolüsyon

3 x 3 derinlemesine – ayrılabilir konvolüsyon 5 x 5 derinlemesine – ayrılabilir konvolüsyon 7 x 7 derinlemesine – ayrılabilir konvolüsyon identity (tanıma)

ġekil 3.29. RNN yapmıĢ olduğu iĢlem adımları (yukarıda) ve çıktı Ģeması (aĢağıda) 3.7. Veri Seti

GerçekleĢtirilen makine öğrenmesi ve derin öğrenme projelerinde kullanılan veri seti çok önemli bir parametredir. Veri setinin kalitesi, baĢarı ve hata oranlarını doğrudan etkilemektedir. GerçekleĢtirilen bu tez çalıĢmasında Almanya merkezli bir turizm seyahat firmasına özgü bir veri seti kullanılmıĢtır. Kullanılan bu veri seti, daha önce

herhangi bir halka açık ortamda paylaĢılmamıĢ ve daha önce üstünde herhangi bir çalıĢma yapılmamıĢtır.

Elde edilen bu veri setinde yer alan görseller tek tek incelenmiĢ ve kategorize edilmiĢtir. Veri setinin yeterince temiz olması için çalıĢılmıĢtır. Bu sayede iyi sonuçların alınması planlanmıĢtır. Veri seti içerisinde 5 etiket bulunmaktadır. Bunlar; mutfak, banyo, yatak odası, oturma odası ve bahçe etiketleridir. Toplamda 80.000 görsele sahip veri setinde yer alan test ve validasyon verileri Flickr baĢta olmak üzere çeĢitli görsel ortamlardan alınmıĢtır. Bahsi geçen turizm Ģirketine ait verilerin tamamı eğitim iĢlemi için öğrenme setine aktarılmıĢtır. Veri setine ait istatistikler Çizelge 3.8’de verilmiĢtir.

Çizelge 3.8. Kullanılan veri setine ait istatistikler

Etiket Eğitim Verisi Test Verisi Validasyon Verisi

Mutfak (Kitchen) 14.000 1.000 1.000

Banyo (Bathroom) 14.000 1.000 1.000

Yatak Odası (Bedroom) 14.000 1.000 1.000

Oturma Odası (Living Room) 14.000 1.000 1.000

Bahçe (Garden) 14.000 1.000 1.000

Toplam 70.000 5.000 5.000

Genel Toplam 80.000

Veri setinde yer alan görseller, ağırlıklı olarak Almanya’daki tatil evlerinden oluĢmaktadır. Bunun yanı sıra, ABD (Amerika BirleĢik Devletleri), Ġspanya ve Fransa baĢta olmak üzere diğer farklı lokasyonlara ait tatil evi görselleri de bulunmaktadır. Almanya’da yer alan görsellerin büyük bir kesimini kuzey bölgesinde yer alan Baltık Denizi sahillerindeki tatil evleri oluĢturmaktadır.

Yatak odası görsellerinde, tek kiĢilik yatak, çift kiĢilik yatak, ranza tipi yatak baĢta olmak üzere farklı yatak odası eĢyaları, nevresim, yorgan, yastık gibi çeĢitli araç ve gereçler bulunmaktadır. Oturma odası görsellerinde temel olarak oturma grupları (kanepe, koltuk, vb.) ve sehpa, halı, masa, televizyon ve televizyon üniteleri yer almaktadır. Oturma ve yatak odalarına ait örnek temsili görseller ġekil 3.30’da verilmiĢtir.

ġekil 3.30. Veri setinde bulunan temsili yatak odası (solda) ve oturma odası (sağda) görselleri

Mutfak görsellerinde ocak, buzdolabı, bulaĢık makinesi, yemek masası, aspiratör gibi araç ve gereçler yer almaktadır. Bununla beraber mutfak tezgâhı ve ada mutfak tipleri de veri seti içinde sıkça yer almaktadır. Banyo etiketine sahip görsellerde küvet, jakuzi, duĢ kabini, lavabo, havlu, dolap, kilim takımı gibi ağırlıklı olarak banyoda

kullanılan görseller bulunmaktadır. Bunun yanı sıra veri setinde bide içeren görseller azınlıkta olsalar da mevcuttur. ġekil 3.31’de mutfak ve banyoyu temsilen çeĢitli örnek görseller verilmiĢtir.

ġekil 3.31. Veri setinde bulunan temsili banyo (solda) ve mutfak (sağda) görselleri

Bahçe görsellerinde çeĢitli çiçek, ağaç, çim, bahçe mobilyaları ve eĢyaları baĢta olmak üzere botanik bahçelerine benzer Ģekillerde düzenlenmiĢ çeĢitli bahçe görselleri yer almaktadır. ġekil 3.32’de temsili olarak çeĢitli bahçe görselleri paylaĢılmıĢtır.

ġekil 3.32. Veri setinde bulunan temsili bahçe görselleri

Veri setinde yer alan görseller farklı etiketlere sahip olduğu gibi farklı niteliklere de sahiptirler. Örnek olarak veri seti, karıĢık ve düzenli, kirli ya da pis odalara ait farklı sayıda görsel barındırmaktadır. Mümkün olduğunca farklı niteliklerde görseller, veri setine eklenmeye çalıĢılmıĢtır.

4. UYGULAMA

Turizm sektöründeki çok çeĢitli problemlerin çözümü için veya çeĢitli iyileĢtirmeler elde edilebilmesi amacıyla biliĢim teknolojilerinden sıkça faydalanılmaktadır. Bu bölüm altında, gerçekleĢtirilen tez çalıĢmasına ait uygulama aĢamaları detaylı bir Ģekilde açıklanmıĢtır.

Derin öğrenme, büyük miktarlardaki veriden faydalanarak, çeĢitli iĢlemleri yerine getirerek problemlerin çözümünde kullanılan makine öğrenmesi teknikleridir. YSA kullanarak çalıĢan derin öğrenme, sınıflandırma ve tanıma uygulamaları baĢta olmak üzere çok çeĢitli uygulamalarda kullanılmaktadır (Future of Privacy Forum, 2018). Bu bölümde derin öğrenme ağları kullanılarak yapılacak çalıĢmayla ilgili uygulama detayları paylaĢılmıĢtır.

Benzer Belgeler