vineri, 3 ianuarie 2025

Clasificarea genurilor muzicale


Universitatea de Vest din Timisoara


Clasificarea genurilor muzicale



Mihai Bîzdoacă, Mihai Oșan, Mihai Vicol


  1. Introducere      
    Muzica este un limbaj universal, conectând oameni prin ritm, melodie și armonie.  Dar ce se întâmplă atunci când încercăm să învățăm o mașină să recunoască aceste genuri? Este o sarcină simplă? Sau este mai complicată decât pare? Odată cu avansul învățării automate, clasificarea genurilor muzicale a devenit o provocare fascinantă. Prin aplicarea tehnicilor de machine learning pe un set de date clasic, acest blog explorează procesul, provocările și câteva soluții  pentru clasificarea automată a genurilor muzicale,  utilizată pentru organizarea, căutarea și recomandarea melodiilor.

  1. Dataset-ul GTZAN

Cele trei lucrări selectate fokosesc setul de date GTZAN pentru antrenarea modelelor de clasificare. Acesta este unul dintre cele mai utilizate dataset-uri în cercetarea clasificării muzicii. Caracteristici principale ale acestuia sunt:

  • 1.000 de piese audio distribuite uniform,
  • 10 genuri muzicale: o select, ie echilibrata˘, incluzaˆnd clasica˘, country, jazz și rock,
  • piese de 30 de secunde: durat˘a suficienta˘ pentru a extrage modele semnificative, 
  • format audio: piese în format WAV, gata pentru procesare.

Deși popular, GTZAN nu este lipsit de critici. Unele piese se suprapun între genuri, iar dataset-ul poate conține zgomote sau erori de etichetare. Aceste probleme pot afecta performanța modelelor și interpretarea rezultatelor.


  1. Music genre classification: Machine Learning on GTZAN [1]

            1. Preprocesarea datelor

Preprocesarea este crucială în machine learning, mai ales pentru datele audio, care sunt neprelucrate și complexe:

  • Conversia audio în semnal numeric: folosind biblioteca Librosa, semnalul audio brut (fișiere WAV) este convertit într-o reprezentare numerică.
  • Normalizarea datelor: asigurarea unei scări uniforme pentru toate caracteristicile.
  • Segmentarea: împărțirea pieselor audio în bucăți mai mici pentru a capta mai bine informațiile:
    • Segmentare statică: Împărțirea pieselor în segmente fixe de 1 și 3 secunde.
    • Segmentare dinamică: Bazată pe ritm și tempo (4 bătăi per segment).
    • Segmentare dinamica˘: Bazata˘ pe ritm s, i tempo (4 ba˘t˘ai per segment).
            2. Extracția caracteristicilor
    Un semnal audio brut conține multă informație inutilă. Pentru clasificare, extragem caracteristici relevante, cum ar fi:

  • MFCC (Mel Frequency Cepstral Coefficients): Caracteristici esențiale pentru captarea timbrului.
  • Spectrogramă cromatică: Evidențiază tonalitatea piesei.
  • Zero-Crossing Rate: Frecvența cu care semnalul audio traversează valoarea zero, utilă pentru a identifica genurile ritmice.
  • Spectral Roll-off și Spectral Contrast: Măsoară distribuția energiei în frecvențe.

          3. Modele de machine learning utilizate
    Support Vector Machines (SVM)
Support Vector Machines (SVM) este un tip de algoritm de învățare supravegheată utilizat pentru clasificarea datelor. Acestea funcționează prin găsirea unei hiperplane (sau margini) care separă datele în două clase, maximizând distanța dintre punctele cele mai apropiate din fiecare clasă (denumite support vectors). SVM este preferat adesea pentru clasificarea datelor de dimensiuni mari și înalte, cum ar fi datele audio sau imagini, datorită eficienței sale și capacității de a crea separări precise, chiar și atunci când datele sunt nelineare.
        Kernel liniar - este unul dintre cei mai simpli și eficienți algoritmi SVM din punct de vedere computațional. Kernel-ul liniar presupune că datele pot fi separate printr-o linie sau un plan în spațiul caracteristicilor, ceea ce reduce semnificativ complexitatea calculului. În cazul nostru, acest kernel a fost util pentru a obține o primă evaluare a performanței pe segmentele de muzică de 1 secundă și 3 secunde.
