• Sonuç bulunamadı

3. BİLGİSAYAR GÖRMESİNE DAYALI RAY ARIZA TEŞHİS YÖNTEMLERİ

3.4. Evrişimsel Yapay Sinir Ağları

YSA’lar başlangıçta insan öğrenme sistemini en iyi şekilde temsil eden ve 1990’lı yıllara kadar arıza teşhisi, yüz tanıma, medikal görüntü işleme gibi alanlarda yoğun olarak kullanılmıştır. Ancak YSA kullanan uygulamalarda eğitim işleminin yüksek işlem gücü gerektirmesi, eksik öğrenme ve aşırı öğrenme durumlarının yaşanması verini nedeni ile zamanla verimsiz hale gelmişlerdir. Aşırı öğrenme ve eksik öğrenme kavramları aşağıda açıklanmıştır.

• Aşırı Öğrenme: YSA modeli eğitim verilerinden öğrenmek yerine aşırı eğitim sonucu modeli ezberler. Bu durumda eğitilen model mevcut veriler üzerinde mükemmel sonuçlar verir, ancak ilk kez göreceği veriler üzerinde beklenen sonuçları veremezler. • Eksik Öğrrenme: İtersyon sayısının veya eğitim veri sayısının az olması nedeniyle ağın

yeterince öğrenememesi durumudur. Veri sayısı arttırılarak ya da model değiştirilerek çözülebilir.

YSA’ ların popüler olduğu yıllarda görüntü işleme, bilgisayarlı görme ile yapılan arıza teşhisi uygulamalarında sınırlı işlem gücü ve bellek kullanımı nedeni ile giriş verisi olarak görüntünün kendisini kullanmak yerine Bölüm 3.3’te anlatılan boyut indirgeme ile elde edilen öz değerler giriş verisi olarak kullanılmaktadır. Eksik öğrenmenin bir diğer nedeni ise bazı problemlerin çözümünde bu öz değerlerin giriş verisini yeterince temsil edememesi ya da yetersiz kalmasıdır.

YSA’ların zamanla yetersiz kalmasının bir diğer nedeni bilgisayarlı görme uygulamalarında kullanılan verinin büyümesidir. Büyük Veri hem donanım aygıtlarının ürettikleri veri çeşitliliğinin, veri boyutunun ve veri hızının artması olarak özetlenebilmektedir [92].

95

YSA’ların sahip oldukları bu de dezavantajlar nedeni ile yerlerini RO gibi diğer makine öğrenmesi algoritmalarına bırakmışlardı. Ancak 2006 yılı sonrası özellikle Dünya genelinde yapılan ImageNet yarışmalarında derin öğrenme temelli YSA’lar ile elde edilen çok yüksek doğruluk oranları dikkatleri tekrar YSA’lar üzerine çekmiştir [90]. Günümüzde gerçek zamanlı nesne tanıma, sınıflandırma, ses ve konuşma tanıma gibi uygulamalarda derin öğrenme yaygın olarak kullanılmaktadır [91]. YSA’ların tekrar popüler olmasındaki bir diğer neden Grafik İşlemci Birimi (GİB) maliyetlerinin günümüzde oldukça uygun hale gelmesidir. GİB’ler Merkezi İşlem Birimi (MİB) programlama ile kıyaslandığında daha fazla çekirdek sayısına sahiptirler ve 30-100 kata kadar hız artışı sağlamaktadır [92]. Bu yapıları nedeni ile paralel programlamaya da çok uygundurlar. Örneğin Intel i5 serisi 6.nesil MİB’ler 4 çekirdekli mimari ile üretilirken, Nvidia Geforce 930Mx 384 çekirdeğe sahiptir. Şekil 3.5’te MİB ile GİB mimarisi görsel olarak verilmiştir.

Şekil 3.5. Merkezi işlemci birimi ile Grafik işlemci mimarisi karşılaştırması

Ray denetim işleminde derin öğrenme temelli yaklaşım (Faghih-Roohi, 2016) tarafından kullanılarak doğruluk oranı diğer öğrenme algoritmaları ile karşılaştırılmış, en yüksek doğruluk oranı Evrişimsel Sinir Ağları (ESA) ile elde edilmiştir [93]. Çizgi kameranın kullanıldığı çalışmada ayrıca on farklı tipte civata tespiti ve bu civataların tip sınıflandırılması içinde yine ESA kullanılmıştır [93].

96

Faghih-Roohi tarafından gerçekleştirilen çalışmada ray yüzeyi hatalarının teşhisi için video kameradan elde edilen çerçeveler üzerinde ESA ile sınıflandırma yapılarak %92 doğru sınıflandırma oranı elde edilmiştir [93].

Şekil 3.6. Evrişimsel yapay sinir ağı blok diagramı

