ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ
YÜKSEK LİSANS TEZİ
İSTATİSTİKSEL DEĞİŞİM ALGILAMA ALGORİTMALARI İLE HORLAMA SESLERİNİN BÖLÜTLENMESİ VE UYKU APNESİNİN TESBİTİ
Gülsevin KODALOĞLU
ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ ANABİLİM DALI
ANKARA 2019
Her hakkı saklıdır
ii ÖZET
Yüksek Lisans Tezi
İSTATİSTİKSEL DEĞİŞİM ALGILAMA ALGORİTMALARI İLE HORLAMA SESLERİNİN BÖLÜTLENMESİ VE UYKU APNESİNİN TESBİTİ
Gülsevin KODALOĞLU
Ankara Üniversitesi Fen Bilimleri Enstitüsü
Elektrik-Elektronik Mühendisliği Anabilim Dalı Danışman: Doç. Dr. Fikret ARI
Horlama uyku esnasında solunum yapılarının titreşimi sonucunda ortaya çıkan sestir.
Tıkayıcı Uyku Apne Sendromu (TUAS) toplumda yaygın bir uyku bozukluğu olup uykuda üst solunum yollarının tamamen veya kısmen kapanması nedeniyle en az 10 sn süre ile nefessiz kalınması durumudur. Horlama uyku apnesi teşhisi için önemli bir işarettir. Apne sonrası horlama seslerinin başlangıcındaki ani değişiklik TUAS hastalarını basit horlayanlardan ayırmak için anlamlı bir ayırt edici bilgidir. İstatistiksel yöntemlerle sinyal modellenmiş ve horlama bölütleri başlangıç ve bitiş noktaları tespit edilmiştir. Başlangıç noktasından sonra alınan farklı bölüt uzunlukları ile alt bölütler elde edilmiştir. Horlama sesleri bölütlerinin spektrogram görüntüleri oluşturularak evrişimsel sinir ağları ile derin öznitelikler çıkarılmıştır. Elde edilen derin öznitelikler Destek Vektör Makineleri ve Evrişimsel Sinir Ağları ile sınıflandırılmıştır.
Şubat 2019, 72 sayfa
Anahtar Kelimeler: Horlama, Tıkayıcı Uyku Apnesi Sendromu (TUAS), Ani değişim algılama, Spektrogram, Evrişimsel Sinir Ağları (ESA), Destek Vektör Makineleri (DVM).
iii ABSTRACT Master Thesis
SEGMENTATION OF SNORE SOUNDS AND DETECTION OF SLEEP APNEA WİTH STATISTICAL CHANGE DETECTION ALGORITHMS
Gülsevin KODALOĞLU
Ankara University
Graduate School of Natural and Applied Sciences Electrical and Electronics Engineering Department
Supervisor: Assoc. Prof. Dr. Fikret ARI
Snoring is a sound produced by the vibration of airway tissues. Obstructive Sleep Apnea Syndrome (OSAS) is a common sleep that is breathless for at least 10 seconds due to complete or partial closure of the upper airway. Snoring is an important sign for the diagnosis of sleep apnea. The sudden change in the onset of snoring after apnea is a distinctive information to differantaite OSAS patients from simple snorers. Signal was modelled, snoring segments start and end points were detected via statistical methods.
Sub-sections with different segment lengths obtained after the starting point.
Spectrogram images of snoring sounds are generated and deep features extracted by convolutional neural networks. Deep spectrum features were classified with Support Vector Machine and Convolutional Neural Network.
February 2019, 72 pages
Key Words: Snoring, Obstructive Sleep Apnea Syndrome (OSAS), Abrupt change detection, Spectrogram, Convolutional Neural Network (CNN), Support Vector Machines (SVM).
iv TEŞEKKÜR
Tez çalışması süresince bilgi, öneri ve yardımlarıyla her zaman desteğini gördüğüm yetişme ve gelişmeme katkıları çok büyük olan danışman hocam Sayın Doç. Dr. Fikret ARI’ya (Ankara Üniversitesi Elektrik Elektronik Mühendisliği Anabilim Dalı Öğretim Üyesi) içtenlikle teşekkür ederim. Bu çalışmada kullanılan verilerin elde edilmesi hususunda Sayın Prof. Dr. Osman EROĞUL’a (TOBB Ekonomi ve Teknoloji Üniversitesi Biyomedikal Mühendisliği Anabilim Dalı Öğretim Üyesi) ve Sayın Doğan Deniz DEMİRGÜNEŞ’e (Gülhane Askeri Eğitim ve Araştırma Hastanesi Biyomedikal ve Klinik Mühenisliği Merkezi) teşekkür ederim. Desteklerini her zaman gördüğüm aileme, çalışmalarıyla bana cesaret veren ablam Nur KODALOĞLU’na ve hep yanımda hissettiğim arkadaşlarıma teşekkür ederim.
Bu çalışmayı anneme ithaf ederim.
Gülsevin KODALOĞLU Ankara, Şubat 2019
v
İÇİNDEKİLER
TEZ ONAY SAYFASI
ETİK ... i
ÖZET ... ii
ABSTRACT ... iii
TEŞEKKÜR ... iv
KISALTMALAR DİZİNİ ... vii
ŞEKİLLER DİZİNİ ... viii
ÇİZELGELER DİZİNİ ... x
1. GİRİŞ ... 1
1.1 Tezin Amacı ve Kapsamı ... 4
2. KAYNAK ÖZETLERİ ... 6
3. MATERYAL VE YÖNTEM ... 9
3.1 Yapay Sinir Ağları ... 9
3.1.1 Aktivasyon fonksiyonları ... 13
3.1.2 Geri yayılım algoritması ... 16
3.1.3 Optimizasyon algoritmaları ... 20
3.2 Evrişimsel Sinir Ağları ... 25
3.2.1 ESA mimarisi ... 25
126.96.36.199 Evrişim katmanı ... 26
188.8.131.52 Doğrultulmuş doğrusal ünite (ReLU) ... 30
184.108.40.206 Havuzlama katmanı ... 31
220.127.116.11 Tam bağlaşımlı katman ve sınıflandırma katmanı ... 31
3.3 Değişim Algılama ... 32
3.3.1 Ağırlıklı en küçük kareler yönteminin yinelemeli formu ... 38
3.3.2 Model derecesinin belirlenmesi ... 40
vi
3.4 Spektrogram Görüntülerinin Elde Edilmesi ... 41
3.5 Destek Vektör Makineleri ile Sınıflandırma ... 46
4. DENEYSEL ÇALIŞMA ... 52
5. BULGULAR ... 61
6. TARTIŞMA VE SONUÇ ... 67
KAYNAKLAR ... 69
ÖZGEÇMİŞ ... 72
vii
KISALTMALAR DİZİNİ
AIC Akaike Information Criterion BIC Bayesian Information Criterion AHİ Apne Hipopne İndeksi
BMI Body Mass Index
CNN Convolutional Neural Network dB Desibel
DVM Destek Vektör Makineleri EEG Elektroensefalografi EKG Elektrokardiyografi
EMC Electromagnetic Compatibility EMG Elektromiyografi
EOG Elektrookülografi ESA Evrişimsel Sinir Ağı FFT Fast Fourier Transform
FPE Final Prediction Error, Nihai Tahmin Hatası HFD Hızlı Fourier Dönüşümü
KZFD Kısa Zamanlı Fourier Dönüşümü ms Milisaniye
NKD Negatif Kestirim Değeri PKD Pozitif Kestirim Değeri
PSG Polisomnografi
ReLU Rectified Linear Unit RLS Recursive Least Squares ROC Region Of Convergence
OSAS Obstructive Sleep Apnea Syndrome STFT Short Time Fourier Transform
TUAS Tıkayıcı Uyku Apne Sendromu, Kısa Zamanlı Fourier Dönüşümü
UAS Uyku Apne Sendromu
viii
ŞEKİLLER DİZİNİ
Şekil 1.1 Normal, basit horlayan ve TUAS teşhisli kişiler için anatomik yapı ... 3
Şekil 3.1 Biyolojik sinir ağı ... 9
Şekil 3.2 Yapay sinir ağı modeli ... 10
Şekil 3.3 Sigmoid işlevi ... 13
Şekil 3.4 Hiperbolik tanjant aktivasyon fonksiyonu ... 14
Şekil 3.5 ReLU aktivasyon işlevi ... 14
Şekil 3.6 Sızdıran ReLU aktivasyon işlevi ... 15
Şekil 3.7 Eşiksiz en büyük aktivasyon işlevi ... 15
Şekil 3.8 Geri yayılım algoritması akış diyagramı... 17
Şekil 3.9 Momentum gradyen iniş algoritması ... 23
Şekil 3.10 Örnek ESA ağ mimarisi ... 26
Şekil 3.11Bir adım kaydırma ile 7x7 boyutlu ilgi alanı matrisinden 3x3 boyutlu öznitelik matrisinin oluşumu ... 29
Şekil 3.12 1’er çerçeve sıfır doldurma işlemi ... 29
Şekil 3.13 Değişim zamanlarının adaptif süzgeçlerle kestirilmesi ... 34
Şekil 3.14 Ağaç arama algoritması ... 37
Şekil 3.15 Ses ve Işığın frekanslarına ayrıştırılması ... 42
Şekil 3.16 Kısa zamanlı Fourier dönüşümü analiz gösterimi ... 44
Şekil 3.17 Ses sinyali ve 40 ms ve 20 ms’lik pencere boyutları ile elde edilen spektrogram görüntüleri ... 45
Şekil 3.18 DVM blok diyagramı ... 47
Şekil 3.19 Destek vektörleri ve en uygun hiper-düzlemin gösterilmesi ... 48
Şekil 3.20 En uygun üst düzlem ile orijin arasındaki uzaklık hesabının gösterimi ... 50
Şekil 4.1 TUAS/ Basit horlayan sınıflandırma sistemi için blok diyagram ... 54
Şekil 4.2 Polisomnografi sinyalleri oksijen satürasyonu, ses ve solunum sinyalleri ... 55
Şekil 4.3 Apne sonrası horlama bölütü için değişim noktaları 1., 2., 3. ve 4. derece AR model kullanılarak elde edilen sonuçlar ... 57
ix
Şekil 4.4 Örnek horlama bölütü için elde edilen kayıp fonksiyon ve model derece kriter değerleri ... 58 Şekil 4.5.a horlama sinyali ve başlangıç bitiş noktaları b aynı horlama sinyali için
spektrogram görüntüsü ... 59
x
ÇİZELGELER DİZİNİ
Çizelge 1.1 AHİ değerine göre basit horlayan, apne ayrımı ... 4 Çizelge 3.1 veri bölütlenmesi ve her bölüte ait hesaplanan parametreler ... 36 Çizelge 4.1 PSG kaydı alınan hastalara ait bilgiler ... 52 Çizelge 4.2 Ağ mimarisi, her katmanın işlevleri ile katmanlardaki
aktivasyonların ve öğrenilen parametrelerin boyutları verilmiştir ... 52 Çizelge 5.1 100 ms bölüt uzunluğu için iki farklı aktivasyon fonksiyonu ve
iki farklı sınıflandırıcı ile 5 katlı çapraz doğrulama için elde edilen pozitif kestirim değerleri ve negatif kestirim değerleri ... 62 Çizelge 5.2 150 ms bölüt uzunluğu için iki farklı aktivasyon fonksiyonu ve iki
farklı sınıflandırıcı ile 5 katlı çapraz doğrulama için elde edilen pozitif kestirim değerleri ve negatif kestirim değerleri ... 62 Çizelge 5.3 200 ms bölüt uzunluğu için iki farklı aktivasyon fonksiyonu ve
iki farklı sınıflandırıcı ile 5 katlı çapraz doğrulama için elde edilen pozitif kestirim değerleri ve negatif kestirim değerleri ... 63 Çizelge 5.4 250 ms bölüt uzunluğu için iki farklı aktivasyon fonksiyonu ve
iki farklı sınıflandırıcı ile 5 katlı çapraz doğrulama için elde edilen pozitif kestirim değerleri ve negatif kestirim değerleri ... 63 Çizelge 5.5 300 ms bölüt uzunluğu için iki farklı aktivasyon fonksiyonu ve
iki farklı sınıflandırıcı ile 5 katlı çapraz doğrulama için elde edilen pozitif kestirim değerleri ve negatif kestirim değerleri ... 64 Çizelge 5.6 350ms bölüt uzunluğu için iki farklı aktivasyon fonksiyonu ve
iki farklı sınıflandırıcı ile 5 katlı çapraz doğrulama için elde edilen pozitif kestirim değerleri ve negatif kestirim değerleri ... 65 Çizelge 5.7 400ms bölüt uzunluğu için iki farklı aktivasyon fonksiyonu ve
iki farklı sınıflandırıcı ile 5 katlı çapraz doğrulama için elde edilen pozitif kestirim değerleri ve negatif kestirim değerleri ... 65 Çizelge 5.8 Tamamı alınan horlama bölütü için iki farklı aktivasyon fonksiyonu
ve iki farklı sınıflandırıcı ile 5 katlı çapraz doğrulama için elde edilen pozitif kestirim değerleri ve negatif kestirim değerleri ... 66
1 1. GİRİŞ
Uyku değişken ve aktif bir süreç olup sanılanın aksine tamamen bilinçsiz olunan bir durum değildir. Neden uyuduğumuz sorusuna cevap olarak yaygın üç teori ortaya konulmuştur. Bunlar; tamir teorisi, uyum sağlama teorisi ve uykuda bilgi birleştirme teorisidir. Adam’ın (1980) belirttiğine göre Oswald’ın tamir teorisinde gün içerisinde vücutta ve beyinde oluşan tahribatın uykuda tamir edildiği belirtilmiştir. Bu teoriyi destekleyen olgular mevcuttur. Uyku esnasında hormonların, metabolizmanın, beyin gelişiminin düzenlenmesi (Shapiro 1981); protein sentezinin ve mitoz bölünmenin dinlenme ve uyku esnasında artması (Adam 1980); hastalıklarla savaşan bağışıklık hücrelerinin üretimi (Marshall ve Born 2002) gibi olgular Oswald’ın teorisini desteklemektedir. Uyum sağlama teorisine göre eski çağlarda canlılar, dinlenme ve geceleri avcılarla karşılaşma ihtimalini azaltmak için bu tarz bir davranış geliştirmişlerdir. Uykuda bilgi birleştirme teorisine göre ise gün içerisinde kaydedilen bilgilerin işlenmesi için uykuya ihtiyaç vardır. Uyku süresince beyin bu bilgileri işlemek için serbest bırakılmış olur. Bu teorinin temel dayanaklarından biri uykusuz kalan insanların ciddi bir oranının hatırlamada yaşadıkları güçlüklerdir.
Uyku bu teorilere göre canlıların hayatında önemli bir yer tutmaktadır ve uyku dengesinde, kalitesinde, fizyolojisinde görülen bozulmalar sonucunda bazı hastalıklar ortaya çıkmaktadır. Günümüzde bilinen seksenden fazla uyku hastalığı vardır.
Bunlardan bazıları; uyuyamama hastalığı, narkolepsi, horlama, tıkayıcı uyku apne sendromu (TUAS) gibi örneklenebilir. Uyuyamama hastalığı kişinin gece uykuya dalmada güçlük çekmesi ya da kısa süreli periyotlarla uyuması olarak adlandırılabilir.
Narkolepsi gündüz aşırı uyku eğilimi ile ilişkilendirilen bir rahatsızlık olup gün içerisinde kişide kontrollü ya da kontrolsüz bir şekilde uykuya dalma görülmektedir.
Horlama genel tanımıyla üst hava yolundaki yumuşak dokuların uyku ya da dinlenme esnasında gevşemesi sonucu kişinin nefes alış verişleri esnasında titreşimi ile ortaya çıkan sestir. Apne ise genellikle üst hava yolunun tıkanması sonucu uyku esnasında en az 10 sn süreli nefes alamama durumudur.
2
Uyku kalitesindeki bozulmalar, uyku hastalıkları kişinin, çevresindekilerin ve toplumun sağlığını ve düzenini etkileyebilmektedir. Uyku hastalıklarıyla ilişkili olarak kişinin gün içerisinde dikkat dağınıklığı yaşaması, kısa süreli uyku molaları vermesi gibi durumlar görünmektedir. Bu gibi durumların sonucunda kişilerin iş veriminde düşüş, yeni kavramlar öğrenmede güçlük ve hatta günlük sıradan işleri yapmada sıkıntı çektikleri bildirilmiştir (Gámez vd. 2015). Benzer şekilde uyku bozuklukları yaşayan kişilerin iş devamsızlık oranlarının yüksek olduğu bilinmektedir. Tıkayıcı uyku apne sendromlu kişilerin kardiyovasküler, metabolik ve nörobilişsel sistemsel hastalıklarında yüksek oranda artış görülmüştür (Garbarino vd. 2016). Erkek sürücülerin kullandığı motosiklet kazalarında TUAS’lı hastaların oranının % 7 yüksek olduğu tespit edilmiştir.
Bireyin ve toplumun sağlığı üzerindeki etkileri incelenirse uyku ve uyku bozukluklarının teşhisi ve tedavisi büyük önem taşımaktadır. TUAS tanısı, günümüzde altın standart olarak kabul edilen polisomnografi (PSG) ile konulabilmektedir.
Polisomnografi kelime anlamına bakılacak olursa çoklu (poli) uyku (somno) grafisi anlamına gelmektedir. PSG, uyku laboratuvarlarında ya da evde uyku kayıtlarının alınması ile bu konuda uzman kişiler tarafından sonuçların değerlendirilmesi için kişiden sürekli ve eşzamanlı olarak çeşitli fizyolojik verilerin kaydedilmesi işlemidir.
Bu fizyolojik veriler elektroensefalgorafi (EEG), elektrookülografi (EOG), elektromiyografi (EMG),elektrokardiyografi (ECG), horlama sesleri, kandaki oksijen doyum oranı, hava akış sinyalleri ile göğüs ve karın hareketleri olabilmektedir.
Genel olarak PSG 4 sınıfa ayrılmaktadır. Uyku laboratuvarlarında ya da evde fizyolojik verilerin kayıt altına alındığı sistemler mevcuttur. Uyku laboratuvarında 1. seviye PSG ile EEG, EOG, ECG, çene EMG, hava akışı, solunum çabası, oksijen doyumu, vücut pozisyonu, EMG kayıt altına alınır. 2. Seviye PSG ile 1. Seviyedeki kayıtlar ev ortamında elde edilir. 3. Seviye PSG ile EEG, EOG, çene EMG, ECG ve EMG kayıtları hariç diğer kayıtlar uyku laboratuvarında alınır. Son olarak 4. seviye PSG ile sadece oksijen doyumu ev ortamında kayıt edilir.
Patofizyoloji tıbbi bir terim olup, kısaca bir hastalığın ya da anormal sendromun vücutta ortaya çıkarttığı mekanik, fiziksel ve biyokimyasal bozuklukları inceleyen alandır. UAS
3
patofizyolojisi tam olarak çözülememiş olsa da üst hava yollarında darlık hastalarda görülen en yaygın etkenlerdendir. Ek olarak boyunda yağlanma ve üst hava yollarının anormal kemik morfolojisi bu etkenlerden bazılarıdır. Bunlarla birlikte uyku apne sendromu (UAS) cinsiyet, yaş, kilo, kullanılan ilaçlar gibi pek çok faktöre bağlıdır.
Erkeklerde kadınlardan daha sık görülmekle birlikte her iki cinste de orta yaş üzerinde bu oran artmaktadır. Erkeklerde farenks (yutak) havayolu direnci kadınlara oranla daha fazladır (Cevizci 2011). Uyku hapları, sedatif ilaçlar, alkol kullanımı kasların gevşemesine neden olup horlama veya uyku apnesine sebep olabilmektedirler. Şekil 1.1’de normal, basit horlayan ve apne sendromlu kişilerin uyku sırasındaki anatomik yapısı gösterilmiştir. Bu şekilde mavi çizgiler hava akışını temsil etmektedir.
Şekil 1.1 Normal, basit horlayan ve TUAS teşhisli kişiler için anatomik yapı, mavi çizgiler hava akışını göstermektedir (https://www.dentistryiq.com’dan değiştirilerek alınmıştır)
PSG kayıtları alınan kişilerin saat bazında uyku süresince gerçekleşen apne ve hipopne skorlarına bakılarak elde edilebilecek iki parametre vardır. Uyku süresince kişinin kaç kere apne durumunda olduğunu belirten oran apne indeksi (Aİ), kaç kere hipopne durumunda olduğunu belirten orana da hipopne indeksi (Hİ) denir. Apne-hiopne indeksi (AHİ) ise uyku süresince toplam apne ve hipopne sayılarının uyku süresine oranıdır (Demirgüneş 2009). Çizelge 1.1’de görüleceği üzere kişinin AHİ skoruna bakılarak basit horlama veya apne durumu belirlenebilir.
4
Çizelge 1.1 AHİ değerine göre basit horlayan, apne ayrımı
AHİ SOLUNUM SKORU
AHİ<5 Basit horlayan
5<AHİ<15 Hafif şiddette apne 15<AHİ<30 Orta şiddette apne
30<AHİ Ağır şiddette apne
Benzer şekilde kişilerin kilo ve boy ölçüleri de apne teşhisi için önemli bir parametredir.
Vücut kitle indeki (BMI) kişinin ağırlığının, boy uzunluğunun karesine oranıdır.
Demirgüneş’in (2009) belirttiği üzere erkekler için 27.8 BMI, kadınlar için ise 27.3 BMI üzeri değerler apne için önemli bulgular olarak görülmektedir (Zhou vd. 2003).
1.1 Tezin Amacı ve Kapsamı
PSG ile TUAS teşhisi konulabilmesi için uyku laboratuvarına, uzman kişilere ve teknik donanımlara ihtiyaç duyulmaktadır. Ev tipi ya da mobil cihazlarla TUAS teşhisi konulması son zamanlarda üzerinde durulan bir konudur. Bu zorunlu ihtiyaçlara alternatif olarak sadece horlama sesleri yardımıyla TUAS teşhisi için bir karar destek çalışması amaçlanmaktadır.
Apne sonrası horlama seslerinin ani değişim ile başlaması TUAS hastalarını basit horlayan kişilerden ayıracak önemli bir bilgidir. Bu bilgiden yararlanılarak horlama bölütlerinin başlangıç noktalarının kestirilmesiyle oluşturulan alt gruplar ile tüm horlama bölütünün kullanılmasıyla elde edilen sonuçlar kıyaslanmıştır. Horlama bölütlerinden elde edilen spektrogram görüntülerinden derin öğrenme ağları ile öznitelik çıkarımı yapılmıştır. Farklı ağ mimarileri ve üst-parametreler literatürdeki çalışmalardan yola çıkılarak incelenmiş ve uygulanmıştır. Elde edilen öznitelikler evrişimsel sinir ağları (ESA) ve destek vektör makineleri (DVM) ile sınıflandırılmış ve bu yöntemlerin sınıflandırma sonuçları verilmiştir.
5
Bu tez çalışmasının 2. Bölümünde literatürde basit horlayan- apne ayrımı için yapılmış çalışmalar ve derin öğrenme algoritmaları ile apne üzerine yapılmış çalışmalar incelenmiştir. 3. Bölümde horlama sinyalinin başlangıç ve bitiş noktalarının bulunmasının tespitinde kullanılan değişim algılama algoritması sonrasında özniteliklerin çıkarılması için kullanılan yöntemler anlatılacaktır. Devamında sınıflandırıcı algoritmalarının teorisi hakkında bilgiler verilecektir. 4. Bölümde değişim algılama, öznitelik çıkarımı ve sınıflandırma için yapılan deneysel çalışmalar anlatılacaktır. 5. Bölümde bu deneysel çalışmaların sonuçları verilecektir. 6. Bölümde elde edilen sonuçlar üzerine değerlendirilmeler yapılacaktır.
6 2. KAYNAK ÖZETLERİ
Yapılan çalışmalarda TUAS hastalarından elde edilen fizyolojik sinyaller hem zaman hem frekans bölgesinde incelenmiş ve çeşitli öznitelikler elde edilerek TUAS teşhisi konmasına yardımcı olunmuştur.
Koo vd. (2017)’nin çalışmasında, akıllı telefon ile kaydedilen ses sinyalinin akustik analizi yapılmış ve formant frekanslarına odaklanılmıştır. 32 erkek hastadan oluşan çalışma grubundan elde edilen verilerde spektrogram desenleri, şiddet (dB), temel frekans ve formant frekansları analiz edilmiştir. Her hasta için tıkanmanın yaşandığı bölge formant frekanslarından yola çıkarak saptanmaya çalışılmıştır. Çünkü üst hava yolu bir akustik süzgeç gibi davranmaktadır. Buna göre 32 hastadan 12’si damak arkası (retropalatal) bölgede tıkanıklık yaşamaktadır. Elde edilen formant frekanslarına ve temel frekanslara göre damak arkası bölgede tıkanıklık yaşayanlar için temel frekans 94.8 ± 60.6 Hz, dil arkası (retrolingual) bölgede tıkanıklık yaşayanlar içinse 77.0±40.3 Hz düzeylerinde elde edilmiştir. Akustik şiddet ortalamasının ise ayırt edici özellik taşımadığı belirtilmiştir.
Başka bir çalışmada Beeton vd. (2017), damak ve damak kaynaklı olmayan horlama ayrımı için boyutsuz istatistik moment özniteliklerinden çarpıklık (skewness) ve basıklığı (kurtosis) kullanmışlardır. Damak kaynaklı horlamanın temel frekansının 102 Hz civarında, bademcik-dil kaynaklı horlamanın temel frekansının ise 331 Hz civarında olduğunu bildirmişlerdir. Bu çalışmada akustik horlama sinyalinin genlik modellerindeki istatistiksel momentlerin hassasiyetini test etmişlerdir ve olasılık yoğunluk fonksiyonunun karakteristiğini incelemişlerdir.
Karunajeewa vd. (2011), çoklu öznitelik ile horlama sesleri analizi üzerine yaptıkları çalışmayla TUAS ve hipopne teşhisini amaçlamışlardır. Yüksek dereceli istatistiksel parametrelerden olan toplam soluk yolu basıncı ve ses perdesi (pitch) ile beslenen bir regresyon modeli kullanmışlardır. Burada ses perdesi havayolundaki titreşimlerden, toplam soluk yolu basıncı ise üst solunum yollarındaki tıkanmadan kaynaklanmaktadır.
7
41 hastadan elde edilen sonuçlara göre yöntem % 89.3 hassasiyet, % 92.3 doğruluk ile teşhis yapmaktadır.
Nwe vd. (2017), çalışmalarında horlamanın oluştuğu bölgenin (yumuşak damak, orofaringeal yan duvarlar, dil, küçük dil) sınıflandırması için bir çalışma yapmışlardır.
Buna göre farklı alt sistemlerden sağlanan öznitelikler sınıflandırma için kullanılmıştır.
Gaussian karışım model süper vektörlerine dayanan Bhattachary uzaklığı, spektrogram ve bütünleşmiş özellik setleri kullanmışlardır. Destek vektör makineleri, rastgele orman ve ESA sınıflandırıcı olarak kullanılmıştır. En iyi sınıflandırma sonucu temel özniteliklerin kullanıldığı destek vektör makinesi sınıflandırıcı ile ağırlıklı ortalama değeri % 58.5 olarak bulunmuştur. Üç sistemin test sınıflandırma sonuçlarının beraber değerlendirmesi sonucu elde edilen ağırlıklı ortalama değeri ise % 51.7’dir
Amiriparian vd. (2017) çalışmasında, çeşitli tiplerdeki horlama seslerinin spektrogramlarını kullanarak ESA ile horlamaya neden olan tıkanmanın yaşadığı yeri (yumuşak damak, orofaringeal, dil, küçükdil) otomatik sınıflandıran bir resim sınıflandırıcı geliştirmişlerdir. Spektrogram görüntülerinden kullanılabilir bir bilgi edinmek için derin öğrenme yöntemini tercih etmişlerdir.
Cen vd.(2018) 25 adet hastadan alınmış fizyolojik sinyaller olan kandaki oksijen doyum oranı, üst havayolu akış sinyalleri ve göğüs kafesi ile karın hareketlerinden apne teşhisi için derin öğrenme algoritmalarını öznitelik çıkarmak ve sınıflandırmak amacıyla kullanmışlardır. Çalışmada kullanılan ESA mimarisi şöyledir; ilk evrişim katmanında 5x5 boyutlarında 6 kernel, ikinci evrişim katmanında aynı boyutlarda 12 kernel olup her evrişim katmanını 2x2 boyutlu pencerelerin kullanıldığı alt örnekleme katmanları izlemektedir. Tam bağlaşımlı katman sayısı bir olup 3 sınıf için 3 bağlantı içermektedir.
Birini dışarıda bırak çapraz doğrulama (leave one out cross valdiation) yöntemi ile sınıflandırma sonuçları ortalama değerleri basit horlama için % 82.20, hipopne için % 53.61 ve apne için % 79.61’dir.
Perez-Macias vd. (2017) çalışmalarında, apne teşhisi için iki farklı yaklaşım kullanmışlardır. Bunlar spektrogram görüntülerini ESA’ya DVM’ni iki spektral
8
öznitelikleri giriş olarak kullanmak ve sınıflandırmaktır. Amerikan Uyku Tıbbi Akademisi tarafından kullanılması önerilen sensörler olan piezoelektrik, mikrofon ve burun basıncı dönüştürücüsü yerine avantajlarından dolayı elektromekanik film dönüştürücü yatak sensörleri ile alınmıştır. Otuz hastadan (24 erkek, 6 kadın) alınan 10 dakikalık kayıtlar 30 saniyelik bölütlere ayrılmıştır. ESA mimarisinde giriş katmanına 360x250 piksel boyutlarında spektrogram görüntüleri verilmiştir. Sonrasında evrişim katmanı ve her bir katmanı izleyen alt örnekleme (maxpooling) katmanları bulunmaktadır. Aşırı öğrenmeyi önlemek için % 50 oranında seyreltme (dropout) katmanı kullanılmıştır. Sınıflandırma sonuçları verilerin % 80 eğitim % 20 test olmak üzere 10 katlı Monte Carlo çapraz doğrulama ile elde edilmiştir. ESA için elde edilen en yüksek doğruluk oranı % 94, hassasiyet % 92, özgüllük % 96 yakınsama bölgesi (ROC) eğrisi altındaki alan 0.983 olmuştur. ESA sonuçları DVM ile alınan sonuçlara göre ortalama % 6 artış göstermiştir ve ses sinyallerine göre daha iyi performanslar elde edilmiştir.
Araştırmaların sonucunda elde edilen verilerin sınıflandırılması için mevcut olan yöntemler veri setlerine, performanslara göre farklı tercihler yapılmıştır.
9 3. MATERYAL VE YÖNTEM
3.1 Yapay Sinir Ağları
İnsan beyni bilgi işleme sistemi açısından bakılacak olursa lineer olmayan, çok karmaşık, paralel yapıda bir bilgisayara benzetilebilir. Beyin nöron adı verilen yapısal bileşenleri ile günümüzdeki en hızlı bilgisayardan çok daha hızlı bir şekilde örüntü tanıma, motor kontrol gibi pek çok işlemi gerçekleştirmektedir ( Haykin 2009).
Sinir ağları, işlevleri hayvansal nöron (sinir hücresi) yapısına benzeyen basit işlem elemanlarının, düğümlerin ya da birimlerin birbirine bağlı bir montajı olarak tanımlanabilir. Bu ağların işlem kabiliyeti eğitim modellerine uyum sağlama ya da bunlardan öğrenme süreci ile elde edilen birimler arası bağlantı güçlerinde ve ağırlıklarında saklıdır ( Gurney 1997 ). Şekil 3.1’de bir biyolojik sinir ağının yapısı ve bölümleri verilmiştir.
Şekil 3.1 Biyolojik sinir ağı (Manuel 2013’ten değiştirilerek alınmıştır)
İnsan beyninde bulunan sinir ağının detaylarına bakılacak olursa, nöronlar kısa süreli impulslar olan elektriksel sinyaller üreterek hücre duvarları aracılığıyla haberleşirler.
Şekil 3.1’de görüldüğü üzere nöronlar arası bağlantılar hücre dallarında (dendritler)
10
bulunan sinaps adı verilen elektrokimyasal bağlantı noktalarıyla sağlanır. Her bir nöronun genellikle diğer nöronlarla binlerce bağlantısı vardır, bunun sonucunda sürekli olarak gövdesine ulaşan binlerce sinyali almış olur. Hücrede bu sinyaller birleştirilir veya toplanır ve belirli bir eşik değerini aşarsa nöron ateşlenir ve tepki olarak bir voltaj üretir. Bu daha sonra akson olarak bilinen bir dallanma lifi aracılığıyla diğer nöronlara iletilir. Şekil 3.2’de temel bir yapan sinir ağı modeli verilmiştir.
Biyolojik nöronun yapay nöron modeline yansıtılmış hali olan şekil 3.2 detaylandırılacak olursa, sinapslar bir sayı ya da bir ağırlık (w) ile ifade edilir.
Böylelikle her giriş (x) hücreye iletilmeden önce bir ağırlık ile çarpılmış olur. Hücre içerisinde ağırlıklandırılmış sinyaller toplandıktan sonra bias değeri eklenir ve aktivasyon düğümüne verilir. Bu düğümde transfer ya da aktivasyon fonksiyonu adı verilen, yapay sinir ağında nöronun çıkış değerini istenilen değerler arasında (genellikle [-1,1] ya da [0,1]) sınırlandıran fonksiyonlar kullanılır. Aktivasyon fonksiyonu sonucunda üretilen değer bir eşik değeri ile kıyaslanır. Kıyaslama sonucu bu değer eğer eşiği geçerse yüksek değerli bir çıktı (y) üretir. Bu yapı en temel ve eski yapay nöron modelidir (Mcculloh ve Pitts 1943). Eşitlik 3.1’de nöron çıkışında elde edilen değer
𝑥𝑛
𝑥2
𝑥1
𝑦
Aktivasyon fonksiyonu
𝑣Akson
Sinaps
𝑤1
𝑤2
𝑤𝑛
𝑥𝑗
𝑛
𝑗=1
𝑤𝑗
𝑓(. )
Hücre gövdesi
girişler
Bias
Şekil 3.2 Yapay sinir ağı modeli (Haykin 2009’dan değiştirilerek alınmıştır)
11
ile ifade edilmiştir. Elde edilen bu değer eşitlik 3.2’de gösterildiği üzere aktivasyon fonksiyonunda işleme alındıktan sonra çıkış üretilir.
(
=1
) ( . )
( ) ( . )
Yapay sinir ağlarını oluşturan nöronlar arasındaki bağlantılar yapay sinir ağının yapısını da belirler. Bu özelliğe göre ileri beslemeli ve geri beslemeli olmak üzere iki çeşit sınıf vardır.
İleri beslemeli ağlarda işlemci elemanlar genellikle ayrılmıştır. Giriş katmanına uygulanan işaretler çıkış katmanına doğru tek yönlü bağlantılarla iletilir ve bir katmandan diğerine bağlantı kurarken aynı katman içerisinde bağlantı bulunmaz.
Geri beslemeli ağ yapısında çıkış ya da ara katman çıkışları, giriş birimlerine veya önceki ara katmanlara giriş olarak verilebilir. Bu ağ yapıları hem o andaki hem de önceki girişleri yansıttığı için dinamik hafızalı olarak tanımlanır. Bu özellikleri sayesinde tahmin uygulamaları için (örneğin zaman serilerinin tahmini) uygundurlar.
Yapay sinir ağlarını eğitmek için kullanılan öğrenme algoritmaları ağırlıkların güncelleştirilmesi için kullanılırlar. Halen kullanılmakta olan öğrenme kuralları Hebb, Delta, Kohonen ve Hopfield olmak üzere bu kurallardan esinlenerek geliştirilmiştir.
Hebb kuralı; bir nöron diğer bir nörondan giriş alıyorsa ve her iki nöronda aktif ise (matematiksel olarak aynı işarete sahip ise) nöronlar arasındaki ağırlık kuvvetlendirilir.
Hopfield kuralı; istenilen giriş ve çıkışın her ikisi de aktifse veya her ikisi de aktif değilse, öğrenme oranı tarafından bağlantı ağırlığı artırılır diğer durumlarda ise azaltılır.
12
Delta kuralı; nöronun gerçek çıkış değeri ile istenilen çıkış değeri arasındaki farkı azaltıp, giriş bağlantılarını güçlendiren ve sürekli olarak değiştiren bir algoritmayla çalışır. Bu kural ortalama karesel hatayı bağlantı ağırlık değerlerinin değiştirilmesiyle (azaltma ya da arttırma) düşürme prensibiyle çalışır. Hata bir katmandan bir önceki katmana geri yayılarak azaltılır bu işleme geri yayılım, Widrow-Hoff ya da en küçük ortalama karesel öğrenme kuralı adı verilir.
Kohonen kuralı; nöronlar öğrenme için yarıştırılır ve kazanan nöronun ağırlıkları güncellenir, kazanan nöron komşu nöronlarını uyarma ya da yasaklama yetkisine sahiptir. Kuralın diğer bir adı ‘kazanan tamamını alır (winner takes all)’olarak ta bilinir.
Yukarıda anlatılan kurallar ve algoritmalar ile ağın ağırlıkları güncellenir ve bu işleme öğrenme adı verilir. Öğrenme metodolojisine göre algoritmalar 3 temel gruptan oluşur bunlar danışmanlı öğrenme, danışmansız öğrenme ve takviyeli öğrenmedir.
Danışmanlı öğrenme: Öğrenme aşamasında ağ ne öğrenmesi gerektiğini örnek bir çıkışla görür. İstenilen çıkış ile ağ çıkışı arasındaki farka göre (hata) nöronlar arasındaki bağlantıların ağırlığı en uygun çıkışı elde etmek için bir algoritmayla hesaplanır. Bu nedenle öğrenme algoritmasının bir danışmana (öğretmene) ihtiyacı vardır.
Danışmansız öğrenme: Ağın girişine verilen örneklerle çıkış bilgisi üretilir ve ağ kendi kendine sınıflandırma kurallarını geliştirir. Öğrenme süresince sadece giriş bilgilerinden yararlanılarak bağlantı ağırlıkları matematiksel ilişkilere göre ayarlanır. Aynı özellikteki desenlerle (patterns) aynı çıkışlar, farklı çıkışlarda ise yeni çıkışlar oluşturulur.
Takviyeli öğrenme: Danışmanlı öğrenme algoritmasının farklı bir şekli olan bu öğrenme algoritmasında giriş değerlerine karşı istenen çıkış değerlerinin bilinmesine gerek duyulmaz. Çıkış değerinin verilen giriş değerine uygunluğunu değerlendiren bir kriter kullanılmaktadır.
13 3.1.1 Aktivasyon fonksiyonları
Lineer problemlerin çözülmesinde ağ içerisinde uygulanan lineer işlemler yeterli olabilir ama zaman içerisinde lineer olmayan karmaşık problemlerin çözümü için değişik aktivasyon fonksiyonları kullanılmıştır. Bunlar sigmoid, hiperbolik tanjant, doğrultulmuş doğrusal ünite (ReLU), sızdıran ReLU, eşiksiz en büyük işlev (soft-max) gibi örneklenebilir.
Sigmoid işlevi eşitlik 3.3’te ve şekil 3.3’te gösterildiği gibidir. İşlev girişine uygulanan değerler [0,1] aralığında çıkış üretir. Çıkışın 1 olduğu durumlarda nöronun ateşlendiği, 0 olduğu durumlarda ateşlenmediği kabul edilir.
( )
( . )
Şekil 3.3 Sigmoid işlevi (http://cs231n.github.io 2017’den değiştirilerek alınmıştır)
Eşitlik 3.4 ve şekil 3.4’te verildiği üzere hiperbolik tanjant aktivasyon fonksiyonu girişine uygulanan değerler [-1,1] aralığında çıkış üretir. Sigmoid işlevinin aksine ürettiği çıkışlar sıfır merkezlidir.
( ) ( ) ( . )
14
Şekil 3.4 Hiperbolik tanjant aktivasyon fonksiyonu (http://cs231n.github.io’dan değiştirilerek alınmıştır)
ReLU işlevi sıfırdan küçük girişler için sıfır çıkışı üretir. Sigmoid ve tanh fonksiyonlarına göre avantajı stokastik gradyan inişin yakınsamasını büyük ölçüde hızlandırmasıdır. Buna neden olarak lineer yapısı gösterilmiştir. Bu avantajlarına rağmen ReLU eğitim sırasında nöronların ölmesine neden olabilir. Örneğin, bir ReLU nöronundan büyük bir gradyan değeri, ağırlıkların, nöronun herhangi bir veri noktasında tekrar aktif olmayacağı şekilde güncellenmesine neden olabilir. Eşitlik 3.5 ve şekil 3.5’te ReLU aktivasyon işlevi verilmiştir.
( ) ( ) ( . )
Şekil 3.5 ReLU aktivasyon işlevi (http://cs231n.github.io/’dan değiştirilerek alınmıştır)
Sızdıran-ReLU işlevi ReLU işlevinin eğitim sırasında nöronları öldürmesinin önüne geçmeye çalışır. Negatif değerleri sıfırlamak yerine çıkışı belirli bir katsayı (0.01 gibi) ile çarparak verir. Sızdıran ReLU için eşitlik 3.6 ve şekil 3.6 aşağıda verilmiştir.
15 ( ) {
( . )
Şekil 3.6 Sızdıran ReLU aktivasyon işlevi (http://cs231n.github.io/’dandeğiştirilerek alınmıştır)
Eşiksiz en büyük işlevi (soft-max) çoğunlukla multinoulli bir dağılımdaki olasılıkları tahmin etmek için kullanılır (Goodfellow vd. 2016). Derin öğrenme ağlarında ise sınıflandırma problemlerinde her bir girişin sınıflara ait olma olasılığını ifade eder ve eşitlik 3.7 ile şekil 3.7’de ifade edilmiştir.
( ) ∑ (3.7)
Şekil 3.7 Eşiksiz en büyük aktivasyon işlevi (http://cs231n.github.io/’dan değiştirilerek alınmıştır)
16 3.1.2 Geri yayılım algoritması
Algoritma ismini hataları çıkıştan girişe geriye doğru azaltmaya çalışmasından almıştır.
Bu algoritma ağırlık uzayında eğim azaltma yöntemi ile hata fonksiyonunu minimum yapacak değerleri arar. Hata fonksiyonunu minimum yapan ağırlıkların kombinasyonu öğrenme probleminin çözümüdür. Her iterasyonda hata fonksiyonunun eğimini hesaplamak gerektiğinden hata fonksiyonunun sürekliliği ve türevlenebilirliği sağlanmalıdır. Geri yayılım algoritması tasarımında kullanılan parametrelerin çoğunun kişinin kendi tercihine kaldığı bu nedenle çoğu zaman bilimsel kesinliklerden daha çok sezgisel yaklaşımların etken olduğu söylense de geri yayılım algoritmasının performansını arttıracak bazı yöntemler mevcuttur. Giriş verilerini normalize etmek, aktivasyon fonksiyonu seçimi, sinaptik ağırlıkların başlangıç değerlerinin seçimi, eşik değeri seçimi gibi kararlar performans üzerinde çok etkilidir. Benzer şekilde geri yayılım algoritmasını ardışık (sequential) modda çalışması yığın (batch) modunda çalışmasından daha hızlı sonuç vermektedir (Haykin 2009). Hedef değerlerinin aktivasyon fonksiyonunun tanımlı olduğu aralık dahilinde seçilmesi de önemli bir kriterdir. Örneğin tanjant aktivasyon fonksiyonu için bu değer aralığı (-1,+1) olmalıdır.
İdeal olarak çok katmanlı bir ağda tüm nöronlar aynı öğrenme oranıyla öğrenmelidir, son katmanlar genellikle ağın ilk katmanlarındaki nöronlara göre daha büyük yerel gradyanlara sahip olduğundan son katmanlara daha büyük bir öğrenme oranı atanması tavsiye edilir. Şekil 3.8’de geri yayılım algoritması akış diyagramı verilmiştir.
17
red
kabul
hayır evet
Başlangıç ağırlıklarını rastgele seç ve öğrenmeye başla
Giriş setini giriş katına uygula
İşlemci elemanlar üzerinden çıkışı hesapla
Hata Eğim (gradient) azaltma ile
ağırlıkları yeniden düzenle
Test işlemine başla
Öğretme veya test giriş setini yapay sinir ağının giriş katına uygula
İşlemci elemanları üzerinden çıkışı hesapla
Ağın gerçek çıkışı
Giriş tamam mı?
Dur
Şekil 3.8 Geri yayılım algoritması akış diyagramı (Sağıroğlu 2003’ten değiştirilerek alınmıştır)
18
girdi katmanından seçilen herhangi bir nöron, gizli katmandan seçilen herhangi bir nöron, çıktı katmanından seçilen her hangi bir nöron, , girdi katmanı ile gizli katman arasındaki nöronların ağırlık değeri, gizli katman ile çıktı katmanı arasındaki nöronların ağırlık değerini ifade etsin. Şekil 3.8’de de gösterilen algoritmanın adımları aşağıdaki gibidir.
Adım 0: Ağırlık değerleri rastgele seçilir.
Adım 1: Tüm giriş eğitim vektörü ve hedef çıktıları için adım 2-9 gerçekleştirilir.
Adım 2: Her bir eğitim verisi için adım 3-8 takip edilir.
Adım 3: Her bir ( 1 2 ) nöronu giriş sinyali alınır ve bir üst katmandaki gizli katmanda yer alan nöronlara aktarılır.
Adım 4: Her bir ( 1 2 ) nöronu ağırlıklandırılmış giriş sinyalini toplar ve çıkış sinyalini hesaplanır.
∑ (3.8)
( ) (3.9)
Adım 5: Her bir çıkış ( 1 2 ) nöronu ağırlıklandırılmış giriş sinyalini toplar ve çıkış sinyalini hesaplanır.
∑ (3.10)
( ) ( . )
19
Adım 6: Her bir çıkış nöronu , giriş eğitim verisine karşılık gelen hedef değeri ( ) alır ve hata terimini hesaplanır.
( ) ( ) ( . )
Sonra, katsayısını güncellemede kullanılacak olan katsayı düzeltme terimini hesaplanır. Burada öğrenme katsayısıdır.
( . )
Adım 7: Her bir gizli nöronda yukarı katmandan gelen delta girişleri toplanır.
( . )
Sonrasında hata terimi hesaplanır.
( ) ( . )
Daha sonra katsayısını güncellemede kullanılacak katsayı düzeltme terimi hesaplanır.
( . )
Adım 8: Her bir çıkış nöronu eğilim değerlerini ve ağırlık katsayılarını günceller.
( ) ( )
( . )
Her bir gizli nöron eğilim değerlerini ve ağırlık katsayılarını günceller.
20
( ) ( )
( . )
Adım 9: Bitiş şartları kontrol edilir.
Algoritma sonucunda her döngüden sonra toplam ağ hatası biraz daha azalacaktır. Bu durum toplam hata minimize edilene kadar veya belirlenen sınıra gelene kadar devam edecektir.
Geri yayılım algoritması eğim (gradient) azaltma algoritmasını ağırlık uzayında uygulamak için kullanılan özel bir tekniktir. Buradaki temel yaklaşım giriş vektörünün (x) belirli bir değeri için ayarlanabilir ağırlık vektörünün (w) tüm elemanları ile ilgili olarak ağ tarafından gerçekleştirilen bir f(w, x) yaklaşma fonksiyonunun kısmi türevlerinin verimli bir şekilde hesaplanmasıdır.
3.1.3 Optimizasyon algoritmaları
Sinir ağlarının eğitimi sırasında, maliyet fonksiyonunu ( cost function ) önemli ölçüde azaltan sinir ağı parametrelerini bulmak için optimizasyon algoritmaları kullanılır ( Goodfellow vd. 2016) . Bu açıdan sinir ağları için öğrenme aşamasındaki optimizasyon klasik optimizasyon algoritmalarından bazı noktalarda ayrılır. Çoğu makine öğrenmesi dizaynında, test verisine göre tanımlanan belirli bir performans ölçümü değeri kriter alınır ve bu performans kriteri dolaylı yollardan optimize edilir. Maliyet fonksiyonunu azaltmayı umarak performans kriterini iyileştirmek hedeflenir ki bu yönden maliyet fonksiyonunun en aza indirgenmesinin doğrudan amaç olduğu saf optimizasyon problemlerinden farklıdır.
Gradyen iniş ve çeşitleri (momentum stokastik gradyen, Nesterov momentum stokastik gradyen v.b.) makine öğrenmesinde ve derin öğrenmede en çok kullanılan optimizasyon algoritmalarındandır. Makine öğrenmesi için optimizasyon algoritmaları, her güncellemeyi tüm maliyet fonksiyonunun sadece bir alt kümesini kullanarak kestirerek maliyet fonksiyonun beklenen değerine göre hesaplar. Bu beklenen değeri
21
hesaplamak çok zordur çünkü giriş setindeki tüm örnekler için modellemeyi gerektirmektedir. Pratikte ise bu beklenen değer, giriş veri setinden az sayıdaki örneği rastgele örnekleyerek ve daha sonra sadece bu örnekler üzerinden ortalamalar alınarak hesaplanabilir.
Tüm giriş verisi yerine daha küçük bir gruptan yararlanarak gradyenin istatikstiksel kestirimini hesaplamanın önemli bir nedeni de eğitim setindeki gereksiz fazlalıklardır.
En kötü durumda eğitim setindeki örnekler birbirlerinin kopyaları olabilir. Gradyenin örnekleme tabanlı kestirilmesi sadece bir örnekten bile doğru bir gradyen hesaplanmasını sağlayabilir. En kötü durumla pratikte çok karşılaşılmamakla birlikte büyük sayıda örneklerin gradyen üzerindeki etkilerini birbirine çok yakın bulmak mümkündür (Goodfellow vd. 2016). Bu gibi nedenlerle bu algoritmalar maliyet fonksiyonunun gradyeni hesaplarken kullanılan veri miktarına göre sınıflandırılabilir.
Tüm eğitim setini kullanan algoritmalar yığın (batch) ya da deneysel (deterministic) gradyen yöntemleri olarak adlandırılmaktadır. Bu yöntem tüm eğitim verilerini büyük bir yığın haline eşzamanlı olarak hesaplar.
Bir seferde sadece bir örnek kullanan optimizasyon algoritmaları ise rastgele (stochastic) ya da çevrimiçi (online) yöntemlerdir. Çevrimiçi terimi genellikle birkaç geçişin yapıldığı sabit boyutlu bir eğitim setinden daha çok sürekli olarak oluşturulmuş örneklerden bir akışla çekildiği durumlar için nitelenmiştir.
Derin öğrenme algoritmaları çoğunlukla deneysel ve rastgele yöntemlerin arasında bir yerdedir. Bunlara mini-yığın ya da mini-yığın rastgele yöntemler adı verilmekle birlikte son yıllarda basitçe rastgele yöntemler olarak adlandırılmaktadırlar.
Rastgele gradyen iniş algoritması; daha önce de belirtildiği üzere bağımsız özdeşçe dağılmış bir veri üretme dağılımından alınan örneklerin bir mini-yığınını (mini-batch) kullanır. Bu mini yığının ortalama gradyenini alarak yansız (unbiased) bir gradyen kestirimi yapılması mümkündür.
22
Aşağıdaki algoritma eğitimde k. iterasyon için gradyen inişi kestirimini göstermektedir.
Gereksinimler: öğrenme oranı , başlangıç parametresi Ɵ olarak alınsın.
Durdurma kriteri karşılanamayana kadar devam et.
Eğitim setinden m adet mini-yığın örneği (1) ( ) ve karşılık gelen hedeflerini
( ) al.
Gradyen inişi hesapla.
̂ ( ( ( ) ) ( )) ( . )
Güncellemeyi uygula.
̂ ( . )
Bu algoritma için kritik parametre öğrenme oranıdır. Bazı durumlarda sabit bir öğrenme oranı kullanılabildiği gibi pratikte zamanla öğrenme oranının düşürülmesi gereklidir bu nedenle öğrenme oranı k. iterasyon için olarak verilmiştir. Bunun nedeni SGD gradyen kestirimi minimum değere ulaşılsa bile yok olmayan bir gürültü kaynağı ( eğitim örneğinden rastgele örnekler) içermektedir. Yığın gradyen iniş algoritması kullanıldığında ise toplam maliyet fonksiyonunun doğru hesaplanmış gradyeni minimum değere ulaşılınca küçülür ve sıfırlanır böylelikle sabit bir öğrenme oranı kullanabiliriz. SGD’nin yakınsamasını garanti altına almak için eşitlik 3.21 - 3.22 sağlanmalıdır.
=1
( . )
23
2 ( . )
=1
Pratikte öğrenme hızı eşitlik 3.23’de verildiği üzere τ. iterasyona kadar lineer olarak azaltılır.
( ) ( . )
olmak üzere, τ iterasyon sonrasında sabit bir sayı olarak alınır. Çoğunlukla değeri değerinin yaklaşık % 1’i olarak alınabilir.
Momentum rastgele gradyen iniş yöntemi ise rastgele gradyen iniş algoritması kullanılan bazı durumlarda öğrenmenin yavaş gerçekleşmesi sonucu ortaya çıkmıştır.
Momentum (Polyak 1964) Goodfellow’un da belirttiği gibi özellikle yüksek eğrilmelerde, gürültülü gradyenlerde ve küçük ama sabit gradyenlerde öğrenmeyi hızlandırmak için tasarlanmıştır. Şekil 3.9, momentumun gradyen inişin etkisini göstermektedir.
Şekil 3.9 Momentum gradyen iniş algoritması, kırmızı çizgiler momentumları temsil etmektedir (Goodfellow vd. 2016’dan değiştirilerek alınmıştır)
24
Momentum algoritması geçmiş gradyenlerin üssel olarak azalan hareketli ortalamalarını biriktirir ve kendi yönlerinde hareket etmeye devam eder. Algoritma parametrelerin parametre alanı boyunca hareket ettiği yön ve hızı belirten bir hız ( ) değişkenini üretir.
Hız negatif gradyanın üssel olarak azalan ortalamasına göre belirlenir. Momentum ismi fiziksel benzerlikten gelir. Newton’un hareket kanununa göre negatif gradyen bir parçacığı parametre uzayında hareket ettiren bir kuvvettir. Fiziksel anlamda mometum ise hareket eden kütlenin bir ölçütüdür ve kütle ile hızın çarpımıyla ifade edilir.
Momentum öğrenme algoritmasında birim kütle olduğu varsayımına dayanarak hız vektörü parçacığın momentumu olarak kabul edilebilir. Bir üst-parametre ) önceki gradyenlerin katkısının üssel olarak ne kadar hızla azaldığını belirler.
Güncelleme kuralı eşitlik 3.24 - 3.25 ile verilir.
( ) ( ( ( ) ) ( ))
=1
( . )
( . )
Hız gradyen elemanlarını (1 ( ( ( ) ) ( ))) biriktirir. Daha büyük ile ilişkili olarak, daha önceki gradyenler şu anki geçerli yönü belirler.
Momentum SGD algoritması aşağıdaki gibidir.
Gereksinimler: Öğrenme oranı , momentum parametresi , başlangıç parametresi , başlangıç hızı alınsın.
Durdurma kriteri karşılamayana kadar devam et .
Eğitim setinden m adet mini-yığın örneği (1) ( ) ve karşılık gelen hedeflerini
( ) al .
25
Gradyen inişi hesapla 1 ∑ ( ( ( ) ) ( ))
Hız güncellemesini hesapla
Güncellemeyi uygula
3.2 Evrişimsel Sinir Ağları
Evrişimsel sinir ağları adını matematiksel bir işlem olan evrişimden alan, veriyi işlerken kullandığı ızgara benzeri bir topolojiye sahip olan bir sinir ağı türüdür. Evrişimsel sinir ağları katmanlarından birinde genel matris çarpımı yerine lineer bir işlem olan evrişimi kullanır (Goodfellow vd. 2016).
2012 yılından sonra artan bir ivmeyle bu ağlar ile başarılı çalışmalar yapılmıştır. ESA bilgisayarlı görü alanında baskın ve güçlü bir ağ mimarisi türü olmuştur. Amazon ürün önerilerinde, Google fotoğraf aramalarında ve Facebook otomatik etiketleme algoritmalarında benzer şekilde ESA kullanılmaktadır (Dev 2017).
3.2.1 ESA mimarisi
Temel bir ESA giriş evrişim havuzlama tam bağlaşımlı katmanlarından oluşmaktadır. Bu katmanlar istenirse evrişim, havuzlama gibi katmanlar tekrar edilerek derinleştirilebilir. Şekil 3.10’da örnek bir ESA ağ mimarisi verilmiştir.
26
Şekil 3.10 Örnek ESA ağ mimarisi (https://www.mathworks.com’dan değiştirilerek alınmıştır)
18.104.22.168 Evrişim katmanı
Evrişim işlemi ayrık zamanda eşitlik 3.26 ile ifade edilmektedir.
( ) ( )( ) ∑ = ( ) ( ) ( . )
Eşitlik 3.21’de kernel , giriş , zaman , sonuç s olarak ifade edilmiştir. Evrişim işlemi; girişten alınan verinin belirli bir kernel (süzgeç, nöron) ile evrişim işlemi uygulanıp daha küçük boyutlarda yeni bir giriş elde etmesini sağlar. Evrişim işlemi uygulanan alana ise alıcı alan (receptive field) denmektedir. Evrişim için kullanılan süzgeç bir dizi sayıdır, bu sayılara ağırlıklar da denebilir. Buradaki önemli bir nokta da kernelin derinliği giriş verisinin derinliği ile aynı olma zorunluluğudur.
Evrişim işlemi derin öğrenmenin performansını arttıracak 3 önemli özellik içermektedir.
Bunlar seyrek bağlantı, parametre paylaşımı ve eşdeğerlik temsilcileridir.
Belirtildiği üzere geleneksel sinir ağları giriş katmanı ve çıkış katmanı arasındaki bağlantıyı açıklaması için her biri farklı bir parametre olan parametre matrislerinin çarpımlarını kullanır. Seyrek bağlantı ya da seyrek ağırlıkları; giriş verisine uygulanan kernelin girişten küçük olmasını böylece zaman sorununun önüne geçmeyi amaçlar.
27
Çoğunlukla derin öğrenme verileri binlerce, milyonlarca pikselden oluşur ve ağın bu piksellerin tümünü kullanarak işlem yapması hem zaman hem de hafıza açısından zordur. Eldeki verilerde elde edilmek istenen kısımlar köşeler, basit renkler ya da kıvrımlardır ve büyük miktarda veriden ağın kullanacağı küçük miktardaki bu verilerin elde edilmesi evrişim katmanı ile mümkün olmaktadır.
Parametre paylaşımı, bir parametrenin modeldeki birden çok işlevde kullanılması olarak tanımlanır (Goodfellow vd. 2016). Sinirsel ağlarda ağırlık matrisindeki her bir eleman katmanın çıkışı hesaplanırken birer kez kullanılır, giriş katmanı ile çarpılır ve sonra tekrar kullanılmaz. Parametre paylaşımına eş anlamlı olarak bağlı ağırlıklar terimi de kullanılabilir çünkü bir girdiye uygulanan ağırlığın değeri başka bir yerde uygulanan ağırlığın değerine bağlıdır. ESA’da kernelin her bir elemanı girişin her bir pikseliyle işleme alınmaktadır. Kısaca ESA’da kullanılan parametre paylaşımı her konum için ayrı bir parametre öğrenmek yerine sadece bir set parametre öğrenileceği anlamına gelir.
Eşdeğerlik temsilcileri; bir eşdeğerlik işlevi çıkışın girişle aynı şekilde değiştiği işlev olarak tanımlanır. Matematiksel olarak eşitlik 3.27 ile gösterilebilir.
( . ) . ( ) ( . )
Evrişim işlemi uygulanması parametre paylaşımı ile beraber katmanın eşdeğerlik özelliği göstermesine neden olur. Örneğin (. ) işlevi burada resmin herhangi bir koordinattaki parlaklığını göstersin. (. ) işlevi eşitlik 3.28 ve 3.29’te gösterildiği üzere üzerindeki her pikseli bir birim sağa kaydıran bir işlevdir.
( ) ( . )
( ) ( ) ( . )
28
Eğer bu dönüşümü üzerinde uygulandıktan sonra evrişim işlevi uygularsak elde edilen sonuç, üzerinde evrişim uygulayıp çıkışa işlevi uygulamakla aynı sonucu verecektir. Bu da evrişim işlevinin eşdeğerlik özelliği göstermesindendir.
Evrişim katmanı için üst parametreler derinlik, adım ve sıfır doldurmadır. Bu parametrelerin değerlerinin seçiminde belirli bir standart bulunmamaktadır ancak daha önce kullanılmış değerler referans alınabilir.
Derinlik; her öğrenme iterasyonunda giriş katmanına uygulanan filtre sayısı olarak tanımlanabilir. Her bir filtre ayrı ayrı giriş verisindeki farklı bir özelliği arar. Bu durumda işlenmemiş ilk veri giriş katmanı ise derinlik boyutu boyunca birden fazla nöron çeşitli renklerin lekeleri ya da farklı yönlü köşelerde aktifleşebilir (Dev 2017).
Girişin aynı bölgesindeki nöron dizileri sütun derinliği olarak adlandırılır.
Adım; genel anlamıyla giriş katmanında kernelin evrişim esnasında kayma boyutunun ölçüsüdür. Her adım bir piksele denk gelmektedir. Bu adım bir sonraki katmana aktarılacak piksel büyüklüğünü belirlemede yardımcı olur. Küçük seçilen adımlarda kayma esnasında örtüşme fazladır bu da boyutun büyümesine neden olur.
Şekil 3.11’de ikişer adımlık kaydırmalar (her farklı renkteki çerçeve kaydırmayı göstermektedir) ile 7x7 boyutlu resim üzerinde 3x3 boyutlu kernelin uygulanması ve 3x3 boyutlu ilgi alanı matrisinin oluşumu gösterilmiştir. Her farklı renk kaydırılmış kernelin uygulandığı alıcı alanı ve oluşan yeni matriste elde edildiği alanı göstermektedir.
Evrişim işlemi sonrasında boyutta olan küçülmeler derin ağlarda boyutun çok küçülmesi nedeniyle istenmeyen durumlar yaratabilir. Bunu önlemek için bazı katmanlarda evrişim sonrasında giriş verisinin çerçevesine sıfır doldurma işlemi uygulanabilir.
29
Şekil 3.11 İki adım kaydırma ile 7x7 boyutlu ilgi alanı matrisinden 3x3 boyutlu öznitelik matrisinin oluşumu (Dev 2017’den değiştirilerek alınmıştır)
Sonuç olarak bu 3 üst değişken (hyperparameter) de giriş verisinin boyutuna etki etmektedir bunu eşitlik 3.30’da gösterecek olursak;
( )
( . )
Burada o çıkış katmanının bir boyutunun büyüklüğünü, w giriş verisinin büyüklüğünü, k kernel süzgeç büyüklüğünü, s adım büyüklüğünü ve p de sıfır doldurma büyüklüğünü ifade etmektedir. Şekil 3.12’de örnek olarak 6x6x3’lük bir matrise 1’er çerçeve sıfır doldurma işlemi uygulanmış olup 8x8x3 boyutlarında matrise çevrilmiştir.
Şekil 3.12 1’er çerçeve kullanarak yarım dolgu sıfır doldurma işlemi (Dev 2017’den değiştirilerek alınmıştır)
30
Bu üç parametre de çıkış katmanının büyüklüğüne birbirlerine bağlı olarak etki ettiği eşitlik 3.30’da görülebilir. Parametrelerin büyüklükleri seçilirken çıkış verisinin bir tamsayı olarak elde edileceği büyüklüklerin seçimine özen gösterilmelidir bu ayarlamayı yapmak için daha çok sıfır doldurma üst parametresi tercih edilebilir.
22.214.171.124 Doğrultulmuş doğrusal ünite (ReLU)
Evrişim katmanında yapılan lineer işlemler olan, toplama ve çarpma işlemleri sonrasında derin ağlarda genellikle bir aktivasyon fonksiyonu uygulanması gerekir.
Çünkü fonksiyon kas kat bir sistem oluşturan derin ağlardaki lineerliği bozarak daha etkili bir model oluşturulur. Bu nedenle evrişim işleminden sonra bir aktivasyon fonksiyonu uygulanır ki bu derin öğrenme sistemlerinde genellikle ReLU olmaktadır.
Eşitlik 3.31’de görüleceği üzere işlev giriş (x) için pozitif değerleri çıkışa aktarır.
( ) ( ) ( . )
Yapay sinir ağlarında kullanılan hiperbolik tanjant, sigmoid gibi işlevlerin yerine ReLU kullanılmasındaki nedenlerden biri sistemin kullanılan diğer aktivasyon fonksiyonlarına göre daha hızlı çalıştığının gözlemlenmesidir.
Mass vd. 2013 yapılan bir çalışamda, sızdıran RELU adıyla belirtilen fonksiyon eşitlik 3.32 ile verilmiştir.
( ) ( ) ( ) ( . )
Burada önceden tanımlanmış ( . ) bir parametredir. 2015 yılında yapılan bir başka çalışmada aktivasyon fonksiyonu parametrik ReLU adıyla ve eğitilebilen bir parametre olarak tanımlanmıştır (He vd. 2015).
31 126.96.36.199 Havuzlama katmanı
Alt örnekleme katmanı olarak da bilinen havuzlama katmanının birincil işlevi, ağın çıkışını, komşu çıkışların özetlenmiş bir istatistiği ile belirli bir konumda değiştirmektir.
Bu katmanda genellikle 2x2 boyutlarında seçilen süzgeç yine 2 adımlık kaydırmalarla giriş verisi üzerinde gezdirilir. Seçilen yönteme göre ya maksimum değer ya da ortalama gibi değerler bir sonraki katmana iletilir. Böylelikle tüm pikselleri iletmeye gerek kalmadan hem bölge içindeki değer hem de kısmen piksel konumu bir sonraki katmana iletilmiş olur. Bu da parametrelerin çoğunun elenmesine ve aşırı öğrenmenin önlenmesine yardımcı olur. Bu katman için kullanılabilecek yöntemlerden bazıları maksimum havuzlama, ortalama havuzlama ve L-norm havuzlamadır.
188.8.131.52 Tam bağlaşımlı katman ve sınıflandırma katmanı
Bu katmanlar bir ESA ağının son katmanlarıdır ve kendilerine giriş olarak uygulanan veriyi N boyutlu bir vektöre çevirir. Burada N giriş veri setinin sınıf sayısını ifade eder.
Örneğin rakamları sınıflandıran bir ağda bu sayı 10’dur.
Tam bağlı katmanlarda bu çıkış sayıları olasılıkları ifade ettiğinden 0-1 arasında bir değer alır. Belirli eşik değerinin altındaki düğümlerin elenmesiyle, genelde bu değer 0.5 kabul edilir, ya da rastgele eleme yöntemiyle seyreltme (dropout) uygulanması öğrenmeyi arttırmaktadır. Seyreltme aşırı öğrenmeyi önlemek için sadece eğitim sırasında uygulanır.
Sınıflandırma katmanında kullanılan kayıp fonksiyonlarından biri çapraz entropi kaybıdır ve eşitlik 3.33’de verilmiştir.
∑ =1∑ =1 ( . )
32
Burada kayıp fonksiyonunu ifade ederken, j. sınıfa ait i. örneğin göstergesidir, çoğunlukla eşiksiz en büyük işlevinden elde edilen j. sınıfa ait i. örneğin çıkış değeridir, N giriş verisi sayısı olup K adet sınıf tanımlanmıştır (Bishop 2006).
Benzer şekilde literatürde bazı çalışmalarda değiştirilmiş çapraz entropi fonksiyonları dengesiz sınıflardan oluşan veri kümelerinde sınıflandırma sonuçlarındaki bu dengesizliğin giderilmesi için kullanılmaktadır.
Ağırlıklı çapraz entropi kayıp fonksiyonu sınıflar arasındaki veri dengesizliğini eşitlemek için kullanılmış ve sınıflandırma doğruluğuna önemli ölçüde artışlar elde edilmiştir (Panchapagesan vd. 2016). Ağırlıklı çapraz entropi kayıp fonksiyonu eşitlik 3.34’te verilmiştir.
( )
=1 =1
( . )
T eğitim hedefleri, Y tahmin skorları olmak üzere w, i. sınıfa ait ağırlık değeridir.
3.3 Değişim Algılama
Son yıllarda teknolojideki gelişmelerden kaynaklanan yeniliklerle birlikte sistemlerde arızanın tespiti ve teşhisi (izlenmesi), endüstriyel süreçlerin durum odaklı bakımları, karmaşık sistemlerin güvenlikleri (uçaklar, tekneler, roketler, kimyasal teknolojili sistemler, nükleer santraller vb.), kalite kontrol, doğal felaketlerin tahmini (depremler, tsunamiler vb.), biyomedikal izleme gibi alanlarda değişim algılama önemli bir ihtiyaçtır. Bu ihtiyaçların çoğu teknolojik ve doğal dünyadaki sensörlerin ve karmaşık bilgi işlem sistemlerinin kullanılmasından kaynaklanır (Bassevile ve Nikiforov 1993).
Bu sistemlerdeki değişimlerin algılanmasındaki temel problem değişimlerin doğrudan sinyalde gözlenememesidir. Bu nedenle birçok izleme (monitoring) problemi statik veya dinamik (stokastik) sistemlerdeki parametrelerin değişimlerinin algılanması olarak
33
ele alınır. Bu yaklaşımlara göre ani değişiklikler örnekleme periyoduna göre anlık veya çok hızlı parametre değişimlerinin gözlenmesi olarak adlandırılabilir.
Değişim noktasının algılanması için kullanılan algoritma Gustaffson’un paralel filtrelerle çoklu model yaklaşımıdır (Gustaffson 2000). Benzer şekilde bu yaklaşım Bassevile ve Nikiforov tarafından konuşma sinyallerinin bölütlenmesinde 2. derece özyinelemeli model kullanılarak uygulanmıştır (Bassevile, Nikiforov 1993 ).Çoklu model yaklaşımında değişim noktaları bilinirse ya da bilindiği varsayılırsa bu bilgiyle birlikte süzgeç uyarlanır ve değişimlerden sonra beyaz artıklıklar üretir. Bu tarz süzgeçlere uyumlu süzgeç denmektedir çünkü sistemdeki belli varsayımlarla uyarlanır.
Çok modelli yaklaşımdaki düşünce, değişim zamanları için tüm muhtemel hipotezleri sıralamak ve artıklıkları eşleşen süzgeçlerle karşılaştırmaktır. En küçük artıklıklı süzgeç kazanır ve çoğunlukla doğru olarak değişim zamanlarını kestirir. Buradaki esas kritik nokta küçük artıklık değerinin belirlenmesidir. Değişim zamanlarının hipotez sayılarının sayısını arttırarak artıklıklar daha küçük hale getirilebilir ancak bu durumda bir ceza terimi değişim zamanlarının sayısını sınırlamak için kullanılmalıdır. Bir t anında değişim var veya yok olmak üzere iki durum söz konusudur bu nedenle t zaman süresi için kadar muhtemel uyumlu süzgeç vardır. Ancak bu tüm veriye uygulanabilir bir hesaplama değildir. Bu nedenle arama algoritmaları sabit sayıda süzgeç ile değişim zamanlarının bulunması için kullanılır. Şekil 3.13’de bu aşamaları gösteren bir akış diyagramı görülmektedir. Süzgeçlere gelen muhtemel değişim zamanları dizisi =1 , N adet süzgeç sonucunda oluşturulan artıklıklar hipotez testinden geçirildikten sonra en küçük artıklıklarla değişim zamanları kestirilmiş olur.
34
Şekil 3.13 Değişim zamanlarının adaptif süzgeçlerle kestirilmesi (Gustaffson 2000’den değiştirilerek alınmıştır)
Değişim noktalarının algılanmasında ilk ölçüt bilinmeyen değişim noktalarını ve yerlerini doğru şekilde kestirmektir. Bunu gerçekleştirmek için en iyi yol mümkün olan her segment için en iyi regresyon modelini kestirmek ve optimizasyon kriterini en küçük yapan değeri bulmaktır.Her model parçalı sabit parametrelere göre değişen regresyon modeliyle eşitlik 3.35’e göre tanımlanmıştır.
( ) ( . )
Bu formülde gürültü ölçüsü, otoregresyon, parametre vektörü ve i segment numarasını ifade eder. Özyinelemeli modeller için n segment uzunluğunu ifade etmek üzere, ve aşağıdaki gibi tanımlanmıştır.
( 1 2 ) ( . )
( 1 2 ) ( . )
Muhtemel tüm segmentlerin ayrı ayrı tanımlanmasından sonra her model için en iyi segmentasyon modeli tanımlanır ve model parametreleri ( ) hesaplanır. Gürültünün
35
karesinin beklenen değeri kovaryans matrisi olmak üzere, eşitlik 3.38’deki gibi tanımlanmıştır.
( 2) ( ) ( . )
( ) olası segment için gürültü ölçeklemesidir.
’nın kestirim değeri, kovaryansı (P), sistem artıklıkları ( ) hesaplamaları aşağıdaki gibidir;
( ) ( 1
1
) 1 ( . )
̂( ) ( ) 1
1
( . )
̂ 1 ( . )
Test istatistikleri; V (katsayıların artıklıkların kareleri toplamı), D (parametre vektörlerinin kovaryans matrisinin logaritmik determinantı) yukarıdaki eşitlikler aracılığıyla hesaplanmıştır.
( ) ( ( )) 1( ( ))
1
( . )
( ) ( ) ( . )
1 ( . )