Fırat Üniversitesi-Elazığ YAPAY SİNİR AĞLARIYLA MÜZİKAL TÜR TANIMA Gözde Kumaşoğlu1, Bülent Bolat2 Multimedya Sinyal Analiz Laboratuarı, Elektronik ve Haberleşme Mühendisliği Bölümü, Elektrik Elektronik Fakültesi Yıldız Teknik Üniversitesi 1 [email protected], [email protected] türü 3-NN ile %88,36 oranında doğru sınıflamıştır. Paradzinets ve arkadaşları [3] yeni önerdikleri bir grup öznitelikle 6 farklı türü uzman sistemlerden oluşan bir komiteyle %80,9 oranında sınıflamayı başarmışlardır. Panagakis ve diğerleri [4] MARSYAS [5] veri setinin tamamını kullandıkları çalışmalarında 10 türü %92.4 başarıyla sınıflandırmıştır. Tsunoo ve diğerleri [6] aynı veri setini MFCC temelli özniteliklerle Destek Vektör Makineleri kullanarak %76.2 başarımla sınıflandırmışlardır. Bu çalışmada sunulan sistemin gerçekleştirilmesi iki aşamadan oluşur. İlk aşama, ses dosyalarının işlenerek müzik türlerinin kendine özgü karakteristik özeliklerini belirleyen özniteliklerin çıkarılmasıdır. İkinci aşama ise çıkarılan öznitelikler yardımıyla insan algısına yakın bir sınıflandırma mekanizması oluşturulmasıdır [7]. Çalışmada kullanılan öznitelikler ikinci bölümde ele alınmıştır. Üçüncü bölüm, kullanılan yapay sinir ağlarına ayrılmıştır. Dördüncü bölümde uygulama sonuçları üzerinde durulurken bu sonuçların değerlendirmesi beşinci bölümde yapılmıştır. ÖZET Bu çalışmada, insan algısını taklit ederek müzik parçalarını müzikal türlerine göre sınıflandıran bir sistem gerçeklenmiştir. Çalışma kapsamında, 4 farklı türden (pop, klasik, metal ve disco) müzik parçaları Mel frekans kepstrum katsayıları ve doğrusal öngörü katsayıları kullanılarak Çok Katmanlı Almaç (MLP), Elman Ağı, Olasılıksal Sinir Ağı (Probabilistic Neural Network, PNN), Genelleştirilmiş Regresyon Sinir Ağı (Generalised Regression Neural Network, GRNN) ve en yakın komşu sınıflandırıcısı (K-Nearest Neighbour, KNN) ile sınıflandırılmıştır. Yapılan çalışmada, en iyi performans %95,83doğru sınıflama yüzdesi ile MLP kullanılarak elde edilmiştir. Anahtar Kelimeler: Mel frekans kepstrum katsayıları (MFCC), doğrusal öngörü katsayıları (LPC), k-en yakın komşu sınıflandırıcısı (KNN), çok katmanlı almaç, Elman ağı, olasılıksal sinir ağı (PNN), genelleştirilmiş regresyon sinir ağı (GRNN) 1. 2. GİRİŞ ÖZNİTELİK ÇIKARMA Öznitelik, bir sinyalin sahip olduğu başlıca karakteristik özelliklerin bir özeti niteliğindeki verilerin genel adıdır. Ses işleme alanında en çok kullanılan ve daha önce yapılan çalışmalarda en iyi sonuç vermiş olan öznitelikler Mel frekans kepstrum katsayıları (Mel-Frequency Cepstrum Coefficients, MFCC) ve Doğrusal Öngörü Katsayılarıdır (Lineer Prediction Coefficients, LPC). Bu ndenle, bu çalışmada öznitelik olarak MFCC ve LPC kullanılmıştır. Günümüz teknolojisinde, sayısallaştırılmış müzik yaygın olarak kullanılmaktadır. Müziğin sayısal ortamda yaygınlaşmasına paralel olarak, müzik eserlerinin müzik türlerinin çeşitli özellikleri temel alınarak gruplanabilmesi önemli bir problem haline gelmiştir. Kullanıcının istediği türde müzik parçalarının veri tabanından seçilmesi ya da hangi türe ait olduğu bilinmeyen müzik parçasının ait olduğu türün belirlenmesi müzik türleri sınıflandırıcılarının kullanım amaçlarına örnek olarak gösterilebilir [1]. Sayısal ortamda müzikal tür tanımlama sistemlerinin gerçeklenmesinde, insanların müzikal tür algılama şekli model alınmıştır. İnsanların müzikal türleri tanımlayabilme yetisi müzikal altyapılarına ya da müzik tecrübelerine göre değişkenlik göstermektedir. Örneğin, jazz müzikle tanışıklığı pek fazla olmayan birine jazz parçası dinletildiğinde türünü tanımlamakta zorluk çekebilir. Aynı şekilde, çoğunlukla pop müzik dinleyen birinin bu türü tanımlaması bir hayli kolay olacaktır. Bu fikirden hareketle, türler ile ilgili edinilen bilgi birikiminin tür tanımlama için gerek ve yeter koşul olduğu kanısına varılabilir. Müzik türlerinin sayısal ortamda belirlenmesinde, tıpkı insanlardaki algıda görülen çeşitlilikler gibi, kesin bir doğruluk oranı elde etmek zordur. Bu sebeple müzikal tür tanımlayan sistemin tasarım aşamasında kullanılan sabit, tek bir yöntem yerine, farklı performans katkıları sağlayan birçok yöntem mevcuttur. Bunların arasından en uygun yöntem seçilmeli ve yöntemlerin performans üzerindeki etkisi karşılaştırmalı olarak test edilmelidir. Literatürde bu alanda çok sayıda çalışma mevcuttur. Kosina [2] insan kulağının müzikal tür tanımadaki başarısını %70 civarında olarak belirtmiştir. Kosina bu çalışmada 3 farklı 2.1. Mel Frekansı Kepstrum Katsayıları Mel frekans kepstrum katsayıları insan kulağının fizyolojik özelliklerinden esinlenen bir öznitelik türüdür. MFCC’ler hesaplanırken ilk aşamada ses sinyali istatistiksel özelliklerinin sabit kabul edilebildiği kısa zaman aralıklarına bölünür, bir başka deyişle pencerelenir. Fourier dönüşümü yardımıyla pencerelenmiş sinyalin logaritmik genlik spektrumu hesaplanır. Logaritmik spektrum doğrusal olmayan aralıklarla dizilmiş bir dizi üçgen süzgeç yardımıyla doğrusal frekans skalasından Mel frekans skalasına çevrilir. Süzgeç bankası çıkışında kosinüs dönüşümü uygulanarak MFCC katsayıları elde edilir [8, 9, 10]. 2.2. Doğrusal Öngörü Katsayıları İleri yönde doğrusal öngörüde amaçlanan, sinyalin bir sonraki örneğini daha önceki değerlerinin doğrusal bir kombinasyonu ile elde etmektir. p yˆ ( n) = ∑ ai y ( n − i ) i =1 61 (1) Elektrik-Elektronik ve Bilgisayar Sempozyumu 2011 Burada ai ile gösterilen katsayılar öngörü ya da doğrusal öngörü katsayıları, p ise öngörü süzgecinin derecesidir. LPC’ler hesaplanırken amaç ortalama karesel hata e(n)’i en küçük yapan süzgeç katsayılarını bulmaktır: 2 p e ( n ) = E y ( n) − ∑ a i y ( n − i ) i =1 3.2. Elman Sinir Ağı Elman sinir ağı üç katmandan oluşan, gizli katman ile giriş katmanı arasında geri besleme içeren bir geri yayılım ağıdır. Kolay kullanımı ve başarılı sonuçlar vermesi sebebiyle tercih edilen bir ağdır. Elman ağı, yapısal olarak MLP’ye benzemektedir. Elman ağı da MLP gibi hatanın geri yayılımı algoritması ile eğitilmektedir Elman ağının katmanlı yapısında MLP’den farklı olarak gizli katmandan girdi alan içerik elemanları bulunmaktadır. İçerik elemanları bir önceki iteasyondaki aktivasyon değerini bir sonraki iterasyona taşımakla görevlidir [14]. (2) Burada E{.}, ortalama (beklendik değer) operatörüdür. Bu eşitliği minimize etmek için literatürde çeşitli algoritmalar tanımlanmıştır. Bu çalışmada Levinson-Durbin Yinelemesi [10, 11, 12] kullanılmıştır. 3.3. Olasılıksal Sinir Ağı 2.3. Veri Kümesinin Oluşturulması Olasılıksal Sinir Ağı (Probabilistic Neural Networks, PNN) radyal temelli bir sinir ağıdır. Danışmanlı öğrenmeye dayalıdır. PNN, Bayes Teoremi kullanarak karar veren bir sinir ağıdır. Bayes teoremine göre herhangi bir x vektörü (4) eşitliği doğru ise 1. sınıfa, değilse 2. sınıfa aittir [15]: MFCC ve LPC katsayıları hesaplandıktan sonra, bu katsayıların ortalaması, değişintisi, birinci dereceden ayrık zamanlı türevi (deltası) ve ikinci dereceden ayrık zamanlı türevi (delta-deltası) olarak sıralanabilecek yüksek dereceli istatistikleri hesaplanarak öznitelik vektörünün son hali oluşturulmuştur. Öznitelik vektörüne karar verildikten sonra, kullanılacak 4 farklı müzik türünden yüzer adet şarkı belirlenmiş ve sınıflandırma işleminde kullanılmak üzere öznitelik vektörleri çıkarılmıştır. İşlenen müzik dosyaları 30’ar saniyelik au uzantılı dosyalardır. Dosyalar 22050 Hz frenkansında örneklenmiş ve 16 bitle kodlanmıştır. Her bir dosya 1,5 saniyelik 20 parçaya ayrılarak işlenmiştir. 3. F1 ( x ) L1 P2 > F2 ( x) L 2 P1 (4) Burada Fi(x) x’in i. sınıfa ait olma olasılığı, Pi i. sınıfın görülme olasılığı, Li ise i. sınıfın önem derecesini belirten bir maliyet katsayısıdır. Olasılık yoğunluk fonksiyonları ise (5) eşitliği ile bulunur: SINIFLANDIRICILAR F (x) = 1 m 2 ( 2π ) σ m n i =1 ∑ exp − n ( x − xi ) ( x − xi ) T 2σ 2 (5) Bu çalışmada sınıflandırıcı olarak çok katmanlı almaç ağı, Elman ağı, olasılıksal sinir ağı, genelleştirilmiş regresyon ağı ve k en yakın komşuluk algoritması kullanılmıştır. Yapay sinir ağları eğitme verisi ile eğitilmiş, her bir ağın parametreleri ayrı ayrı en iyileştirilmiş ve daha sonra ağların başarımlar test verileri ile tespit edilmiştir. Burada σ yayılım katsayısı veya açıklık olarak adlandırılan, radyal fonksiyonların genişliğini belirleyen bir parametredir. PNN, diğer ağlara göre daha fazla hesaplama karmaşıklığı içerdiğinden daha yavaş çalışır [16]. 3.1. Çok Katmanlı Almaç 3.4. Genelleştirilmiş Regresyon Sinir Ağı Çok katmanlı almaç (MLP), ileri beslemeli, çok katmanlı ve doğrusal olmayan ayrıştırma yapabilen bir yapay sinir ağı türüdür. MLP, bir giriş katmanı, bir çıkış katmanı ve bu ik katman arasında yer alan bir veya birden fazla gizli katmandan oluşur [9]. MLP’nin çalışma yapısını iki bölümde incelemek mümkündür. Birincisi ileri yönde gerçekleşen iletim, diğeri ise hatanın geri yayılması algoritmasıdır. Ağa bir giriş uygulandığında uygulanan girişler bir önceki katmandan bir sonraki katmana doğru çıkış katmanına kadar iletilir. Bu ileri yöndeki iletimdir. Eğitme aşamasında uygulanan giriş sinyali çıkış katmanına ulaştığında, elde edilen çıkış ile istenen çıkış arasındaki fark, yani hata sinyali geri yayılım ile giriş katmanına doğru sırasıyla iletilir. Bu çalışmada hatanın geriye yayılımı Delta kuralına göre yapılmıştır. Bu kurala göre, elde edilen çıkış sinyalinden elde edilmek istenen sinyalin çıkarılması ile hata hesaplanır ve ağırlıklar aşağıdaki formüle göre güncellenir: Genelleştirilmiş Regresyon Sinir Ağı (Generalised Regression Neural Networks, GRNN), PNN gibi radyal temelli bir yapay sinir ağıdır. Nöron yapısında radyal temelli katmanın yanı sıra özel bir doğrusal katman bulunur. Az sayıda eğitim örneğinden bile fonksiyon üretebilme yeteneğinden dolayı tercih edilen bir sinir ağıdır. PNN’den farklı olarak sürekli çıkış verebildiğinden regresyon için de kullanılır [17]. Herhangi bir giriş vektörü x için i. radyal biriminin çıkışı şu şekilde hesaplanır: ( x − xi ) T ( x − xi ) 2σ 2 β i = exp − Burada σ, PNN’de olduğu gibi, kullanıcı tarafından belirlenen yayılım katsayısıdır. Herhangi bir x girişi için ağın çıkışı y şu şekilde hesaplanır: K (3) Burada µ öğrenme oranı, δj(n) yerel değişim, zi(n) nöronun girdi sinyalidir. (6) y= ∑α y i i i =1 j. Burada α katsayıları şu şekilde hesaplanır: 62 (7) Fırat Üniversitesi-Elazığ αi = βi K ∑β tarafından oldukça başarılı bir şekilde tanınabilmiştir. MLP dışındaki ağlar, disko türünü sınıflamada genel olarak başarısız kalırken özellikle k-NN %31,31 performansla yapılan tüm denemelerin içinde en kötü başarımı vermiştir. (8) i i =i 5. 3.5. k-En Yakın Komşuluk Sınıflandırıcısı Bu çalışmada, insanların algısı taklit edilerek müzik parçalarını müzikal türlerine göre sınıflandıran bir sistem gerçeklenmiştir. Çalışma kapsamında, 4 farklı türden (pop, klasik, metal ve disko) müzik dosyası, Mel frekans kepstrum katsayıları ve doğrusal öngörü katsayılarından yararlanılarak sınıflandırılmıştır. Öznitelik olarak MFCC ve LPC’lerin yanı sıra bunların ortalaması, değişintisi, birinci dereceden ayrık zamanlı türevi (deltası) ve ikinci dereceden ayrık zamanlı türevi (delta-deltası) kullanılmıştır. Yapılan denemeler sonucunda en yüksek genel başarım MLP ile %95,83 olarak gerçekleşmiştir. Bu sonuç ortalama bir insanın performansından daha yüksektir. Elde edilen sonuçların genel bir değerlendirmesi yapıldığında pop türü tüm sınıflandırıcılar tarafından başarıyla tanınırken disko türü MLP dışındaki sınıflandırıcılar tarafından başarıyla sınıflandırılamamıştır. k-NN bu tür için oldukça başarısız kalmıştır. Buradan, k-NN’in bu tür sınıflama problemleri için uygun bir sınıflandırıcı olmadığı söylenebilir. Bu çalışmada müzik parçalarının türlerine göre sınıflandırılması amaçlanmıştır. Yapılan çalışma sonucunda insan performansından daha başarılı bir sistem elde edilmiş ve amaca ulaşılmıştır. Gelecekteki çalışmalarda tür sayısının arttırılması, farklı özniteliklerin performansa etkisi ve performansı en fazla etkileyen özniteliklerin tespit edilmesi gibi konular üzerinde durulması planlanmaktadır. k-En Yakın Komşuluk (k-Nearest Neighbour, k-NN) sınıflandırıcısı, eğiticili bir sınıflandırma algoritmasıdır. M farklı sınıfa ait N adet eğitim verisi olsun. Eğitme kümesine ait olmayan herhangi bir x verisi, eğitim kümesindeki N adet veriden kendisine en yakın k adet komşusu arasında en sık görülen sınıfa dahil varsayılır [18]. Burada komşu terimi eğitme kümesindeki verileri, yakınlık ise Öklid, Mahalanobis gibi bir uzaklık ölçütünü belirtir. 4. SONUÇLAR UYGULAMA Bu çalışmada 4 farklı müzik türü seçilerek çeşitli öznitelikler yardımıyla sınıflandırmaya çalışılmıştır. Çalışmada kullanılan türler pop, klasik, metal ve disko olarak belirlenmiştir. Çalışmanın ilk adımında ses işaretlerinin MFCC ve LPC katsayıları çıkarılmış, daha sonra bu katsayılardan çeşitli öznitelikler çıkarılmıştır. İlk aşamada elde edilen öznitelik vektörleri kullanılarak ikinci aşamada dört farklı yapay sinir ağının (ileri beslemeli geri yayılım ağı, Elman sinir ağı, olasılıksal sinir ağı ve genelleştirilmiş regresyon ağı) ve bir sınıflandırıcının (k-en yakın komşu sınıflandırıcısı) eğitimi ve testi gerçekleştirilmiş, karşılaştırmalı performans analizleri yapılmıştır. Çalışmada kullanılan 30 sn’lik müzik parçaları 1,5’ar saniyelik 20 bölüme ayrılmış ve her bir bölüm için ayrı ayrı MFCC ve LPC katsayıları hesaplanmıştır. Hesaplanan değerler kullanılarak katsayıların ortalama, varyans, ayrık zamanlı türev (delta) ve ayrık zamanlı ikinci dereceden türevleri (deltadelta) alınarak öznitelik vektörü oluşturulmuştur. Müzik parçaları MARSYAS [5] veri kümesinden derlenmiştir. Her türden 100 adet şarkı seçilmiş, bunların 70 tanesi eğitimde, 30 tanesi ise test işleminde kullanılmıştır. Sınıflandırıcılardaki değişken parametreler her bir sınıflandırıcı için en yüksek performansı elde edecek şekilde deneme yanılma ile tespit edilmiştir. Yapılan denemeler sonucunda MLP için 3 ara katman ve her bir katmanda 8’er nöron kullanılması gerektiğine karar verilmiştir. Aktivasyon fonksiyonu olarak tanjant sigmoid fonksiyonu kullanılmıştır. Öğrenme oranı da yine deneme yanılma yöntemiyle 0,3 olarak belirlenmiştir. Elman ağı üç ara katmana sahip olarak tasarlanmış, ilk iki katmanda 7 nöron, son katmanda ise 4 nörona sahip ocak şekilde oluşturulmuştur. Yapılan denemeler sonucunda en iyi performans öğrenme oranının 0,5 alındığı durumda elde edilmiştir. Olasılıksal sinir ağında yayılım katsayısının en uygun değeri deneme yanılma yöntemiyle 0,7 olarak bulunurken GRNN için en uygun σ değeri 0,6 olarak belirlenmiştir. k-NN sınıflandırıcı için, mevcut sınıflandırma probleminde en iyi performans gösterecek k değeri 10 olarak belirlenmiştir. Tüm sınıflandırıcılar belirlenen bu parametreler ile eğitildikten sonra test verisi ile test edilmiştir. Tablo 1 elde edilen test sonuçlarını göstermektedir. Buradan da görülebileceği gibi, en yüksek genel performans MLP ile %95,83 olarak elde edilirken en düşük performans k-NN ile %71,46 olarak elde edilmiştir. Pop türü tüm ağlar Tablo 1. Kullanılan karşılaştırması (%) Pop sınıflandırıcıların performans Metal Klasik Disko 90 93,3 100 100 95,83 Elman 60 86,6 100 76 88,15 PNN 93,3 86,6 96,6 70 86,63 GRNN 93,3 80 96,6 70 84,97 k-NN 100 78,8 75,8 31,31 71,46 MLP 6. Toplam KAYNAKLAR [1] Avcu, N, Alpkoçak, A, “Yüksek Dereceli İstatistikler Kullanılarak Müzik Türü Sınıflandırılması” IEEE 15 Sinyal İşleme ve Uygulamaları Çalıştayı, 2007. [2] Kosina, K., “Music genre recognition”, Medientechnik und Design in Hagenberg, Lisans Tezi, 2002. [3] Paradzinets, A., Harb, H., Chen, L.,"Multiexpert System for Automatic Music Genre Classification", Teknik Rapor, Ecole Centrale de Lyon, Departement MathInfo, 2009. [4] Panagakis, Y., Kotropoulos,C., Arce, G. R., "Music Genre Classification using Locality Preserving Nonnegative Tensor Factorization and Sparse Representations", 10th International Society for Music Information Retrieval Conference, 2010. 63 Elektrik-Elektronik ve Bilgisayar Sempozyumu 2011 [5] Tzanetakis, G., Cook, P., “Musical Genre Classification of Audio Signal”, IEEE Transactions on Speech and Audio Processing, Vol. 10,No.3,pp.293–302, 2002. [6] Tsunoo, E., Tzanetakis, G., Onon, N., Sagayama, S., "Audio Genre Classification Using Percussive Pattern Clustering Combined with Timbral Features" Proc. Int. Conf. on Multimedia and Expo (ICME), 2009. [7] Bolat, B, Küçük, Ü, "Olasılıksal Sinir Ağları İle Müzikal Enstrüman Ailelerinin Tanınması" EMO 2005 EMO Elektrik - Elektronik - Bilgisayar 11. Ulusal Kongresi, İstanbul, 2005. [8] Demirci, M, D, Öztaş, O, “MFCC ve Vektör Kuantizasyonı Kullanılarak Konuşmacı Tanıma”, II. Mühendislik Bilimleri Genç Araştırmacılar Kongresi MBGAK, İstanbul, sf.132-133, 2005. [9] Tunalı, V., “A Speaker Dependent, Large Vocabulary, Isolated Word Speech Recognation System For Turkish”, Marmara Üniversitesi FBE Yüksek Lisans Tezi, 2005. [10] Rabiner, L.R, Schafer, R.W., Digital Processing of Speech Signals, Prentice-Hall, Englewood Cliffs, 1978. [11] Öcal, K., “Otomatik Konuşma Tanıma Algoritmalarının Uygulamaları”, Ankara Üniversitesi Fen Bilimleri Enstitüsü Yüksek Lisans Tezi, 2005. [12] Baygün, M. K., Yaldır, A. K, "Lineer Predictive Coding Ve Dynamic Time Warping Teknikleri Kullanılarak Ses Tanıma Sistemi Geliştirilmesi", Akademik Bilişim Konferansı 2006, Denzili, Şubat 2006. [13] Tozkan, S., “Yapay Sinir Ağları”, Fırat Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü Bitirme Ödevi, 2004. [14] Yurtoğlu, H., ”Yapay Sinir Ağları Metodolojisi ile Öngörü Modellemesi: Bazı Makroekonomik Değişkenler İçin Türkiye Örneği”, Devlet Planlama Teşkilatı Ekonomik Modeller ve Stratejik Araştırmalar Genel Müdürlüğü, Uzmanlık Tezi, 2005. [15] Specht, D. F., "Probabilistic neural networks", Neural Networks, Vol. 3 (1), pp 109-118, 1990. [16] Engin, E., Kuyucuoğlu, F., “Sayısal Ses İşlemenin Tıbbi Alanda Kullanılması”, Ege Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü Bitirme Projesi Tezi, 2003. [17] Fırat, U., “Yapay Sinir Ağı Kullanarak Deprem Eğiliminin Kestirimi”, Deprem Sempozyumu, Kocaeli, sf. 1348-1352, 2005. [18] Kırmızıgül Çalışkan, S, Soğukpınar, İ, “KxKNN: KMeans ve K En Yakın Komşu Yöntemleri ile Ağlarda Nüfuz Tespiti”, 2. Ağ ve Bilgi Güvenliği Sempozyumu, Girne, 16-18 Mayıs 2008. 64