Şekil 3.6’da ESA modelinin genel blok diagramı ve çalışma adımları verilmiştir. Bu adımlar sırası ile giriş verisini alma, giriş verisi üzerinde alt-örnek oluşturma (evrişim) ve oluşturulan alt-örnekler üzerinde havuz (özellik seçimi) yapma işlemlerini kapsamaktır. Öğrenme ağında istenildiği kadar özyinelemeli olarak evrişim ve havuz ara katmanları çoğaltılabilir. Son adımda tüm ağdaki tüm sinir hücrelerinin bağlandığı bağlantı katmanı ve sınıflandırıcı sayısı kadar çıkış hücresi bulunmaktadır [91].

Evrişim Katmanı: Bu aşamada giriş verisi üzerinde Denklem 3.40’ta gösterildiği gibi daha küçük bir çekirdek matris seçilerek konvolüsyon işlemi uygulanmaktadır. Giriş matrisi üzerinde satır ve sütunlar boyunca gezdirilen bu çekirdek matris sonrası giriş verisinden 𝑛 adet alt veri matrisi oluşturulmuş olur. Bu işlem ESA sınıflandırma başarısı açısından büyük önem arz etmektedir. Saha uygulamalarında sınıflandırıcının başarısını arttırmak için giriş verisine gürültü ekleme, simetri alma, döndürme gibi ön-işlemler de uygulanarak veri kümesi genişletilir. Eğitim işlemine bu ön adımları eklemek sözü edilen gürültülü, simetrik, döndürülmüş verininde tanınmasını sağlamaktadır. Denklem 3.40’ta 𝑓 giriş verisi 𝑘 seçilen 𝑚𝑥𝑛 boyutunda kernel matrisi olmak üzere bu konvolüsyon sonrası 𝑖 adet 𝐶 ile ifade edilen alt örnek elde edilmektedir.

𝐶= = › › 𝑤 G´𝑓($µG)(Ÿµ´)=r' Hr' ´ ¡ Hr' G ¡ (3.40)

97

Havuz Katmanı: Elde edilen alt-örnekler üzerinde 𝑚𝑥𝑛 boyutunda ikinci bir kernel matris ile tekrar konvolüsyon işlemi uygulanır ancak bu defa alt-örnek elde etmek yerine çekirdek matris içinde ki verilerden ağdaki hücrelerin eğitiminde kullanılacak ve alt-örneği ifade eden özellikler seçilir. Bu aşamada çekirdek boyutu minimum 2𝑥2 boyutunda olmaktadır. Özellik olarak matris içindeki minimum, maksimum ya da ortalama değer seçilebilir. Denklem 3.41’de verilen 𝐶$ bir önceki adımda elde edilen alt-örnek olmak üzere bu alt-örnekler üzerinde seçilen 𝑚𝑥𝑛 boyutundaki 𝑝 kernel matrisi gezdirilerek her bir pencereden Denklem 3.42’de olduğu gibi özellik değerler elde edilir. Geleneksel YSA’ lar üzerinde veri girişi olarak kullanılacak görüntü üzerinde Bölüm 3.3’te anlatılan boyut küçültme/öz-değer elde etme işlemi kullanılmaktadır. Ancak ESA modelleri üzerinde giriş verisi üzerinde verinin anlamını düşürmemek için boyut küçültme/öz-değer elde etme kullanılmaz. Hatta tam aksine modelin iyi eğitilebilmesi için gürültü ekleme gibi ön-işlemler ile veri genişletilir.

𝑃¶?F = ∑ 𝐶$ $*p (3.41) › 𝑃¶?F • ' = · 𝑚𝑎𝑥𝑚𝑖𝑛 𝑚𝑒𝑎𝑛 ¸ › 𝐶$ $ (3.42)

Bağlantı Katmanı: Bu katman çıkış katmanından bir önceki katmandır. ESA modelinde yukarıda verilen evirişim ve havuz katmanları öz-yinelemeli olarak tekrar edilebilir. Seçilecek katman sayısı ağın eğitiminde aşırı öğrenme ve eksik öğrenme oluşturmayacak şekilde belirlenmelidir. Bu amaçla Bölüm 3.5.2’de verilen model performans testleri kullanılabilir. Relu: Relu EYSA ile birlikte kullanılmaya başlanan Bölüm 3.3’te verilen aktivasyon fonksiyonlarından bir tanesidir. YSA ile kullanılan sigmoid gibi aktivasyon fonksiyonları negatif değerlerde içerdiğinden eğitim süresini uzatmaktadır. Relu ise negatif değerlerde 0, pozitif değerlerde kendi değerini veren bir fonksiyondur doğrultulmuş lineer bir fonksiyondur. EYSA ağlarında aktivasyon fonksiyonu olarak Relu kullanılması durumunda eğitim süresinin altı kat hızlandığı görülmüştür [91].

Çıkış Katmanı: ESA modelinde elde edilmek istenen sınıf sayısı kadar hücre bulunan ağdaki son katmandır. Genellikle çıkış değerleri yüzdelik tahmini ifade eden {0-1} aralığına normalize edilmiş değerler olmaktadır.

98