Cum funcționează?: Kernel-ul liniar aplică o transformare directă asupra datelor, folosind produsul scalar dintre vectori pentru a decide care este cea mai bună hiperplană de separare a datelor.
        Kernel RBF și polinomial - RBF (Radial Basis Function) și kernel-ul polinomial capteaza relații mai subtile și mai complexe între caracteristicile muzicii.
Cum funcționează kernel-ul RBF?: Acest kernel transformă datele într-un spațiu mai înalt, non-liniar, permițând astfel SVM-ului să separe datele chiar și atunci când nu pot fi separate de o linie dreaptă.
Cum funcționează kernel-ul polinomial?: Kernel-ul polinomial aplică o funcție polinomială pentru a transforma datele, capturând mai multe relații între caracteristici.

    1. Random Forest
    Este un algoritm bazat pe ansambluri (ensemble learning), care constă în antrenarea mai multor arbori de decizie și combinarea predicțiilor acestora. Acest model este eficient pentru a extrage importanța caracteristicilor, ceea ce ne-a permis să identificăm cele mai relevante trăsături ale pieselor muzicale.
    Cum funcționează?: Random Forest construiește mai mulți arbori de decizie, fiecare dintre aceștia luând decizii pe baza unui subset aleatoriu de date și caracteristici. Predicțiile finale sunt făcute prin combinarea rezultatelor obținute de fiecare arbore în parte, ceea ce ajută la reducerea overfitting-ului și la îmbunătățirea generalizării.


    1. Logistic Regression
    Este un model de regresie liniară folosit în mod tradițional pentru clasificare binară, dar poate fi extins pentru clasificări multiclasa. Alegerea acestui model se datorează eficienței și simplității sale, fiind ușor de interpretat și mai rapid de antrenat comparativ cu alte modele mai complexe.
    Cum funcționează?: Logistic Regression estimează probabilitatea de apartenență a unui element la o anumită clasă prin aplicarea unei funcții logistica pe combinația liniară a caracteristicilor. În cazul nostru, fiecare piesă muzicală este clasificată într-unul dintre cele 10 genuri.
    Permutation Importance: Un pas important a fost aplicarea tehnicii Permutation Importance pentru a selecta cele mai relevante 30 de caracteristici. Această metodă evaluează importanța unei trăsături prin perturbarea valorilor acesteia și observarea impactului asupra performanței modelului. Cu alte cuvinte, dacă schimbarea valorii unei caracteristici duce la o scădere semnificativă a performanței, înseamnă că acea caracteristică este esențială pentru model.


            4. Importanța permutării

    Aceasta este o metodă eficientă și ușor de utilizat pentru evaluarea importanței caracteristicilor într-un model de învățare automată. Prin permutarea valorilor caracteristicii și observarea impactului asupra performanței modelului, putem înțelege mai bine care sunt trăsăturile esențiale pentru predicțiile sale. Această metodă este utilizată frecvent pentru a îmbunătăți interpretabilitatea și transparența modelelor de învățare automată, ceea ce este crucial în multe domenii, cum ar fi procesarea semnalelor audio, analiza imaginilor sau predicțiile financiare.
    Una dintre principalele avantaje ale metodei de Importanță Permutării este că este independentă de model. Adică, poate fi aplicată la orice tip de model de învățare automată, fie că este vorba de modele de tip arbori de decizie, regresie logistică, rețele neuronale sau altele. Nu necesită o înțelegere detaliată a modului în care funcționează algoritmul din spatele modelului.
    Permutarea caracteristicilor și analiza impactului asupra performanței modelului ajută la înțelegerea mai clară a carei caracteristici sunt cele mai relevante pentru predicțiile modelului, ceea ce poate fi util în scopuri de explicabilitate și interpretare a modelului.
    Permutation Importance poate fi aplicată și la SVM, dar este utilizată mai frecvent la modelele Random Forest și Logistic Regression, unde relația între caracteristici și predicții este mai intuitivă și interpretarea importanței este mai directă. Dacă scopul principal este interpretabilitatea SVM, tehnici precum analiza coeficienților pentru kernelul liniar sau metodele explicative (ex. SHAP) ar putea fi mai adecvate.

  1. Music Feature Maps with Convolutional Ne- ural Networks for Music Genre Classifica- tion [2]
    1. Introducere
    Clasificarea genurilor muzicale (MGC) este o problemă clasică în domeniul Recuperării Informațiilor Muzicale (MIR). Această sarcină presupune atribuirea unui gen specific unui fragment de muzică pe baza caracteristicilor extrase din semnalul audio. De-a lungul timpului, numeroase metode au fost dezvoltate, multe dintre ele bazându-se pe spectrograme, care sunt reprezentări temporale ale intensităților frecvențelor audio.
    Spectrogramele sunt utile deoarece redau un tipar vizual al texturii sonore, dar interpretarea lor poate fi dificilă, iar dimensiunile mari ale datelor pot cauza suprasarcină computațională. De aceea, acest articol încearcă să îmbunătățească interpretabilitatea și eficiența procesului prin utilizarea unui set de trăsături muzicale bine definite.
    Problema MGC este relevantă în aplicații practice precum recomandările muzicale automate, analiza preferințelor utilizatorilor sau în platformele de streaming. Alegerea unor trăsături bine gândite și implementarea unui model explicabil sunt esențiale pentru a face sistemul robust și transparent.


    1. Tr˘as˘aturi Muzicale

Trăsăturile muzicale sunt extrase din trei dimensiuni fundamentale ale muzicii:

  1. Dinamica  Reprezintă fluctuațiile de intensitate și energie ale sunetului. Această dimensiune este esențială pentru a analiza structura ritmică și variațiile dinamice ale muzicii. Trăsăturile incluse sunt:
    • Energia pe termen scurt: media pătratelor amplitudinilor într-o fereastră de timp.
    • Rata de schimbare a semnalului (Zero-Crossing Rate): numărul de treceri ale semnalului prin punctul zero, care indică complexitatea ritmică.
  1. Timbrul Determin˘a calitatea tonal˘a a sunetului, ceea ce permite distingerea diferitelor instrumente sau voci. Exemple de tra˘s˘aturi timbrale sunt:
    • Stra˘lucirea spectral˘a (Spectral Centroid): centrul de mas˘a al spectrului frecvent, elor.
    • Entropia spectral˘a: distribuția energiei în spectru.
    • Duritatea spectrala˘ (Spectral Flatness): ma˘soara˘ caˆt de asem˘ana˘tor este spectrul cu un zgomot alb.
    • Asprimea spectrala˘ (Spectral Roughness): ma˘soar˘a disonant, a din spectru, utila˘ pentru a diferent, ia genuri muzicale bazate pe armonii complexe de cele mai simple.
  1. Tonalitatea   Este legată de percepția muzicală a armoniei și melodiilor. Trăsătura principală folosită în acest studiu este:
    • Claritatea tonalit˘at, ii (Key Clarity): reflectă cât de bine se potrivește sunetul cu o scară tonală teoretică.
    • Schimb˘arile armonice (Harmonic Change Detection): Reflectă tranzițiile dintre acorduri sau tonalități într-un fragment muzical, indicând structura armonică a piesei.

Procesul de extragere: Toate aceste tra˘s˘aturi sunt extrase automat utilizaˆnd biblioteca MirToolbox. Aceste trăsături sunt sincronizate pe intervale de 46.4 ms pentru a permite modelului să capteze detaliile temporale ale muzicii.


  1. Rețele Neuronale

Autori utilizeaza˘ dou˘a arhitecturi CNN, fiecare adaptata˘ pentru un set de intra˘ri diferit:

  1. Ret, eaua bazat˘a pe spectrograme (net STFT): Această rețea tratează spectrogramele ca imagini, aplicând filtre convoluționale pentru a identifica tiparele sonore. Arhitectura este tipică pentru analiza imaginilor, fiind compusă din:
    • Layer-e convoluționale pentru extragerea caracteristicilor.
    • Blocuri reziduale pentru îmbunătățirea propagării semnalului.
    • Un strat complet conectat pentru clasificare.
  1. Rețeaua bazat˘a pe tr˘as˘aturi muzicale (net MUSIC): pre deosebire de net_STFT, acest model folosește trăsături muzicale extrase anterior, fiecare reprezentând dimensiuni diferite ale muzicii. Acest model are avantaje clare:
    • Eficiență computaț ional˘a mai mare datorita˘ num˘arului redus de intra˘ri.
    • Interpretabilitate crescut˘a, deoarece fiecare trăsătură are un sens fizic și muzical.

Strategii de fuziune: Cele două rețele sunt combinate prin fuziunea rezultatelor lor. Două metode au fost explorate:

  • FUSION1: Media scorurilor de probabilitate generate de cele doua˘ reț ele.
  • FUSION2: O combinare ponderata˘, în care reț elele contribuie în funcție de performantța sa.

Fuziunea rețelelor CNN

Pentru clasificarea genurilor muzicale, netSTFT (rețeaua bazată pe spectrograme) și netMUSIC (rețeaua bazată pe trăsături muzicale) procesează informația în moduri complementare, utilizând seturi de intrări diferite. O strategie de fuziune permite combinarea punctelor forte ale ambelor modele, obținând performanțe superioare. Fuziunea se realizează în etapa de clasificare, combinând predicțiile probabilistice generate de cele două rețele.


FUSION1: Media scorurilor de probabilitate

Proces:

  1. Input comun: Ambele rețele rulează pe același fragment audio.
    • netSTFT produce vectorul de probabilități PSTFT=[p1,p2,...,p10], fiecare pireprezentând probabilitatea ca fragmentul să aparțină genului i.
    • netMUSIC produce un vector similar PMUSIC=[q1,q2,...,q10].
  2. Calcularea scorurilor combinate:PFUSION1=PSTFT+PMUSIC2
  3. Clasificare: Genul final este atribuit clasei cu probabilitatea maximă din PFUSION1.

Avantaje:

  • Simplicitate: Implementare facilă, fără ajustarea parametrilor.
  • Generalizare: Reduce riscul de supra-antrenare prin combinarea directă a rețelelor.

Dezavantaje:

  • Ignorarea ponderilor individuale: Contribuțiile fiecărei rețele sunt egale, indiferent de performanțele lor.

FUSION2: Combinație ponderată

Proces:

  1. Atribuirea ponderilor:
    • Fiecărei rețele i se atribuie o pondere, α pentru netSTFT și β pentru netMUSIC, unde α+β=1.
    • Ponderile sunt determinate pe baza performanțelor individuale ale rețelelor pe un set de validare.
  2. Calcularea scorurilor combinate:
PFUSION2=αPSTFT+βPMUSIC
  1. Clasificare: Genul final este atribuit clasei cu probabilitatea maximă din PFUSION2.

Exemplu:

  • Precizie netSTFT=88%,precizie netMUSIC=90%.
  • Atribuim  și .
  • Dacă:
    • PSTFT=[0.1,0.3,0.4,0.2,0.0,...]
    • PMUSIC=[0.05,0.25,0.6,0.1,0.0,...],
      atunci:
    PFUSION2=0.4PSTFT+0.6PMUSIC=[0.07,0.27,0.52,0.14,0.0,...]Genul final este clasa 3, cu probabilitatea maximă 0.52.

Avantaje:

  • Flexibilitate: Permite ajustarea contribuțiilor fiecărei rețele pentru optimizarea performanței generale.
  • Performanță superioară: Exploatează mai bine complementaritatea rețelelor.

Dezavantaje:

  • Complexitate: Necesită determinarea optimă a ponderilor, de obicei printr-un proces iterativ.

Compararea rezultatelor:

  • FUSION1: A obținut rezultate mai bune decât utilizarea individuală a celor două rețele, însă performanța este limitată de atribuirea egală a ponderilor.
  • FUSION2: A înregistrat cea mai mare precizie (91%), demonstrând că atribuirea ponderilor optime maximizează complementaritatea între rețele.


    1. Experimente și Rezultate
  • netSTFT (spectrograma): Precizie de 87.8%. Spectrogramele captează bine tiparele sonore, însă complexitatea ridicată a datelor poate afecta performanța.

  • netMUSIC (trăsături muzicale): Precizie de 89.6%. Trăsăturile selectate manual au oferit o reprezentare mai eficientă a sunetului, în ciuda numărului redus de intrări.

  • Fuzionarea rețelelor: Metoda FUSION2 a obținut cele mai bune rezultate, cu o precizie de 91%.

Utilizarea trăsăturilor muzicale nu doar îmbunătățește interpretabilitatea, ci reduce și timpul de calcul necesar. Totuși, spectrogramele rămân valoroase pentru captarea detaliilor mai complexe, ceea ce justifică fuziunea celor două abordări.


  1. Musical Genre Classification Using Advan- ced Audio Analysis and Deep Learning Te- chniques [3]

    Lucrarea explorează clasificarea genurilor muzicale utilizând metode avansate de procesare a datelor și modele de învățare automată și profundă.

    Aceasta investighează utilizarea unor modele diverse, printre care CNN, LSTM, SVM, kNN și FNN, cu scopul de a identifica cel mai performant model pentru această sarcină. Principalele seturi de date folosite sunt GTZAN și ISMIR2004, reprezentative pentru genuri muzicale diverse. Studiul se concentrează pe extragerea caracteristicilor relevante din semnalul audio și pe adaptarea parametrilor modelului pentru a maximiza acuratețea.


  1. Procesarea Datelor
    Seturile de date GTZAN și ISMIR2004 au fost utilizate pentru antrenarea și evaluarea modelelor. ISMIR2004 cuprinde genuri de dans, cum ar fi samba, vals și quickstep. Datele au fost preprocesate pentru a extrage caracteristici esențiale din punct de vedere muzical.
    În acest experiment, fiecare segment audio de 30 de secunde a fost preprocesat pentru a obține spectre Mel, utilizând o rată de eșantionare de 22.050 Hz și aplicând Transformata Fourier (FFT) pe ferestre de 2048 de cadre. Caracteristicile esențiale sunt extrase din Coeficienții Cepstrali pe Frecvența Mel (MFCC), care concentrează informațiile perceptuale importante ale sunetului, similare percepției auditive umane. Acest format comprimat este mai puțin sensibil la zgomot și îmbunătățește recunoașterea automată a genurilor muzicale.
    Un aspect important al preprocesării a fost selecția caracteristicilor, realizată pentru a îmbunătăți performanța modelului și pentru a reduce complexitatea computațională. Această etapă implică eliminarea datelor redundante sau irelevante, ceea ce duce la predicții mai precise și timpi de antrenare mai scurți. Totuși, selecția caracteristicilor a ridicat provocări din cauza dimensiunii mari a spațiului de caracteristici audio. Extragerea unui număr mare de atribute poate duce la o reprezentare complicată, făcând dificilă identificarea celor mai utile caracteristici.

     2.  Modele

Rețele neuronale convoluționale (CNN)

    Modelul CNN începe cu trei straturi convoluționale (128 filtre, kernel 3 × 3, activare ReLU, max-pooling, batch normalization) și un alt strat convoluțional (64 filtre, kernel 2 × 2). Straturile complet conectate includ unul dens cu 64 de unități (activare ReLU) și dropout pentru regularizare.

    Modelul modificat utilizează trei straturi convoluționale inițiale (3 × 3, ReLU), cu 256, 128 și 64 filtre, urmate de MaxPooling2D (3 × 3, dimensiunea pașilor - strides - 2 × 2) și batch normalization. Alte două straturi convoluționale (3 × 3, 2 × 2, ambele utilizând ReLU) rafinează caracteristicile extrase, iar o etapă de aplatizare pregătește datele pentru straturile complet conectate.

    Stratul dens principal (64 unități, ReLU) este urmat de dropout (0.2) pentru prevenirea overfitting-ului. Strat final dens (10 unități, Softmax) prezice distribuția probabilistică a genurilor. Modelul folosește Adam (lr = 0.0001) pentru optimizare.

Rețele neuronale recurente cu memorie pe termen lung (RNN-LSTM)

    Modelul LSTM a inclus două straturi LSTM cu 128 și 64 de unități, respectiv, urmate de layere dense cu activare ReLU. Dropout-ul (0.3) a fost aplicat între straturi pentru a reduce supraînvățarea, iar regularizarea L2 (coeficient 0.01) a fost utilizată pentru a controla complexitatea modelului. Modelul este compilat folosind optimizatorul Adam cu o rată de învățare de 0.0001.

Mașini cu suport vectorial (SVM)

    SVM a fost utilizat cu un kernel liniar pentru separarea claselor. Modelul s-a concentrat pe identificarea hiperplanului optim în spațiul caracteristicilor.

k-Nearest Neighbors (kNN)

    Modelul kNN calculează distanțele dintre perechile de eșantioane utilizând divergența Kullback-Leibler. Pe baza acestor distanțe, algoritmul selectează k cei mai apropiați vecini pentru fiecare eșantion de test. Etichetele de gen ale vecinilor sunt utilizate într-un proces de vot, cel mai frecvent fiind atribuit eșantionului.

    1. Rezultate

    Modelul CNN modificat a obținut cele mai bune rezultate, cu o acuratețe de 92.7% pe setul de date GTZAN și 91.6% pe ISMIR2004. În comparație, CNN a atins {85.56%, 90%}, SVM {79%, 76%}, kNN {70%, 68.5%}, FNN {76%, 74.1%}, iar RNN-LSTM {73%, 71.6%}. Studiul concluzionează că arhitecturile complexe de rețele neuronale, în combinație cu extragerea atentă a caracteristicilor audio, oferă soluții eficiente pentru clasificarea genurilor muzicale.

  1. Comparat, ie (acuratet, e)

  1. Concluzii s, i direct, ii viitoare

    Clasificarea genurilor muzicale reprezintă o provocare în domeniul învățării automate, datorită diversității și complexității semnalelor audio. Analiza celor trei lucrări evidențiază eficiența arhitecturilor CNN, care, prin stratificări multiple și tehnici de regularizare, au atins acuratețe de peste 92%.

    Integrarea diferitelor abordări, cum ar fi fuziunea modelelor (FUSION2), a demonstrat că strategiile combinate pot îmbunătăți semnificativ performanța, atingând o acuratețe de 91%. Metodele tradiționale, precum SVM și Random Forest, deși utile, se dovedesc mai puțin eficiente în captarea tiparelor complexe din datele audio.

    Setul de date GTZAN, deși popular, prezintă limitări, cum ar fi etichetări neuniforme și suprapuneri între genuri. Utilizarea unor seturi de date mai diverse și tehnici de augmentare ar putea îmbunătăți generalizarea modelelor.

    O direcție viitoare promițătoare constă în combinarea etapelor de preprocesare avansată, prezentate în prima lucrare, cu arhitectura CNN modificată descrisă în cea de-a treia lucrare. Această integrare ar putea aduce îmbunătățiri semnificative, având în vedere că fiecare metodă contribuie cu puncte forte complementare.


Bibliografie

  1. Z. Zhao, Z. Xie, J. Fu, and X. Tian. Music genre classification: Machine learning on gtzan. Applied and Computational Engineering, 79:219–233, 2024.
  2. Christine Senac, Thomas Pellegrini, Florian Mouret, and Julien Pinqu- ier. Music feature maps with convolutional neural networks for music genre classification. In Proceedings of the 15th International Workshop on Content-Based Multimedia Indexing, CBMI ’17, New York, NY, USA, 2017. Association for Computing Machinery.
  3. Mumtahina Ahmed, Uland Rozario, Md Mohshin Kabir, Zeyar Aung, Jungpil Shin, and M. F. Mridha. Musical genre classification using ad- vanced audio analysis and deep learning techniques. IEEE Open Journal of the Computer Society, 5:457–467, 2024.

Niciun comentariu:

Trimiteți un comentariu

Microaneurysm Detection Using Fully Convolutional Neural Networks

  Microaneurysm Detection Using Fully Convolutional Neural Networks (Piotr Chudzik et al.) Introduction Retinopatia diabetică (DR) est...