Mendelova univerzita v Brnˇe Provoznˇe ekonomick´a fakulta
Aplikace modern´ıch metod klasifikace zvukov´ ych dat Disertaˇ cn´ı pr´ ace
ˇ Skolitel: ˇ ’astn´y, CSc. doc. RNDr. Ing. Jiˇr´ı St
Brno 2011
Ing. Jiˇr´ı Fejfar
R´ad bych podˇekoval ˇskoliteli a vˇsem spolupracovn´ık˚ um za cenn´e rady.
Prohlaˇsuji, ˇze jsem tuto disertaˇcn´ı pr´aci vypracoval samostatnˇe a v seznamu literatury a pramen˚ u uvedl veˇsker´e informaˇcn´ı zdroje, kter´e jsem pouˇzil.
V Brnˇe, dne 18. srpna 2011
....................................................
Abstract Fejfar, J. Application of Modern Methods for Sound Data Classification. Ph.D. thesis. Brno, 2011. This work describes contemporary methods for sound data classification and their application on sound recordings. This work deals with the selection of sound signal characteristics appropriate for concrete classification criteria followed by the exploration of proper types of artificial neural networks for this task. Different topologies and learnings algorithms of chosen neural networks are proposed and their performance in this classification is compared. Results compared are discussed and the best solution for sound data classificaton based on the content of recordings is chosen. This work also includes the chosen algorithms implementation into the software solution of my own. Keywords classification, sound data, artificial intelligence, neural networks, self-organization
Abstrakt Fejfar, J. Aplikace modern´ıch metod klasifikace zvukov´ych dat. Disertaˇcn´ı pr´ace. Brno, 2011. Pr´ace popisuje modern´ı metody pro klasifikaci zvukov´ ych dat a jejich aplikaci na zvukov´ ych nahr´avk´ach. Je ˇreˇsen zp˚ usob v´ ybˇeru charakteristik audio sign´alu vhodn´ ych pro konkr´etn´ı krit´eria klasifikace a d´ale jsou pro tuto u ´lohu hled´any vhodn´e typy umˇel´ ych neuronov´ ych s´ıt´ı. U vybran´ ych typ˚ u umˇel´ ych neuronov´ ych s´ıt´ı jsou vybr´any r˚ uzn´e varianty topologi´ı a uˇc´ıc´ıch algoritm˚ u, kter´e jsou vz´ajemnˇe porovn´any. V´ ysledky jsou analyzov´any a je vybr´ana nejlepˇs´ı metoda pro klasifikaci zvukov´ ych dat z hlediska jejich obsahu. Pr´ace rovnˇeˇz zahrnuje implementaci vybran´ ych algoritm˚ u v r´amci vlastn´ıho softwarov´eho ˇreˇsen´ı. Kl´ıˇ cov´ a slova klasifikace, zvukov´a data, umˇel´a inteligence, neuronov´e s´ıtˇe, samoorganizace
1
OBSAH
Obsah ´ 1 Uvod 1.1 Struktura pr´ace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 C´ıl pr´ace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Souˇ casn´ y stav ˇ reˇ sen´ e problematiky 2.1 Podobnost zvukov´ ych dat . . . . . . . . . . . . 2.1.1 Barva zvuku . . . . . . . . . . . . . . . . 2.1.2 V´ yˇskov´e vztahy . . . . . . . . . . . . . . 2.1.3 Horizont´aln´ı vztahy . . . . . . . . . . . . 2.1.4 Forma . . . . . . . . . . . . . . . . . . . 2.1.5 Informaˇcn´ı hustota . . . . . . . . . . . . 2.1.6 Tˇr´ıdˇen´ı podle autora, ˇza´nru, v´ıce krit´eri´ı ˇ 2.1.7 Casov´ a podobnost . . . . . . . . . . . . 2.1.8 Procesy . . . . . . . . . . . . . . . . . . 2.1.9 Stupnice . . . . . . . . . . . . . . . . . . 2.2 Spoleˇcn´e vlastnosti – zvukov´ y objekt . . . . . . 2.3 Vizualizace, organizace . . . . . . . . . . . . . . 2.4 Shrnut´ı . . . . . . . . . . . . . . . . . . . . . . . 3 Zpracov´ an´ı zvukov´ eho sign´ alu 3.1 Zvuk a jeho vn´ım´an´ı . . . . . . . . . . . . 3.2 Modelov´an´ı zvukov´eho dˇen´ı . . . . . . . . 3.2.1 Zvuk . . . . . . . . . . . . . . . . . 3.2.2 Hudba . . . . . . . . . . . . . . . . 3.3 Anal´ yza sign´alu v ˇcasov´e oblasti . . . . . . 3.4 Spektr´aln´ı anal´ yza . . . . . . . . . . . . . 3.4.1 Fourierova transformace diskr´etn´ıho ˇ 3.5 Casovˇ e frekvenˇcn´ı anal´ yza . . . . . . . . . 3.6 V´ ybˇer charakteristik . . . . . . . . . . . . 3.6.1 Automatick´ y v´ ybˇer charakteristik . ˇ 3.7 C´ıslicov´e filtry . . . . . . . . . . . . . . . . 4 Metody umˇ el´ e inteligence 4.1 Tˇr´ıdˇen´ı . . . . . . . . . . . . . . . . . . . . 4.2 Rozpozn´av´an´ı . . . . . . . . . . . . . . . . 4.2.1 Pˇr´ıznakov´e metody rozpozn´av´an´ı . 4.2.2 Struktur´aln´ı metody rozpozn´av´an´ı 4.3 Neuronov´e s´ıtˇe . . . . . . . . . . . . . . . 4.4 Samoorganizace . . . . . . . . . . . . . . . 4.4.1 Vektorov´a kvantizace . . . . . . . . 4.4.2 Samoorganizu´ıc´ı se mapy . . . . . . 4.4.3 Learning Vector Quantization . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sign´alu . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
5 6 6
. . . . . . . . . . . . .
7 7 8 9 10 11 13 14 15 15 16 16 17 18
. . . . . . . . . . .
19 20 21 22 24 27 30 30 32 32 33 33
. . . . . . . . .
35 35 36 36 37 37 39 39 40 42
2
OBSAH
4.5
Strojov´e uˇcen´ı . . . . . . . . . . . . 4.5.1 Uˇcen´ı s uˇcitelem . . . . . . 4.5.2 Uˇcen´ı bez uˇcitele . . . . . . 4.5.3 Uˇcen´ı s ˇc´asteˇcn´ ym dohledem
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
5 Aplikace 5.1 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Ohodnocen´ı dat (labels) . . . . . . . . . . . . . . . . . . . . . 5.1.2 Autorsk´ y z´akon . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.3 Voln´e on-line datab´aze . . . . . . . . . . . . . . . . . . . . . . 5.1.4 Popis nahr´avek . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.5 Dˇelen´ı nahr´avek . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.6 Standardizace dat . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.7 Form´at v´ ystupn´ıch dat . . . . . . . . . . . . . . . . . . . . . . 5.2 Zkouˇska koncepce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Nahr´avky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Charakteristiky . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 Shlukov´an´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Vyˇc´ıslen´ı chyby pˇri shlukov´an´ı . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Zkouman´e parametry . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Datab´aze nahr´avek . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 V´ ypoˇcet chyby . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.4 V´ ysledky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.5 Diskuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Porovn´an´ı shlukovac´ıch algoritm˚ u . . . . . . . . . . . . . . . . . . . . 5.4.1 Popis v´ yvoje hlasitosti . . . . . . . . . . . . . . . . . . . . . . 5.4.2 Zp˚ usoby porovn´an´ı v´ ysledk˚ u shlukov´an´ı . . . . . . . . . . . . 5.4.3 Srovn´avan´e algoritmy . . . . . . . . . . . . . . . . . . . . . . . 5.4.4 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.5 Labely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.6 Stanoven´ı poˇctu shluk˚ u. . . . . . . . . . . . . . . . . . . . . . 5.4.7 Porovn´an´ı v´ ysledk˚ u . . . . . . . . . . . . . . . . . . . . . . . . 5.4.8 Z´avˇer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Porovn´an´ı klasifikaˇcn´ıch algoritm˚ u. . . . . . . . . . . . . . . . . . . . 5.5.1 k nejbliˇzˇs´ıch soused˚ u . . . . . . . . . . . . . . . . . . . . . . . 5.5.2 V´ıcevrstv´a neuronov´a s´ıt’ (MLP) . . . . . . . . . . . . . . . . . 5.5.3 Learning Vector Quantization (LVQ1) . . . . . . . . . . . . . 5.6 Uˇcen´ı s ˇca´steˇcn´ ym dohledem pro Kohonenovu mapu . . . . . . . . . . 5.6.1 N´avrh semi-supervised uˇc´ıc´ıho algoritmu pro Kohonenovu mapu 5.6.2 Barven´ı v´ ysledn´ ych map . . . . . . . . . . . . . . . . . . . . . 5.7 Rozliˇsen´ı hudebn´ıch a nehudebn´ıch uk´azek . . . . . . . . . . . . . . . 5.8 Metoda klasifikace audio dat . . . . . . . . . . . . . . . . . . . . . . .
42 43 44 44 47 47 47 47 48 48 49 50 51 53 53 54 55 58 59 59 59 61 66 68 68 69 70 70 71 71 72 74 75 75 78 82 83 83 84 85 88
3
OBSAH
6 Implementace 6.1 Mappa – SOM a LVQ implementace v C++ . . . . . . . . . 6.1.1 Programovac´ı jazyk a knihovny . . . . . . . . . . . . 6.1.2 Pouˇzit´ y SW . . . . . . . . . . . . . . . . . . . . . . . 6.1.3 Objektov´ y n´avrh . . . . . . . . . . . . . . . . . . . . 6.1.4 Pozn´amky k implementaci . . . . . . . . . . . . . . . 6.2 Virtu´aln´ı zvukov´a laboratoˇr . . . . . . . . . . . . . . . . . . 6.2.1 SoundLab – server . . . . . . . . . . . . . . . . . . . 6.2.2 Klientsk´a aplikace pro anal´ yzu nahr´avek – Agent++
. . . . . . . .
89 89 89 89 90 92 93 93 95
7 Zhodnocen´ı v´ ysledk˚ u 7.1 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Zpracov´an´ı sign´alu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Metody umˇel´e inteligence . . . . . . . . . . . . . . . . . . . . . . . . .
97 97 98 99
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
8 Z´ avˇ er
101
Literatura
103
4
OBSAH
1
´ UVOD
5
´ Uvod
1
Z´ısk´av´an´ı hudebn´ıch informac´ı (Music Information Retrieval) je mezioborov´a discipl´ına snaˇz´ıc´ı se o z´ısk´an´ı informac´ı z hudby pomoc´ı metod umˇel´e inteligence (Widmer, 2006). Jej´ı vznik je pˇr´ım´ ym n´asledkem potˇreb inteligentn´ıho prohled´av´an´ı zvukov´ ych datab´az´ı, kter´e se objevily v posledn´ıch letech. V´ ysledky v´ yzkumu v t´eto oblasti jsou od roku 2000 kaˇzdoroˇcnˇe publikov´any na mezin´arodn´ıch konferenc´ıch z´ısk´av´an´ı hudebn´ıch znalost´ı, napˇr. ISMIR1 , MIREX2 a dalˇs´ıch. Pˇr´ıspˇevky ˇcasto prezentuj´ı nov´e koncepce ˇreˇsen´ı u ´loh jako napˇr´ıklad automatick´e tˇr´ıdˇen´ı nahr´avek v rozs´ahl´ ych datab´az´ıch, inteligentn´ı prohled´av´an´ı rozs´ahl´ ych datab´az´ı, zpracov´an´ı mluven´eho projevu, automatick´e rozliˇsov´an´ı nahr´avek podle n´astroj˚ u, stylu, interpret˚ u atd., nalezen´ı neoˇcek´avan´ ych podobnost´ı mezi d´ıly r˚ uzn´ ych ˇza´nr˚ u. V t´eto pr´aci hudbu ch´apeme v nejˇsirˇs´ı definici, jako organizovan´ y zvuk. Zahrnuje tedy vˇsechen zvukov´ y materi´al, ve kter´em m˚ uˇzeme nal´ezt urˇcit´a pravidla uspoˇr´ad´an´ı – vˇcetnˇe ˇreˇci, zvuk˚ u vyd´avan´ ych zv´ıˇraty atd. S pˇr´ıchodem digitalizace hudebn´ıch nahr´avek se zaˇcaly vytv´aˇret rozs´ahl´e hudebn´ı archivy, kter´e je moˇzno elektronicky prohled´avat. Na internetu se v posledn´ıch letech objevuj´ı nov´e a nov´e datab´aze3 obsahuj´ıc´ı velk´e mnoˇzstv´ı audio dat. Vyhled´av´an´ı v tˇechto datab´az´ıch je vˇsak prozat´ım dosti omezen´e. V souˇcasn´e dobˇe m˚ uˇzeme vˇetˇsinou vyhled´avat pouze na z´akladˇe textov´ ych metadat, napˇr´ıklad autora, stylu, instrumentace a vlastn´ıho textu. Tyto metadata se do datab´az´ı zad´avaj´ı ruˇcnˇe, takˇze jsou nav´ıc ˇcasto nespolehliv´a. V pˇr´ıpadˇe obecn´ ych zvuk˚ u m´ame k dispozici pouze popis nahr´avky, napˇr´ıklad zpˇev pt´aka urˇcit´eho druhu, ˇcas a m´ısto nahr´avky. V´ ysledkem je, ˇze se ve velk´ ych datab´az´ıch nezn´am´ ych nahr´avek jen tˇeˇzko orientujeme. Mus´ıme se zde spol´ehat na naˇse znalosti autora, hudebn´ıho stylu, popˇr´ıpadˇe charakteru zpˇevu urˇcit´eho druhu pt´aka. Sp´ıˇse neˇz na z´akladˇe metadat bychom ale potˇrebovali hledat nahr´avky na z´akladˇe jejich obsahu, napˇr´ıklad rytmick´e struktury, vlastnosti jejich spektra atd. Moˇznost tˇr´ıdit a z r˚ uzn´ ych hledisek porovn´avat zvukov´e nahr´avky je pro ˇclovˇeka relativnˇe jednoduch´a, je zde vˇsak omezen sv´ ym ˇcasem. Informace o zaznamenan´em zvuku nelze z´ısk´avat jinak neˇz pozorn´ ym poslechem. V pˇr´ıpadˇe rozs´ahl´ ych datab´az´ı je takov´eto vyhled´av´an´ı ˇcasovˇe velmi n´aroˇcn´e. Kdybychom tyto nahr´avky poslouchali s odborn´ıkem, jenˇz by obsah cel´ ych archiv˚ u znal, byl by n´am schopen o nich mnoh´e ˇr´ıci a uk´azat n´am podobnost s jin´ ymi nahr´avkami, coˇz by bylo velmi obohacuj´ıc´ı. S jeho pomoc´ı bychom byli schopni v archivech nal´ezt nahr´avky, kter´e n´as z nejr˚ uznˇejˇs´ıch d˚ uvod˚ u (zvukov´ ych, n´astrojov´eho obsazen´ı, rytmu, formy) zaj´ımaj´ı. Mohli bychom takto z´ısk´avat vˇedomosti o tom, jak´a hudba existuje (Serra, In Press) a utv´aˇret si pˇredstavy o vlastnostech hudby pro n´as zaj´ımav´e. To je motivac´ı vytvoˇren´ı syst´emu, jenˇz by n´am inteligentn´ı prohled´av´an´ı zvukov´ ych archiv˚ u umoˇzn ˇoval. 1
http://www.ismir.net/ http://www.music-ir.org/mirex/2009/index.php/Main Page 3 http://www.freesound.org, http://www.myspace.com, http://www.musipedia.org 2
6
1.1
1
´ UVOD
Struktura pr´ ace
Kapitola 1 seznamuje s oblast´ı z´ısk´av´an´ı hudebn´ıch informac´ı a je zde urˇcen´ y c´ıl pr´ace. Kapitola 2 ukazuje souˇcasn´e moˇznosti tˇr´ıdˇen´ı zvukov´ ych nahr´aveki a ˇca´steˇcnˇe nastiˇ nuje sloˇzitou ot´azku podobnosti zvukov´ ych uk´azek. Jsou zde rozdˇeleny r˚ uzn´e zp˚ usoby urˇcov´an´ı podobnosti hudebn´ıch uk´azek a jsou uk´az´any konkr´etn´ı postupy pouˇzit´e pˇri jejich klasifikaci. V kapitole 3 je pops´ano, jak´ ymi druhy sign´alu se hudebn´ı informace pˇren´aˇsej´ı, jsou zde vysvˇetleny pojmy pomoc´ı kter´ ych m˚ uˇzeme modelovat hudebn´ı a obecnˇe zvukov´e dˇen´ı. D´ale kapitola popisuje d˚ uleˇzit´e charakteristiky audio sign´alu a zp˚ usob, jak´ ym je m˚ uˇzeme z´ıskat. V z´avˇeru je navrˇzen zp˚ usob automatick´eho v´ ybˇeru charakteristik vhodn´ ych pro klasifikaci urˇcit´ ych druh˚ u nahr´avek. Kapitola 4 pˇredstavuje pˇrehled a popis metod umˇel´e inteligence vyuˇz´ıvan´ ych v t´eto pr´aci a obsahuje n´avrh rozˇs´ıˇren´ı Kohonenovy samoorganizuj´ıc´ı se mapy o pouˇzit´ı ohodnocen´ ych dat. V kapitole 5 je pops´ana aplikace navrˇzen´eho postupu na nˇekolik oblast´ı tˇr´ıdˇen´ı zvukov´ ych nahr´avek. Jedn´a se o klasifikaci hudebn´ıch nahr´avek podle zvukov´eho obsahu. Kapitola 6 popisuje d˚ uleˇzit´a m´ısta implementace cel´eho ˇreˇsen´ı vˇcetnˇe pouˇzit´ı ’ s´ıt ov´e architektury. Popisuje u ´lohy ˇreˇsen´e v r´amci virtu´aln´ı zvukov´e laboratoˇre.
1.2
C´ıl pr´ ace
C´ılem disertaˇcn´ı pr´ace je anal´ yza nov´ ych metod a implementace navrˇzen´ ych algoritm˚ u, zejm´ena umˇel´ ych neuronov´ ych s´ıt´ı, pro potˇreby klasifikace zvukov´ ych dat se zamˇeˇren´ım na rozpozn´av´an´ı fragment˚ u skladeb i celkov´e struktury skladby. Konkr´etnˇe se jedn´a pˇredevˇs´ım o anal´ yzu vhodn´ ych typ˚ u umˇel´ ych neuronov´ ych s´ıt´ı vˇcetnˇe n´avrhu a implementace pˇr´ısluˇsn´ ych uˇc´ıc´ıch algoritm˚ u pro u ´lohy klasifikace. Navrˇzen´e metody a algoritmy jsou testov´any ve vlastn´ım vytvoˇren´em softwarov´em prostˇred´ı.
2
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY SOUCASN Y
2
7
Souˇ casn´ y stav ˇreˇsen´ e problematiky
Pˇri prohled´av´an´ı internetov´ ych datab´az´ı s nezn´am´ ymi nahr´avkami nar´aˇz´ıme na probl´em nekvalitn´ıho tˇr´ıdˇen´ı (Celma, 2008). Nejsou lid´e, kteˇr´ı by tyto nahr´avky nˇejak tˇr´ıdili, i potom by toto tˇr´ıdˇen´ı bylo velmi subjektivn´ı. Tˇr´ıdˇen´ı nen´ı jednoduch´e – nˇekter´e zvukov´e nahr´avky jsou si podobn´e ve v´ıce ohledech (rytmus, spektrum), jin´e ne. Automatick´a klasifikace by zde byla velmi uˇziteˇcn´a. Pro klasifikaci audio nahr´avek je kl´ıˇcov´e vytvoˇren´ı spr´avn´ ych charakteristick´ ych vektor˚ u. Jsou to vektory obsahuj´ıc´ı informace o ˇc´astech nahr´avky (ˇcasov´em ok´enku, nebo i vˇetˇs´ım u ´seku). Pot´e, co jsou charakteristick´e informace z nahr´avek z´ısk´any a jsou pˇrid´any k pˇr´ısluˇsn´ ym nahr´avk´am do datab´aze, m˚ uˇzeme tuto datab´azi zaˇc´ıt na z´akladˇe obsahu nahr´avek prohled´avat pomoc´ı datab´azov´ ych dotaz˚ u. Napˇr´ıklad: vyhledej vˇsechny nahr´avky, kter´e maj´ı dominuj´ıc´ı jeden t´on v´ yˇskov´eho histogramu. Datab´aze n´am vr´at´ı mnoˇzstv´ı nahr´avek, kter´e budou souviset s popsan´ ym jevem. Jelikoˇz to bude t´on, p˚ ujde zˇrejmˇe o hudbu, ta bude m´ıt asi tak´e urˇcit´ y charakter, jelikoˇz bude m´ıt ton´aln´ı centrum (viz 3.2.2). Jak ale dos´ahnout toho, aby datab´aze vr´atila kupˇr´ıkladu nahr´avky zpˇevu urˇcit´eho druhu pt´aka? Jak´e parametry zde zadat? Pomoci n´am tu m˚ uˇze klasifikace zvukov´ ych dat pomoc´ı metod umˇel´e inteligence. Takto bychom mohli nahr´avky rozdˇelit do urˇcit´ ych skupin a ty pot´e povaˇzovat za nahr´avky podobn´e. Ot´azkou zde je, jak by mˇely b´ yt tyto skupiny definov´any. M˚ uˇzeme vyuˇz´ıt roztˇr´ıdˇen´ı na klasickou hudbu, rock, lidovou hudbu, zpˇev pt´ak˚ u atd. Toto tˇr´ıdˇen´ı m´a vˇsak sv´a u ´skal´ı, jenˇz zn´a asi kaˇzd´ y, kdo se pokusil t´ımto zp˚ usobem roztˇr´ıdit sv˚ uj archiv nahr´avek. Pro jist´e nahr´avky nem˚ uˇzeme nal´ezt vhodnou kategorii, jin´e zase patˇr´ı do v´ıce kategori´ı najednou atp. Moˇzn´e je tak´e tˇr´ıdˇen´ı podle data vzniku hudby. I zde je vˇsak mnoho pˇr´ıpad˚ u, kdy se hudba sv´e dobˇe vymyk´a. Dalˇs´ı moˇznost´ı by bylo pouˇzit´ı n´astroje, jenˇz by na z´akladˇe podobnosti charakteristick´ ych vektor˚ u nahr´avek vytv´aˇrel shluky nez´avisl´e na zaˇzit´em tˇr´ıdˇen´ı. Na prvn´ı pohled se to nezd´a pˇr´ıliˇs v´ yhodn´e, jelikoˇz nebudeme moci ve vyhled´av´an´ı vyuˇz´ıt zaˇzit´ ych kategori´ı. Nab´ızej´ı se tu vˇsak mnoh´e zaj´ımav´e moˇznosti, kter´e by mohly pˇrispˇet k vytvoˇren´ı nov´eho pohledu na tˇr´ıdˇen´ı nahr´avek. Vytvoˇren´e shluky by se daly porovn´avat s tradiˇcn´ımi tˇr´ıdami, coˇz by mohlo pˇrin´est zaj´ımav´e v´ ysledky. Dalˇs´ım moˇzn´ ym experimentem by mohlo b´ yt napˇr´ıklad zkoum´an´ı vztah˚ u, jeˇz vytv´aˇrej´ı mezi nahr´avkami odkazy na pˇr´atele“ v port´alu myspace4 . Uˇzivatel´e, vystavuj´ıc´ı ” zde uk´azky sv´e tvorby, maj´ı na sv´ ych portf´oli´ıch um´ıstˇeny tak´e tyto odkazy, na kter´ ych se ˇcasto nach´az´ı urˇcit´ ym zp˚ usobem podobn´a hudba.
2.1
Podobnost zvukov´ ych dat
Obecnˇe se ned´a pˇredpov´ıdat, kdy lidsk´ y posluchaˇc prohl´as´ı dva zvukov´e vzorky za podobn´e. Vzorky mohou b´ yt podobn´e na z´akladˇe slov, instrumentace, melodie, rytmu, interpreta, nebo pouze na z´akladˇe emoc´ı, kter´e hudba nebo zvuk vyvol´av´a. Tak´e je potˇreba myslet na situace, kdy je ˇca´st nahr´avky podobn´a na urˇcitou hudbu a 4
http://www.myspace.com
8
2
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY SOUCASN Y
dalˇs´ı ˇc´ast na hudbu jinou. V urˇcit´em smyslu mohou b´ yt podobn´e dvˇe nahr´avky (co se melodie t´ yˇce) a v jin´em ohledu (textu) jsou si podobn´e s jin´ ymi nahr´avkami. S t´ımto jevem se setk´av´ame velmi ˇcasto – jeden text pouˇzit´ y ve v´ıce p´ısn´ıch, jedna melodie m˚ uˇze m´ıt v´ıce text˚ u. V pˇr´ıpadˇe pr´ace s velk´ ymi datab´azemi mohou b´ yt uˇziteˇcn´a i jednoduch´a mˇeˇr´ıtka podobnosti. Pouˇz´ıvaj´ı se mˇeˇr´ıtka podobnosti na z´akladˇe vlastnost´ı spektra (Pape et al., 2008), rytmu, formy, a dalˇs´ıch charakteristik. Jako nejlepˇs´ı se jev´ı moˇznost tyto r˚ uzn´e mˇeˇr´ıtka podobnosti kombinovat podle toho, co moment´alnˇe uˇzivatele zaj´ım´a (Rauber et al., 2003). Dalˇs´ı informace o mˇeˇr´ıtk´ach podobnosti nalezneme v (Bogdanov et al., 2011), (Bogdanov et al., 2009), (Aucouturier – Pachet, 2002), (Senfter, 2008). 2.1.1
Barva zvuku
Barva zvuku je vlastnost, d´ıky n´ıˇz dok´aˇzeme rozliˇsit r˚ uzn´e hudebn´ı n´astroje, hlas r˚ uzn´ ych lid´ı atd. Z akustick´eho hlediska jde o zastoupen´ı vyˇsˇs´ıch alikvotn´ıch t´on˚ u (viz kapitola 3.2.2) ve zvuku. Pˇr´ıklad vyuˇzit´ı neuronov´ ych s´ıt´ı ve u ´loze rozliˇsen´ı dvou n´astroj˚ u nalezneme v (Pape et al., 2008). Pomoc´ı nov´eho typu rekurentn´ı neuronov´e s´ıtˇe, Democratic Liquid State Machine, vhodn´eho zejm´ena pro klasifikaci ˇcasov´ ych ˇrad, se zde ˇreˇs´ı u ´loha vz´ajemn´eho rozpozn´an´ı zvuku fl´etny a basov´e kytary. Vstupn´ımi daty jsou zde jak speci´alnˇe vytvoˇren´e uk´azky zahrnuj´ıc´ı jeden a dva t´ony, nebo ˇca´sti stupnic, tak uk´azky z CD na kter´ ych je i zvukov´e pozad´ı. Vˇetˇsina uk´azek je dlouh´a 1 sekundu, ale jsou zde i delˇs´ı. Vzork˚ u je celkem 234. Zvukov´a data jsou pˇrevedena pomoc´ı rychl´e Fourierovy transformace (Diskr´etn´ı Fourierova transformace) do frekvenˇcn´ı oblasti. D´elka ˇcasov´eho r´ameˇcku, na kter´ y je aplikov´ana Fourierova transformace, je 5,8 ms. Pˇrekvapen´ım se zde uk´azal b´ yt poˇcet skryt´ ych jednotek neuronov´e s´ıtˇe4.3. V optim´aln´ım pˇr´ıpadˇe jich bylo 50. Tak velk´ y poˇcet norm´alnˇe zp˚ usobuje overfitting, ale uˇcen´ı bylo zastaveno jiˇz pˇri pomˇeru 1,5 spr´avnˇe urˇcen´e tˇr´ıdy k chybnˇe urˇcen´e, takˇze tento probl´em byl eliminov´an. Procento spr´avnˇe urˇcen´ ych vzork˚ u se v z´avislosti na dalˇs´ıch nastaven´ıch pohybuje od 88 – 99%. Mus´ıme vˇsak vz´ıt v u ´vahu, ˇze jsou tyto dva n´astroje velmi odliˇsn´e. Maj´ı jin´ y princip tvorby t´onu (strunn´ y a dechov´ y n´astroj). D˚ uleˇzit´e je, ˇze pro urˇcit´e typy zvuku jsou podstatn´e urˇcit´e charakteristiky a pro jin´ y typ zvuku charakteristiky jin´e. Jelikoˇz ale v t´eto f´azi zpracov´an´ı typ zvuku nen´ı zn´am´ y, je tedy zˇrejmˇe potˇreba vyhodnotit pokud moˇzno vˇsechny a n´aslednˇe podle v´ ysledku vybrat charakteristick´e. To se d´a vyˇreˇsit na z´akladˇe d˚ ukladn´ ych porovn´av´an´ı u tˇr´ıd´ıc´ıch experiment˚ u. Zat´ımco u jednoduch´ ych zvuk˚ u, kter´e se nepˇrekr´ yvaj´ı, jsou souˇcasn´e v´ ysledky jejich tˇr´ıdˇen´ı vcelku uspokojiv´e, pˇri souˇcasn´em znˇen´ı nˇekolika vrstev (polyfonie) na zvukov´em pozad´ı jsou v´ ysledky s lidsk´ ymi schopnostmi nesrovnateln´e. Panuje nav´ıc n´azor, ˇze se zde dos´ahlo urˇcit´e u ´rovnˇe, jej´ıˇz pˇrekroˇcen´ı bude vyˇzadovat hlubˇs´ı znalosti vn´ım´an´ı zvuku u lid´ı. Jin´ y pˇr´ıstup v rozliˇsov´an´ı hudebn´ıch n´astroj˚ u nalezneme v (Grecu, 2007).
2.1
Podobnost zvukov´ych dat
2.1.2
9
V´ yˇskov´ e vztahy
V´ yˇskov´ ymi vztahy jsou zde myˇsleny vztahy jednotliv´ ych t´on˚ u s ohledem na jejich v´ yˇsku (frekvenci) a vzd´alenost mezi jejich v´ yˇskami (pomˇer jejich frekvenc´ı) (G´omez, 2006). Nebereme tu ohled na uspoˇra´d´an´ı t´on˚ u v ˇcase. Pˇri posuzov´an´ı nahr´avky z hlediska v´ yˇskov´ ych vztah˚ u se pouˇz´ıvaj´ı v´ yˇskov´e histogramy viz, obr´azek 1. Ukazuj´ı n´am, kolikr´at se jednotliv´e t´ony v urˇcit´em ˇcasov´em intervalu zvolen´eho vzorku vyskytuj´ı. Zde je to prvn´ıch 8 takt˚ u znˇelky z veˇcern´ıˇcku Kr´al´ıci z klobouku“ hran´e ” v C dur. Na vodorovn´e ose jsou ˇc´ısla p˚ ult´on˚ u od 1 = C aˇz 12 = H, na svisl´e ose je jejich ˇcetnost. M˚ uˇzeme z nich vyˇc´ıst d˚ uleˇzit´e informace ohlednˇe ton´aln´ıho centra (kter´ y t´on se vyskytuje nejˇcastˇeji), ton´aln´ıho uspoˇr´ad´an´ı atd. V´ıce se o v´ yˇskov´ ych histogramech m˚ uˇzeme doˇc´ıst v (Tzanetakis et al., 2002).
Obr´azek 1: V´ yˇskov´ y histogram
Melodie m˚ uˇze b´ yt pops´ana nˇekolika zp˚ usoby, kaˇzd´ y ji popisuje na jin´e u ´rovni obecnosti. Z´akladem je zjiˇstˇen´ı frekvenc´ı jednotliv´ ych t´on˚ u melodie. Z´ısk´ame tak z´apis v absolutn´ı v´ yˇsce. Melodie vˇsak m˚ uˇze zaˇc´ınat o libovoln´ y interval (v´ yˇskovou vzd´alenost) v´ yˇse ˇci n´ıˇze a pˇresto se neliˇs´ı. Vhodnˇejˇs´ı je tedy z´apis pomoc´ı interval˚ u, kter´e mezi sebou jednotliv´e t´ony melodie maj´ı. Nejobecnˇejˇs´ı je popis pouze pomoc´ı smˇeru, kter´ y melodie m´a (stoup´a, stoup´a, dosahuje nejvyˇsˇs´ıho bodu, kles´a, kles´a, kles´a, stoup´a atd.). Tyto zp˚ usoby implementuje napˇr´ıklad vyhled´avac´ı engine datab´aze MIDI nahr´avek musipedia5 . Vertik´aln´ı struktura popisuje vz´ajemn´e v´ yˇskov´e vztahy v´ıce t´on˚ u znˇej´ıc´ıch souˇcasnˇe. Opˇet je vhodn´ y z´apis pomoc´ı interval˚ u. V pˇr´ıpadˇe, ˇze hlasy dohromady 5
http://www.musipedia.org
10
2
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY SOUCASN Y
tvoˇr´ı akordy, se m˚ uˇzeme pokusit o zjiˇstˇen´ı jejich funkˇcn´ıch vztah˚ u z hlediska harmonie4.3. Zde je d˚ uleˇzit´e hodnocen´ı n´avaznosti akord˚ u. Urˇcov´an´ı akord˚ u z hudebn´ıch nahr´avek je z hlediska ˇsirok´e veˇrejnosti oceˇ novan´a dovednost, jelikoˇz jsou akordy z´akladn´ım prostˇredkem doprovodu mnoha p´ısn´ı a podobnˇe. Akordy nal´ez´ame ve zpˇevn´ıc´ıch, moˇznost jejich z´ısk´an´ı pˇr´ımo z nahr´avky obl´ıben´e p´ısnˇe je vˇsak pˇresto velmi ˇza´dan´a. V (Zenz – Rauber, 2007) pˇredstavuj´ı autoˇri algoritmus schopn´ y z audio sign´alu extrahovat posloupnosti akord˚ u. Popis funkce algoritmu vid´ıme na obr´azku 2. V´ ysledek vid´ıme na obr´azku 3. Pod diagramem waveformu jsou akordick´e znaˇcky (F dur, d moll, G dur septakord, B dur, F dur).
Obr´azek 2: Algoritmus detekce akord˚ u (Zenz – Rauber, 2007)
2.1.3
Horizont´ aln´ı vztahy
U v´ yˇskov´ ych vztah˚ u jsme pom´ıjeli uspoˇr´ad´an´ı t´on˚ u v ˇcase. To je naopak kl´ıˇcov´e pro posuzov´an´ı horizont´aln´ıch vztah˚ u. Poˇz´ıv´ame zde histogram periodicity, kter´ y urˇcuje, jak ˇcasto se v uk´azce objevuj´ı u ´dery o urˇcit´e periodick´e frekvenci (rytmy/tempa). V (Pampalk et al., 2002a) autoˇri rozˇsiˇruj´ı klasick´e histogramy o informaci
2.1
Podobnost zvukov´ych dat
11
Obr´azek 3: Detekce akord˚ u v nahr´avce (Zenz – Rauber, 2007)
promˇenlivosti v ˇcase, kter´a je pˇri urˇcov´an´ı podobnosti cenn´a. Z histogramu periodicity se urˇcuj´ı n´asleduj´ıc´ı vlastnosti: relativn´ı amplituda (dˇelen´a sumou amplitud) prvn´ıho a druh´eho vrcholu histogramu, pomˇer amplitud prvn´ıho a druh´eho vrcholu, perioda prvn´ıho a druh´eho u ´deru (v u ´derch za minutu – bpm), celkov´a suma histogramu (jako indik´ator celkov´e periodicity). Tempo by se dalo urˇcit jako nejˇcastˇeji se vyskytuj´ıc´ı frekvence u ´der˚ u nebo n´astup˚ u nov´ ych t´on˚ u. V hudebn´ı praxi ovˇsem b´ yv´a takov´e, aby se hudebn´ıkovi dobˇre poˇc´ıtalo. Ve skladbˇe, kde budou v´ yluˇcnˇe sam´e rychl´e pas´aˇze, se bude poˇc´ıtat pomaleji a noty se budou seskupovat do skupin. Kaˇzd´a takov´a skupina se zahraje na jednu dobu. Urˇcen´ım tempa z´ısk´ame myˇslenou mˇr´ıˇzku, v jej´ıchˇz uzlech by se mˇely nach´azet vˇsechny ostatn´ı u ´dery / t´ony. Podle toho, jak´e vzorce budou vytv´aˇret ostatn´ı t´ony v mˇr´ıˇzce vznikl´e urˇcen´ım tempa, m˚ uˇzeme hovoˇrit o r˚ uzn´ ych rytmech. V r´amci t´eto mˇr´ıˇzky bychom uˇz mohli pouˇz´ıt relativn´ı popis – t´on je dvakr´at delˇs´ı neˇz pˇredchoz´ı atp. Situace je tu vˇsak znaˇcnˇe komplikovan´a, protoˇze t´emˇeˇr ˇza´dn´a hudba (kromˇe elektronick´e) pravideln´e tempo nedodrˇzuje. Interpreti si tempo pˇrizp˚ usobuj´ı podle sv´eho c´ıtˇen´ı, ve zpˇevu pt´ak˚ u bychom pravideln´e ˇclenˇen´ı tak´e hledali velmi obt´ıˇznˇe. Rytmick´e vzory (Rhythm patterns, Fluctuation patterns) zobrazuj´ı vztah frekvence u ´der˚ u rytmu a intenzity vn´ım´an´ı tohoto zvuku v kritick´em p´asmu (viz kapitola 3.1). Jelikoˇz je frekvence zvuku pˇrevedena do barkov´e stupnice (jednotka frekvenˇcn´ıho rozsahu odpov´ıd´a ˇs´ıˇrce kritick´eho p´asma), je tato psychoakusticky motivovan´a metoda zobrazen´ı v podstatˇe nez´avisl´a na lidsk´e citlivosti ve vn´ım´an´ı r˚ uzn´ ych frekvenc´ı. Na obr´azku. 4 vid´ıme porovn´an´ı tohoto diagramu pro klasickou (vlevo) a rockovou (vpravo) hudbu. Dalˇs´ı pˇr´ıklady ve vyhled´av´an´ı rytmick´ ych vzoru nalezneme v (Pflugfelder, 2008). Nahr´avky se zde tˇr´ıd´ı podle tance, jenˇz se na dan´ y rytmus tancuje. Na Obr. 5 vid´ıme r˚ uznˇe vizualizovan´e v´ ysledn´e mapy. Nalevo je v kaˇzd´e buˇ nce mapy zobrazen v´ yseˇcov´ y graf, napravo je vizualizace ve stylu Voroniov´ ych diagram˚ u. Jsou rozezn´any tyto rytmy: ˇcerven´a – chacha, azurov´a – tango, modr´a – jive, oranˇzov´a – samba, ˇzlut´a – rumba, zelen´a – quickstep, r˚ uˇzov´a – waltz, fialov´a – v´ıdeˇ nsk´ y valˇc´ık. 2.1.4
Forma
Oblast´ı zjiˇst’ov´an´ı form´aln´ı struktury hudebn´ı uk´azky se zab´ yv´a discipl´ına nazvan´a Automatick´a segmentace audia (Automatic Audio Segmentation) (Ong, 2007). Na formu hudebn´ı uk´azky m˚ uˇzeme pohl´ıˇzet z mnoha hledisek. Je to zˇrejmˇe nejabs-
12
2
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY SOUCASN Y
Obr´azek 4: Klasick´ a a rockov´ a hudba (Lidy – Rauber, 2008)
Obr´azek 5: Tˇr´ıdˇen´ı podle rytmu (Lidy – Rauber, 2008)
traktnˇejˇs´ı charakteristika zvukov´eho dˇen´ı. Nalezneme ji ve velice promyˇslen´ ych struktur´ach v´aˇzn´e hudby, kde se vˇetˇs´ı ˇca´sti skl´adaj´ı z ˇca´st´ı menˇs´ıch, v hudbˇe popul´arn´ı a lidov´e v podobˇe refr´en˚ u atd. Zaj´ımav´e vˇsak je, ˇze urˇcit´ y zp˚ usob ˇclenˇen´ı projevu pouˇz´ıvaj´ı i zv´ıˇrata. U zpˇevu pt´ak˚ u si m˚ uˇzeme vˇsimnout r˚ uzn´ ych druh˚ u v´ yrazu, kter´e se urˇcit´ ym zp˚ usobem stˇr´ıdaj´ı (melodie m˚ uˇze zaˇc´ınat pokaˇzd´e t´emˇeˇr stejnˇe a po kr´atk´e pauze na ni nav´aˇze origin´aln´ı zakonˇcen´ı, toto se s mal´ ymi obmˇenami st´ale opakuje – mohli bychom tuto formu zaznamenat jako ABACADAEAF atd.). ˇ en´ı hudebn´ıho sdˇelen´ı do urˇcit´ Clenˇ ych ˇc´ast´ı je tedy jak´ ysi pˇrirozen´ y princip. Mohli bychom uvaˇzovat, jestli tato snaha nˇejak souvis´ı s komunikac´ı. V bˇeˇzn´em zp˚ usobu ˇreˇci (nemysl´ıme zde b´asnˇe atp.) se forma nach´az´ı v dosti skryt´e podobˇe. Je to v podstatˇe promˇenliv´ y proud slov, vˇet. Nevyskytuj´ı se tu opakov´an´ı, kontrastn´ı zmˇeny a jin´e typick´e prvky pro hudebn´ı formu. Zato tu ale nach´az´ıme myˇslenky, kter´e se rozv´ıjej´ı, navrac´ıme se k nim atd. Jakoby konkr´etn´ı vyj´adˇren´ı smyslu pomoc´ı slov nutnost pouˇzit´ı form´aln´ıch hudebn´ıch v´ yraz˚ u pozmˇen ˇovalo. Zaj´ımav´e tak´e je, ˇze formu ABA m˚ uˇze m´ıt 10-ti sekundov´ y popˇevek stejnˇe tak, jako hodinov´e orchestr´aln´ı d´ılo. Hudebn´ı forma souvis´ı tak´e s pojmy hudebn´ıch myˇslenek“, ovˇsem na tom, kde ” jedna myˇslenka zaˇc´ın´a, kde konˇc´ı a zaˇc´ın´a jin´a se ˇcasto nemohou shodnout ani lid´e
2.1
Podobnost zvukov´ych dat
13
zab´ yvaj´ıc´ı se hudebn´ım rozborem. To ukazuje, ˇze je tato z´aleˇzitost velmi subjektivn´ı a zˇrejmˇe tˇeˇzko uchopiteln´a pomoc´ı metod a vˇedomost´ı, kter´e m´ame dnes k dispozici. V´ıce poznatk˚ u o soudob´e hudebn´ı formˇe nalezneme v (Iˇstvan, 2000). Dalˇs´ı form´aln´ı rozbory smyˇccov´ ych kvartet Miloslava Iˇstvana vˇcetnˇe jednoduch´ ych grafick´ ych diagram˚ u nalezneme v (Fil´ıpek – Indr´ak, 2010). V (Peiszer et al., 2008) autoˇri ukazuj´ı dvouf´azov´ y algoritmus ˇreˇs´ıc´ı u ´lohu automatick´e segmentace audia. Segmentem rozum´ıme jednotn´ y d´ıl, tvoˇr´ıc´ı ˇc´ast formy. V prvn´ı f´azi se algoritmus snaˇz´ı naj´ıt hranice segment˚ u (kde jeden d´ıl konˇc´ı a druh´ y zaˇc´ın´a). V´ ysledek vid´ıme na Obr. 6.
Obr´azek 6: Hranice segment˚ u (Peiszer, 2007)
Na tuto f´azi nastupuje druh´a f´aze detekuj´ıc´ı strukturu. Nahr´avka se rozdˇel´ı na ˇcasov´a pol´ıˇcka, pro kter´a se z´ısk´a charakteristick´ y vektor (zahrneme do nˇej vˇsechny vlastnosti, kter´e chceme br´at pˇri z´ısk´av´an´ı formy v potaz. Tyto vektory se navz´ajem porovnaj´ı v dvourozmˇern´e matici podobnosti (self-similarity matrix). Takto se z´ıskaj´ı hranice podobn´ ych segment˚ u. Pˇredpokl´ad´a se, ˇze budou segmenty stejn´eho typu A, B atd. reprezentov´any stejn´ ymi charakteristikami. Pouˇzije se uˇcen´ı bez uˇcitele. Kaˇzd´emu segmentu se pˇriˇrad´ı charakteristick´ y vektor odvozen´ y z charakteristick´ ych vektor˚ u ˇcasov´ ych ok´enek, kter´e obsahuje. Ke shlukov´an´ı se pouˇzije standardn´ı k-means algoritmus. V´ ysledek zobrazuje obr´azek 7. 2.1.5
Informaˇ cn´ı hustota
Tato charakteristika asi nejv´ıce souvis´ı s hudebn´ı formou. Vystihuje d´ale pojmy jako hudebn´ı napˇet´ı (Iˇstvan, 2000) a entropie (Abdallah – Plumbley, 2007).
14
2
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY SOUCASN Y
Obr´azek 7: Shlukov´ an´ı segment˚ u (Peiszer, 2007)
2.1.6
Tˇr´ıdˇ en´ı podle autora, ˇ z´ anru, v´ıce krit´ eri´ı
V (Rauber – Fr¨ uhwirth, 2001) je pops´an syst´em zaloˇzen´ y na samoorganizuj´ıc´ı se mapˇe, kter´ y automaticky tˇr´ıd´ı zvukov´e soubory vzhledem k jejich ˇz´anru a zvukov´ ym charakteristik´am. K z´ısk´an´ı vektor˚ u popisuj´ıc´ıch zvukov´e vlastnosti se autoˇri nesnaˇz´ı z´ıskat precizn´ı notov´ y pˇrepis, ale jsou pouˇzity frekvenˇcn´ı spektra. Dvouf´azov´ y proces nejprve shlukuje jednotliv´e zvukov´e segmenty skladeb na z´akladˇe jejich podobnosti a pot´e se shlukuj´ı cel´e skladby v souladu s tˇemito segmenty. Skladby s podobn´ ymi charakteristikami se potom ve v´ ysledn´e mapˇe objevuj´ı v sousedstv´ı. Takto z´ısk´ame velmi intuitivn´ı rozhran´ı k prozkoum´av´an´ı nezn´am´ ych zvukov´ ych soubor˚ u. Nev´ yhoda tohoto zp˚ usobu spoˇc´ıv´a v hodnocen´ı pouze s ohledem na frekvenˇcn´ı spektrum. Autoˇri navrhuj´ı dalˇs´ı moˇzn´a vylepˇsen´ı t´ ykaj´ıc´ı se napˇr´ıklad zpracov´an´ı v´ıce charakteristik bˇehem vytv´aˇren´ı vstupn´ıho vektoru – zahrnout zde tak´e rytmick´e a dynamick´e charakteristiky. Tak´e by se dalo pouˇz´ıt v´ahov´ ych funkc´ı pro rozliˇsen´ı d˚ uleˇzitosti tˇech ˇci onˇech charakteristik. Dalˇs´ı moˇzn´e vylepˇsen´ı by mohlo pˇrin´est zjemˇ nov´an´ı mˇr´ıˇzky Kohonenovy mapy. V (Maˇr´ık et al., 2003) je pops´ano doplˇ nov´an´ı dalˇs´ıch neuron˚ u pomoc´ı line´arn´ı interpolace. Takto doplnˇen´a mˇr´ıˇzka je pot´e dotr´enov´ana. Zaj´ımav´e by tak´e bylo mapov´an´ı do v´ıcerozmˇern´eho prostoru a pot´e jeho prohl´ıˇzen´ı v r˚ uzn´ ych pr˚ umˇetech. To by n´am umoˇznilo napˇr´ıklad pozorovat v jednom pr˚ umˇetu spektr´aln´ı spojitosti nahr´avek, v jin´em rytmick´e podobnosti, v dalˇs´ım form´aln´ı atd. Dalˇs´ı informace na t´ema klasifikace podle ˇza´nru nalezneme v (Guaus, 2009), (Mayer et al., 2008a), (Mayer et al., 2008b). Experiment pouˇzit´ı neuronov´e s´ıtˇe v oblasti klasifikace podle autora nalezneme v (Pape et al., 2008). Je zde pouˇzita jiˇz zm´ınˇen´a architektura DLSM na jin´ y typ u ´lohy. Pˇri anal´ yze se vych´az´ı z MIDI (viz3.2.2) z´aznamu. V nˇem m´ame zapsanou t´onovou v´ yˇsku a d´elku, na zabarven´ı zvuku se v tomto experimentu nebere ohled. Neuronov´a s´ıt’ m´a za u ´kol od sebe rozliˇsit uk´azky z Bachova Dobˇre temperovan´eho
2.1
15
Podobnost zvukov´ych dat
klav´ıru a uk´azky z Beethovenov´ ych klav´ırn´ıch son´at. Tato u ´loha je d´ıky tomu, ˇze oba skladatel´e patˇr´ı do jin´ ych stylov´ ych obdob´ı, jednoduˇsˇs´ı a navazuje na ni u ´loha rozliˇsit smyˇccov´a kvarteta od Haydna a Mozarta, kteˇr´ı jsou si stylovˇe mnohem bl´ıˇze. MIDI soubor je pˇreveden na ˇcasovou posloupnost tak, aby se zachovaly informace o v´ yˇsce a d´elce t´onu. Testuje se zde nˇekolik algoritm˚ u klasifikace. Nejjednoduˇsˇs´ı z nich pouze sˇc´ıt´a celkovou d´elku jednotliv´ ych t´onov´ ych v´ yˇsek a vytv´aˇr´ı tak jak´ ysi pˇrevod z ˇcasov´e do v´ yˇskov´e dom´eny. Z tr´eninkov´e mnoˇziny pak vybere tˇr´ıdu, kter´a m´a nejmenˇs´ı ´ eˇsnost klasifikace tohoto algoritmu je 71,3% diferenci ve v´ yˇskov´e charakteristice. Uspˇ pˇr´ıpad˚ u, zat´ımco u ´spˇeˇsnost DLSM je 92,7% pˇr´ıpad˚ u u rozliˇsov´an´ı mezi Bachem a Beethovenem. V sloˇzitˇejˇs´ım pˇr´ıpadˇe Haydna a Mozarta je to 54,9% a 63,5% pro DLSM. Bˇehem konference pro v´ ymˇenu informac´ı z oblasti z´ısk´av´an´ı informac´ı z hudby MIREX 2005 (MIR, 2005) byl proveden test r˚ uzn´ ych algoritm˚ u pro klasifikaci nahr´avek podle jejich ˇza´nru s v´ ysledky uveden´ ymi v tabulce 1. Tabulka 1: Porovn´ an´ı algoritm˚ u tˇr´ıdˇen´ı audia dle ˇz´anru (MIR, 2005)
Poˇ rad´ı 01 02 03 04 05 06 07 08 09 10 11 12 13
2.1.7
´ castn´ık Uˇ Bergstra, Casagrande & Eck (2) Bergstra, Casagrande & Eck (1) Mandel & Ellis West, K. Lidy & Rauber (SSD+RH) Pampalk, E. Lidy & Rauber (RP+SSD) Lidy & Rauber (RP+SSD+RH) Scaringella, N. Ahrendt, P. Burred, J. Soares, V. Tzanetakis, G.
´ eˇ Uspˇ snost v % 82 81 78 75 75 75 74 74 73 71 62 60 60
ˇ Casov´ a podobnost
Hudebn´ı ud´alosti nemus´ı b´ yt na stejnˇe dlouh´ ych ˇcasov´ ych okamˇzic´ıch. Barvu zvuku, jenˇz dos´ahneme urˇcit´ ym n´astrojov´ ym sloˇzen´ım m˚ uˇzeme pouˇz´ıt jen na nˇekolika sekund´ach, pˇritom m˚ uˇze m´ıt stejnou barvu cel´a skladba. Stejn´a melodie a rytmus mohou b´ yt rozprostˇreny na libovolnˇe dlouh´ y ˇcasov´ y u ´sek (diminuce, augmentace, tempo). Forma ABA m˚ uˇze b´ yt nˇekolikaminutov´a i nˇekolikahodinov´a. 2.1.8
Procesy
B´ yv´a tak´e bˇeˇzn´e (od zpˇevu pt´ak˚ u po klasickou hudbu), ˇze se zejm´ena na melodie a rytmus aplikuje urˇcit´ y proces (Medek, 1998), kter´ y ji transformuje do jin´e podoby.
16
2
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY SOUCASN Y
Vzor a obraz jsou tak´e podobn´e. Z nejzn´amˇejˇs´ıch proces˚ u jmenujme rak – melodie se zap´ıˇse pozp´atku, inverzi – melodie se vertik´alnˇe pˇreklop´ı kolem urˇcit´eho stˇredu soumˇernosti. 2.1.9
Stupnice
Pˇri urˇcov´an´ı melodie se snaˇz´ıme nach´azet t´ony na z´akladˇe jejich frekvenc´ı a pomoc´ı nich nal´ezt melodii. Je tu vˇsak nˇekolik z´asadn´ıch probl´em˚ u. Napˇr´ıklad m˚ uˇze b´ yt melodie v jin´em syst´emu ladˇen´ı, neˇz je evropsk´ y (Serr`a, 2011) (temperovan´e ladˇen´ı). Zjiˇstˇen´e frekvence t´on˚ u potom do naˇs´ı osnovy“ nebudou zapadat. Jin´a komplikace ” nastane, pokud napˇr´ıklad zpˇev´ak nedrˇz´ı pˇri zpˇevu pevnou v´ yˇsku t´onu – urˇcen´ı nˇejak´e frekvence je tedy komplikovan´e aˇz nemoˇzn´e. D´ale se m˚ uˇzeme setkat s nahr´avkou vyladˇen´ ych bic´ıch n´astroj˚ u. Vyladˇen´ ych vˇsak jen tak, ˇze jsme schopni ˇr´ıci tento je ” vyˇsˇs´ı, neˇz tento“, pevn´e frekvence vˇsak ani zde nenalezneme. V tˇechto situac´ıch se nab´ız´ı n´asleduj´ıc´ı postup (Fejfar – Lud´ık, 2009): nal´ezt hranice mezi r˚ uzn´ ymi t´ony“, ” v tˇechto t´onech nal´ezt shluky, tyto pot´e seˇradit a vytvoˇrit individu´aln´ı stupnici“. ” D´ale si zkusme uk´azat moˇzn´e vyuˇzit´ı tohoto principu pˇri nal´ez´an´ı harmonick´e struktury. Opˇet je bˇeˇzn´ y pˇr´ıstup, snaˇz´ıc´ı se rozkl´adat souzvuky na jednotliv´e t´ony a z jejich kombinac´ı pot´e urˇcit, jak´e akordy tvoˇr´ı. Probl´emy nastanou, pokud budeme hodnotit hudbu za hranicemi tonality, pouˇz´ıvaj´ıc´ı netradiˇcn´ı n´astroje atd. Pˇritom se ned´a ˇr´ıci, ˇze by zde neplatily obecn´e principy harmonie. Znovu by se zde dal vyuˇz´ıt v´ yˇse popsan´ y princip – nal´ezt hranice mezi r˚ uzn´ ymi souzvuky, nal´ezt jejich shluky a tyto hodnotit. Napˇr´ıklad nejpoˇcetnˇejˇs´ı ze shluk˚ u oznaˇcit jako t´oniku atd. Rytmick´e struktury jsou, i kdyˇz se to na prvn´ı pohled nezd´a, velmi podobn´e na harmonick´e. Skladba hran´a v jednom tempu je analogick´a skladbˇe hran´e na jeden ” akord“. Pomˇer z´akladn´ıho t´onu a jeho okt´avy odpov´ıd´a pomˇeru z´akladn´ıho tempa a dvojn´asobn´e rychlosti (1 : 2), kvinta odpov´ıd´a triolov´emu pomˇeru (2 : 3), kvarta rychlejˇs´ı triole (3 : 4) atd.
2.2
Spoleˇ cn´ e vlastnosti – zvukov´ y objekt
Zvukov´ y objekt (Janer et al., 2009) reprezentuje jakoukoli zvukovou ud´alost, kterou dok´aˇzeme vn´ımat. M˚ uˇze se jednat o t´on, u ´der, interval, rytmus, hudebn´ı myˇslenku, ˇca´st hudebn´ı formy atd. Hudebn´ı objekt m´a sv´e charakteristick´e vlastnosti, na z´akladˇe kter´ ych je rozpoznateln´ y od jin´ ych hudebn´ıch objekt˚ u. Nahr´avka se skl´ad´a z hudebn´ıch objekt˚ u. Tradiˇcnˇe se popis hudebn´ıho objektu rozliˇsuje na pohled z hlediska v´ yˇskov´ ych vztah˚ u, horizont´aln´ıch vztah˚ u a formy. Kaˇzdou tuto kvalitu vn´ım´ame jin´ ym zp˚ usobem. V´ yˇsku slyˇs´ıme, do tempa a rytmu se vc´ıt´ıme a formu pˇri poslechu skladby abstrahujeme. Jakoby kaˇzd´a tato kvalita byla spojena s jin´ ym smyslov´ ym“ vjemem. ” Vˇsechny tyto vlastnosti vˇsak maj´ı spoleˇcn´eho jmenovatele a t´ım je ˇcas. V pˇr´ıpadˇe v´ yˇskov´ ych vztah˚ u vn´ım´ame poˇcet kmit˚ u za sekundu (jednotkou je hertz), v pˇr´ıpadˇe tempa poˇcet u ´der˚ u za minutu (bpm) – posunuli jsme se pouze na jinou u ´roveˇ n. Rytmus je uspoˇra´d´an´ı ud´alost´ı (zejm´ena zaˇc´atk˚ u t´on˚ u) v ˇcase – v ˇcasov´em mˇeˇr´ıtku
2.3
17
Vizualizace, organizace
shodn´em s tempem. Forma d´ıla je opˇet uspoˇr´ad´an´ı ud´alost´ı v ˇcase (tentokr´at cel´ ych hudebn´ıch objekt˚ u) a v mnohem vˇetˇs´ım ˇcasov´em mˇeˇr´ıtku, opˇet o u ´roveˇ n v´ yˇse. Tyto vztahy zachycuje Tab. 2. Ze znalosti v´ yˇsky t´on˚ u m˚ uˇzeme odvozovat jejich vz´ajemn´e uspoˇr´ad´an´ı do souzvuk˚ u (nˇekdy akord˚ u), ze znalosti tempa m˚ uˇzeme odvozovat rytmick´e vztahy. Stejnˇe, jako se mˇen´ı t´onina skladby a vˇsechen materi´al tak transponujeme v´ yˇs ˇci n´ıˇz (intervaly mezi t´ony z˚ ust´avaj´ı zachov´any), mˇen´ı se i tempo skladeb a vˇse se pak odv´ıj´ı rychleji, ˇci pomaleji (pˇri zachov´an´ı pomˇeru rychlost´ı). Tabulka 2: Spoleˇcn´e vlastnosti charakteristik vyˇsˇs´ı u ´rovnˇe
Ud´alost Sledujeme? Rozmˇer Abs. mˇeˇr´ıtko Rel. mˇeˇr´ıtko Ref. veliˇcina
2.3
Barva Kmit Spektrum Sekunda Spektrum ??? ???
V. vztahy Kmit Frekvence Sekunda Hz Interval T´onina
H. vztahy poˇca´tek zvuku uspoˇra´d´an´ı Minuta Bpm Cel´a, p˚ ulov´a Metrum
Forma Hudebn´ı objekt uspoˇra´d´an´ı Trv´an´ı skladby Forma ??? ???
Vizualizace, organizace
V pr´aci (Pampalk et al., 2003) autoˇri nab´ızej´ı nov´ y koncept hodnocen´ı podobnosti a vyhled´av´an´ı v hudebn´ıch sb´ırk´ach pomoc´ı zobrazov´an´ı z´aznam˚ u z mnoha po” hled˚ u“. Kombinuj´ı se r˚ uzn´a hlediska a uˇzivatel si m˚ uˇze vyb´ırat, kter´a jsou pro nˇej v tu chv´ıli zaj´ımav´a. Z hlediska histogramu spektra a histogramu periodicity se tvoˇr´ı dva r˚ uzn´e pohledy na stejn´a data. D´ale autoˇri kombinuj´ı tyto dva pohledy s pohledem zamˇeˇren´ ym na meta informace (obecnˇe s pohledem, kde neexistuje vektorov´ y prostor – napˇr. osobn´ı hodnocen´ı, autoˇri atd.). Autoˇri zde pouˇz´ıvaj´ı novou techniku nazvanou uspoˇra´dan´e Kohonenovy mapy (alligned SOM) (Pampalk, 2003), kter´a uˇzivateli umoˇzn ˇuje tyto pohledy kombinovat a sledovat tak nahr´avky z r˚ uzn´ ych hledisek. V (Pampalk et al., 2004) autoˇri pˇredstavuj´ı hierarchick´e shlukov´an´ı pomoc´ı Kohonenov´ ych map. Obyˇcejn´e Kohonenovy mapy totiˇz postr´adaj´ı moˇznost extrahovat ze zpracov´avan´ ych dat jejich hierarchickou strukturu. Pouˇz´ıvaj´ı zde rostouc´ı hierarchick´e Kohonenovy mapy (Growing Hierarchical Self-Organizing Map) (Dittenbach et al., 2005) jeˇz ˇreˇs´ı tento probl´em skrze flexibiln´ı strukturu, jenˇz pˇri prokl´ad´an´ı dat nar˚ ust´a. Pomoc´ı mˇeˇr´ıtek zaloˇzen´ ych na variaci dat se rozhoduje, kter´e oblasti mapy jsou vhodn´ ymi kandid´aty pro hierarchickou expanzi. Autoˇri zde nab´ızej´ı dalˇs´ı vylepˇsen´ı ˇreˇs´ıc´ı nˇekter´e nedostatky GHSOM. Dalˇs´ı pr´ace zab´ yvaj´ıc´ı se organizac´ı archiv˚ u jsou (Rauber et al., 2002b), (Pampalk et al., 2002b). Na obr´azku 8 vid´ıme seskupen´ı r˚ uzn´ ych hudebn´ıch uk´azek do tzv. hu” debn´ıch ostrov˚ u“. Mapy reprezentuj´ı stejn´e uk´azky ze dvou extr´emn´ıch pohled˚ u.
18
2
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY SOUCASN Y
Obr´azek 8: Uspoˇr´ adan´e Kohonenovy mapy (Pampalk et al., 2003)
Obr´azek a“(vlevo) je pouze z rytmick´eho hlediska, obr´azek b“(vpravo) pouze ze ” ” spektr´aln´ıho hlediska. Pokud se na uk´azky d´ıv´ame z hlediska jejich spektra, je ostrov klasick´e hudby (vlevo nahoˇre) rozdˇelen na dva ostrovy H a I, kde H reprezentuje klav´ırn´ı hudbu a I orchestr´aln´ı (orchestr´aln´ı hudba m´a ˇsirˇs´ı frekvenˇcn´ı spektrum). Z pohledu periodicity se v t´eto oblasti vytvoˇr´ı jeden velk´ y ostrov, jenˇz zahrnuje veˇskerou hudbu klasickou – ostrov A a spojuje ho nav´ıc s ostrovem G, kde m˚ uˇzeme nal´ezt i hudbu neklasickou“ napˇr. p´ıseˇ n Little Drumer Boy od Crosbyho a Bowieho, ” nebo Yesterday od Beatles. Pˇrestoˇze jsou v map´ach jist´e rozd´ıly, z˚ ust´av´a celkov´a orientace stejn´a. Zvl´aˇstˇe ostrovy A a H/I, C a J, D/E a K, G a M obsahuj´ı pˇrev´aˇznˇe stejn´e hudebn´ı uk´azky, coˇz ukazuje na jejich pˇr´ıbuznost ve v´ıce ohledech. L´akav´e by zde bylo napˇr´ıklad vyhled´av´an´ı ostrova typick´ ych z´astupc˚ u“ a naopak uk´azek ” patˇr´ıc´ıch, co se t´ yˇce spektra, na jin´ y ostrov, neˇz co se t´ yˇce rytmu.
2.4
Shrnut´ı
Pokud bychom mˇeli nˇejak´ ym zp˚ usobem shrnout obsah pˇredeˇsl´ ych kapitol, dalo by se ˇr´ıci, ˇze je moˇzno klasifikovat ze dvou z´akladn´ıch hledisek: • Hlasitost a barva zvuku. Tyto veliˇciny urˇcujeme pˇri poslechu okamˇzitˇe, nepotˇrebujeme si pamatovat pˇredeˇsl´e zvukov´e dˇen´ı. Pˇri zpracov´an´ı poˇc´ıtaˇcem pro nˇe vˇetˇsinou pouˇz´ıv´ame charakteristiky sign´alu ve frekvenˇcn´ı oblasti. Pro jejich urˇcen´ı se vol´ı velmi kr´atk´a ˇcasov´a ok´enka, v nichˇz se povaˇzuj´ı za konstantn´ı. Jejich pr˚ ubˇeh je posl´eze moˇzno sledovat pod´el cel´e nahr´avky. • Melodie, rytmus, forma. Zde mus´ıme br´at v u ´vahu delˇs´ı ˇcasov´ yu ´sek, na kter´em tyto u ´tvary posuzujeme. Nem´a smysl mluvit o melodii v r´amci u ´seku dlouh´eho zlomek sekundy. U rytmu je tento ˇcasov´ y u ´sek asi stejnˇe dlouh´ y, u formy je jeˇstˇe delˇs´ı. Pro jejich urˇcov´an´ı m˚ uˇzeme vyuˇz´ıt i charakteristik v ˇcasov´e oblasti. Je tˇreba si ale uvˇedomit, ˇze i forma m˚ uˇze b´ yt tvoˇrena hudebn´ımi objekty charakteristick´ ymi svou barvou.
3
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
19
Zpracov´ an´ı zvukov´ eho sign´ alu
Sign´al m˚ uˇzeme definovat jako fyzik´aln´ı veliˇcinu pˇren´aˇsej´ıc´ı nˇejakou zpr´avu (Zaplat´ılek – Doˇ nar, 2006). Mnoˇzstv´ı pˇrenesen´e informace z´avis´ı ve velk´e m´ıˇre na pˇr´ıjemci. Zkuˇsen´ y hudebn´ık dok´aˇze napˇr´ıklad z nahr´avky z´ıskat mnohem v´ıce informac´ı neˇz posluchaˇc, jenˇz se hudbou nezab´ yv´a. Tak´e m˚ uˇzeme ˇr´ıci, ˇze kupˇr´ıkladu pt´ak z´ısk´a ze zpˇevu ostatn´ıch koleg˚ u jin´e informace, neˇz ˇclovˇek. Mnoˇzstv´ı pˇrenesen´e inforˇ ım v´ıce dok´aˇzeme pˇredpov´ıdat, co v bumace lze mˇeˇrit pomoc´ı m´ıry neurˇcitosti. C´ douc´ıch chv´ıl´ıch uslyˇs´ıme, t´ım m´enˇe informac´ı z poslechu z´ısk´av´ame. Zaj´ımav´e je, ˇze pokud tedy poslouch´ame hudbu (a jej´ı interpretaci), kterou zn´ame, ˇza´dn´e nov´e informace n´am jiˇz poslech nepˇrin´aˇs´ı. To souvis´ı s jevem, ˇze uˇz n´as poslech oposlouchan´e“ ˇ ım je hudba sloˇzitˇejˇs´ı, t´ım d´ele trv´a, neˇz ”velk´e mnoˇzstv´ı hudby neuspokojuje. C´ v sign´alu obsaˇzen´ ych informac´ı z´ısk´ame a poslech n´as pˇrestane bavit. Otv´ır´a se tu velmi zaj´ımav´a ot´azka moˇznosti mˇeˇrit“ zaj´ımavost hudby. Ta vˇsak vˇzdy z˚ ustane ve ” velk´e m´ıˇre z´avisl´a na posluchaˇci. Naˇsim c´ılem je ze sign´alu – zvuku z´ıskat co nejv´ıce informac´ı a ty zprostˇredkovat posluchaˇci. Abychom mohli s re´aln´ ymi sign´aly efektivnˇe pracovat, mus´ıme je vhodn´ ym zp˚ usobem modelovat. Re´aln´e sign´aly popsat zp˚ usobem, jenˇz uchov´a charakteristiky sign´alu, kter´e pˇren´aˇsej´ı pro n´as podstatn´e informace. V pˇr´ıpadˇe zvuku je pro n´as podstatn´ y pr˚ ubˇeh amplitudy. Nez´avislou promˇennou je zde ˇcas, z´avisle promˇennou je amplituda. Takov´emuto sign´alu ˇr´ık´ame jednorozmˇern´ y sign´al a m˚ uˇzeme ho zobrazit v rovinˇe. Sign´al souvisl´ y v ˇcase a hodnot´ach naz´ yv´ame analogov´ y. Ten vznikne kupˇr´ıkladu pouˇzit´ım mikrofonu, jenˇz pˇrevede zmˇeny tlaku vzduchu na zmˇeny elektrick´eho napˇet´ı. Pˇri zpracov´an´ı digit´aln´ı technikou analogov´ y sign´al pouˇzit´ım A/D pˇrevodn´ıku diskretizujeme jak v ˇcase (vzorkovac´ı frekvence – obvykle 44 kHz), tak v hodnot´ach (poˇcet bit˚ u, do nichˇz ukl´ad´ame namˇeˇrenou amplitudu – obvykle 16 bit˚ u – 65 536 hodnot). Dalˇs´ı vlastnost´ı, kterou u zvuku m˚ uˇzeme uvaˇzovat, je periodicita. Sign´al je periodick´ y, pokud je splnˇena podm´ınka 1, v intervalu t ∈ (−∞, ∞). s(t) = s(t + k · T0 ),
k = 0, 1, 2, ...
(1)
s(t) je hodnota sign´alu v ˇcase t a T0 je perioda. Tuto podm´ınku v praxi zjednoduˇsujeme a za periodick´e povaˇzujeme i sign´aly, jenˇz obsahuj´ı dostateˇcn´ y poˇcet cykl˚ u po dobu trv´an´ı pozorov´an´ı. To plat´ı kupˇr´ıkladu u t´on˚ u, kter´e maj´ı po dobu sv´eho trv´an´ı v´ıcem´enˇe stejnou frekvenci. Situace je sloˇzitˇejˇs´ı napˇr´ıklad u ˇreˇci, kde konstantn´ı frekvenci nal´ez´ame jen obˇcas. Jelikoˇz se nav´ıc d´a pr˚ ubˇeh zvukov´eho sign´alu modelovat funkcemi sinus a kosinus, m˚ uˇzeme ho tak´e oznaˇcit jako sign´al harmonick´ y. Pˇri popisu periodick´eho sign´alu pouˇz´ıv´ame tak´e frekvenci 2 a u ´hlovou frekvenci 3. F0 = ω=
1 T0
[Hz = s−1 ]
2π = 2πF0 T0
[s−1 ]
(2) (3)
20
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
V oblasti zvuku d´ale nal´ez´ame jak deterministick´e, tak stochastick´e sign´aly. Kupˇr´ıkladu pr˚ ubˇeh sign´alu u poˇc´ıtaˇcov´e hudby m˚ uˇzeme teoreticky pˇresnˇe spoˇc´ıtat v libovoln´em okamˇziku pokud zn´ame noty (pˇr´ıpadnˇe MIDI) a parametry oscil´atoru. Z pohledu teorie informace tedy takov´ y z´aznam nenese ˇza´dnou informaci. Horˇs´ı uˇz by to bylo s v´ ypoˇctem hodnot sign´alu u ˇziv´eho vystoupen´ı, ˇreˇci, zpˇevu pt´ak˚ u. V takov´ ych pˇr´ıpadech bychom jen stˇeˇz´ı vytvoˇrili pˇresn´ y model, povaˇzujeme tedy tyto sign´aly za stochastick´e a modelujeme je s urˇcitou chybou. Zvukov´ y sign´al m˚ uˇzeme z´ıskat nˇekolika zp˚ usoby. Bud’to zvuk syntetizovat (Serra, 1989), (Lidy et al., 2005) nebo nahr´at. U nahr´avek se bude jednat o stochastick´ y sign´al, u syntetizovan´eho zvuku o deterministick´ y (budeme m´ıt pˇresn´ y model, jak zvuk vznikl). Oba tyto sign´aly maj´ı r˚ uzn´e vlastnosti a v pr´aci budeme vyuˇz´ıvat oboje. V obou pˇr´ıpadech dostaneme analogov´ y sign´al, kter´ y mus´ıme pro potˇreby zpracov´an´ı na poˇc´ıtaˇci diskretizovat.
3.1
Zvuk a jeho vn´ım´ an´ı
Zvuk se ˇs´ıˇr´ı jako periodick´e zmˇeny tlaku vzduchu, tedy pod´eln´ ym vlnˇen´ım. Z´avislost tlaku vzduchu na ˇcase v konkr´etn´ım m´ıstˇe popisuje rovnice harmonick´eho kmit´an´ı (vztah 4) u0 t = A sin ωt
(4)
kde A je amplituda tlaku vzduchu, ω je u ´hlov´a frekvence zmˇen tlaku vzduch a lze ji vypoˇc´ıtat pomoc´ı vztahu 3. Na vn´ım´an´ı zvuku se odr´aˇz´ı mnoho faktor˚ u, jak m˚ uˇzeme naj´ıt napˇr´ıklad v (Fastl – Zwicker, 2007) nebo (Psychoakustika). Nejd˚ uleˇzitˇejˇs´ı z nich jsou uvedeny v n´asleduj´ıc´ım pˇrehledu. Lid´e vn´ımaj´ı zvuk o frekvenc´ıch v rozsahu 20 Hz – 20 kHz. Ve vztahu 4 v´ yˇsku t´onu popisuje u ´hlov´a frekvence ω. S rostouc´ım vˇekem pˇrest´av´ame b´ yt schopni vn´ımat vysok´e t´ony. Nejcitlivˇejˇs´ı je ˇclovˇek na frekvence v rozmez´ı 2 – 4 kHz, kde se nach´az´ı p´asmo ˇreˇci. Na frekvenci je tak´e z´avisl´a vzd´alenost, na kterou se zvuk ˇs´ıˇr´ı: vˇetˇs´ı dosah maj´ı n´ızk´e frekvence. Z toho d˚ uvodu napˇr´ıklad slyˇs´ıme ze vzd´alen´eho koncertu hlavnˇe basy a bic´ı. Dynamick´ y rozsah je rozd´ıl mezi nejhlasitˇejˇs´ım a nejtiˇsˇs´ım vn´ımateln´ ym zvukem. Uprostˇred slyˇsiteln´eho frekvenˇcn´ıho spektra je asi 120 dB. Hlasitost zvuku popisuje ve vztahu 4 veliˇcina A, je tedy z´avisl´a na amplitudˇe zmˇen tlaku v ˇcase. Vn´ıman´a hlasitost zvuku je vˇsak jeˇstˇe z´avisl´a na frekvenci, jak ukazuje obr´azek 9. Jednotkou hlasitosti je u ´roveˇ n tlaku vzduchu (Sound Pressure Level) a mˇeˇr´ı se v decibelech. Lze ji urˇcit pomoc´ı vztahu 5. 2 p p = 20 log10 (5) Lp = 10 log10 p2ref pref
3.2
Modelov´an´ı zvukov´eho dˇen´ı
21
Obr´azek 9: Kˇrivky stejn´e hlasitosti (Mathworks.com, 2010)
Rozliˇsovac´ı frekvence je schopnost rozliˇsit 2 r˚ uzn´e frekvence (v´ yˇsky t´on˚ u). Tato schopnost je u kaˇzd´eho ˇclovˇeka jin´a. Uprostˇred slyˇsiteln´eho spektra je za ide´aln´ıch podm´ınek nˇekolik cent˚ u. Jeden cent je 1/1200 okt´avy (viz kapitola 3.2.2). Kritick´e p´asmo (critical band) vystihuje fakt, ˇze v´ yˇskov´e vztahy zvuku vn´ım´ame ve vnitˇrn´ım uchu pomoc´ı hlem´ yˇzdˇe s Cortiho org´anem. Hlem´ yˇzd’ lze pomyslnˇe rozdˇelit do tzv. kritick´ ych p´asem, pˇriˇcemˇz kaˇzd´e p´asmo detekuje jin´e frekvence. Pokud znˇej´ı dva frekvenˇcnˇe bl´ızk´e t´ony souˇcasnˇe, m˚ uˇze jeden z nich potlaˇcit slyˇsitelnost druh´eho. Tomuto jevu ˇr´ık´ame frekvenˇcn´ı a ˇcasov´e maskov´an´ı. Jev z´avis´ı na frekvenˇcn´ı vzd´alenosti a u ´rovni maskuj´ıc´ıho sign´alu. Pokud po hlasit´em t´onu nastupuje t´on tich´ y, je jeho vn´ım´an´ı tak´e potlaˇceno.
3.2
Modelov´ an´ı zvukov´ eho dˇ en´ı
Nejobecnˇeji m˚ uˇzeme zvuk popsat jako spojit´ y aperiodick´ y stochastick´ y sign´al, tomu odpov´ıd´a kupˇr´ıkladu analogov´ y sign´al z mikrofonu. Je spojit´ y, jelikoˇz je tlak vzduchu dopadaj´ıc´ı na membr´anu mikrofonu pomoc´ı elektromagnetu pˇremˇenˇen na napˇet´ı, jenˇz se v ˇcase plynule mˇen´ı. Protoˇze v ˇcasov´em intervalu nahr´avky nen´ı splnˇena podm´ınka 1, nem˚ uˇzeme tedy sign´al povaˇzovat za periodick´ y. Na sloˇzit´em pr˚ ubˇehu sign´alu se pod´ıl´ı obrovsk´e mnoˇzstv´ı vliv˚ u, jako napˇr´ıklad nejr˚ uznˇejˇs´ı zvuky
22
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
pˇrim´ıchan´e z okol´ı, ˇsumy a hluk. Z toho d˚ uvodu nen´ı moˇzn´e pr˚ ubˇeh sign´alu dopˇredu urˇcit a povaˇzujeme jej tedy za stochastick´ y. Jin´ y extr´em je zvuk generovan´ y poˇc´ıtaˇcem. V poˇc´ıtaˇci je zvuk reprezentov´an hodnotami amplitudy v ˇcasov´ ych okamˇzic´ıch. Takov´ y sign´al je tedy diskr´etn´ı, i kdyˇz b´ yv´a vzd´alenost mezi ˇcasov´ ymi okamˇziky velmi mal´a (viz 3.2.1), takˇze v´ ysledek zn´ı stejnˇe jako sign´al analogov´ y. V omezen´ ych ˇcasov´ ych okamˇzic´ıch je tak´e takov´ y sign´al periodick´ y. A jelikoˇz jsou vˇsechny parametry oscil´atoru generuj´ıc´ıho zvuk d´any, m˚ uˇzeme ho povaˇzovat za deterministick´ y. 3.2.1
Zvuk
Digit´alnˇe se audio sign´al zaznamen´av´a pomoc´ı pulznˇe k´odov´e modulace viz obr´azek 10. Vzorkovac´ı frekvence se vol´ı podle Nyquistovy vzorkovac´ı vˇety (Nyquist, 2002) alespoˇ n dvojn´asobn´a oproti frekvenci zaznamen´avan´eho sign´alu. Jak bylo uvedeno v kapitole 3.1, dok´aˇz´ı lid´e vn´ımat zvuk do frekvence 22000 Hz. Potˇrebujeme u toho sign´alu zachytit minim´alnˇe kladnou a z´apornou ˇca´st amplitudy, tedy 2 vzorky na kmit. Vych´az´ı tedy vzorkovac´ı frekvence 44100 Hz. K´oduje se obvykle s rozliˇsen´ım 16 bit˚ u, tedy m´ame pro hodnotu sign´alu 65536 moˇzn´ ych hodnot.
Obr´azek 10: Pulznˇe k´ odov´ a modulace
Toto odpov´ıd´a standardn´ımu zp˚ usobu uloˇzen´ı nahr´avek na CD disc´ıch. V´ yhodou i nev´ yhodou tohoto form´atu je uloˇzen´ı velk´eho mnoˇzstv´ı informac´ı. Mnoˇzstv´ı pamˇeti potˇrebn´e pro zachycen´ı zvuku m˚ uˇzeme vypoˇc´ıtat podle vztahu 6
3.2
23
Modelov´an´ı zvukov´eho dˇen´ı
B = t · fv · b · k
(6)
kde t je d´elka nahr´avky fv je poˇcet vzork˚ u za sekundu, b je poˇcet bit˚ u na vzorek a k je poˇcet kan´al˚ u. Pro minutu stereo nahr´avky n´am vyjde 60·44000·16·2 = 84 480 000 bit˚ u, coˇz je pˇribliˇznˇe 10 MB. ˇ V´ yhoda, vysok´a kvalita z´aznamu, je nesporn´a. Casto jde o nahr´avky ud´alost´ı, kter´e se uˇz nebudou opakovat, takˇze je uloˇzen´ı v co nejvyˇsˇs´ı kvalitˇe vhodn´e. Vznik´a zde ot´azka zp˚ usobu uloˇzen´ı dat. Kapacita u ´loˇzn´ ych m´edi´ı st´ale roste, avˇsak mnoˇzstv´ı nahr´avek tak´e pˇrib´ yv´a, nav´ıc je tˇreba myslet i na z´alohov´an´ı a ˇzivotnost m´edi´ı. Zaj´ımav´e moˇznosti v uloˇzen´ı a sd´ılen´ı takov´ehoto velk´eho mnoˇzstv´ı dat nab´ızej´ı distribuovan´e souborov´e syst´emy6 , kde jsou velk´e soubory rozloˇzeny na mal´e kousky, kter´e jsou uloˇzeny na r˚ uzn´ ych poˇc´ıtaˇc´ıch v s´ıti. Data je moˇzno komprimovat pomoc´ı bezztr´atov´e a ztr´atov´e komprese. Z dat komprimovan´ ych bezztr´atovou kompres´ı lze zpˇetnˇe vytvoˇrit p˚ uvodn´ı nahr´avku. Zm´ınil bych zde zejm´ena volnˇe dostupn´ y kodek (kod´er – dekod´er) Free Looseless Audio Codec7 a propriet´arn´ı Monkey’s audio8 . V´ yhod bezztr´atov´e komprese lze vyuˇz´ıt pro ˇreˇsen´ı probl´emu s kapacitou u ´loˇzn´ ych m´edi´ı a velikost´ı datov´eho toku pˇri sd´ılen´ı takov´ ychto soubor˚ u v s´ıti. Ve spojen´ı s distribuovan´ ym souborov´ ym syst´emem by ’ zˇrejmˇe ˇslo o ide´aln´ı ˇreˇsen´ı, zajiˇst uj´ıc´ı nejvyˇsˇs´ı kvalitu uloˇzen´ ych nahr´avek spojenou s menˇs´ı velikost´ı potˇrebn´eho prostoru pro jejich uloˇzen´ı a n´arok˚ u na pˇrenos dat v s´ıti. Pˇri ˇreˇsen´ı probl´emu zpracov´an´ı tˇechto nahr´avek je vˇsak naopak v´ yhodn´e pouˇz´ıt ztr´atovou kompresi. Z nahr´avky jsou pˇri n´ı odstranˇeny informace, kter´e u lid´ı nevyvol´avaj´ı sluchov´ y vjem kv˚ uli frekvenˇcn´ımu ˇci ˇcasov´emu maskov´an´ı popsan´emu v kapitole 3.1. Zm´ınil bych zde nejbˇeˇznˇejˇs´ı form´aty pro bezztr´atovou komprimaci (mp39 , Ogg Vorbis10 . Jelikoˇz lze pˇredpokl´adat, ˇze nebudeme br´at ohled na charakteristiky, kter´e lid´e nejsou schopni sluchem vn´ımat, je toto zjednoduˇsen´ı pˇr´ıpustn´e. Pokrok zde z´aleˇz´ı na v´ yzkumu v oblasti psychoakustiky, na vytvoˇren´ı lepˇs´ıho modelu, kter´ y by umoˇznil pˇresnˇeji urˇcit, kter´e informace lze odstranit a kter´e nikoli. Tato ot´azka je nav´ıc individu´aln´ı pro kaˇzd´eho posluchaˇce. D´ale se touto t´ematikou zab´ yv´a kapitola Psychoakustick´e pˇredzpracov´an´ı audio dat. Pˇri poslechu hudby poˇzadujeme vysokou kvalitu jej´ıho z´aznamu, jelikoˇz jak´ekoli zkreslen´ı zvuku (kter´ y si pamatujeme z ˇziv´eho vystoupen´ı) ruˇs´ı. Pro vn´ıman´ı informac´ı v hudbˇe obsaˇzen´ ych n´am vˇsak mnohdy postaˇc´ı kvalita mnohem niˇzˇs´ı. Rozeznat dva n´astroje jsme schopni i z mp3 nahr´avky, melodii jsme schopni vn´ımat i po telefonu a pro urˇcen´ı formy bychom mohli pˇripustit dalˇs´ı zjednoduˇsen´ı. Jelikoˇz se nesnaˇz´ıme naj´ıt rozd´ıl mezi stejn´ ym d´ılem k´odovan´ ym v nekomprimovan´e CD kvalitˇe a kupˇr´ıkladu mp3 form´atem s n´ızk´ ym datov´ ym tokem (jedn´a se o stejn´e d´ılo z hlediska stylu, tempa, barvy zvuku), ale jde n´am o z´ısk´an´ı informac´ı o hudebn´ıch vlastnostech 6
http://www.redhat.com/gfs/ http://flac.sourceforge.net/ 8 http://www.monkeysaudio.com/ 9 http://lame.sourceforge.net/ 10 http://www.xiph.org/ogg/ 7
24
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
nahr´avky, m˚ uˇzeme z d˚ uvodu zv´ yˇsen´ı v´ ypoˇcetn´ı rychlosti odstranit ze sign´alu ˇca´sti, kter´e nevyvol´avaj´ı sluchov´ y vjem, nebo nejsou nezbytn´e pro z´ısk´an´ı n´ami zvolen´e vlastnosti. Vˇzdy z´aleˇz´ı na vlastnosti, kterou chceme extrahovat. Pokud budeme cht´ıt kupˇr´ıkladu rozliˇsit nahr´avky zpˇevu pt´ak˚ u od nahr´avek v´aˇzn´e hudby, staˇc´ı n´am pro tuto u ´lohu mal´ y kousek z´aznamu ze spr´avnˇe zvolen´eho m´ısta. M˚ uˇzeme tedy pouˇz´ıt nˇekter´ y z algoritm˚ u ztr´atov´e komprese, sn´ıˇzit frekvenci vzorkov´an´ı, pˇrev´est stereo z´aznam na mono, v urˇcit´ ych pˇr´ıpadech m˚ uˇzeme i odstranit cel´e ˇca´sti nahr´avky a nechat pouze reprezentativn´ı u ´seky. V urˇcit´ ych experimentech (Rauber et al., 2002a) byly napˇr´ıklad zvukov´e uk´azky pˇrevzorkov´any na 11 kHz mono, d´ale bylo odstranˇeno 10 s z´aznamu ze zaˇca´tku a konce nahr´avek. Takto z´ısk´ame data obsahuj´ıc´ı pouze informace, kter´e n´as zaj´ımaj´ı. V datab´azi vˇsak mus´ı z˚ ustat p˚ uvodn´ı nahr´avka, kterou po vyhled´an´ı nab´ıdneme posluchaˇci. Pˇresn´ y zp˚ usob vn´ım´an´ı zvuku u ˇclovˇeka je z´avisl´ y na mnoha faktorech a dosud pro nˇej nebyla vyvinuta uspokojiv´a teorie. 3.2.2
Hudba
Hudbu od ostatn´ıho zvukov´eho dˇen´ı oddˇeluje pr´avˇe urˇcit´a moˇznost vytvoˇren´ı modelu, jenˇz dˇen´ı popisuje. V mnoha pˇr´ıpadech nevyuˇz´ıv´a cel´e frekvenˇcn´ı spektrum, ale pouze urˇcit´e diskr´etn´ı ˇrady frekvenc´ı. Tato vlastnost nen´ı n´ahodn´a, ale vych´az´ı z pˇrirozen´e schopnosti tˇeles (hlasivek, strun, dˇrev, blan ...) rezonovat a vytv´aˇret tak t´ony u dan´ ych v´ yˇsk´ach. Tento princip zde alespoˇ n jednoduˇse vysvˇetl´ıme, jelikoˇz plat´ı obecnˇe a nalezneme jej v hudbˇe po cel´em svˇetˇe. T´on je v hudbˇe z´akladn´ım materi´alem, oproti ˇsumu je to zvuk se st´alou“ frekvenc´ı. Tato frekvence nemus´ı ” b´ yt konstantn´ı, m˚ uˇze kupˇr´ıkladu oscilovat kolem stˇredn´ı hodnoty (vibr´ato), nebo se m˚ uˇze plynule mˇenit z jedn´e frekvence k druh´e (glissando). Intervaly pˇredstavuj´ı vzd´alenost mezi jednotliv´ ymi v´ yˇskov´ ymi stupni. Je to velice d˚ uleˇzit´a charakteristika, jelikoˇz drtiv´a vˇetˇsina lid´ı nedok´aˇze urˇcit absolutn´ı v´ yˇsku t´onu, dok´aˇze vˇsak dobˇre vn´ımat vzd´alenost mezi dvˇema t´ony. Tuto vlastnost urˇcuje pomˇer frekvenc´ı dvou t´on˚ u, mezi nimiˇz interval urˇcujeme: 1 : 2 – okt´ava, 2 : 3 – kvinta, 3 : 4 – kvarta, 4 : 5 – velk´a tercie, 5 : 6 – mal´a tercie atd. Toto m˚ uˇzeme sledovat na obr´azku 12. Alikvotn´ı ˇrada je z´akladn´ı princip urˇcuj´ıc´ı v´ yˇskov´e vztahy t´on˚ u vznikaj´ıc´ıch na kmitaj´ıc´ıch tˇelesech. Obr´azek 11 ukazuje, jak na kmitaj´ıc´ı strunˇe vznikaj´ı tzv. vyˇsˇs´ı harmonick´e kmity. Na strunˇe kmitaj´ıc´ı se z´akladn´ı (fundament´aln´ı) frekvenc´ı vznik´a kmit´an´ı s dvojn´asobnou frekvenc´ı, kter´a vyd´av´a o okt´avu vyˇsˇs´ı t´on atd. Podobn´ y zp˚ usob tvorby t´on˚ u existuje u vˇsech n´astroj˚ u, napˇr. u dechov´ ych kmit´a vzduchov´ y sloupec, u bic´ıch kmit´a samo tˇeleso. Kolik a jak´ ych vyˇsˇs´ıch harmonick´ ych t´on˚ u se ozve, z´avis´ı na rezonanˇcn´ıch vlastnostech tˇelesa. Housle maj´ı jin´ y tvar desky neˇz viola, proto je barva zvuku jin´a. Stejnˇe tak hlas ˇclovˇeka z´avis´ı na fyziologii jeho tˇela. Ladˇen´ı je zp˚ usobem, jak´ ym jsou odvozeny frekvence t´on˚ u v cel´e stupnici. Taˇ bulka 3 ukazuje rozd´ıl ladˇen´ı Cist´eho (pouˇz´ıv´a pro odvozen´ı vˇsech t´on˚ u pouze okt´avu a kvintu) a temperovan´eho (dˇel´ı okt´avu na 12 stejn´ ych d´ılk˚ u – p˚ ult´on˚ u). Frekvenci
3.2
25
Modelov´an´ı zvukov´eho dˇen´ı
Obr´azek 11: Kmit´ an´ı na strunˇe
Obr´azek 12: Alikvotn´ı ˇrada
n-t´eho t´onu alikvotn´ı ˇrady v ˇcist´em ladˇen´ı m˚ uˇzeme vypoˇc´ıtat podle vztahu 7 fn+1 = fn ·
n+1 n
(7)
kde fn+1 je frekvence odpov´ıdaj´ıc´ıho t´onu ˇrady. Frekvenci n-t´eho t´onu alikvotn´ı ˇrady v temperovan´em ladˇen´ı vypoˇc´ıt´ame podle vztahu 8 fn+1 = fn · pi (8) kde p je temperovan´ y p˚ ult´on a odpov´ıd´a p = 21/12 a i je velikost intervalu v p˚ ult´onech (12 je okt´ava, 7 kvinta, 5 kvarta atd.).
26
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
Rozd´ıl frekvenc´ı v centech se vypoˇcte podle vztahu 9 log FFct 1 1 c= log (2 12 ) 100
(9)
kde Fc je frekvence t´onu v ˇcist´em ladˇen´ı a Ft je frekvence t´onu v temperovan´em ladˇen´ı. Hodnoty uveden´e v tabulce 3 m˚ uˇzeme v prostˇred´ı GNU Octave vypoˇc´ıtat pomoc´ı n´asleduj´ıc´ıho k´odu: %zakladni ton je 3 oktavy pod komornim a ... subkontra A A=440*(2/1)^-3; FREK_cista(1)=A; FREK_temp(1)=A; temper_pulton=2^(1/12); interval=[12 7 5 4 3 3 2 2 2 2 1 1 2 1 1]; for j=1:15 FREK_cista(j+1)=FREK_cista(j)*((j+1)/j); FREK_temp(j+1)=FREK_temp(j)*temper_pulton^interval(j); end FREK_cista’ FREK_temp’ FREK_rozdil=(FREK_cista-FREK_temp)’ FREK_centy=(log(FREK_cista./FREK_temp)./log((2^(1/12))^(1/100)))’ a odpov´ıdaj´ıc´ı zvukov´ y v´ ystup z´ısk´ame takto: CELKOVY_CAS=16; %sekundy SR=44100; %sample rate ST=1/SR; %step X=0:ST:CELKOVY_CAS; %osa_x AMPL1=(0.5/(SR/4))*(0:SR/4); AMPL2(1:(SR/2)-2)=0.5; AMPL3=0.5+(-0.5/(SR/4))*(0:SR/4); AMPL=[AMPL1 AMPL2 AMPL3]; for k=1:CELKOVY_CAS start=1+(k-1)*SR; stop=SR+(k-1)*SR; Y(start:stop,1)=AMPL.*sin(2*pi*FREK_cista(k).*X(start:stop)); Y(start:stop,2)=AMPL.*sin(2*pi*FREK_temp(k).*X(start:stop)); end wavwrite(Y,44100,16,’alikvoty.wav’);
3.3
27
Anal´yza sign´alu v ˇcasov´e oblasti
Tabulka 3: Porovn´ an´ı frekvenc´ı alikvotn´ıch t´onu v ˇcist´em a temperovan´em ladˇen´ı
ˇ ıslo C´ 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
N´ azev a a e a cis e g a h cis dis e f g gis a
ˇ e [Hz] Cist´ 55 110 165 220 275 330 385 440 495 550 605 660 715 770 825 880
Temp. [Hz] 55.000 110.000 164.814 220.000 277.183 329.628 391.995 440.000 493.883 554.365 622.254 659.255 698.456 783.991 830.609 880.000
Rozd´ıl [Hz] 0.00000 0.00000 0.18622 0.00000 -2.18263 0.37244 -6.99544 0.00000 1.11670 -4.36526 -17.25397 0.74489 16.54354 -13.99087 -5.60940 0.00000
Rozd´ıl [cent] 0.00000 0.00000 1.95500 0.00000 -13.68629 1.95500 -31.17409 0.00000 3.91000 -13.68629 -48.68206 1.95500 40.52766 -31.17409 -11.73129 0.00000
Form´at MIDI (Musical Instrument Digital Interface) pˇredstavuje jakousi elektronickou obdobou notov´eho z´apisu. V textov´em souboru je zaznamen´ana d´elka, v´ yˇska, s´ıla a dalˇs´ı parametry jednotliv´ ych t´on˚ u“. Ty pak vznikaj´ı tak, ˇze jim synte” tiz´er pˇriˇrad´ı konkr´etn´ı zvuk (tak jako hudebn´ık vytvoˇr´ı zvuk odpov´ıdaj´ıc´ı notov´emu z´apisu). Tento form´at je pouˇzit v mnoha experimentech z´ısk´av´an´ı hudebn´ıch informac´ı. Mezi jeho v´ yhody patˇr´ı mal´a velikost soubor˚ u a tud´ıˇz bezprobl´emov´e uloˇzen´ı a rychl´e zpracov´an´ı. Velice komplikovan´ y je vˇsak pˇrevod nov´ ych nahr´avek do tohoto form´atu (spolehlivˇe jej m˚ uˇze prov´est pouze vyspˇel´ y hudebn´ık). Je to v podstatˇe u ´loha zaps´an´ı slyˇsen´e hudby do not. Tato u ´loha se tak´e ˇreˇs´ı pomoc´ı metod umˇel´e inteligence, v souˇcasn´e dobˇe vˇsak automaticky pˇrev´adˇet sloˇzitˇejˇs´ı hudby do not spolehlivˇe nelze. Probl´em nespoˇc´ıv´a ani ve v´ ypoˇcetn´ı sloˇzitosti, sp´ıˇse n´am chyb´ı vˇedomosti o tom, jak´ ym zp˚ usobem funguje vn´ım´an´ı hudby u ˇclovˇeka. V (Klapuri, 2004) autor odhaduje, ˇze v´ yvoj bude trvat roky, moˇzn´a desetilet´ı, neˇz se automatick´a transkripce dostane na 95% u ´rovnˇe schopnost´ı ˇskolen´ ych hudebn´ık˚ u v t´eto oblasti. MIDI form´at nav´ıc neuchov´av´a informaci o barvˇe zvuku, pro popis hudebn´ıch nahr´avek v ˇsirok´em slova smyslu proto nen´ı vhodn´ y.
3.3
Anal´ yza sign´ alu v ˇ casov´ e oblasti
N´ami analyzovan´a data jsou vzorky p˚ uvodn´ıho analogov´eho sign´alu, jenˇz reprezentoval zmˇenu tlaku vzduchu v ˇcase. Nez´avislou promˇennou (oblast´ı ve kter´e byl poˇr´ızen) je zde tedy ˇcas. Tento sign´al m˚ uˇzeme zn´azornit pomoc´ı waveformu na obr´azku 13, jenˇz m´a ˇcas zachycen na ose X. Z tohoto vyobrazen´ı si jiˇz m˚ uˇzeme udˇelat urˇcitou
28
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
pˇredstavu o povaze informac´ı, jeˇz ze sign´alu m˚ uˇzeme v ˇcasov´e oblasti z´ıskat. Horn´ı waveform zachycuje ˇc´ast Matouˇsov´ ych paˇsij´ı J.S. Bacha, zat´ımco spodn´ı waveform zachycuje prolog k opeˇre Orfeo od Claudia Monteverdiho. Jelikoˇz je na ose Y amplituda sign´alu, odpov´ıdaj´ı m´ısta s malou amplitudou tich´ ym u ´sek˚ um a m´ısta s velkou amplitudou naopak u ´sek˚ um hlasit´ ym. Z toho bychom mohli usuzovat na celkovou skladbu nahr´avky. Na spodn´ım diagramu kupˇr´ıkladu jasnˇe vid´ıme, ˇze se skl´ad´a ze tˇr´ı ˇca´st´ı, nav´ıc ˇze je prvn´ı a tˇret´ı stejn´a. M˚ uˇzeme tedy tvrdit, ˇze m´a skladba, co se hlasitosti t´ yˇce, formu ABA. Pokud bychom si detailnˇe zobrazil urˇcit´e ˇc´asti, mohli bychom zde podobn´ ym zp˚ usobem nal´ezt informace o rytmu. Obdobnˇe m˚ uˇzeme pozorovat stˇr´ıd´an´ı urˇcit´ ych ˇca´st´ı v horn´ım diagramu. M˚ uˇzeme tedy ˇr´ıci, ˇze z charakteristik v ˇcasov´e oblasti dok´aˇzeme z´ıskat informace o formˇe a rytmu. Nedok´aˇzeme ale takto zjistit ˇza´dn´e informace o barvˇe zvuku potaˇzmo n´astrojov´em obsazen´ı. V t´eto kapitole uvedeme charakteristiky vypoˇc´ıtan´e v origin´aln´ı (ˇcasov´e) oblasti, tedy bez jak´ekoli transformace.
Obr´azek 13: Waveform
Mohutnost impulzu je u spojit´eho sign´alu d´ana plochou, kterou vymezuje jeho grafick´ y pr˚ ubˇeh. U diskr´etn´ıho sign´alu je mohutnost d´ana vztahem 10 M=
∞ X
s(k)
(10)
k=−∞
Stˇredn´ı hodnota se historicky vztahuje k periodick´ ym sign´al˚ um a je definov´ana jako pr˚ umˇern´a hodnota sign´alu v r´amci jedn´e periody. Smˇerodatn´a odchylka je odmocninou z rozptylu n´ahodn´e veliˇciny a je d´ana vztahem 11.
3.3
29
Anal´yza sign´alu v ˇcasov´e oblasti
σ(X) =
p D(X)
(11)
Medi´an, jenˇz je 50% kvantilem n´ahodn´e veliˇciny. Tyto nejjednoduˇsˇs´ı ˇctyˇri charakteristiky vypoˇcten´e pro nahr´avky zachycen´e na obr´azku 13 vid´ıme na obr´azku 14. Nahr´avky byly rozdˇeleny na deset d´ıl˚ u, ve kter´ ych byly charakteristiky vypoˇcteny. Z charakteristik druh´e nahr´avky je jasnˇe patrn´e, ˇze m´a 2 vrcholy, jimˇz odpov´ıd´a ˇca´st A. Interpretace tˇechto charakteristik u prvn´ı nahr´avky je diskutabiln´ı.
Obr´azek 14: Charakteristiky sign´alu
Poˇcet pˇrekroˇcen´ı nulov´e u ´rovnˇe (Zero crossing rate) je jedna z charakteristik urˇcovan´a pˇr´ımo z waveform˚ u (v ˇcasov´e dom´enˇe). Urˇcuje, kolikr´at za sekundu sign´al pˇrekroˇc´ı nulovou u ´roveˇ n – pˇrejde z pozitivn´ı hodnoty na negativn´ı ˇci naopak. Tato charakteristika m˚ uˇze ukazovat bud’to z´akladn´ı frekvenci, nebo nejhlasitˇejˇs´ı sign´al a slouˇz´ı jako z´akladn´ı n´astroj pro rozliˇsen´ı ˇreˇci a hudby. Tato charakteristika je pouˇzita v experimentu popsan´em v kapitole 5.7. Efektivn´ı hodnota energie (Root Mean Square Energy) se spoˇc´ıt´a jako druh´a mocnina z hodnoty energie v ˇcasov´em ok´enku. Je to tak´e hodnota z´ısk´avan´a pˇr´ımo
30
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
z waveform˚ u, je tedy lehce implementovateln´a. Tato hodnota je dobr´ ym identifik´atorem hlasitosti a m˚ uˇze tak´e poslouˇzit pˇri urˇcov´an´ı charakteristik na vyˇsˇs´ı u ´rovni – napˇr. detekce audio ud´alost´ı, segmentace nebo pˇri odhadu tempa. Pomˇer n´ızk´e energie (Low Energy Rate) je obvykle definov´an jako procento ˇcasov´ ych ok´enek obsahuj´ıc´ıch m´enˇe energie pˇren´aˇsen´e zvukem, neˇz je pr˚ umˇer vˇsech ˇcasov´ ych ok´enek v audio vzorku. Energie se poˇc´ıt´a jako efektivn´ı hodnota energie.
3.4
Spektr´ aln´ı anal´ yza
Spektr´aln´ı anal´ yza je zaloˇzena na transformaci sign´alu z p˚ uvodn´ı ˇcasov´e oblasti do oblasti frekvenˇcn´ı. Nez´avislou promˇennou se tedy stane frekvence. Tento pˇrevod m˚ uˇzeme uskuteˇcnit nˇekolika zp˚ usoby, pˇriˇcemˇz je v souˇcasn´e dobˇe nejpouˇz´ıvanˇejˇs´ı Fourierova transformace a vlnkov´a transformace (wavelet transform). 3.4.1
Fourierova transformace diskr´ etn´ıho sign´ alu
Fourierova transformace diskr´etn´ıho sign´alu (DTFT) je d´ana vztahem 12. DTFT{fn } = F (ω) =
∞ X
fn · e−jωnT
(12)
n=−∞
Zpˇetn´a DTFT pouˇziteln´a pro v´ ypoˇcet koeficient˚ u Fourierovy ˇrady a t´ım pro z´ısk´an´ı spektra sloˇzit´eho sign´alu je definov´ana vztahem 13. 1 fn = 2π
Z
π T
F (ω) · ejωT n dω
(13)
− Tπ
Pro numerick´ y v´ ypoˇcet je v´ yhodn´e pouˇz´ıt algoritmu Fast Fourier transform (Jan, 2002), jenˇz umoˇzn ˇuje rychl´ y v´ ypoˇcet tohoto vztahu. Tento algoritmus je implementov´an v Matlabu a GNU Octave funkc´ı fft(), kterou v pr´aci vyuˇz´ıv´ame. Na obr´azku 15 vid´ıme sign´al, jenˇz je tvoˇren superpozic´ı tˇr´ı harmonick´ ych kmit˚ u. Jeden m´a frekvenci 55 Hz, druh´ y 110 Hz a tˇret´ı 165 Hz. Jejich amplituda je 1, 0,75 a 0,5. Sign´al by se tedy dal popsat rovnic´ı 14. y = 1 sin(2πω55t) + 0,75 sin(2πω110t) + 0,5 sin(2πω165t)
(14)
Ve spodn´ı ˇca´sti vid´ıme obraz sign´alu ve frekvenˇcn´ı oblasti. Tˇri vrcholy odpov´ıdaj´ı tˇrem harmonick´ ym kmit˚ um. M˚ uˇzeme si vˇsimnout toho, ˇze jejich v´ yˇska nedosahuje amplitudy dan´e koeficienty vzorce 14. Fourierova transformace je definov´ana na intervalu (−∞, ∞), coˇz u naˇseho sign´alu nen´ı splnˇeno. Dalˇs´ı pˇr´ıˇciny bychom mohli naj´ıt v (Jan, 2002). U re´aln´eho zvukov´eho sign´alu nav´ıc nem˚ uˇzeme splnit podm´ınku periodicity sign´alu, jelikoˇz se parametry oscil´atoru pˇri hˇre, zpˇevu, mluven´ı atd. dost podstatnˇe mˇen´ı. M˚ uˇzeme vˇsak jako periodickou povaˇzovat urˇcitou malou ˇca´st sign´alu. T´eto
3.4
Spektr´aln´ı anal´yza
31
Obr´azek 15: Fourierova trensformace sign´alu definovan´eho vztahem 14
ˇ ım je toto ok´enko delˇs´ı, t´ım l´epe lze Fourieˇca´sti ˇr´ık´ame ˇcasov´e ok´enko (window). C´ rovou transformac´ı urˇcit jednotliv´e sloˇzky sign´alu, avˇsak se t´ım zhorˇsuje rozliˇsovac´ı schopnost v ˇcase, kter´e je vˇenov´ana kapitola 3.5. Na obr´azku 16 je pr˚ ubˇeh sign´alu a jeho obraz ve frekvenˇcn´ı oblasti pro ˇcasov´e ok´enko dlouh´e 256 vzork˚ u (t = 1/44 000 · 256 = 0, 005 81 [s]), jenˇz zaˇc´ın´a v ˇcase 10 sekund. Nahoˇre je nahr´avka 1 a dole nahr´avka 2. Z obrazu ve frekvenˇcn´ı oblasti nemohu soudit nic o rytmu nebo formˇe skladby, zato mohu posuzovat v´ yˇsku t´onu, barvu zvuku, n´astrojov´e obsazen´ı. U nahr´avky 1 je nejsilnˇejˇs´ı frekvence zhruba 1 400 Hz, kdeˇzto u nahr´avky v je to 600 Hz. M˚ uˇzeme tedy ˇr´ıci, ˇze v ˇcase 10 sekund je na nahr´avce jedna zachycen vyˇsˇs´ı t´on. Spektr´aln´ı tok je veliˇcina spektr´aln´ı dom´eny, kter´a se spoˇc´ıt´a jako rozd´ıl ˇctverc˚ u rozdˇelen´ı frekvenc´ı dvou po sobˇe jdouc´ıch ˇcasov´ ych ok´enek. Mˇeˇr´ı pomˇer lok´aln´ıch zmˇen ve spektru. Pokud je mezi dvˇema sn´ımky velk´a zmˇena spektra, je tento pomˇer vysok´ y. Spektr´aln´ı tˇeˇziˇstˇe je takov´a frekvence, kdy je energie vˇsech niˇzˇs´ıch frekvenc´ı stejn´a jako energie vˇsech vyˇsˇs´ıch frekvenc´ı. Je mˇeˇr´ıtkem tvaru spektra. Z´akladn´ı audio frekvence (fundament´aln´ı frekvence) je nejniˇzˇs´ı frekvenc´ı v harmonick´e s´erii. Viz Alikvotn´ı ˇrada. Audioharmonicita ukazuje, do jak´e m´ıry je sign´al harmonick´ y (hudebn´ı t´ony nebo samohl´asky obsahuj´ı vyˇsˇs´ı harmonick´e kmity na rozd´ıl od hluk˚ u a dalˇs´ıch neznˇel´ ych zvuk˚ u).
32
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
Obr´azek 16: Srovn´ an´ı Fourierovy trensformace dvou vzork˚ u re´aln´eho sign´alu
3.5
ˇ Casovˇ e frekvenˇ cn´ı anal´ yza
Pˇri anal´ yze sign´al˚ u se jejich spektrum v ˇcase promˇen ˇuje a je uˇziteˇcn´e tyto zmˇeny sledovat. To n´am umoˇzn ˇuje spektrogram, jenˇz vid´ıme na obr´azku 17. Pˇredstavuje ˇ zde pˇrib´ pohled na na obˇe nahr´avky z hlediska spektra. Cas yv´a ve smˇeru vodorovn´e osy. Dalˇs´ı charakteristiky pouˇz´ıvan´e pˇri zpracov´an´ı sign´alu nalezneme v (Rao, 2008) a v (Lidy – Rauber, 2005).
3.6
V´ ybˇ er charakteristik
V´ ybˇer charakteristik (deskriptor˚ u) je pro u ´spˇeˇsnost klasifikace audio dat kl´ıˇcov´a, jelikoˇz vˇsechny klasifikaˇcn´ı algoritmy pracuj´ı s charakteristick´ ymi vektory vstupn´ıch dat a pr´avˇe na jejich kvalitˇe jejich u ´spˇeˇsnost z´avis´ı. Pokud si tak´e pˇredstav´ıme zp˚ usob pr´ace pˇri prohled´av´an´ı zvukov´e datab´aze, budeme se dotazovat na urˇcit´e vlastnosti, kter´e ovˇsem mus´ıme b´ yt schopni z nahr´avky z´ıskat. Nemohu kupˇr´ıkladu vyhled´avat nahr´avky hudby ve 3/4 taktu, pokud nebudu schopen naj´ıt v nahr´avce tˇeˇzk´e a lehk´e doby (jednu tˇeˇzkou – v´ yraznˇejˇs´ı, n´asleduj´ı dvˇe lehk´e – slabˇs´ı). Zat´ımco nˇekter´e algoritmy z´ısk´avaj´ı charakteristick´e vlastnosti pˇr´ımo z waveform˚ u nahr´avky, velk´a vˇetˇsina pracuje se spektr´aln´ı reprezentac´ı audio sign´alu. Ve snaze z´ıskat informace potˇrebn´e k detekci rytmu, v´ yˇsky, melodie, barvy (charakteristiky vyˇsˇs´ı u ´rovnˇe) pracuj´ı algoritmy vˇetˇsinou s informacemi o frekvenˇcn´ım p´asmu, energii
ˇ ıslicov´e filtry 3.7 C´
33
Obr´azek 17: Spektrogram
pˇren´aˇsen´e zvukem nebo se statistick´ ymi veliˇcinami popisuj´ıc´ımi sign´al (charakteristiky niˇzˇs´ı u ´rovnˇe). Experimenty ukazuj´ı, ˇze je v´ yhodn´e pouˇz´ıt psychoakustick´e modely, v´ ypoˇcetnˇe se tak pˇribl´ıˇzit lidsk´emu vn´ım´an´ı a zkvalitnit tak informace obsaˇzen´e ve zvukov´ ych charakteristik´ach. Jsou zde pops´any nˇekter´e charakteristiky niˇzˇs´ı u ´rovnˇe (low-level characteristics) obecnˇe pouˇz´ıvan´e pˇri vyhled´av´an´ı na z´akladˇe obsahu. Charakteristiky vyˇsˇs´ı u ´rovnˇe jsou pops´any v kapitole 2 – melodie, rytmus atd. 3.6.1
Automatick´ y v´ ybˇ er charakteristik
Pokud budeme cht´ıt urˇcit hledanou hudbu na z´akladˇe mnoˇzin uk´azek definovan´ ych uˇzivatelem (Bogdanov et al., 2010) najdi nˇeco podobn´eho, jako je tohle“, mus´ıme ” b´ yt schopni automaticky vyhledat charakteristiky vhodn´e pro popis zrovna vytvoˇren´e mnoˇziny uk´azek, coˇz nen´ı jednoduch´ yu ´kol. Potˇrebujeme objektivn´ı mˇeˇr´ıtko popisu dan´eho objektu. Zˇrejmˇe bychom pˇri hled´an´ı ide´aln´ıho popisu mohli vyuˇz´ıt statistick´ ych metod (Fejfar et al., 2010a). D´ale se v´ ybˇerem charakteristik zab´ yv´a kapitola 4.2.1.
3.7
ˇ ıslicov´ C´ e filtry
Velmi rozˇs´ıˇrenou metodou zpracov´an´ı sign´alu jsou filtry. Pomoc´ı filtru je moˇzn´e ze smˇesi v´ıce sign´al˚ u vybrat urˇcit´e (pro n´as uˇziteˇcn´e) sloˇzky a potlaˇcit jin´e (napˇr´ıklad ˇsum). Obecnˇe je moˇzn´e mˇenit vlastnosti jednotliv´ ych sloˇzek (pomˇern´e zastoupen´ı, ˇcasov´e vztahy) (Jan, 2002). Filtry mohou b´ yt realizov´any analogovˇe i ˇc´ıslicovˇe. V t0to kapitole se budeme d´ale zab´ yvat ˇc´ıslicov´ ymi filtry.
34
3
´ ´I ZVUKOVEHO ´ ´ ZPRACOVAN SIGNALU
Princip obecn´eho filtru spoˇc´ıv´a v konvoluci vstupn´ıho sign´alu s impulsn´ı odezvou filtru; u rekurzivn´ıch filtr˚ u se do sign´alu jeˇstˇe pˇriˇcte konvoluce v´ ystupn´ıho sign´alu s impulsn´ı odezvou rekurzivn´ı ˇca´sti filtru, coˇz zn´azorˇ nuje obr´azek 18 a zachycuje vztah 15.
ˇ Obr´azek 18: Obecnˇe rekurzivn´ı filtr (Cernock´ y, 2009)
y[k] =
Q X k=0
bk x[n − k] −
P X
ak y[n − k]
(15)
k=1
D´ale m˚ uˇzeme filtry rozdˇelit na: • filtry s koneˇcnou impulsn´ı charakteristikou (FIR – finite impulse response), 0 pro k < 0 a pro k > Q h[k] = (16) bk pro 0 ≤ k ≤ Q kde h[k] je impulsn´ı odezva, • filtry s nekoneˇcnou impulsn´ı charakteristikou (IIR – infinite impulse response), – ˇcistˇe rekurzivn´ı, kde jsou nenulov´e pouze b0 , a1 . . . ap a – obecnˇe rekurzivn´ı, kde ak i bk jsou nenulov´e. Pomoc´ı filtr˚ u m˚ uˇzeme realizovat ˇctyˇri typy u ´prav: doln´ı propust, horn´ı propust, p´asmov´a propust a p´asmov´a z´adrˇz. Jak vypl´ yv´a z principu filtr˚ u, m˚ uˇzeme je vyuˇz´ıt zejm´ena pro u ´pravu sign´alu, coˇz se m˚ uˇze hodit bˇehem ˇc´asti pˇredzpracov´an´ı cel´e u ´lohy klasifikace audio dat. Jde n´am zde o zv´ yraznˇen´ı vlastnosti sign´alu, jenˇz odpov´ıd´a krit´eriu, podle kter´eho klasifikujeme, respektive o odstranˇen´ı ˇc´ast´ı sign´alu, jenˇz n´as pˇri klasifikaci nezaj´ım´a. Jako pˇr´ıklad je moˇzn´e uv´est odstranˇen´ı vysok´ ych (harmonick´ ych) frekvenc´ı pomoc´ı doln´ı propusti pˇri urˇcov´an´ı melodie (barva zvuku dan´a pomˇerem vyˇsˇs´ıch harmonick´ ych frekvenc´ı n´as zde nezaj´ım´a). Tento filtr by mohl m´ıt napˇr´ıklad koeficienty b0,1,2 = 1/3, takˇze pˇri konvoluci se vstupn´ım sign´alem dojde k pr˚ umˇerov´an´ı“ ” tˇr´ı sousedn´ıch hodnot podle vztahu 17 y[k] = 1/3x[k − 2] + 1/3x[k − 1] + 1/2x[k − 2]
(17)
vstupn´ıho sign´alu, ˇc´ımˇz se sign´al vyhlad´ı“ a dojde tak k odstranˇen´ı vyˇsˇs´ıch ” ˇ frekvenc´ı (Cernock´ y, 2009).
4
ˇ E ´ INTELIGENCE METODY UMEL
4
35
Metody umˇ el´ e inteligence
Umˇel´a inteligence je ˇsirok´a oblast s mnoha aplikacemi (klasifikace, shlukov´an´ı, rozpozn´an´ı vzor˚ u, predikce, poˇc´ıtaˇcov´e vidˇen´ı, navigace autonomn´ıch robot˚ u, obsluha sonaru, zpracov´an´ı text˚ u atd.) i n´astroji, kter´ ymi dan´e u ´lohy ˇreˇs´ı (statistick´e metody, algoritmy prohled´av´an´ı prostoru, neuronov´e s´ıtˇe, metody strojov´eho uˇcen´ı, dolov´an´ı dat). Nal´ez´a uplatnˇen´ı v u ´loh´ach, kter´e nejsou jednoznaˇcnˇe a jednoduˇse ˇreˇsiteln´e, nebo je potˇreba aby byly ˇreˇseny rychle (v re´aln´em ˇcase). Oblast umˇel´e inteligence se pˇrekr´ yv´a nebo zahrnuje dalˇs´ı obory, jako jsou neuronov´e s´ıtˇe, strojov´e uˇcen´ı, algoritmy inspirovan´e pˇr´ırodou. Z tohoto velk´eho mnoˇzstv´ı pˇr´ıstup˚ u jsou v n´asleduj´ıc´ıch kapitol´ach pops´any nejd˚ uleˇzitˇejˇs´ı principy z oblasti umˇel´e inteligence vztahuj´ıc´ı se ke klasifikaci hudebn´ıch nahr´avek.
4.1
Tˇr´ıdˇ en´ı
Tˇr´ıdˇen´ı (klasifikace nebo shlukov´an´ı, viz obr´azek 23) je postup, kter´ ym dok´aˇzeme data roztˇr´ıdit do mnoˇzin, jeˇz zahrnuj´ı podobn´e prvky. Jak ale ukazuje kapitola 2.1, je ot´azka podobnosti dosti sloˇzit´a. Situaci m˚ uˇzeme popsat pomoc´ı obr´azku 19. Mnoˇziny hudebn´ıch nahr´avek se pˇrekr´ yvaj´ı, takˇze urˇcit´e nahr´avky mohou napˇr´ıklad patˇrit do mnoˇziny 1, co se t´ yˇce rytmu a do mnoˇziny 2, co se t´ yˇce n´astrojov´eho obsazen´ı. Mus´ıme vˇzdy pˇresnˇe urˇcit, podle jak´eho krit´eria chceme klasifikovat a na z´akladˇe toho vybrat charakteristiky audio sign´alu kter´e budou nahr´avky popisovat tak, aby byly dobˇre separovateln´e.
2
1 3 Obr´azek 19: Klasifikaˇcn´ı mnoˇziny
Netˇr´ıd´ıme nahr´avky samotn´e (jako objekty re´aln´eho svˇeta), ale napˇred tyto nahr´avky urˇcit´ ym zp˚ usobem pop´ıˇseme a z´ısk´ame tak obraz – charakteristick´ y vektor, jenˇz je zobrazen´ım re´aln´e nahr´avky z hlediska zvolen´eho popisu. (Maˇr´ık et al., 1997). Vznikl´e charakteristick´e vektory d´ale tˇr´ıd´ıme. Popis nahr´avky je tedy pro tˇr´ıdˇen´ı kl´ıˇcov´ y. Mus´ıme si vˇsak uvˇedomit, ˇze popis objektu vhodn´ y pro jeden algoritmus nemus´ı b´ yt vhodn´ y pro jin´ y a naopak. Museli bychom nal´ezt ide´aln´ı klasifik´ator pro dan´ y popis, coˇz nen´ı moˇzn´e. M˚ uˇzeme si napˇr´ıklad pˇredstavit, ˇze dvˇema posluchaˇc˚ um m˚ uˇze pro klasifikaci stejn´eho jevu vyhovovat jin´ y popis. Schopnost klasifikovat separovateln´a data z´avis´ı u umˇel´ ych neuronov´ ych s´ıt´ı jak na jejich natr´enov´an´ı, tak
36
4
ˇ E ´ INTELIGENCE METODY UMEL
zejm´ena na jejich topologii a nastaven´ı vah. Pokud jsme tedy schopni nahr´avky popsan´e urˇcit´ ym zp˚ usobem klasifikovat urˇcitou neuronovou s´ıt´ı, neznamen´a to, ˇze bude tento popis vhodn´ y pro jinou topologii t´eto s´ıtˇe, nebo dokonce jin´ y typ neuronov´e s´ıtˇe. Tento probl´em ukazuje obr´azek 20. Klasifik´ator lze nastavit dvˇema zp˚ usoby (Maˇr´ık et al., 1993): • Anal´ yzou probl´emu a definov´an´ım rozhodovac´ıho pravidla pˇred klasifikac´ı. V pˇr´ıpadˇe rozdˇelen´ı klasick´e hudby od ostatn´ıho zvukov´eho dˇen´ı by mohlo rozhodovac´ı pravidlo rozhodovat na z´akladˇe toho, zda se v nahr´avce podaˇrilo nal´ezt nˇejak´e t´ony (´ useky se st´alou v´ yˇskou). • Sestaven´ım rozhodovac´ıho pravidla s pouˇzit´ım objekt˚ u, jejichˇz spr´avn´a klasifikace je pˇredem zn´ama. V pˇredeˇsl´em pˇr´ıpadˇe tedy sestaven´ım tr´enovac´ı mnoˇziny s hudebn´ımi, respektive nehudebn´ımi uk´azkami. Uˇzivatelsky pˇr´ıvˇetiv´ y popis hledan´ ych nahr´avek s pouˇzit´ım objekt˚ u se zn´amou spr´avnou klasifikac´ı nalezneme v (Fejfar et al., 2010a). V pr´aci (Pape et al., 2008) pouˇz´ıvaj´ı pro navrˇzen´ı klasifik´atoru standardn´ı metody strojov´eho uˇcen´ı. Pouˇz´ıvan´e klasifik´atory zahrnuj´ı algoritmy statistick´eho rozpozn´an´ı vzor˚ u jako je k-nejbliˇzˇs´ıch soused˚ u, Gauss˚ uv klasifik´ator a neuronov´e s´ıtˇe.
N
Obr´azek 20: Klasifik´ ator
4.2 4.2.1
Rozpozn´ av´ an´ı Pˇr´ıznakov´ e metody rozpozn´ av´ an´ı
Obrazem objektu (nahr´avky) jsou u pˇr´ıznakov´ ych metod rozpozn´av´an´ı vektory ˇc´ıseln´ ych hodnot – pˇr´ıznak˚ u. Mohou to b´ yt nejr˚ uznˇejˇs´ı charakteristiky jak z ˇcasov´e, tak frekvenˇcn´ı oblasti (viz kapitola 3.3, resp. kapitola 3.4). Nen´ı zde zachyceno nic z jejich vz´ajemn´eho vztahu. Diskriminaˇcn´ı funkce urˇcuje m´ıru pˇr´ısluˇsnosti k dan´e tˇr´ıdˇe. Toto je situace v experimentu popsan´em v kapitole 5.2. Objekty jsou pops´any jednoduch´ ymi charakteristikami sign´alu v ˇcasov´e oblasti. Kaˇzd´ y neuron Kohonenovy mapy (viz kapitola 4.4.2) m´a nastaven vlastn´ı vektor (codebook vector) o shodn´e
4.3
Neuronov´e s´ıtˇe
37
dimenzi s charakteristick´ ymi vektory a na z´akladˇe vzd´alenosti tˇechto vektor˚ u, diskriminaˇcn´ı funkce, se urˇcuje m´ıra pˇr´ısluˇsnosti k tˇr´ıd´am. Na z´akladˇe jej´ıch hodnot se pot´e vybere neuron (neprezentuj´ıc´ı konkr´etn´ı tˇr´ıdu), jenˇz m´a hodnotu diskriminaˇcn´ı funkce minim´aln´ı. Dalˇs´ı moˇznost´ı vytv´aˇren´ı takov´ ychto shluk˚ u nahr´avek jsou metody shlukov´e anal´ yzy. Pˇrehled nalezneme v (Maˇr´ık et al., 1997). D˚ uleˇzit´a je skuteˇcnost, ˇze vzr˚ ustaj´ıc´ı poˇcet pˇr´ıznak˚ u nevede ke zv´ yˇsen´ı spr´avnosti klasifikace. Toto n´as nut´ı vyb´ırat pˇr´ıznaky na z´akladˇe d˚ ukladn´e anal´ yzy probl´emu. Existuj´ı metody, jeˇz n´am s v´ ybˇerem pomohou. Tyto metody se op´ıraj´ı o pˇrevod do niˇzˇs´ı dimenze nebo o minimalizaci pravdˇepodobnostn´ı chyby klasifikace (Maˇr´ık et al., 1997). 4.2.2
Struktur´ aln´ı metody rozpozn´ av´ an´ı
Struktur´aln´ı metody rozpozn´av´an´ı pouˇz´ıvaj´ı k popisu objekt˚ u z´akladn´ıch popisn´ ych element˚ u – primitiv. Mezi tˇemito elementy mohou b´ yt prostorov´e, funkˇcn´ı a jin´e vztahy. Struktur´aln´ı popis nav´ıc oproti pˇr´ıznakov´emu umoˇzn ˇuje popisovat objekty pomoc´ı jejich ˇc´ast´ı a vztah˚ u mezi nimi (Maˇr´ık et al., 1997). Toto je zˇrejmˇe pˇr´ıpad hudby a jej´ıch bohat´ ych vztah˚ u mezi objekty na vˇsech hierarchick´ ych u ´rovn´ıch. Jako pˇr´ıklad zde m˚ uˇzeme uv´est anal´ yzu souzvuk˚ u z hlediaka harmonie. Je potˇreba modelovat vztahy mezi souzvuky a hodnotit jejich spojen´ı. Pro tyto u ´ˇcely m˚ uˇzeme vyuˇz´ıt (Aucouturier – Sandler, 2001) napˇr´ıklad teorie jazyk˚ u a gramatik nebo Skryt´e Markovovy modely.
4.3
Neuronov´ e s´ıtˇ e
Neuronov´a s´ıt’ je s´ıt’ mnoha navz´ajem bohatˇe propojen´ ych jednoduch´ ych procesor˚ u. (Maˇr´ık et al., 1993) Graf propojen´ı se obvykle naz´ yv´a topologie s´ıtˇe. Procesory pak naz´ yv´ame neurony, protoˇze velice zjednoduˇsenˇe modeluj´ı skuteˇcn´e neurony v lidsk´e centr´aln´ı nervov´e soustavˇe.
ˇıma – Neruda, 1996) Obr´azek 21: Form´ aln´ı neuron (S´
Z´akladem matematick´eho modelu neuronov´e s´ıtˇe je form´aln´ı neuron (perceptron) zobrazen´ y na obr´azku 21. Ten m´a podobnˇe jako biologick´ y neuron vstupy
38
4
ˇ E ´ INTELIGENCE METODY UMEL
(v biologii naz´ yvan´e dendrity). Tyto vstupy mohou reprezentovat v´ ystup jin´ ych neuron˚ u nebo podnˇety z vnˇejˇs´ıho okol´ı. Pokud jde o podnˇety z okoln´ıho svˇeta – vstupn´ıho prostoru – bude vektor tvoˇren´ y tˇemito podnˇety charakterizovat jist´ y zkouman´ y objekt. Kaˇzd´ y spoj vedouc´ı do neuronu m´a urˇcitou v´ahou spoje wi , kter´a ud´av´a napˇr´ıklad jeho d˚ uleˇzitost. V´aˇzen´ y souˇcet podnˇet˚ u xi reprezentovan´ ych re´aln´ ymi ˇc´ısly a odpov´ıdaj´ıc´ıch vah ud´av´a celkov´y podnˇet podle vztahu 18. Pokud je tento celkov´ y podnˇet vˇetˇs´ı neˇz pr´ah neuronu, vznikne na v´ ystupu neuronu odezva. Tato vlastnost je z´akladem schopnosti neuronu klasifikovat vstupy do dvou tˇr´ıd. Z´akladn´ı schopnost´ı v´ıcevrstv´ ych s´ıt´ı je proto tak´e klasifikace vstup˚ u. ξ=
n X
w i xi
(18)
i=1
Pro ˇreˇsen´ı sloˇzitˇejˇs´ıch u ´loh, kde napˇr´ıklad nem˚ uˇzeme v prostoru oddˇelit dvˇe tˇr´ıdy pomoc´ı jedn´e roviny (funkce XOR), m˚ uˇzeme vyuˇz´ıt v´ıcevrstv´e neuronov´e s´ıtˇe zobrazen´e na obr´azku 22. Vrstva propojuj´ıc´ı vstupn´ı prostor s neuronovou s´ıt´ı se naz´ yv´a vstupn´ı vrstva, v´ ystup s´ıtˇe realizuje v´ ystupn´ı vrstva a mezi nimi jsou vrstvy skryt´e. Vstupn´ı vrstva se do poˇctu vrstev nepoˇc´ıt´a, takˇze s´ıt’ na obr´azku 22 je dvouvrstv´a. Neuronov´e s´ıtˇe pracuj´ı ve dvou f´az´ıch. V prvn´ı f´azi se uˇc´ı a v druh´e f´azi ˇcinnost vybavuje. Pˇri uˇcen´ı se neuronov´a s´ıt’ pˇrizp˚ usobuje ˇreˇsen´ı nov´eho probl´emu. V´ahy spoj˚ u jsou na poˇc´atku nastaveny nejˇcastˇeji n´ahodnˇe. Na vstup neuronov´e s´ıtˇe se pˇrivedou vstupy z tr´enovac´ı mnoˇziny, v´ ystupy pot´e ukazuj´ı, do kter´e tˇr´ıdy vstup patˇr´ı. Takto pracuje napˇr´ıklad v´ıcevrstv´a neuronov´a s´ıt’ (Multi-layer perceptron, MLP) pouˇzit´a v experimentu popsan´em v kapitole 5.5.
ˇıma – Neruda, 1996) Obr´azek 22: Dvouvrstv´ a s´ıt’ pro v´ ypoˇcet funkce XOR (S´
4.4
39
Samoorganizace
4.4
Samoorganizace
V t´eto pr´aci se zab´ yv´ame zejm´ena s´ıtˇemi a principy aplikovateln´ ymi pˇri samoorganizaci. Ta vych´az´ı ze soutˇeˇzn´ı strategie uˇcen´ı (competitive learing). Je to princip, kdy ˇıma – Neruda, spolu v´ ystupn´ı neurony s´ıtˇe soutˇeˇz´ı o to, kter´ y z nich bude aktivn´ı (S´ 1996). Tento princip zahrnuje jak algoritmy uˇcen´ı (viz kapitola 4.5) bez uˇcitele (VQ, SOM), tak algoritmy uˇcen´ı s uˇcitelem (LVQ). V tomto poˇrad´ı jsou i v n´asleduj´ıc´ıch kapitol´ach pops´any. 4.4.1
Vektorov´ a kvantizace
´ Ukolem vektorov´e kvantizace je aproximovat hustotu pravdˇepodobnosti skuteˇcn´ ych vstupn´ıch vektor˚ u x pomoc´ı koneˇcn´eho poˇctu reprezentant˚ u (codebook vectors) ˇıma – Neruda, 1996). Kaˇzd´emu vstupn´ımu vektoru (jenˇz reprezentuje zkouman´ (S´ y objekt) potom odpov´ıd´a jeden reprezentat. Pˇritom jeden reprezentant m˚ uˇze odpov´ıdat v´ıce zkouman´ ym objekt˚ um – zastupuje jejich skupiny (shluky). Pomoc´ı vzd´alenosti vstupn´ıho vektoru a vektoru reprezentanta m˚ uˇzeme urˇcit, jak moc si objekt a reprezentant odpov´ıdaj´ı. Zpoˇca´tku jsou reprezentanti rozm´ıstˇeni n´ahodnˇe nebo mohou pravidelnˇe vyplˇ novat cel´ y vstupn´ı prostor. M˚ uˇzeme tedy pro prvn´ı vstupn´ı vektor vybrat reprezentanta, kter´ y je mu nejbl´ıˇze a urˇcit podle (Kohonen et al., 1996a), (Kohonen et al., 1996b) jeho vzd´alenost jako c = arg min ||x − mi ||
(19)
i
Nalezen´ı vhodn´ ych reprezentant˚ u pro vˇsechny vstupn´ı vektory tedy znamen´a minimalizaci chyby dan´e vzorcem Z E = ||x − mc ||2 p(x)d(x) (20) pˇritom obyˇcejnˇe nezn´ame hustotu pravdˇepodobnosti, ale m´ame k dispozici mnoˇzinu vstupn´ıch vektor˚ u – tr´enovac´ı mnoˇzinu. Potom je minimalizace chyby d´ana vzorcem k
1 X (t) ||x − mc ||2 E= k t=1
(21)
ˇıma – Neruda, 1996). kde x(t) je vstupn´ı vektor tr´enovac´ı mnoˇziny (S´ Kohonenovo uˇ cen´ı Myˇslenku uvedenou v pˇredchoz´ım odstavci m˚ uˇzeme realizovat pomoc´ı jednoduch´e samoorganizuj´ıc´ı se s´ıtˇe uˇcen´e algoritmem Kohonenova uˇcen´ı. Je to iterativn´ı algoritmus hledaj´ıc´ı pˇribliˇzn´e ˇreˇsen´ı u ´lohy vektorov´e kvantizace. Kohonen stanovil jako c´ıl uˇc´ıc´ıho procesu nalezen´ı mnoˇziny reprezentant˚ u maj´ıc´ıch stejn´e pravdˇepodobnosti v´ ybˇeru (vybereme-li n´ahodn´ y vstupn´ı vektor z rozdˇelen´ı pravdˇepodobnosti odpov´ıdaj´ıc´ı rozdˇelen´ı tr´eninkov´e mnoˇziny, bude m´ıt kaˇzd´ y reˇıma – Neruda, 1996). prezentant stejnou pravdˇepodobnost, ˇze je mu nejbl´ıˇze) (S´
40
4
ˇ E ´ INTELIGENCE METODY UMEL
Kohonenova s´ıt’ je tvoˇrena dvˇema vrstvami, kter´e jsou u ´plnˇe propojen´e. Vstupn´ı vrstva slouˇz´ı k distribuci vstupn´ıch vektor˚ u. Poˇcet jejich neuron˚ u tedy odpov´ıd´a velikosti vstupn´ıho vektoru. Druh´a – kompetiˇcn´ı vrstva je tvoˇrena reprezentanty. ˇıma – Neruda, 1996) Poˇcet reprezentant˚ (S´ u ve druh´e vrstvˇe urˇcuje poˇcet tˇr´ıd, do nichˇz se bude shlukovat. Jejich um´ıstˇen´ı ve vstupn´ım prostoru je d´ano hodnotami vah mi = mi1 , ..., min . Podle vzorce 1, arg mini ||x − mi || t yj = (22) 0, jinak. m˚ uˇzeme spoˇc´ıtat v´ ystup kaˇzd´eho neuronu. Plat´ı tedy, ˇze vstupem jsou libovoln´a re´aln´a ˇc´ısla a v´ ystupem je 1 u nejbliˇzˇs´ıho reprezentanta – neuronu a 0 u vˇsech ostatn´ıch. Tento princip se naz´ yv´a v´ıtˇez bere vˇse (winner takes all). V pˇr´ırodˇe je pozorov´ana tak´e later´aln´ı inhibice pomoc´ı kter´e v´ıtˇezn´ y neuron oslabuje ostatn´ı sousedn´ı neurony. Nav´ıc kaˇzd´ y v´ıtˇezn´ y neuron zmˇen´ı sv´e v´ahy smˇerem k pr´avˇe pˇredloˇzen´emu vstupn´ımu objektu podle vzorce t arg mini ||x − mi || mi + θ(xt − mti ), t+1 (23) mi = t mi , jinak. kde parametr θ urˇcuje m´ıru zmˇeny vah a postupnˇe se sniˇzuje (Kohonen et al., 1996a). Toto je anologi´ı lidsk´eho uˇcen´ı. V ml´ad´ı kaˇzd´e zaznamenan´e ud´alosti podstatnˇe mˇen´ı zkuˇsenost, kdeˇzto ve st´aˇr´ı se zkuˇsenost uˇz v podstatˇe nemˇen´ı. Takto se vektor vah reprezentanta dost´av´a do stˇredu shluk˚ u vstupn´ıch objekt˚ u. Tento algoritmus se ve v´ ysledku velmi podob´a algoritmu k-means, jenˇz tak´e hled´a stˇredy shluk˚ u. ˇ Oba ˇreˇs´ı u ´lohu VQ. Reˇsen´ı mohou b´ yt stejn´a v z´avislosti na nastaven´ı parametr˚ u ˇıma – Neruda, 1996). U tohoto algoritmu se pˇrizp˚ (S´ usobuj´ı v´ahy pouze jednoho neuronu – v´ıtˇeze – t´ım se liˇs´ı od samoorganizuj´ıc´ı se mapy popsan´e v dalˇs´ı kapitole. ˇıma – Neruda, 1996) je tak´e pops´an pˇr´ıpad, kdy jsou dvˇe izolovan´e doV (S´ stateˇcnˇe vzd´alen´e oblasti, pˇriˇcemˇz jedna je reprezentov´ana jedn´ım neuronem a druh´a vˇsemi ostatn´ımi, coˇz nen´ı v souladu s poˇzadavkem aby, byli reprezentanti vyb´ır´ani se stejnou pravdˇepodobnost´ı, jako data, kter´a reprezentuj´ı. To lze vyˇreˇsit napˇr´ıklad pomoc´ı lok´aln´ıch pamˇet´ı, zaloˇzen´ ych na myˇslence stejn´e pravdˇepodobnosti v´ıtˇezstv´ı (1/k pro k reprezentant˚ u) kaˇzd´eho reprezentanta. 4.4.2
Samoorganizu´ıc´ı se mapy
Samoorganizuj´ıc´ı se mapy (Self-organizing map, SOM, Kohonenovy mapy) (Kohonen et al., 2001), (Vesanto – Alhoniemi, 2000) ,(Kohonen et al., 1996a) jsou jedn´ım z nejv´ yraznˇejˇs´ıch model˚ u umˇel´ ych neuronov´ ych s´ıt´ı splˇ nuj´ıc´ıch paradigma uˇcen´ı bez uˇcitele. Mapuj´ı mnoharozmˇern´ y vstupn´ı prostor do dvourozmˇern´eho v´ ystupn´ıho prostoru pˇri pokud moˇzno co nejvˇernˇejˇs´ım zachov´an´ı topologick´ ych vztah˚ u (nav´ıc oproti pˇredchoz´ımu algoritmu obsahuj´ı v´ ystupn´ı neurony topologick´e uspoˇra´d´an´ı). Jsou pouˇziteln´e v mnoha oblastech vˇcetnˇe shlukov´an´ı audio dat. C´ılem samoorganizuj´ıc´ıch se map je zobrazen´ı v´ıcerozmˇern´ ych dat do dvourozmˇern´eho prostoru tak, aby byly podobn´e poloˇzky z mnoharozmˇern´eho prostoru
4.4
41
Samoorganizace
um´ıstˇeny v mapˇe pobl´ıˇz sebe. Kohonenovy mapy se skl´adaj´ı z jednotek uspoˇra´dan´ ych do dvourozmˇern´eho vizualizaˇcn´ıho prostoru. Obvykle se jednotky uspoˇra´d´avaj´ı do pravo´ uhl´e ˇci ˇsesti´ uheln´ıkov´e mˇr´ıˇzky. Kaˇzd´e jednotce je pˇriˇrazen modelov´ y vektor z mnoharozmˇern´eho vstupn´ıho prostoru. Vstupn´ı poloˇzka (charakterizov´ana sv´ ym vektorem) je zobrazena do jednotky s nejv´ıce podobn´ ym modelov´ ym vektorem. Kohonenova mapa m˚ uˇze b´ yt n´ahodnˇe inicializov´ana – n´ahodn´e vektory ve vstupn´ım prostoru jsou pˇriˇrazeny kaˇzd´emu modelov´emu vektoru. Alternativu pˇredstavuje napˇr. inicializace na z´akladˇe dvou hlavn´ıch pˇredstavitel˚ u dat. Po inicializaci se iterativnˇe stˇr´ıdaj´ı dva kroky aˇz do dosaˇzen´ı konvergence. Prvn´ım krokem je nalezen´ı jednotky s nejv´ıce podobn´ ym modelov´ ym vektorem (best matching unit) pro kaˇzdou jednotku vstupn´ıho prostoru (dat) podle vztahu 19. V druh´em kroku se modelov´e vektory neuron˚ u v okol´ı Nc (t) v´ıtˇezn´eho neuronu uprav´ı tak, aby l´epe odpov´ıdaly dat˚ um ze vstupn´ıho prostoru s tou podm´ınkou, ˇze sousedn´ı jednotky reprezentuj´ı podobn´e jedince vstupn´ıho prostoru. Toho m˚ uˇzeme dos´ahnout pomoc´ı ˇ vztahu (S´ıma – Neruda, 1996): t mi + θ(xt − mti ), i ∈ Nc (t) t+1 mi = (24) t mi , jinde. nebo vyj´adˇreno jinak (Kohonen et al., 1996a): mt+1 = mti + htci (xt − mti ) i
(25)
kde hci je j´adro sousednosti (neighbour kernel) a ud´av´a m´ıru pˇrizp˚ usoben´ı se vektoru neuronu k pˇredloˇzen´emu charakteristick´emu vektoru. Obvykle je hci (t) = h(rc − ri , t), kde rc a ri jsou vektory ud´avaj´ıc´ı polohu reprezentanta a charakteristick´eho vektoru. Pokud se zvˇetˇsuje jejich vzd´alenost, hci → 0. Velikost a tvar t´eto funkce urˇcuje tvrdost“ povrchu mapy pˇri pˇrizp˚ usobov´an´ı se dat˚ um. Je moˇzn´e ji ” vyj´adˇrit nˇekolika zp˚ usoby. Napˇr´ıklad pomoc´ı okol´ı v´ıtˇezn´eho neuronu oznaˇcen´eho jako Nc (t). M˚ uˇzeme pak stanovit tento parametr jako α(t), pro i ∈ Nc (t) hci = (26) 0, pro i 3 Nc (t) kde α(t) je monot´onnˇe se sniˇzuj´ıc´ı funkce ˇcasu (0 < α(t) < 1). Toto j´adro se v implementaci sompak naz´ yv´a bubble“. Dalˇs´ı moˇznost´ı je pouˇzit´ı Gaussovy ” funkce: (rc − ri )2 (27) hci = α(t). exp − 2σ 2 (t) kde α(t) i σ(t) jsou monot´onnˇe se sniˇzuj´ıc´ı funkce. Kohonenova mapa m´a dva hlavn´ı parametry, jedn´ım je velikost mapy, druh´ ym koneˇcn´ y r´adius sousednosti. Vˇetˇs´ı mapy d´avaj´ı v zobrazov´an´ı vˇetˇs´ı rozloˇzen´ı, ale nev´ yhodou je vˇetˇs´ı v´ ypoˇcetn´ı sloˇzitost. Mapa m˚ uˇze m´ıt bud’to stejn´ y poˇcet neuron˚ u, jako poˇcet ˇza´dan´ ych shluk˚ u, nebo vˇetˇs´ı poˇcet, pˇriˇcemˇz je d´ana s´ıti urˇcit´a volnost pˇri
42
4
ˇ E ´ INTELIGENCE METODY UMEL
tvorbˇe shluk˚ u – ostrov˚ u. Optim´aln´ı poˇcet shluk˚ u m˚ uˇzeme nal´ezt napˇr´ıklad pomoc´ı algoritmu v-fold clustering (Hsu et al., 2000). Koneˇcn´ y r´adius sousednosti ud´av´a hladkost zobrazen´ı a mˇel by b´ yt nastaven vzhledem k ˇsumu v datech. Podle (Bishop, 2006) spoˇc´ıv´a hlavn´ı nev´ yhoda Kohonenovy mapy zejm´ena v nemoˇznosti pouˇzit´ı nˇekter´e dobˇre definovan´e n´akladov´e funkce, coˇz ztˇeˇzuje nastaven´ı parametr˚ u modelu a zajiˇstˇen´ı konvergence. Nen´ı zde tak´e ˇza´dn´a z´aruka, ˇze samoorganizace bude fungovat, jelikoˇz toto z´aleˇz´ı na volbˇe parametr˚ u pro kaˇzdou mnoˇzinu dat. 4.4.3
Learning Vector Quantization
Algoritmus LVQ – Learning Vector Quantization lze vyuˇz´ıt pro uˇcen´ı Kohonenovy mapy v pˇr´ıpadˇe uˇcen´ı s uˇcitelem. Autor popisuje z´akladn´ı variantu a pot´e nˇekolik vylepˇsen´ ych. LVQ1 Algoritmus nazvan´ y Learning Vector Quanization (Kohonen et al., 1996b) je ˇcasto oznaˇcov´an jako pˇredch˚ udce samoorganizuj´ıc´ı se mapy popsan´e v kapitole 4.4.2. Je to pˇredstavitel uˇcen´ı s uˇcitelem. Po nalezen´ı reprezentanta (codebookvector) pomoc´ı vztahu 19 algoritmus pokraˇcuje u ´pravou vektoru reprezentanta podle vzorce
mt+1 c
=
mtc + αt (xt − mtc ), mtc − αt (xt − mtc ),
pokud x a mc n´aleˇz´ı do stejn´e tˇr´ıdy pokud x a mc nen´aleˇz´ı do stejn´e tˇr´ıdy
(28)
D˚ uleˇzit´e je, ˇze u ostatn´ıch neuron˚ u mi , kde i 6= c z˚ ust´avaj´ı vektory nezmˇenˇeny. mt+1 = mti i
(29)
Algoritmus je tak´e moˇzn´e upravit do formy optimalizovan´e vzhledem k rychlosti konvergence k optim´aln´ımu ˇreˇsen´ı (Kohonen et al., 1996b). Tento upraven´ y algoritmus se naz´ yv´a OLVQ1 a pracuje na principu u ´pravy koeficientu αt ze vztahu 28. LVQ2(.1), LVQ3 Tato vylepˇsen´ı pˇredchoz´ıho algoritmu se snaˇz´ı posunout svou ˇıma – Nerozhodovac´ı hranici smˇerem k Bayesovsk´e hranici zn´am´e ze statistiky (S´ ruda, 1996). Algoritmus LVQ2 se k t´eto hranici bl´ıˇz´ı do urˇcit´eho poˇctu iterac´ı, kdy se zaˇcne opˇet vzdalovat. Tento nedostatek napravuje algoritmus LVQ3.
4.5
Strojov´ e uˇ cen´ı
Pˇrehledn´e rozdˇelen´ı algoritm˚ u strojov´eho uˇcen´ı nalezneme v (Abney, 2007). Rozˇs´ıˇren´ı o metody uˇcen´ı s ˇc´asteˇcn´ ym dohledem nalezneme v (Zhu – Goldberg, 2009). V´ ysledek shrnuje obr´azek 23.
4.5
43
Strojov´e uˇcen´ı
Reálné hodnoty
REGRESE
KLASIFIKACE semi-supervised classification constrained clustering
ODHAD SHLUKOVÁNÍ HUSTOTY Učení bez učitele
Nominální hodnoty
Učení s učitelem
Obr´azek 23: Metody strojov´eho uˇcen´ı
4.5.1
Uˇ cen´ı s uˇ citelem
V pˇr´ıpadˇe uˇcen´ı s uˇcitelem (supervised learning) existuje vnˇejˇs´ı krit´erium (uˇcitel) urˇcuj´ıc´ı jak m´a vypadat spr´avn´ y v´ ystup algoritmu. Tento v´ ystup se srovn´a s aktu´aln´ım v´ ystupem algoritmu a provede se u ´prava tak, aby byl v dalˇs´ı iteraci v´ ystup algoritmu bl´ıˇze spr´avn´emu v´ ystupu. V pˇr´ıpadˇe neuronov´ ych s´ıt´ı se v´ahy upravuj´ı podle zvolen´eho algoritmu tak, aby se rozd´ıl mezi skuteˇcn´ ym a ˇz´adan´ ym v´ ystupem zmenˇsoval. S´ıti se pot´e pˇredloˇz´ı nov´ y v´ ystup z tr´enovac´ı mnoˇziny a cel´ y postup se opakuje. V´ yhodou uˇcen´ı s uˇcitelem je obvykle vysok´a pˇresnost, nev´ yhodou je nutnost pˇr´ıpravy ohodnocen´ ych vzork˚ u (labeled data) pro proces uˇcen´ı. V nˇekter´ ych pˇr´ıpadech je z´ısk´an´ı takov´ ych dat velmi n´akladn´e aˇz nemoˇzn´e. Mezi z´akladn´ı metody uˇcen´ı s uˇcitelem patˇr´ı: • K-nejbliˇzˇs´ıch soused˚ u (k-Nearest Neighbour)11 je algoritmus urˇcuj´ıc´ı kategorii nezn´am´e instance podle ohodnocen´ı urˇcit´eho mnoˇzstv´ı (k) nejbliˇzˇs´ıch ohodnocen´ ych instanc´ı. Patˇr´ı do skupiny algoritm˚ u uˇc´ıc´ıch se z instanc´ı (Instance-based learning). Na obr´azku 24 vid´ıme jeho uk´azku pˇri zjiˇst’ov´an´ı pˇr´ısluˇsnosti nezn´am´e instance (ˇcern´eho ˇctverce) do tˇr´ıd ˇcerven´ ych respektive modr´ ych ˇctverc˚ u. Pˇri nastaven´ı k = 3 algoritmus najde tˇri nejbliˇzˇs´ı sousedy (2 ˇcerven´e proti 1 modr´emu), urˇc´ı pˇrevaˇzuj´ıc´ı oznaˇcen´ı (mus´ı b´ yt lich´ y poˇcet soused˚ u, aby nedoch´azelo k nerozhodn´ ym situac´ım) – ˇcerven´e oznaˇcen´ı – a pˇriˇrad´ı nezn´amou instanci do t´eto tˇr´ıdy. Pro k = 5 bude ˇcern´ y ˇctverec pˇriˇrazen ke tˇr´ıdˇe modr´ ych ˇctverc˚ u. • V´ıcevrstv´a neuronov´a s´ıt’ (Multi layer perceptron) je z´akladn´ı neuronov´a s´ıt’ tvoˇren´a v´ıce vrstvami neuron˚ u – perceptron˚ u (viz obr. 22). M˚ uˇze b´ yt uˇcena napˇr´ıklad algoritmem back-propagation. 11
http://www.scholarpedia.org/article/K-nearest neighbor
44
4
ˇ E ´ INTELIGENCE METODY UMEL
k=5
k=3
Obr´azek 24: Klasifikace kNN (k = 3, 5)
• Learning Vector Quantization je algoritmus uˇcen´ı s uˇcitelem pouˇziteln´ y pro Kohonenovu mapu (viz kap. 4.4.3). 4.5.2
Uˇ cen´ı bez uˇ citele
V mnoha pˇr´ıpadech nem´ame moˇznost urˇcit, jak m´a vypadat v´ ystup algoritmu, jelikoˇz nem´ame k dispozici ohodnocen´a data. Je to napˇr´ıklad pˇr´ıpad internetov´ ych hudebn´ıch datab´az´ı, kde nejsou o nahr´avk´ach ˇza´dn´e zaruˇcen´e informace. Algoritmus tedy mus´ı s´am v datech naj´ıt hranice mezi shluky (nebo jejich stˇredy) a urˇcit podle toho pˇr´ısluˇsnost dat ke shluk˚ um. Dalˇs´ım d˚ uleˇzit´ ym parametrem m˚ uˇze b´ yt poˇcet shluk˚ u, kter´ y lze zjiˇst’ovat, pokud tuto informaci nem´ame k dispozici. V´ yhodou uˇcen´ı bez uˇcitele je moˇznost pouˇzit´ı neohodnocen´ ych tr´enovac´ıch dat, nev´ yhodou je obvykle niˇzˇs´ı pˇresnost. Mezi z´akladn´ı metody uˇcen´ı bez uˇcitele patˇr´ı: • k-means. Algoritmus pˇriˇrazuj´ıc´ı oznaˇcen´ı nezn´am´ ych dat podle k stˇred˚ u shluk˚ u. • Expectation maximization. Algoritmus hledaj´ıc´ı shluky na z´akladˇe rozdˇelen´ı pravdˇepodobnosti shluk˚ u. • Self-organizing map. Algoritmus uˇcen´ı bez uˇcitele pouˇziteln´ y pro Kohonenovu mapu. 4.5.3
Uˇ cen´ı s ˇ c´ asteˇ cn´ ym dohledem
Uˇcen´ı s ˇca´steˇcn´ ym dohledem (Semi-supervised learning) pˇredstavuje snahu o vyuˇzit´ı veˇsker´ ych informac´ı, jak z ohodnocen´ ych tak i neohodnocen´ ych dat. Snaˇz´ı se vyuˇz´ıt v´ yhod obou pˇr´ıstup˚ u v uˇcen´ı – uˇcen´ı s uˇcitelem a uˇcen´ı bez uˇcitele. Vˇzdy je potˇreba z´ıskat alespoˇ n malou mnoˇzinu ohodnocen´ ych dat. Tato kapitola se snaˇz´ı roztˇr´ıdit moˇzn´e pˇr´ıstupy v uˇcen´ı s ˇc´asteˇcn´ ym dohledem. Jelikoˇz je tato oblast vcelku nov´a, nen´ı dˇelen´ı jeˇstˇe ust´alen´e. C´ıl a princip tˇechto algoritm˚ u se d´a popsat dvˇema z´akladn´ımi zp˚ usoby analogicky se smˇerem odkud se do prostoru (viz obr´azek 23) mezi uˇcen´ım s uˇcitelem a bez uˇcitele dostaneme.
4.5
Strojov´e uˇcen´ı
45
Klasifikace s ˇ c´ asteˇ cn´ ym dohledem V (Zhu – Goldberg, 2009) je nazv´ana Semi” supervised classification“. Metoda vych´az´ı z algoritmu uˇcen´ı s uˇcitelem (proto classification). C´ıl m˚ uˇzeme definovat dvˇema zp˚ usoby: • rozˇs´ıˇren´ı klasifikace (uˇcen´ı s uˇcitelem) o postupy redukuj´ıc´ı mnoˇzstv´ı potˇrebn´ ych ohodnocen´ ych tr´enovac´ıch dat. • doladˇen´ı v´ ysledk˚ u algoritm˚ u uˇcen´ı s uˇcitelem pomoc´ı neohodnocen´ ych dat. Do t´eto kategorie patˇr´ı napˇr´ıklad algoritmy Co-training a Self-training (Zhu – Goldberg, 2009). Tyto obalovac´ı“(wrapper) algoritmy mnoho obalovat libovoln´ y ” algoritmus uˇcen´ı s uˇcitelem schopn´ y poskytnout m´ıru pravdˇepodobnosti spr´avn´e pˇredpovˇedi. Algoritmus Self-training funguje podle n´asleduj´ıc´ıho sch´ematu: Procedure selfTrain (L0, U) L0 jsou oznaˇ cen´ a data, U jsou neoznaˇ cen´ a data c = train(L0) loop dokud nen´ ı splnˇ eno ukonˇ covac´ ı krit´ erium L = L0 + select(label(U, c)) c = train(L) end loop return c Klasifik´ator se tedy nauˇc´ı na mnoˇzinˇe tr´enovac´ıch dat (obyˇcejnˇe mal´e), pot´e klasifikuje neohodnocen´a data. Data, u nichˇz je velk´a pravdˇepodobnost spr´avn´e klasifikace si pot´e pˇrid´a do mnoˇziny ohodnocen´ ych dat. Pot´e se cel´ y postup opakuje. Oproti tomu funguje algoritmus Co-training n´asleduj´ıc´ım zp˚ usobem: Procedure coTrain (L, U) L jsou oznaˇ cen´ a data, U jsou neoznaˇ cen´ a data P = n´ ahodn´ y v´ ybˇ er loop dokud nen´ ı splnˇ eno ukonˇ covac´ ı krit´ erium f1 = train(view1(L)) f2 = train(view2(L)) L = L + select(label(P, f1))+ select(label(P, f2)) Odstranit oznaˇ cen´ a data z P a doplnit P end loop Na data se zde pohl´ıˇz´ı ze dvou pohled˚ u“. Na kaˇzd´em pohledu je natr´enov´an ” klasifik´ator. Tyto dva klasifik´atory si pot´e navz´ajem opravuj´ı chybn´e hodnocen´ı na z´akladˇe pravdˇepodobnosti spr´avn´eho oznaˇcen´ı nezn´am´ ych dat. Algoritmus cotraining m´a nˇekolik pˇredpoklad˚ u. Hlavnˇe mus´ı existovat v´ıce pohled˚ u na stejn´a data. Ty by mˇely nav´ıc splˇ novat tyto podm´ınky (Zhu – Goldberg, 2009): • kaˇzd´ y pohled mus´ı b´ yt s´am dostaˇcuj´ıc´ı pro dobrou klasifikaci, • pohledy by na sobˇe nemˇely b´ yt z´avisl´e.
46
4
ˇ E ´ INTELIGENCE METODY UMEL
Shlukov´ an´ı s ˇ c´ asteˇ cn´ ym dohledem (Constrained clustering) je mnohem m´enˇe popsan´a oblast neˇz pˇredchoz´ı. (Zhu – Goldberg, 2009) se j´ı nezab´ yv´a, v (Chapelle et al., 2006) nalezneme jednu kapitolu na toto t´ema. Nen´ı v n´ı vˇsak pops´ana moˇznost pouˇzit´ı SOM algoritmu. Vych´az´ıme zde z algoritm˚ u uˇcen´ı bez uˇcitele. Principem tˇechto algoritm˚ u je vyuˇzit´ı v´ yhod uˇcen´ı s uˇcitelem (lepˇs´ı v´ ysledky klasifikace), pˇri shlukov´an´ı neoznaˇcen´ ych dat (oznaˇcen´ ymi daty pomoci uˇc´ıc´ımu algoritmu bez uˇcitele dos´ahnout v´ ysledk˚ u srovnateln´ ych s klasifikac´ı s uˇcitelem). Toho m˚ uˇze b´ yt dosaˇzeno r˚ uzn´ ymi podm´ınkami typu: • instance A a instance B mus´ı n´aleˇzet do stejn´eho shluku, • instance A a instance B by nemˇela n´aleˇzet do stejn´eho shluku. Tyto podm´ınky pot´e omezuj´ı algoritmus pˇri tvorbˇe shluk˚ u. Mohou m´ıt tak´e r˚ uznou prioritu, takˇze nˇekter´e jsou br´any v u ´vahu vˇzdy, jin´e jen za urˇcit´ ych podm´ınek. Podm´ınky m˚ uˇzeme z´ıskat napˇr´ıklad od experta, kter´e zn´a danou u ´lohu. Nav´ıc bychom do skupiny algoritm˚ u rozˇs´ıˇruj´ıc´ıch shlukov´an´ı mohli zapoˇc´ıtat n´asleduj´ıc´ı princip: Pˇrid´ an´ı dodateˇ cn´ ych informac´ı do v´ ysledk˚ u shlukov´ an´ı V tomto pˇr´ıpadˇe pouˇzijeme uˇz hotov´ y v´ ysledek shlukov´an´ı a pouze jej obohat´ıme o informace z´ıskan´e z ohodnocen´ ych dat. Jedn´ım takov´ ym zn´am´ ym semi-supervised algoritmem je Label propagation (Zhu, 2002). Tato metoda umoˇzn ˇuje ˇs´ıˇren´ı znaˇcek (labels) ve shluc´ıch nalezen´ ych pomoc´ı uˇcen´ı bez uˇcitele. Pouˇzit´ı algoritmu label-propagation pro Kohonenovu mapu nalezneme v (Herrman, 2007). Podobn´ ym algoritmem je ˇs´ıˇren´ı informace o pˇr´ısluˇsnosti k reprezentantovi (zde je jich menˇs´ı poˇcet, neˇz neuron˚ u v Kohonenovˇe mapˇe) (Koneˇcn´ y – Trenz, 2009). Tito reprezentanti mohou b´ yt zvoleni expertem nebo stanoveni na z´akladˇe zn´am´eho poˇctu shluk˚ u. ˇıma – Neruda, 1996) nalezneme algoritmus (v kapitole Kombinace algoritm˚ u V (S´ o LVQ) pracuj´ıc´ı na tomto principu: 1. Uˇcen´ı bez uˇcitele (SOM). 2. Oznaˇcen´ı v´ ystupn´ıch neuron˚ u kategoriemi. 3. Douˇcen´ı s´ıtˇe jedn´ım z algoritm˚ u LVQ.
5
APLIKACE
5 5.1
47
Aplikace Data
Pro veˇsker´e zvukov´e experimenty je d˚ uleˇzit´e m´ıt kvalitn´ı data, nad kter´ ymi budou experimenty provedeny. V oblasti zpracov´an´ı hudby existuj´ı bohat´e zdroje zvukov´ ych dat. Je ale dobr´e vyˇreˇsit nˇekolik ot´azek ohlednˇe volby datab´aze. 5.1.1
Ohodnocen´ı dat (labels)
Pokud budeme zkoumat vlastnosti tˇr´ıd´ıc´ıch algoritm˚ u (uˇcen´ı s uˇcitelem, bez uˇcitele i semi-sepervised learning), coˇz je pˇr´ıpad vˇsech experiment˚ u v t´eto pr´aci, potˇrebujeme pracovat s ohodnocen´ ymi daty. To znamen´a, ˇze pˇredem mus´ıme vˇedˇet do jak´e tˇr´ıdy konkr´etn´ı instance patˇr´ı. I kdyˇz pˇri pozdˇejˇs´ım vyuˇzit´ı vybran´ ych algoritm˚ u tyto ohodnocen´ı zn´at nebudeme (uˇcen´ı bez uˇcitele), nebo budeme zn´at ohodnocen´ı jen mal´e ˇca´sti dat (semi-supervised learning), pro v´ ybˇer algoritm˚ u vhodn´eho pro konkr´etn´ı u ´lohu mus´ıme b´ yt schopni porovnat v´ ysledek algoritm˚ u (pˇriˇrazen´ı instanc´ı k tˇr´ıd´am) se skuteˇcnou situac´ı nebo pˇresnˇeji s nˇejakou d˚ uvˇeryhodnou aproximac´ı skuteˇcn´eho stavu. I pˇri v´ yvoji algoritm˚ u uˇcen´ı bez uˇcitele mus´ıme v´ ysledn´e shluky porovnat s nˇejak´ ym skuteˇcn´ ym shlukov´an´ım, kter´e se snaˇz´ıme s pouˇzit´ım vyv´ıjen´eho algoritmu hledat. Toto je zˇrejmˇe nejvˇetˇs´ı omezen´ı pˇri v´ ybˇeru testovac´ıch dat, nebot’ kvalitnˇe ohodnocen´ ych dat nen´ı mnoho a jejich ohodnocen´ı je velmi ˇcasovˇe i finanˇcnˇe n´aroˇcn´e. Vznik´a zde tak´e nov´ y zaj´ımav´ yu ´kol v podobˇe smyslupln´eho ohodnocov´an´ı velk´eho mnoˇzstv´ı dat, kde mohou naj´ıt uplatnˇen´ı napˇr´ıklad on-line hry (Law – von Ahn, 2009). 5.1.2
Autorsk´ y z´ akon
Nahr´avky jsou obvykle chr´anˇeny proti kop´ırov´an´ı. To br´an´ı opakov´an´ı experimentu dalˇs´ımi z´ajemci. Existuj´ı zde dvˇe ˇreˇsen´ı z nichˇz kaˇzd´e m´a sv´e v´ yhody a nev´ yhody. Pˇri pouˇzit´ı z´akonem chr´anˇen´ ych nahr´avek je v´ yhoda v jejich mnohem vˇetˇs´ım mnoˇzstv´ı. Nev´ yhodou je nutnost uveden´ı jednoznaˇcn´eho identifik´atoru (viz kapitola 6.2.2) kaˇzd´e nahr´avky, aby si je pˇr´ıpadn´ y z´ajemce mohl obstarat a experiment zopakovat. To m˚ uˇze b´ yt samozˇrejmˇe dosti finanˇcnˇe a ˇcasovˇe n´aroˇcn´e. Zvl´aˇstn´ım ˇreˇsen´ım m˚ uˇze b´ yt z´ısk´an´ı charakteristik a identifik´atoru nahr´avky od uˇzivatele bez dalˇs´ıho kop´ırov´an´ı samotn´e nahr´avky. Tento zp˚ usob vyuˇz´ıv´a datab´aze virtu´aln´ı zvukov´e laboratoˇre popsan´e v kapitole 6.2. Pˇr´ı pouˇzit´ı nahr´avek volnˇe dostupn´ ych pˇres Internet (nechr´anˇen´e autorsk´ ym z´akonem) mohou z´ajemci experiment bez probl´emu opakovat a vylepˇsovat. Je zde vˇsak probl´em v omezen´ ych zdroj´ıch takov´ ych nahr´avek. Nejde ani o poˇcet nahr´avek, ale sp´ıˇs netypick´e hudebn´ı vlastnosti takov´ ych nahr´avek. Obsah hudby ve voln´ ych datab´az´ıch neodpov´ıd´a obsahu archiv˚ u bˇeˇzn´ ych hudebn´ıch posluchaˇc˚ u, coˇz nˇekdy
48
5
APLIKACE
m˚ uˇze b´ yt d˚ uleˇzit´e. Experimenty vyuˇz´ıvaj´ıc´ı volnˇe dostupn´e nahr´avky jsou pops´any v kapitole 5.3 a 5.4. 5.1.3
Voln´ e on-line datab´ aze
Existuje soupis12 datab´az´ı obsahuj´ıch nahr´avky volnˇe dostupn´e pro z´ısk´av´an´ı hudebn´ıch informac´ı (MIR) aktualizovan´ y v ˇcervnu 2009. Mezi nejvˇetˇs´ı dat´ab´aze patˇr´ı archiv zvuk˚ u nahran´ ych uˇzivateli port´alu freesound.org 13 , Novou hudbu nalezneme na port´alu avantgardeproject.org 14 , kde je ohlednˇe pr´av uvedeno All ma” terials are for non-commercial and/or educational use only.“. V tˇechto pˇr´ıpadech se jedn´a vˇetˇsinou o nahr´avky akustick´e hudby. Kvalitn´ım zdrojem elektronick´e hudby by mohla b´ yt virtu´aln´ı zvukov´a laboratoˇr, viz kapitola 6.2. V experimentech popsan´ ych v kapitol´ach 5.3 a 5.4 je pouˇzita datab´aze Magnatagatune15 (Law – von Ahn, 2009) obsahuj´ıc´ı v listopadu 2010 v´ıce neˇz 25 000 p˚ ulminutov´ ych v´ ysek˚ u z nahr´avek pouˇziteln´ ych pro v´ yzkumn´e u ´ˇcely. Tyto nahr´avky jsou nav´ıc ohodnoceny uˇzivateli pomoc´ı tag˚ u“ hodnot´ıc´ıch tyto nahr´avky z r˚ uzn´ ych hledisek – hlasitosti, ” n´astrojov´eho obsazen´ı, ˇza´nru atd. Dalˇs´ı v´ yhodou t´eto datab´aze je moˇznost jej´ıho kompletn´ıho staˇzen´ı a prac´ı s nahr´avkami bez pˇripojen´ı k internetu. Nev´ yhodou je, ˇze nahr´avky nejsou vcelku, takˇze napˇr´ıklad nejsou vhodn´e pro experimenty s klasickou hudebn´ı formou. 5.1.4
Popis nahr´ avek
Nahr´avky v datab´azi mezi sebou tvoˇr´ı velmi bohat´e vztahy viz kapitola 2.1. Pro nˇekter´e uˇc´ıc´ı algoritmy (viz kapitola 4.5.1, 4.5.3) je nutn´e m´ıt k dispozici popis tˇechto vztah˚ u (pro nˇekter´e nahr´avky, nebo dokonce pro vˇsechny). Tak´e je takov´ y popis vhodn´ y pro pozdˇejˇs´ı porovn´an´ı s v´ ysledkem experiment˚ u. Popis m˚ uˇze zohledˇ novat n´asleduj´ıc´ı krit´eria: • Barva zvuku: n´astrojov´e obsazen´ı, zp˚ usob v´ yvoje n´astrojov´eho (vok´aln´ıho) obsazen´ı v ˇcase. • Vertik´aln´ı vztahy: zp˚ usob pr´ace s melodi´ı, akordy. • Rytmus: zp˚ usob pr´ace s rytmem. • Forma: form´aln´ı v´ ystavba. • Styl, autor, ˇza´nr. Z´ıskat celkov´ y popis nahr´avky je velmi n´aroˇcn´e. Nˇekter´e atributy jako napˇr´ıklad n´astrojov´e obsazen´ı, styl, autor a ˇz´anr b´ yvaj´ı s nahr´avkami uvedeny (v digit´aln´ı formˇe, napˇr´ıklad ve formˇe ID3 tag˚ u). Melodii, akordy a rytmus lze z´ıskat z pˇrepisu 12
http://grh.mur.at/sites/default/files/mir datasets 0.html http://www.freesound.org/ 14 http://www.avantgardeproject.org/ 15 http://tagatune.org/Magnatagatune.html 13
5.1
Data
49
nahr´avky do MIDI (m˚ uˇze ji obsahovat nˇekter´a MIDI datab´aze16 17 ). Nˇekter´e informace, jako napˇr´ıklad formaln´ı rozbor, neb´ yvaj´ı u nahr´avek dostupn´e. 5.1.5
Dˇ elen´ı nahr´ avek
Podle krit´eria, na jehoˇz z´akladˇe nahr´avky klasifikujeme, b´ yv´a potˇreba nahr´avku rozdˇelit na menˇs´ı d´ıly, kter´e pot´e vystupuj´ı samostatnˇe. Vedle toho, ˇze si budou podobn´e cel´e nahr´avky, mohou b´ yt podobn´e pouze jejich ˇca´sti. D´elka tˇechto u ´sek˚ u m˚ uˇze b´ yt pro kaˇzdou nahr´avku a kaˇzd´e krit´erium jin´a. Dalo by se pouze ˇr´ıci, ˇze mohu nahr´avku dˇelit na konstantn´ı poˇcet u ´sek˚ u a konstantn´ı d´elku u ´sek˚ u. Dˇelen´ı na konstantn´ı poˇcet u ´sek˚ u je v´ yhodn´e z hlediska klasifikace, dalˇs´ıho zpracov´an´ı neuronovou s´ıt´ı, jelikoˇz ta potˇrebuje na sv´em vstupu vektory o konstantn´ım poˇctu rozmˇer˚ u. Nev´ yhodou m˚ uˇze b´ yt r˚ uzn´a d´elka vytvoˇren´ ych u ´sek˚ u pro r˚ uznˇe dlouh´e nahr´avky. Pokud nastav´ıme napˇr´ıklad poˇcet d´ılk˚ u na 30, vzniknou pro minutovou nahr´avku d´ıly o d´elce 2 sekundy a pro hodinovou o d´elce 2 minuty. Je potom potˇreba zajistit ( napˇr. pomoc´ı normalizace), aby se spoˇcten´e charakteristiky daly pro nestejnˇe dlouh´e nahr´avky porovn´avat. U nˇekter´ ych charakteristik to nen´ı probl´em, jelikoˇz sign´al vˇetˇsinou kol´ıs´a kolem nulov´e u ´rovnˇe, takˇze napˇr´ıklad pouˇzit´a suma hodnot sign´alu viz kapitola 5.2.2 nen´ı z´avisl´a na d´elce d´ılku. N´asleduj´ıc´ı k´od v jazyce MATLAB ukazuje funkci pro dˇelen´ı nahr´avky na konstantn´ı poˇcet u ´sek˚ u. function [ pocet_d, delka_d, pocet_samplu_v_d ]... = dily_za_nahravku( dpp, sr, delka_nahr) % rozdeli nahravky na konstantni pocet useku pocet_d=dpp; delka_d=delka_nahr/pocet_d; pocet_samplu_v_d=floor(delka_d*sr); end Vstupn´ımi parametry funkce jsou poˇcet d´ılk˚ u za nahr´avku dpp, vzorkovac´ı freku (pocet d – stejn´ y, vence sr a d´elka nahr´avky delka nahr. Funkce vrac´ı poˇcet d´ıl˚ u v d´ılu pocet samplu v d. jako vstupn´ı parametr), d´elku d´ılu delka d a poˇcet vzork˚ Dˇelen´ı na konstantn´ı d´elku u ´sek˚ u je v´ yhodn´e u veliˇcin vyˇzaduj´ıc´ıch pro v´ ypoˇcet stejnˇe dlouh´e u ´seky. Tempo napˇr´ıklad m˚ uˇzeme uv´adˇet v u ´derech za sekundu (bps), Fourierova trensformace se obvykle poˇc´ıt´a pro stˇejnˇe dlouh´e u ´seky. Funkce pro dˇelen´ı nahr´avky na konstantn´ı d´elku u ´sek˚ u vypad´a v MATLABu n´asledovnˇe. function [ pocet_d, delka_d, pocet_samplu_v_d ]... = dily_za_sekundu( dps, sr, delka_nahr) % rozdeli nahravky na useky o konstantni delce pocet_d=floor(delka_nahr*dps); 16 17
http://free.mididb.com/ http://www.musipedia.org/
50
5
APLIKACE
delka_d=1/dps; pocet_samplu_v_d=sr/dps; end Vstupn´ımi parametry funkce jsou poˇcet d´ılk˚ u za sekundu dps, vzorkovac´ı freku pocet d, d´elku d´ılu vence sr a d´elka nahr´avky delka nahr. Funkce vrac´ı poˇcet d´ıl˚ delka d a poˇcet vzork˚ u v d´ılu pocet samplu v d. Vstupn´ı a v´ ystupn´ı parametry jsou yˇse, liˇs´ı se pouze u vstupn´ıho pastejn´e, jako u funkce dily za nahravku popsan´e v´ rametru ud´avaj´ıc´ıho nam´ısto poˇctu d´ılk˚ u za nahr´avku dpp poˇcet d´ılk˚ u za sekundu dps. D´elka d´ılu je nyn´ı nepˇr´ımo u ´mˇern´a poˇctu d´ılk˚ u za sekundu. Je zaj´ımav´e, ˇze d´ıly o r˚ uzn´e d´elce se pouˇz´ıvaj´ı napˇr´ıklad pro popis hudebn´ı formy. Pˇri zmenˇsov´an´ı d´elky d´ıl˚ u se pˇrech´az´ı na d´ıly o stejn´e d´elce – takty. Toto pozorov´an´ı popisuje n´asleduj´ıc´ı pˇrehled: • d´ıl – charakterizuje formu – konstantn´ı poˇcet • takt – konstantn´ı d´elka u ´seku • ok´enko – charakterizuje barvu, sign´al je uvnitˇr periodick´ y, nˇekolik milisekund, napˇr. Hammingovo okno (Jan, 2002). ´ Uloha spr´avn´eho rozdˇelen´ı nahr´avek je, aˇc se to na prvn´ı pohled nezd´a, dosti sloˇzit´a. Jako nejvˇetˇs´ı probl´em se jev´ı nalezen´ı hranic mezi velk´ ymi u ´seky o r˚ uzn´e d´elce. V experimentech popsan´ ych v kapitol´ach 5.2, 5.3 a 5.4 staˇc´ı jednoduch´e dˇelen´ı na konstantn´ı poˇcet u ´sek˚ u. Sloˇzitˇejˇs´ı dˇelen´ı m˚ uˇzeme nal´ezt napˇr´ıklad v experimentu popsan´em v kapitole 6.2. 5.1.6
Standardizace dat
V mnoha situac´ıch je potˇreba porovn´avat objekty popsan´e r˚ uzn´ ym zp˚ usobem, coˇz zp˚ usob´ı, ˇze maj´ı data (charakteristick´e vektory) r˚ uznou velikost (jednotky) i polohu. Napˇr´ıklad hlasitost m˚ uˇzeme vyˇc´ıslit pomoc´ı smˇerodatn´e odchylky, ale tak´e pomoc´ı sumy spektra. Grafy tˇechto vektor˚ u maj´ı velice podobn´ y pr˚ ubˇeh, ale dosti odliˇsn´e jednotky. Dalˇs´ım pˇr´ıkladem mohou b´ yt stejn´a zvukov´a ud´alost zaznamenan´a s r˚ uznou citlivost´ı mikrofonu. D˚ uleˇzit´ y je tak´e pˇr´ıpad, kdy k popisu nˇejak´e vlastnosti pouˇzijeme veliˇcinu z´avislou na poˇctu vzor˚ u (d´elce zvukov´eho z´aznamu). V pˇr´ıpadˇe, ˇze pak chceme nahr´avku dˇelit na konstantn´ı poˇcet d´ılk˚ u (abychom z´ıskali charakteristick´e vektory o stejn´em poˇctu rozmˇer˚ u), budou n´am pro r˚ uznˇe dlouh´e nahr´avky vych´azet vektory s hodnotami z´avisl´ ymi na d´elce d´ılku. V tˇechto pˇr´ıpadech mus´ıme vyuˇz´ıt standardizaci dat. Je to takov´a u ´prava, kdy maj´ı data po pˇrevodu stˇredn´ı hodnotu z¯j = 0 a smˇerodatnou odchylku sj = 1. Stˇredn´ı hodnotu m˚ uˇzeme z´ıskat pomoc´ı vztahu 30 n
1X zi,j z¯j = n i=1 a smˇerodatnou odchylku podle vztahu 31
(30)
5.1
51
Data
v u u sj = t
n
1 X (zi,j − z¯j )2 n − 1 i=1
(31)
z ˇcehoˇz m˚ uˇzeme vypoˇc´ıtat standardizovanou hodnotu podle vztahu 32. xi,j =
zi,j − z¯j sj
(32)
V´ ysledek transformace ukazuje obr´azek 25. Testovací data 5 4.5 4 3.5 3 2.5 2 1.5 1
Testovací standardizovaná data 1.5 1 0.5 0 -0.5 -1
0
2
4
6
8
10
0
2
4
6
8
10
Validační standardizovaná data 1.5
Validační data 5
1
4.5
0.5
4
0
3.5 3
-1.5
-0.5 0
2
4
6
8
10
-1
0
2
4
6
8
10
Střední hodnota Aritmetický průměr
Obr´azek 25: Standardizace dat
5.1.7
Form´ at v´ ystupn´ıch dat
Ot´azka zp˚ usobu oznaˇcen´ı v´ ystupn´ıch dat se v pr˚ ubˇehu experimnt˚ u uk´azala jako d˚ uleˇzit´a. Je potˇreba stanovit urˇcit´ y zp˚ usob ukl´ad´an´ı z´ıskan´ ych informac´ı. Nejde zde ani tak o form´at ve smyslu textov´ y / bin´arn´ı nebo o uloˇzen´ı v datab´azi / souboru, ale sp´ıˇse o pojmenov´an´ı informac´ı o instanc´ıch a reprezentantech, kter´e potˇrebujeme odliˇsit. Z d˚ uvod˚ u srovnatelnosti vlastn´ıch implementac´ı algoritm˚ u a v´ ysledk˚ u algoritm˚ u v prostˇred´ı Weka (jsou zde ˇsirok´e moˇznosti porovn´av´an´ı) jsme se inspirovali v´ ystupn´ım form´atem pouˇzit´ ym t´ımto prostˇred´ım. Zp˚ usoby uloˇzen´ı v´ ysledk˚ u algoritm˚ u s uˇcitelem a bez uˇcitele se zde liˇs´ı:
52
5
APLIKACE
uˇ cen´ı s uˇ citelem (kNN): @relation heavy_silence_3d_std_weka_predicted @attribute @attribute @attribute @attribute @attribute
X1 numeric X2 numeric X3 numeric predictedlabel {heavy,silence} label {heavy,silence}
@data 0.299962,0.264275,0.268314,heavy,heavy 0.18985,0.186568,0.188426,heavy,heavy ... uˇ cen´ı bez uˇ citele (k-means): @relation heavy_silence_3d_std_weka_clustered @attribute @attribute @attribute @attribute @attribute @attribute
Instance_number numeric X1 numeric X2 numeric X3 numeric label {heavy,silence} Cluster {cluster0,cluster1}
@data 0,0.222538,0.190573,0.189241,heavy,cluster1 1,0.215563,0.217857,0.217267,heavy,cluster1 ... Je zde nˇekolik rozd´ıl˚ u. Algoritmy uˇcen´ı bez uˇcitele pouˇz´ıvaj´ı ˇc´ıslo instance. Data jsou seˇrazena postupnˇe podle ˇc´ısel instanc´ı. N´asleduj´ı v obou pˇr´ıpadech atributy. N´asleduj´ı informace o skuteˇcn´em labelu instance a o labelu pˇriˇrazen´em algoritmem (v pˇr´ıpadˇe uˇcen´ı bez uˇcitele se tato informace naz´ yv´a Cluster) jejichˇz poˇrad´ı je v obou pˇr´ıpadech rozd´ıln´e (pˇredposledn´ı a posledn´ı sloupec). Za touto hlaviˇckou jsou data. Navrˇ zen´ y vlastn´ı form´ at by mˇel m´ıt stejn´ y form´at dat jak pro algoritmy uˇcen´ı s uˇcitelem (LVQ), bez uˇcitele (SOM) a tak´e pro algoritmy s ˇca´steˇcn´ ym dohledem. Pojmenujme si zde nˇekolik informac´ı o instanc´ıch a reprezentantech (neuronech), kter´e je zastupuj´ı. ˇ ıslo instance. Je kl´ıˇcov´a informace rozliˇsuj´ıc´ı jednotliv´e instance. Algoritmus • C´ m˚ uˇze naˇc´ıtat instance v n´ahodn´em poˇrad´ı. Vypisovat je v poˇrad´ı, jak byly
5.2
•
• •
•
Zkouˇska koncepce
53
naˇcteny, nebo podle pˇriˇrazen´ ych reprezentant˚ u ˇci jin´ ych atribut˚ u. Tato informace by mˇela b´ yt vˇzdy v prvn´ım sloupci. Atributy. Atributy m˚ uˇzeme oproti ˇc´ıslu instance (pomoc´ı ˇc´ısla instance) snadno vyhledat v p˚ uvodn´ım zdroji dat. Nav´ıc m˚ uˇze b´ yt atribut˚ u velk´e mnoˇzstv´ı (stovky), coˇz znepˇrehledˇ nuje v´ ystupn´ı informaci. Z tˇechto d˚ uvod˚ u atributy nebudou do v´ ystupu zaˇrazeny. Label instance. Je to informace o pˇr´ısluˇsnosti instance k nˇekter´e tˇr´ıdˇe, jeˇz byla k instanci pˇriˇrazena uˇzivatelem (pˇred pouˇzit´ım algoritmu). Label reprezentanta. Je to informace o pˇr´ısluˇsnosti reprezentanta k nˇekter´e tˇr´ıdˇe, jeˇz byla reprezentantu pˇriˇrazena uˇzivatelem (napˇr´ıklad expertem) bez ohledu na ostatn´ı vstupn´ı data. Class reprezentanta. Je informace o pˇr´ısluˇsnosti reprezentanta ke tˇr´ıdˇe (nebo shluku), jeˇz byla vytvoˇrena algoritmem. M˚ uˇze b´ yt urˇcena pomoc´ı kter´ ychkoli pˇredchoz´ıch informac´ı. Je to v´ ysledek algoritmu.
5.2
Zkouˇska koncepce
Tento prvn´ı experiment slouˇz´ı jako zkouˇska spr´avnosti cel´eho konceptu. Bylo potˇreba zjistit, jestli je spr´avn´ y n´avrh experimentu a jestli vr´at´ı nˇejak´e relevantn´ı v´ ysledky. 5.2.1
Nahr´ avky
Zvukov´a datab´aze v tomto experimentu je velice jednoduch´a. Z hlediska n´arok˚ u sepsan´ ych v kapitole 5.1.2 neumoˇzn ˇuje dobˇre opakov´an´ı experimentu jin´ ymi z´ajemci, ale to ani nen´ı v t´eto f´azi c´ılem. D˚ uleˇzit´a je znalost vztah˚ u nahr´avek v datab´azi (viz 5.1.4). M˚ uˇzeme na n´ı vyzkouˇset nˇekolik experiment˚ u: tˇr´ıdˇen´ı podle n´astrojov´eho obsazen´ı, podle stylu, podle autora a lze vyzkouˇset i tˇr´ıdˇen´ı podle formy. Obsahuje nahr´avky popsan´e v tabulce 4. • N´astrojov´a obsazen´ı tvoˇr´ı n´asleduj´ıc´ı skupiny: vok´aln´ı hudba – Guillaumes de Machaut, Josquin des Prez, Orlando di Lasso. Zpˇev s doprovodem se vyskytuje v Matouˇsov´ ych paˇsij´ıch, J. D. Zelenkovi, B´ılovsk´ ych hudeck´ ych. Mluven´e slovo ˇ eho Rozhlasu. Instrument´aln´ı hudba je Prolog nalezneme v nahr´avk´ach Cesk´ k Orfeovi, skladby Iannise Xenakise, Velehradsk´e tance, Umˇen´ı fugy a Jiˇr´ı Fejfar Kvarteto. Zaj´ımav´a je souvislost dvou n´astrojov´ ych proveden´ı Contrapunctu I. • Jsou zde z´astupci r˚ uzn´ ych stylov´ ych obdob´ı. Z´astupcem stˇredovˇek´e hudby je Guillaumes de Machaut. Stylovˇe nejpodobnˇejˇs´ı je renesanˇcn´ı hudba Josquina des Prez a Orlanda di Lassa. Baroko zastupuje Claudio Monteverdi, J. D. Zelenka a J. S. Bach. Hudbu 20. stolet´ı reprezentuje Iannis Xenakis a Giaccinto Scelsi. • U nahr´avek je zn´am´ y autor. ˇ • Nahr´avky Cesk´eho rozhlasu obsahuj´ı zpˇev pt´ak˚ u, jeˇz tvoˇr´ı skupinu, kter´a se d´ale podle zp˚ usobu zpˇevu dˇel´ı na podskupiny.
54
5
APLIKACE
Tabulka 4: Pouˇzit´e nahr´ avky
ˇ ıslo C´ 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5.2.2
Autor J. S. Bach Claudio Monteverdi ˇ CR Iannis Xenakis Iannis Xenakis ˇ CR Iannis Xenakis ˇ CR ˇ CR ˇ CR Josquin Des Prez J. S. Bach Giaccinto Scelsi Giaccinto Scelsi Hradiˇst’an Guillaumes de Machaut J. S. Bach – Laibach J. S. Bach – Emerson Orlando di Lasso – Hilliard Jiˇr´ı Fejfar Jiˇr´ı Fejfar Jiˇr´ı Fejfar Hradiˇst’an Jan Dismas Zelenka
N´ azev Matouˇsovy paˇsije Orfeo – Prologo S´ ykora Koˇ nadra Tetras pro smyˇccov´ y kvartet Mists pro s´olov´e piano ˇ Zluna zelen´a Kottos pro s´olo violoncelo Vrabec dom´ac´ı Kos ˇcern´ y Holub dom´ac´ı La deploration... Matouˇsovy paˇsije – Kommt, ihr T¨ochter Smyˇccov´a kvarteta Smyˇccov´a kvarteta B´ılovsk´e hudeck´e Notredamsk´a mˇse – Kyrie Umˇen´ı fugy – Contrapunctus I Umˇen´ı fugy – Contrapunctus I Missa pro Defunctis – Responsorium Kvarteto 1. vˇeta Kvarteto 2. vˇeta Kvarteto 3. vˇeta Velehradsk´e tance Miserere
Charakteristiky
V tomto experimentu jsou pouˇzity pouze jednoduch´e charakteristiky sign´alu v ˇcasov´e oblasti. Konkr´etnˇe jde o mohutnost, stˇredn´ı hodnotu, medi´an a smˇerodatnou odchylku. Pˇrevod do frekvenˇcn´ı dom´eny nalezneme v kapitole 6.2. K´od zajiˇst’uj´ıc´ı v´ ypoˇcet charakteristik v prostˇred´ı MATLAB: for j = 1:pocet_d start_sample=1+(j-1)*pocet_samplu_v_d; stop_sample=pocet_samplu_v_d+(j-1)*pocet_samplu_v_d; charakteristika(i,j,1)=... sum(data(start_sample:stop_sample,kanal)); nazev_charakteristiky(1,:)=’Mohutnost impulzu
’;
5.2
55
Zkouˇska koncepce
charakteristika(i,j,2)=... mean(data(start_sample:stop_sample,kanal)); nazev_charakteristiky(2,:)=’Stredni hodnota
’;
charakteristika(i,j,3)=... std(data(start_sample:stop_sample,kanal)); nazev_charakteristiky(3,:)=’Smerodatna odchylka’; charakteristika(i,j,4)=... median(data(start_sample:stop_sample,kanal)); nazev_charakteristiky(4,:)=’Median
’;
end Kaˇzd´a nahr´avka je rozdˇelen´a na dan´ y poˇcet d´ıl˚ u. Pro kaˇzd´ y d´ıl je stanoveno ˇc´ıslo prvn´ıho a posledn´ıho vzoru vzorku d´ılu – start sample a stop sample. Pot´e je do tˇr´ırozmˇern´eho pole charakteristika(ˇ cı ´slo nahr´ avky, c ˇ´ ıslo d´ ılu, c ˇ´ ıslo charakteristiky) uloˇzena hodnota vypoˇcten´a funkcemi sum, mean, std a median. N´azev charakteristiky je uloˇzen do pole nazev charakteristiky. 5.2.3
Shlukov´ an´ı
Pro shlukov´an´ı vytvoˇren´ ych charakteristick´ ych vektor˚ u byla pouˇzita samoorganizuj´ıc´ı se mapa popsan´a v kapitole 4.4.2. Shlukov´an´ı pomoc´ı SOM provedeme v MATLABu n´asleduj´ıc´ım zp˚ usobem: klas_char=charakteristika(:,:,3).’; net = newsom(klas_char,[3 3]); pocet_neuronu=3*3; net.trainParam.showWindow=0; net.trainParam.showCommandLine=1; net.trainParam.epochs=200; net.trainParam.show=10; net = train(net,klas_char); plotsomhits(net,klas_char) plotsomnd(net) hits=sim(net,klas_char); Je zde vyuˇzito implicitn´ıch nastaven´ı SOM v prostˇred´ı MATLAB. Pˇr´ıkazem newsom vytv´aˇr´ı objekt SOM s topologi´ı 3 kr´at 3 neurony. D´ale se jako parametr
56
5
APLIKACE
pˇred´av´a pole se vstupn´ımi vektory klas char (v tomto pˇr´ıpadˇe je to 3. charakteristika – smˇerodatn´a odchylka). Charakteristika je pˇri vytv´aˇren´ı potˇreba kv˚ uli implicitn´ımu nastaven´ı vektor˚ u neuron˚ u (codebooks vectors) na poˇca´tku tak, aby rovnomˇernˇe pokr´ yvaly cel´ y prostor. Dalˇs´ı moˇznost´ı je n´ahodn´e rozm´ıstˇen´ı. Podrobnˇeji jsou tyto moˇznosti pops´any v kapitole 4.4.2. Nastav´ı se zp˚ usob zobrazov´an´ı informac´ı o pr˚ ubˇehu uˇcen´ı, nastav´ı se poˇcet tr´enovac´ıch epoch na 200 a spust´ı se na vytvoˇren´e s´ıti tr´enov´an´ı pˇr´ıkazem train. Levou ˇc´ast obr´azku 26 (vizualizaci poˇctu nahr´avek reprezentovan´ ych kaˇzd´ ym neuronem) z´ısk´ame pˇr´ıkazem plotsomhits a pravou ˇca´st obr´azku (vzd´alenost vektor˚ u neuron˚ u) pˇr´ıkazem plotsomnd. Pokud chceme zn´at konkr´etn´ı pˇriˇrazen´ı instanc´ı (nahr´avek) a neuron˚ u, mus´ıme spustit simulaci pˇr´ıkazem sim, kter´ y s´ıti postupnˇe pˇredloˇz´ı vˇsechny instance a vr´at´ı k nim odpov´ıdaj´ıc´ı neurony, kter´e na nˇe zareagovaly (jejichˇz vektor je nejbl´ıˇz). V´ ysledky shlukov´an´ı nahr´avek charakterizovan´ ych mohutnost´ı sign´alu jsou na obr´azku 26. Shlukovan´e nahr´avky jsou podle odpov´ıdaj´ıc´ıch neuron˚ u (1 je vlevo dole, 9 vpravo nahoˇre) seˇrazeny v tabulce 5:
Obr´azek 26: Shlukov´ an´ı podle mohutnosti sign´alu
Tabulka 5: Shlukov´ an´ı podle mohutnosti sign´alu
ˇ ıslo neuronu C´ 01 02 03 04 05 06 07 08 09
ˇ ıslo nahr´ C´ avky 12 nic 4,5,7 6,11 nic nic 8 2,15,17,23 1,3,9,10,13,14,16,18,19,20,21,22,24
5.2
57
Zkouˇska koncepce
Zaj´ımav´a je skupinka reprezentovan´a neuronem 3. V prostoru vektor˚ u neuron˚ u je podstatnˇe vzd´alena od ostatn´ıch nahr´avek a odpov´ıdaj´ı j´ı vˇsechny skladby Iannise Xenakise ve v´ ybˇeru. Pˇritom je kaˇzd´a z nich hran´a na jin´ y n´astroj. Je to ovˇsem zˇrejmˇe vlastnost´ı (´ urovn´ı hlasitosti) t´eto nahr´avky. Ostatn´ı skupiny nejsou pˇr´ıliˇs zaj´ımav´e. Pˇri klasifikaci podle stˇredn´ı hodnoty sign´alu je situace podobn´a. Opˇet zde nal´ez´ame skupinku nahr´avek Iannise Xenakise, nen´ı uˇz vˇsak tak dobˇre oddˇelena od ostatn´ıch. Objevila se tu ovˇsem dalˇs´ı skupinka, pˇredstavuj´ıc´ı nahr´avky cimb´alov´e muziky Hradiˇst’an. V´ ysledky klasifikace podle smˇerodatn´e odchylky sign´alu jsou na obr´azku 27. V tomto pˇr´ıpadˇe se ztratily skupinky nalezen´e pomoc´ı pˇredchoz´ıch charakteristik, ale objevila se tu jin´a spojitost. Prvn´ı ˇctyˇri nahr´avky (2, 12, 18, 20) jsou klasifikovan´e neuronem 1 zat´ımco posledn´ı nahr´avka (17) je klasifikovan´a neuronem 7, kter´ y m´a od ostatn´ıch neuron˚ u velkou vzd´alenost vektoru (codebook vector) – tmav´a barva spoj˚ u vedouc´ıch od neuronu 7 (vlevo nahoˇre) na obr´azku 27.
Obr´azek 27: Klasifikace podle smˇerodatn´e odchylky sign´alu
Klasifikovan´e nahr´avky jsou podle odpov´ıdaj´ıc´ıch neuron˚ u (1 je vlevo dole, 9 vpravo nahoˇre) seˇrazeny v tabulce 6: Tabulka 6: Klasifikace podle smˇerodatn´e odchylky sign´alu
ˇ ıslo neuronu C´ 01 02 03 04 05 06 07 08 09
ˇ ıslo nahr´ C´ avky 2,12,18,20 3,9,23,24 1,5,6,10,16 15 22 4,7,21 17 8 11,13,14,19
58
5
APLIKACE
Z obr´azku 28 je patrn´e, ˇze nahr´avka ˇc´ıslo 17 se od ostatn´ıch podstatnˇe liˇs´ı pr˚ ubˇehem hlasitosti. Z toho d˚ uvodu je reprezentovan´a neuronem vzd´alen´ ym od ostatn´ıch.
Obr´azek 28: Smˇerodatn´ a odchylka nahr´avek klasifikovan´ ych neuronem 1 a 7
Tento prvn´ı experiment je proof of concept“ cel´eho ˇreˇsen´ı a uk´azal, ˇze zˇrejmˇe ” bude moˇzn´e t´ımto zp˚ usobem hudebn´ı nahr´avky shlukovat. V´ ysledky experimentu byly publikov´any v (Fejfar et al., 2010b).
5.3
Vyˇ c´ıslen´ı chyby pˇri shlukov´ an´ı
V tomto experimentu je c´ılem porovn´an´ı vlivu vybran´ ych parametr˚ u samoorganizuj´ıc´ı se mapy na shlukov´an´ı nahr´avek podle pr˚ ubˇehu informaˇcn´ı hustoty popsan´e v kapitole 2.1.5. Tato veliˇcina m˚ uˇze b´ yt uˇziteˇcn´a pˇri nal´ez´an´ı hudebn´ı formy, popˇr´ıpadˇe identifikaci cover˚ u skladeb – stejn´e skladby nahran´e jin´ ymi interprety (Serr`a, 2011). Stejnˇe jako v pˇredchoz´ım pˇr´ıpadˇe pouˇz´ıv´ame v tomto experimentu jednoduchou metodu zpracov´an´ı sign´alu (viz kap. 5.1.5), kdy dˇel´ıme nahr´avku na n d´ıl˚ ua z´ısk´av´ame tak pro kaˇzdou nahr´avku stejnˇe velk´ y n-rozmˇern´ y charakteristick´ y vektor. V tomto pˇr´ıpadˇe pouˇz´ıv´ame nahr´avky z datab´aze Magnatagatune, kde jsou vˇsechny uk´azky stejn´e velikosti, takˇze ani jin´e dˇelen´ı nepˇrich´az´ı v u ´vahu. Pro kaˇzd´ y z´ıskan´ y d´ıl nahr´avky spoˇc´ıt´ame smˇerodatnou odchylku sign´alu, kter´a nejl´epe reprezentuje hlasitost nahr´avky, jak se uk´azalo v kapitole 5.2. Pomoc´ı pr˚ ubˇehu hlasi-
5.3
59
Vyˇc´ıslen´ı chyby pˇri shlukov´an´ı
tosti zjednoduˇsenˇe modelujeme pr˚ ubˇeh informaˇcn´ı hustoty nahr´avky (viz kap. 2.1.5). Nahr´avky reprezentovan´e vytvoˇren´ ymi charakteristick´ ymi vektory shlukujeme pomoc´ı samoorganizuj´ıc´ı se mapy (viz 4.4.2). Experiment se zamˇeˇruje na tˇri zaj´ımav´e oblasti. 5.3.1
Zkouman´ e parametry
V tomto experimentu zkoum´ame vliv n´asleduj´ıc´ıch parametr˚ u na shlukov´an´ı nahr´avek pomoc´ı samoorganizuj´ıc´ı se mapy: • velikost charakteristick´ ych vektor˚ u, • poˇcet neuron˚ u v SOM, • poˇcet iterac´ı. 5.3.2
Datab´ aze nahr´ avek
V experimentu 5.2 jsme porovnali 24 nahr´avek, coˇz se uk´azalo jako nedostateˇcn´e mnoˇzstv´ı pro podrobnˇejˇs´ı pr˚ uzkum vlivu parametr˚ u samoorganizuj´ıc´ı se mapy na v´ ysledky shlukov´an´ı. Proto jsme hledali jinou vhodnou datab´azi obsahuj´ıc´ı vˇetˇs´ı mnoˇzstv´ı nahr´avek. Jako vhodn´a se uk´azala datab´aze Magnatagatune (viz kapitola 5.1.3). 5.3.3
V´ ypoˇ cet chyby
V experimentu byl stanoven zp˚ usob v´ ypoˇctu chyby (srovnejme s kvantizaˇcn´ı chybou vyj´adˇrenou vztahem 21) jednotliv´ ych neuron˚ u na z´akladˇe eukleidovsk´e vzd´alenosti instanc´ı od stˇredu shluku, jeˇz neuron reprezentoval. Navrˇzen´ y zp˚ usob urˇcen´ı chyby nen´ı z´avisl´ y na pouˇzit´em shlukovac´ım algoritmu (existenci reprezentanta – codebook vectoru), takˇze ho m˚ uˇzeme pouˇz´ıt pˇri hodnocen´ı velikosti shluk˚ u nalezen´ ych r˚ uzn´ ymi metodami. Podle vztahu 33 je nalezen stˇred shluku m jako vektor s pr˚ umˇernou hodnotou (mohli bychom vyuˇz´ıt i geometrick´ y pr˚ umˇer, tˇeˇziˇstˇe, nebo jin´e statistick´e ukazatele) sloˇzek vˇsech instanc´ı reprezentovan´ ych dan´ ym neuronem. k P
xi,n
n=1
(33) k Kde mi je i-t´a sloˇzka pr˚ umˇern´eho vektoru, xi,n je i-t´a sloˇzka n-t´e instance v pˇr´ısluˇsn´em shluku k je poˇcet instanc´ı shluku. D´ale je vypoˇctena pr˚ umˇern´a eukleidovsk´a vzd´alenost vˇsech instanc´ı od stˇredu shluku podle vztahu 34. mi =
k P
E=
||xn − m||
n=1
k
(34)
60
5
APLIKACE
V prostˇred´ı MATLAB realizujeme v´ ypoˇcet n´asleduj´ıc´ım k´odem. Nejprve ’ zjiˇst ujeme poˇcet nahr´avek pro aktu´alnˇe analyzovan´ y neuron – shluk: for i=1:neuronu pocet_nahravek_v_neuronu=0; for j=1:nahravek if neurony(i,j)>0 pocet_nahravek_v_neuronu=pocet_nahravek_v_neuronu+1; end end Zde se urˇc´ı pr˚ umˇern´ y vektor podle vzorce 33. for k=1:dilku prumer_vektor(i,k)=sum(charakteristiky... (neurony(i,1:pocet_nahravek_v_neuronu),k,3))... /pocet_nahravek_v_neuronu; end Tento k´od ukazuje v´ ypoˇcet vzd´alenosti nahr´avky od pr˚ umˇern´eho vektoru podle vzorce 34. for j=1:pocet_nahravek_v_neuronu pod_odmocninou=0; for k=1:dilku pod_odmocninou=pod_odmocninou+... (prumer_vektor(i,k)-charakteristiky... (neurony(i,j),k,3))^2; end vzdalenost_nahravek(j)=pod_odmocninou^(1/2); end radek=ceil(i/velikostX); sloupec=mod(i,velikostX); if sloupec==0 sloupec=velikostX; end if ((pocet_nahravek_v_neuronu==1)||(pocet_nahravek_v_neuronu==0)) chyby_neuronu(radek,sloupec)=NaN; else chyby_neuronu(radek,sloupec)=sum(vzdalenost_nahravek(:))... /pocet_nahravek_v_neuronu; end end
5.3
Vyˇc´ıslen´ı chyby pˇri shlukov´an´ı
61
Na obr´azku 29 je chyba vypoˇctena pro testovac´ı shluky ve dvourozmˇern´em prostoru. Tyto shluky zn´azorˇ nuj´ı n´ahodnˇe generovan´e dvourozmˇern´e vektory v r˚ uzn´em ˇ rozsahu. Cerven´ y shluk m´a vˇetˇs´ı rozptyl, modr´ y menˇs´ı. V pˇr´ıpadˇe hodnocen´ı shluk˚ u reprezentuj´ıc´ıch nahr´avky chceme z´ıskat shluky s co nejmenˇs´ım rozptylem. Stˇred shluku je zn´azornˇen krouˇzkem a jednotliv´e instance hvˇezdiˇckou. Vid´ıme, ˇze vypoˇcten´e hodnoty odpov´ıdaj´ı rozptylu shluk˚ u – ˇcerven´ y shluk je ohodnocen pr˚ umˇernou vzd´alenost´ı 1, 108 kdeˇzto modr´ y menˇs´ı hodnotou 0, 50112.
Obr´azek 29: V´ ypoˇcet chyby shluk˚ u
5.3.4
V´ ysledky
Jako prvn´ı jsme zvolili poˇcet rozmˇer˚ u charakteristick´eho vektoru a poˇcet rozmˇer˚ u neuron˚ u v SOM. Pro kaˇzd´ y parametr jsme zvolili dvˇe odliˇsn´e moˇznosti. V pˇr´ıpadˇe charakteristick´eho vektoru jsou to 3 rozmˇery mal´eho oproti 10 rozmˇer˚ um velk´eho vektoru. V pˇr´ıpadˇe samoorganizuj´ıc´ı se mapy je to 9 neuron˚ u v pˇr´ıpadˇe mal´e a 100 neuron˚ u v pˇr´ıpadˇe velk´e mapy. Vznikly 4 konfigurace: 3 rozmˇern´ y vektor – 9 neuron˚ u v SOM, 10 rozmˇern´ y vektor – 9 neuron˚ u v SOM, 3 rozmˇern´ y vektor – 100 neuron˚ u v SOM, 10 rozmˇern´ y vektor – 100 neuron˚ u v SOM. U kaˇzd´e konfigurace jsme zkoumali vliv poˇctu iterac´ı na v´ yslednou chybu. Obr´azek 30 ukazuje topologii s 9 neurony (3 x 3) a 3 rozmˇern´ ym charakteristick´ ym vektorem. Poˇcet iterac´ı se mˇen´ı od 52 do 1000 a je zn´azornˇen ˇc´ıslem nad pˇr´ısluˇsn´ ym grafem. Zaj´ımav´e je, ˇze se chyba nemˇen´ı plynule, ale sp´ıˇse z˚ ust´av´a dlouho na stejn´e u ´rovni a zmˇen´ı se n´ahle bˇehem nˇekolika iterac´ı. V tomto pˇr´ıpadˇe je vidˇet inicializaˇcn´ı f´aze“ od 1. po 51. iteraci, v t´eto f´azi nˇekolik neuron˚ u reprezentuje ”
62
5
APLIKACE
Obr´azek 30: 3 x 3 SOM, 3D charakteristick´ y vektor, bez normalizace
t´emˇeˇr vˇsechny instance. Chyba se rychle sn´ıˇz´ı okolo 52. iterace a d´ale mezi 130 a 140 iterac´ı.
Obr´azek 31: 3 x 3 SOM, 10D charakteristick´ y vektor, bez normalizace
Obr´azek 31 ukazuje stejn´ y experiment pouze se zvˇetˇsila dimenze charakteristick´eho vektoru na 10 rozmˇer˚ u. Poˇcet iterac´ı z˚ ustal stejn´ y. M˚ uˇzeme si vˇsimnout, ˇze v´ ysledn´a chyba z˚ ustala o nˇeco vyˇsˇs´ı, neˇz u pˇredchoz´ıho experimentu. Obr´azek 32 ukazuje v´ ystup algoritmu s vˇetˇs´ı topologi´ı – 100 neuron˚ u (10 x 10). Poˇcet iterac´ı jsme zmˇenili od 50 do 2000. Chybov´a u ´roveˇ n se zde sn´ıˇzila, protoˇze samoorganizuj´ıc´ı se mapa m´a dostatek moˇznost´ı seskupit k sobˇe podobn´e nahr´avky.
5.3
Vyˇc´ıslen´ı chyby pˇri shlukov´an´ı
63
Obr´azek 32: 10 x 10 SOM, 3D charakteristick´ y vektor, bez normalizace
Obr´azek 33: 10 x 10 SOM, 10D charakteristick´ y vektor, bez normalizace
Na obr´azku 33 si m˚ uˇzeme prohl´ednout v´ yslednou mapu se 100 neurony (10 x 10) a s 10 rozmˇern´ ym vektorem. Vid´ıme, ˇze tu vznikaj´ı b´ıl´a m´ısta – nevyuˇzit´e neurony a mezi nimi se tvoˇr´ı shluky. T´ımto zp˚ usobem m˚ uˇzeme d´at algoritmu volnost“ v urˇcen´ı ” poˇctu shluk˚ u. Obr´azek 34 ukazuje stejnou konfiguraci u ´lohy, jako 33, pouze je charakteristick´ y vektoru nahr´avek normalizov´an v rozsahu od 0 do 1. V prostˇred´ı MATLAB m˚ uˇzeme normalizaci charakteristick´eho vektoru prov´est n´asleduj´ıc´ı funkc´ı: function [ charakteristika_norm ] = normalizuj( charakteristika )
64
5
APLIKACE
Obr´azek 34: 10 x 10 SOM, 10D charakteristick´ y vektor, 3000 iterac´ı, normalizace
[pocet_nahravek pocet_d pocet_charakteristik]=size(charakteristika); charakteristika_norm=zeros(pocet_nahravek, pocet_d, pocet_charakteristik); for i = 1:pocet_nahravek for j= 1:pocet_dilu for k= 1:pocet_charakteristik charakteristika_norm(i,j,k)=... charakteristika(i,j,k)/max(abs(charakteristika(i,:,k))); end end end end M˚ uˇzeme pozorovat, ˇze se rozpad´an´ı do shluk˚ u zastavilo, jelikoˇz se nahr´avky normalizac´ı navz´ajem pˇribl´ıˇzily. Shluk˚ u je m´enˇe i pˇres vyˇsˇs´ı poˇcet iterac´ı (3000) oproti nejvyˇsˇs´ımu poˇctu iterac´ı u pˇredeˇsl´eho experimentu (2000). Na obr´azku 35 m˚ uˇzeme sledovat mnoˇzstv´ı instanc´ı – nahr´avek reprezentovan´ ych jednotliv´ ymi neurony. Nejvˇetˇs´ı skupina se utvoˇrila kolem neuron˚ u v lev´e ˇca´sti mapy. Obr´azek 36 ukazuje vzd´alenosti mezi vlastn´ımi vektory (codebooks vectors) jednotliv´ ych neuron˚ u. Svˇetl´a barva reprezentuje malou vzd´alenost – podobn´e nahr´avky, tmav´a barva velkou vzd´alenost – odliˇsn´e nahr´avky. M˚ uˇzeme pozorovat, ˇze mezi neu-
5.3
Vyˇc´ıslen´ı chyby pˇri shlukov´an´ı
65
Obr´azek 35: 10 x 10 SOM, 10D charakteristick´ y vektor, 3000 iterac´ı, normalizace, poˇcet reprezentovan´ ych nahr´ avek
Obr´azek 36: 10 x 10 SOM, 10D charakteristick´ y vektor, 3000 iterac´ı, normalizace, vzd´alenost vektor˚ u reprezentatnt˚ u
rony reprezentuj´ıc´ımi nejvˇetˇs´ı mnoˇzstv´ı pozorov´an´ı (v lev´e ˇca´sti mapy) je nav´ıc mal´a vzd´alenost. Nahr´avky, kter´e reprezentuj´ı, jsou si podobn´e. V lev´e ˇc´asti mapy leˇz´ı zaj´ımav´ y neuron ˇc´ıslo 61. Je to neuron reprezentuj´ıc´ı nejvˇetˇs´ı poˇcet nahr´avek a z´aroveˇ n neuron s nejmenˇs´ı chybou . Znamen´a to tedy, ˇze jsou si j´ım reprezentovan´e nahr´avky podobn´e. Uk´azku dvou nahr´avek reprezentovan´ ych t´ımto neuronem vid´ıme na obr´azku ˇc´ıslo 37. V lev´e ˇca´sti je nahr´avka zob-
66
5
APLIKACE
razena jako waveform“, v prav´e ˇc´asti vid´ıme odpov´ıdaj´ıc´ı charakteristick´ y vektor. ” Vid´ıme, ˇze obˇe nahr´avky maj´ı po celou dobu trv´an´ı maxim´aln´ı hlasitost.
Obr´azek 37: 1. a 2. nahr´ avka reprezentovan´a neuronem s nejmenˇs´ı chybou
Obr´azek 38: 1. a 2. nahr´ avka reprezentovan´a neuronem s fade-out“ ”
Na obr´azku 38 vid´ıme jin´e dvˇe nahr´avky reprezentovan´e neuronem ˇc´ıslo 96. Je to neuron leˇz´ıc´ı na obr´azku 34 na samostatn´em ostrovˇe“ vpravo nahoˇre. Spoleˇcn´ ym ” rysem obou nahr´avek je zeslabov´an´ı do ztracena. 5.3.5
Diskuse
vztah mezi chybou navrˇ zenou v experimentu a kvantizaˇ cn´ı chybou Kvantizaˇcn´ı chybu (pouˇz´ıvanou v algoritmu vektorov´e kvantizace) popisuje kapitola 4.4.1 a je
5.3
Vyˇc´ıslen´ı chyby pˇri shlukov´an´ı
67
d´ana vztahem 20, respektive 21. V tomto experimentu je chyba neuronu – shluku, kter´ y reprezentuje d´ana vzorcem 34. Jsou zde dva rozd´ıly: • kvantizaˇcn´ı chyba poˇc´ıt´a s ˇctvercem vzd´alenosti – rozd´ıl je pouze ve velikosti, • stˇredem shluku u kvantizaˇcn´ı chyby je reprezentant (codebook vector), kdeˇzto stˇredem shluku chyby navrˇzen´e v tomto experimentu je vektor s pr˚ umˇern´ ymi hodnotami sloˇzek (komponent) – rozd´ıl je v nutnosti existence reprezentanta v shlukovac´ım algoritmu. Oba rozd´ıly netvoˇr´ı z´asadn´ı rozd´ıl v principu stanoven´ı pˇresnosti (rozptylu) shluku. Stanoven´ı chyby navrˇzen´e v tomto experimentu nen´ı z´avisl´e na existenci reprezentanta a je tedy pouˇziteln´e i pro shluky vytvoˇren´e jin´ ymi algoritmy. velikost charakteristick´ ych vektor˚ u S vˇetˇs´ım rozmˇerem charakteristick´ ych vektor˚ u roste poˇcet iterac´ı algoritmu nutn´ ych pro dosaˇzen´ı stejn´e chyby. Jinak ˇreˇceno: u vˇetˇs´ıho poˇctu rozmˇer˚ u charakteristick´eho vektoru kles´a chyba pomaleji. poˇ cet iterac´ı Souvis´ı s velikost´ı charakteristick´ ych vektor˚ u. Se zvˇetˇsuj´ıc´ım se poˇctem iterac´ı roste pˇresnost mapy – zmenˇsuje se jej´ı chyba. U vˇetˇs´ıch map doch´az´ı k jejich rozpad´an´ı“ na samostatn´e kusy. Chyba nekles´a line´arnˇe, ale doch´az´ı ke ” skok˚ um. Domn´ıv´ame se, ˇze tyto zlomy reprezentuj´ı pˇrekon´an´ı lok´aln´ıch extr´em˚ u u ´lohy. Po urˇcit´em mnoˇzstv´ı iterac´ı se uˇz uspoˇr´ad´an´ı mapy nemˇen´ı. poˇ cet neuron˚ u v SOM Pomoc´ı poˇctu neuron˚ u m˚ uˇzeme rozliˇsit dva zp˚ usoby pouˇzit´ı Kohonenovy mapy: • Jedna moˇznost je pouˇz´ıt mal´ y poˇcet neuron˚ u a kaˇzd´emu neuronu pot´e pˇriˇradit jednu tˇr´ıdu. Potom topologie 2 x 3 neurony shlukuje do ˇsesti tˇr´ıd. Takto se SOM vyuˇz´ıv´a napˇr´ıklad v prostˇred´ı WEKA (bal´ıˇcek SelfOrganizingMap v 1.0.1). Urˇcujeme zde poˇcet shluk˚ u jako napˇr´ıklad u algoritmu k-means. • Druh´a moˇznost je pouˇzit´ı velk´ ych topologi´ı. Tady pˇredpokl´ad´ame, ˇze se neurony (codebooks vectors) seskup´ı tak, ˇze budou aproximovat hustotu pravdˇepodobnosti v´ yskytu instanc´ı. Pokud tedy instance budou tvoˇrit shluky (v n-rozmˇern´em prostoru), vzniknou tyto shluky i mezi neurony, coˇz pozn´ame na jejich vz´ajemn´e vzd´alenost v (nejˇcastˇeji dvourozmˇern´em) prostoru mapy. Pˇri tomto pouˇzit´ı SOM nen´ı potˇreba volit poˇcet shluk˚ u. Z tˇechto moˇznost´ı je potˇreba volit na z´akladˇe typu u ´lohy. Pokud potˇrebujeme jasnˇe stanovit pˇr´ısluˇsnost instance k jedn´e z nˇekolika zn´am´ ych tˇr´ıd, je dobr´e vyuˇz´ıt malou topologii. Pokud n´as v´ıce zaj´ım´a skuteˇcn´e rozloˇzen´ı instanc´ı ve tˇr´ıd´ach s r˚ uzn´ ymi stupni podobnosti a tak´e pokud mohu interpretovat vzniklou mapu, je moˇzn´e vyuˇz´ıt velk´ ych topologi´ı. ˇ ’astn´ V´ ysledky experimentu byly publikov´any v (Fejfar – St y, 2011).
68
5
5.4
APLIKACE
Porovn´ an´ı shlukovac´ıch algoritm˚ u
V tomto experimentu porovn´av´ame v´ ysledky ˇctyˇr vybran´ ych algoritm˚ u pouˇziteln´ ych pro shlukov´an´ı ˇcasov´ ych ˇrad. Porovn´an´ı algoritm˚ u je provedeno ve smyslu nalezen´ı shody ve v´ ysledn´ ych shluc´ıch. V´ ysledky jsou srovn´any ve zvl´aˇstn´ı formˇe matice z´amˇen (confusion matrix), naz´ yvan´e matice p´arov´an´ı (matching matrix). Jako instance ˇcasov´ ych ˇrad je zde pouˇzito hudebn´ıch nahr´avek, konkr´etnˇe v´ yvoje u ´rovnˇe hlasitosti nahr´avek. Tato charakteristika je vyuˇzita v n´astroji pro hudebn´ı anal´ yzu pomoc´ı poˇc´ıtaˇce popsan´eho v kapitole 6.2. Sledov´an´ı v´ yvoje hlasitosti pˇredstavuje jednoduchou metodu pro popis hudebn´ıch ud´alost´ı z hlediska cel´e skladby. 5.4.1
Popis v´ yvoje hlasitosti
Na obr´azku 39 m˚ uˇzeme vidˇet diagram popisuj´ıc´ı v´ yvoj hlasitosti ve skladbˇe Per ” Slava“ od Krzysztofa Pendereckeho. Kˇrivka je vytvoˇrena z dynamick´ ych znam´enek v partituˇre skladby. Dynamick´a znam´enka vid´ıme na svisl´e ose. Na vodorovn´e ose je ˇcas a pod osou je pops´ana form´aln´ı struktura skladby. V tomto diagramu jsou form´aln´ı u ´seky stejnˇe daleko od sebe, coˇz neodpov´ıd´a jejich skuteˇcn´e d´elce, ale pro orientaci ve skladbˇe to postaˇcuje. Per Slava
dynamika (hlasitost)
ff f mf mp p pp
a1 A
Lento 0:00
a2
a3
b1
b2
B
Allegretto 1:58
b3
b4
c1
c2
c3
C
Vivace 2:36
a4 A
a5
2
Lento 3:24
a6
konec čas[s]
Coda
4:13
4:35
Obr´azek 39: Per Slava“ – v´ yvoj hlasitosti kompozice (Fil´ıpek, 2011) ”
Obr´azek 40 poskytuje rozbor interpretace skladby Per Slava“ od Stevena Ho” ´ nigberga (dostupn´e z last.fm18 ). Urovnˇ e hlasitosti tu vyjadˇrujeme pomoc´ı mˇen´ıc´ı se smˇerodatn´e odchylky sign´alu, stejnˇe jako v kapitole 5.3. Nav´ıc je tu vykreslena hlasitost, vypoˇc´ıtan´a jako plocha pod kˇrivkou spektra – suma hodnot. M˚ uˇzeme zde pozorovat nˇekolik odchylek mezi kompozic´ı (modelem) a interpretac´ı. Prvn´ı rozd´ıl je v d´elce nahr´avky, kde se interpretace 5:45 min (345s) liˇs´ı od modelu 4:35 min (275s). Dalˇs´ı rozd´ıly nalezneme ve v´ yvoji hlasitosti. V modelu je pro kaˇzd´ y formov´ y d´ıl pˇredepsan´a jedna u ´roveˇ n hlasitosti, ale v interpretaci jsou dynamick´e zmˇeny pˇrirozenˇe mnohem ˇcastˇejˇs´ı. Navzdory tˇemto rozd´ıl˚ um nalezneme 18
http://www.last.fm/music/Steven+Honigberg/ /Per+Slava
69
Porovn´an´ı shlukovac´ıch algoritm˚ u 0.2
směrodatná odchylka suma spektra
0.15
20 15
0.1
10
0.05
5
0
suma spektra
směrodatná odchylka
5.4
0 0
50
100
150
200
250
300
350 čas[s]
A
Lento 0:00
B
Allegretto 2:23
C
Vivace 3:12
A2
Lento 3:57
Coda
5:03
5:50
Obr´azek 40: Per Slava“ – smˇerodatn´a odchylka a suma spektra interpretace ”
v diagramech mnoho spoleˇcn´ ych rys˚ u. Oba diagramy zaˇc´ınaj´ı a konˇc´ı v n´ızk´e dynamice, nejniˇzˇs´ı bod se nah´az´ı v ˇca´sti B“ n´asledovan´ y nejvyˇsˇs´ı dynamikou. ” 5.4.2
Zp˚ usoby porovn´ an´ı v´ ysledk˚ u shlukov´ an´ı
V oblasti uˇcen´ı s uˇcitelem se pro srovn´an´ı v´ ysledk˚ u klasifikace nebo predikce se skuteˇcnou situac´ı pouˇz´ıv´a matice z´amˇen (confussion matrix). Pokud bychom mˇeli instance n´aleˇz´ıc´ı do dvou tˇr´ıd, pozitivn´ı a negativn´ı, existuj´ı pro v´ ysledky ˇctyˇri moˇznosti: • True positives – instance spr´avnˇe klasifikovan´e, jako pozitivn´ı. • True negatives – instance spr´avnˇe klasifikovan´e, jako negativn´ı. • False positives – instance nespr´avnˇe klasifikovan´e, jako pozitivn´ı. • False negatives – instance nespr´avnˇe klasifikovan´e, jako negativn´ı. Matici z´amˇen m˚ uˇzeme vidˇet v tabulce 7. Vid´ıme zde i instanc´ı patˇr´ıc´ıch do skupiny true positive, j instanc´ı true negative, k instanc´ı false positive a l instanc´ı false negative. Tabulka 7: Matice z´ amˇen (confussion matrix)
klasifikov´any jako positivn´ı klasifikov´any jako negativn´ı
skuteˇcnˇe pozitivn´ı skuteˇcnˇe negativn´ı i k l j
Pˇri shlukov´an´ı (analogii ke klasifikaci funguj´ıc´ı na principu uˇcen´ı bez uˇcitele) skuteˇcnou situaci nezn´ame. M´ame k dispozici pouze v´ ysledky shlukov´an´ı vytvoˇren´e r˚ uzn´ ymi algoritmy. Pro srovn´an´ı tˇechto v´ ysledk˚ u jsme zmˇenili matici z´amˇen tak, aby srovn´avala v´ ysledky dvou shlukovac´ıch algoritm˚ u. Uvaˇzujme algoritmus AlgA, dˇel´ıc´ı data do tˇr´ı shluk˚ u α, β, γ a algoritmus AlgB dˇel´ıc´ı data do dvou shluk˚ uψ a ω. Z v´ ysledk˚ u m˚ uˇzeme vytvoˇrit matici p´arov´an´ı (matching matrix) zobrazenou v tabulce 8.
70
5
APLIKACE
Tabulka 8: Matice p´ arov´ an´ı (matching matrix)
ψ ω
α i l
β j m
γ k n
Z matice p´arov´an´ı m˚ uˇzeme zjistit, ˇze shluk α algoritmu AlgA m´a i instanc´ı ve shluku ψ a l instanc´ı ve shluku ω. Pokud je i >> l, m˚ uˇzeme ˇr´ıci, ˇze shluk α algoritmu AlgA je shodn´ y se shlukem ψ algoritmu AlgB. Z jin´eho pohledu m˚ uˇzeme ˇr´ıci, ˇze shluk ω algoritmu AlgB m´a l instanc´ı ve shluku α, m instanc´ı ve shluku β a n instanc´ı ve shluku γ algoritmu AlgA. 5.4.3
Srovn´ avan´ e algoritmy
V tomto experimentu srovn´av´ame implementace n´asleduj´ıc´ıch algoritm˚ u: • k-means (Weka 3.7.3), • EM (Weka 3.7.3), • SOM 1.0.1 (Weka 3.7.3) (SOM je z bal´ıˇckov´eho syst´emu Weky), • SOM (vlastn´ı implementace v C++19 popsan´a v kapitole 6). Srovn´an´ı vlastn´ı implementace s implementac´ı algoritm˚ u z prostˇred´ı WEKA je umoˇznˇeno d´ıky stejn´emu v´ ystupn´ımu form´atu (.arff viz 5.1.7). Porovn´av´ame zde pouze v´ ysledky, nikoli ˇcasovou nebo pamˇet’ovou n´aroˇcnost. 5.4.4
Data
V tomto experimentu pouˇz´ıv´ame datab´azi Magnatagatune popsanou v kapitole 5.1.3. Vyb´ır´ame z t´eto datab´aze nahr´avky, kter´e byly oznaˇceny labely heavy“, si” ” lence“. Nahr´avek s labelem heavy“ je v t´eto datab´azi 217 a nahr´avek s labelem ” silence“ je 68. Tˇechto 285 soubor˚ u zpracov´av´ame skripty20 prov´adˇen´ ymi v GNU ” Octave. Tento algoritmus rozdˇel´ı kaˇzdou nahr´avku do tˇr´ıch d´ıl˚ u a pro kaˇzd´ y spoˇc´ıt´a smˇerodatnou odchylku sign´alu. Vznikne tedy 285 3-rozmˇern´ ych vektor˚ u popisuj´ıc´ıch nahr´avky ve smyslu hlasitosti, respektive obsahu. Tyto vektory ukl´ad´ame do csv souboru, kter´ y lze naˇc´ıst do prostˇred´ı WEKA. Takto vypad´a hlaviˇcka souboru s prvn´ıma dvˇema vektory pro experiment s hlasitost´ı: X1,X2,X3,label 0.2225377233788531,0.1905727553096405,0.1892405993722129,heavy 0.2155633750137449,0.2178567154632935,0.2172673912120148,heavy Z´ıskan´e charakteristick´e vektory jsou dobˇre separovateln´e, jak m˚ uˇzeme vidˇet na obr´azku 41, coˇz je d˚ uleˇzit´e pro dobr´e v´ ysledky shlukov´an´ı. Na vodorovn´e ose jsou hodnoty sloˇzek vektoru, na svisl´e ose ˇcetnosti jejich v´ yskytu. Modr´a barva 19 20
http://aistorm.mendelu.cz/som/wiki/som%2B%2B http://aistorm.mendelu.cz/som/browser/trunk/agentOctave
5.4
Porovn´an´ı shlukovac´ıch algoritm˚ u
71
odpov´ıd´a nahr´avk´am oznaˇcen´ ym jako silence“, ˇcerven´a barva patˇr´ı k nahr´avk´am ” oznaˇcen´ ym jako heavy“. M˚ uˇzeme si vˇsimnout, ˇze rozdˇelen´ı nahr´avek heavy“ m´a ” ” vrchol (nejˇcastˇejˇs´ı hodnotu) uprostˇred diagramu (hodnota 0,25), zat´ımco nahr´avky silence“ maj´ı vrchol u lev´eho okraje (hodnota 0). ”
Obr´azek 41: Rozloˇzen´ı sloˇzek vektor˚ u
5.4.5
Labely
Nahr´avky datab´aze Magnatagatune maj´ı labely vytvoˇren´e lidmi. Tyto labely maj´ı nˇekter´e netypick´e vlastnosti pramen´ıc´ı z principu hry tagatune, popsan´e v (Law – von Ahn, 2009). Ve hˇre jde o rychlost, takˇze se hr´aˇci snaˇz´ı vytvoˇrit label hned, jakmile zaˇcne skladba hr´at. Z toho d˚ uvodu labely reflektuj´ı sp´ıˇse poˇca´tek nahr´avek. V samotn´em shlukov´an´ı se labely nevyskytuj´ı, ale m˚ uˇzeme je vyuˇz´ıt pˇri vyˇc´ıslen´ı chyby v´ ysledn´ ych shluk˚ u (classes to clusters evaluation), coˇz n´am umoˇzn´ı stanovit, jak dobˇre shluky koresponduj´ı s tˇr´ıdami vytvoˇren´ ymi lidmi. 5.4.6
Stanoven´ı poˇ ctu shluk˚ u
Pro stanoven´ı poˇctu shluk˚ u se standardnˇe pouˇz´ıv´a algoritmus naz´ yvan´ y v-fold cross validation (Hsu et al., 2000). V naˇsem experimenu jsme nalezli optim´aln´ı poˇcet shluk˚ u pomoc´ı algoritmu E-M, jehoˇz implementace v prostˇred´ı WEKA umoˇzn ˇuje nalezen´ı optim´aln´ıho poˇctu shluk˚ u pomoc´ı algoritmu v-fold cross validation. Algoritmus minimalizuje logaritmickou pravdˇepodobnost v algoritmu E-M. Algoritmus E-M stanovil optim´aln´ı poˇcet shluk˚ u na 6. Byl spuˇstˇen s n´asleduj´ıc´ımi parametry: weka.clusterers.EM -I 100 -N -1 -M 1.0E-6 -S 100
72
5
APLIKACE
Obr´azek 42: Shlukov´ an´ı k-means (k = 2)
5.4.7
Porovn´ an´ı v´ ysledk˚ u
Na obr´azku 42 vid´ıme v´ ysledky shlukov´an´ı algoritmu k-means (k = 2) po 11 iterac´ıch. Shluky jsou vizualizov´any ve dvourozmˇern´em prostoru, s pouˇzit´ım sloˇzek X1 a X2 charakteristick´ ych vektor˚ u. Sloˇzka X3 se pˇri vizualizaci ignoruje. Pro interpretaci v´ ysledk˚ u konzistentn´ı s kapitolou 5.4.2, oznaˇcme tˇr´ıdu si” lence“ jako pozitivn´ı a heavy“ jako negativn´ı. M˚ uˇzeme potom zaznamenat, ˇze ” vˇetˇsina nahr´avek oznaˇcen´ ych jako silence“ patˇr´ı do shluku 0 (modr´a barva), respek” tive vˇetˇsina nahr´avek oznaˇcen´ ych jako heavy“ patˇr´ı do shluku 1 (ˇcerven´a barva). ” M˚ uˇzeme pozorovat: • true positives: modr´e kˇr´ıˇzky (shluk 0 – silence“), ” • true negatives: ˇcerven´e kˇr´ıˇzky (shluk1 – heavy“), ” • false positives: modr´e ˇctvereˇcky (shluk 0 – heavy“), ” • false negatives: ˇcerven´e ˇctvereˇcky (shluk 1 – silence“). ” Toto zobrazen´ı z´ısk´ame v prostˇred´ı WEKA pomoc´ı moˇznosti visualize clus” ter asignments“, kde m´ame tak´e moˇznost uloˇzit v´ ysledky shlukov´ani do .arff souboru, coˇz je velmi uˇziteˇcn´e pro dalˇs´ı porovn´av´an´ı (m˚ uˇzeme tak´e vˇse prov´est automaticky21 ). Tento soubor m´a n´asleduj´ıc´ı form´at (pˇrid´av´a k dat˚ um prvn´ı sloupec s ˇc´ıslem instance a posledn´ı sloupec s informac´ı o pˇr´ısluˇsnosti ke shluku): 0,0.222538,0.190573,0.189241,heavy,cluster1 1,0.215563,0.217857,0.217267,heavy,cluster1 Z tohoto souboru m˚ uˇzeme z´ıskat matici z´amˇen pomoc´ı vytvoˇren´eho skriptu22 pˇr´ıkaz˚ u unixov´eho shellu bash. Tyto skripty by mˇely b´ yt pˇrenositeln´e na r˚ uzn´ ych linuxov´ ych distribuc´ıch. 21 22
http://aistorm.mendelu.cz/som/browser/trunk/vysledky shlukovani/weka.sh http://aistorm.mendelu.cz/som/browser/trunk/vysledky shlukovani/alg vs label.sh
5.4
73
Porovn´an´ı shlukovac´ıch algoritm˚ u
Tabulka 9: Matice z´ amˇen (confussion matrix) k-means k = 2
shluk 0 shluk 1
heavy“ silence“ ” ” 9 67 208 1
Matice z´amˇen pro toto shlukov´an´ı je v tabulce 9. Vyskytuje se zde 10 ˇspatnˇe zaˇrazen´ ych nahr´avek z celkov´eho poˇctu 285, ˇc´ımˇz je d´ana pˇresnost algoritmu kmeans (kde k = 2) 96,5 %. Pokud zmˇen´ıme poˇcet shluk˚ u na optim´aln´ı hodnotu – 6 – dostaneme matici z´amˇen, zachycenou v tabulce 10. Tady m˚ uˇzeme porovnat v´ ysledky vˇsech srovn´avan´ ych algoritm˚ u oproti lidmi vytvoˇren´ ym label˚ um za pˇredpokladu, ˇze shluky koresponduj´ı s tˇemi tˇr´ıdami, do kter´ ych patˇr´ı vˇetˇsina instanc´ı shluk˚ u. Napˇr´ıklad shluk 4 algoritmu k-means m´a 25 instanc´ı ve tˇr´ıdˇe heavy“ a 8 instanc´ı ve tˇr´ıdˇe ” silence“. Pˇredpokl´ad´ame, ˇze by mˇely vˇsechny instance shluku patˇrit do jedn´e tˇr´ıdy, ” povaˇzujeme tedy zm´ınˇen´ ych 8 instanc´ı za ˇspatnˇe zaˇrazen´e. Algoritmy byly spuˇstˇeny s n´asleduj´ıc´ımi parametry: weka.clusterers.SimpleKMeans -N 6 -A "weka.core.EuclideanDistance -R ...first-last" -I 500 -S 10 weka.clusterers.EM -I 100 -N 6 -M 1.0E-6 -S 100 weka.clusterers.SelfOrganizingMap -L 1.0 -O 2000 -C 1000 -H 2 -W 3 ...-I -S , naˇse vlastn´ı implementace SOM s topologi´ı 2 x 3 neuron˚ u a pˇeti iteracemi: ./autoSom heavy\_silence\_3d\_std\_weka.csv 2 3 5 > 6-SOM-cpp.arff Tabulka 10: Matice z´ amˇen (confussion matrix) shluky – tˇr´ıdy
cluster0 cluster1 cluster2 cluster3 cluster4 cluster5
k-means heavy silence 81 0 30 0 7 0 0 60 25 8 74 0 8 97,19 %
EM heavy silence 37 13 7 0 27 0 59 0 0 55 87 0 13 95,44 %
SOM (weka) heavy silence 0 55 38 2 83 0 5 11 61 0 30 0 7 97,55 %
SOM (C++) heavy silence 87 0 35 5 0 30 93 0 2 19 0 14 7 97,55%
M˚ uˇzeme si vˇsimnout, ˇze se pˇresnost algoritmu k-means se zv´ yˇsen´ım poˇctu shluk˚ u (ze 2 na 6) zv´ yˇsila (z 96,49 % na 97,55 %). Pˇresnost algoritmu E-M je
74
5
APLIKACE
o nˇeco m´alo horˇs´ı a nejlepˇs´ıho v´ ysledku dos´ahl algoritmus SOM (obˇe implementace maj´ı stejnou pˇresnost 97,55 %). Nyn´ı zjistˇeme, jak jsou si podobn´e v´ ysledky r˚ uzn´ ych implementac´ı SOM. Pro vyˇc´ıslen´ı tohoto srovn´an´ı pouˇzijeme matici p´arov´an´ı popsanou v kapitole 5.4.2. Matici z´ısk´ame ze soubor˚ u .arff (maj´ı v posledn´ım sloupci n´azev shluku reprezentuj´ıc´ıho instanci) pomoc´ı skriptu23 . Z´ıskanou matici p´arov´an´ı vid´ıme v tabulce 11. Tabulka 11: Matice p´ arov´ an´ı (matching matrix) shluky – shluky
shluk shluk SOM shluk (weka) shluk shluk shluk
0 1 2 3 4 5
shluk 0 0 0 57 0 0 30
shluk 1 0 34 0 6 0 0
SOM (C++) shluk 2 shluk 3 30 0 0 6 0 26 0 0 0 61 0 0
shluk 4 11 0 0 10 0 0
shluk 5 14 0 0 0 0 0
Zaj´ımavou informaci nalezneme ohlednˇe pro obˇe implementace problematick´eho shluku 1. Implementace C++ zde m´a 5 chyb, implementace Weky potom 2 chyby. M˚ uˇzeme se vˇsimnout, ˇze obˇe implementace souhlas´ı s 34 instancemi, ale rozch´azej´ı se v dalˇs´ıch 6 instanc´ıch, kter´e umist’uj´ı do shluku 3 (kde se nach´az´ı 5 chyb implementace Weky). Pˇredpokl´ad´ame, ˇze hlubˇs´ı anal´ yza tˇechto rozd´ıl˚ u m˚ uˇze zlepˇsit v´ ykon algoritm˚ u za pouˇzit´ı semi-supervised algoritmu (napˇr´ıklad co-training). Matice p´arov´an´ı obsahuje velk´e mnoˇzstv´ı nulov´ ych poloˇzek, coˇz ukazuje na jednotnost v´ ysledk˚ u implementace SOM ve Wece a naˇs´ı implementace. T´ımto jsme tak´e provedli ovˇeˇren´ı funkˇcnosti vlastn´ı implementace popsan´e v kapitole 6. 5.4.8
Z´ avˇ er
V´ ysledky vybran´ ych algoritm˚ u jsou velmi slibn´e. Pˇresnost porovn´avan´ ych algoritm˚ u v tabulce 10 pˇresahuje 95 %. Toto je ˇca´steˇcnˇe zp˚ usobeno jednoduchost´ı v rozliˇsov´an´ı mezi nahr´avkami oznaˇcen´ ymi jako heavy“ a silence“. Na obr´azku 41 si m˚ uˇzeme ” ” vˇsimnout, ˇze jsou zpracov´avan´e charakteristick´e vektory dobˇre separovateln´e. Navzdory jednoduchosti t´eto u ´lohy ale mus´ıme uvaˇzovat subjektivnost hranice mezi hlasit´ ym a tich´ ym. Navrˇzen´a forma matice z´amˇen poskytuje informace o rozd´ılech ve v´ ysledc´ıch shlukov´an´ı r˚ uzn´ ymi algoritmy. Anal´ yza tˇechto rozd´ıl˚ u m˚ uˇze b´ yt uˇziteˇcn´a pˇri n´avrhu a studiu algoritm˚ u s ˇca´steˇcn´ ym dohledem (semi-supervised learning). V´ ysledky tohoto experimentu jsou pˇrijaty na konferenci a budou publikov´any v (Fejfar et al., 2011). 23
http://aistorm.mendelu.cz/som/browser/trunk/vysledky shlukovani/alg vs alg.sh
5.5
75
Porovn´an´ı klasifikaˇcn´ıch algoritm˚ u
5.5
Porovn´ an´ı klasifikaˇ cn´ıch algoritm˚ u
V tomto experimentu porovn´av´ame tˇri zn´am´e algoritmy uˇcen´ı s uˇcitelem jmenovan´e v kapitole 4.5.1. Data i metody porovn´an´ı jsou stejn´e jako u experimentu porovn´avaj´ıc´ıho shlukovac´ı algoritmy (kap. 5.4), coˇz umoˇzn ˇuje srovn´an´ı v´ ysledk˚ u. Je potˇreba si ale uvˇedomit, ˇze oba experimenty vyuˇz´ıvaj´ı jin´ y zp˚ usob uˇcen´ı – bez uˇcitele (kap. 4.5.2) a s uˇcitelem (viz kap. 4.5.1). Konkr´etnˇe jsou porovn´any tyto implementace algoritm˚ u: • kNN (Weka 3.7.3), algoritmus nazvan´ y IBk • MLP (GNU Octave 3.4.2), package nnet verze 0.1.13 • LVQ (vlastn´ı implementace v C++24 popsan´a v kapitole 6). 5.5.1
k nejbliˇ zˇs´ıch soused˚ u
Tento algoritmus je pops´an kapitole 4.5.1 a jeho moˇzn´e v´ ysledky zachycuje obr´azek 24. Vyuˇzili jsme implementaci algoritmu v prostˇred´ı WEKA. Nach´az´ı se mezi klasifik´atory ve skupinˇe Lazy“, coˇz odkazuje k zaˇrazen´ı mezi klasifik´atory pˇriˇrazuj´ıc´ı ” ohodnocen´ı k instanci aˇz po vytvoˇren´ı dotazu. Algoritmus jsme spustili s n´asleduj´ıc´ı konfigurac´ı: weka.classifiers.lazy.IBk -K 3 -W 0 -A ..."weka.core.neighboursearch.LinearNNSearch -A ...\"weka.core.EuclideanDistance -R first-last\"" Testovali jsme tˇri hodnoty k = 1, 3, 5 pomoc´ı parametru −K, pˇriˇcemˇz nejlepˇs´ı u ´spˇeˇsnost vyˇsla s poˇctem 3 nejbliˇzˇs´ıch soused˚ u. Pˇri stanovov´an´ı v´ ysledku byla pouˇzita 10ti sloˇzkov´a cross-validace. Matice z´amˇen pro tuto klasifikaci je v tabulce 12. Tabulka 12: Matice z´ amˇen (confussion matrix) k-nearest neighbours k = 3
klasifikace
heavy“ ” silence“ ”
skuteˇcn´ y stav heavy“ silence“ ” ” 215 2 2 66
Vyskytuj´ı se zde 4 ˇspatnˇe zaˇrazen´e nahr´avky z celkov´eho poˇctu 285, coˇz d´av´a pˇresnost algoritmu k-NN, kde k = 3 na 98,6 %. To je velice dobr´ y v´ ysledek od˚ uvodniteln´ y dobrou separovatelnost´ı dat popsanou v kapitole 5.4.4. Zaj´ımav´e v´ ysledky z´ısk´ame, pokud budeme data vizualizovat. Charakteristick´e vektory jsou tˇr´ırozmˇern´e, pˇri zobrazen´ı do dvourozmˇern´eho prostoru (kv˚ uli jasn´e projekci) budeme ignorovat tˇret´ı rozmˇer. 24
http://aistorm.mendelu.cz/som/wiki/som%2B%2B
76
5
APLIKACE
směrodatná odchylka (složka X2)
Graficky zn´azornˇen´ y v´ ysledek vid´ıme na obr´azku 43, kde jsou chybnˇe klasifikovan´e instance oznaˇceny ˇctvereˇcky. Z jejich polohy je zˇrejm´e, ˇze jde o instance leˇz´ıc´ı v hraniˇcn´ım p´asmu. Domn´ıv´ame se, ˇze se u jejich label˚ u pˇridˇelen´ ych ˇclovˇekem uplatˇ nuje subjektivita vn´ım´an´ı u ´lohy.
256 98 152
283
směrodatná odchylka (složka X1)
Obr´azek 43: k nejbliˇzˇs´ıch soused˚ u k-NN
V tabulce 13 jsou pops´any chybnˇe klasifikovan´e instance. Vid´ıme zde 2 typy chyb (true negatives a false positives): instance s labelem heavy“ (skuteˇcn´a hodnota ” zadan´a ˇclovˇekem) a klasifikovan´e jako silence“ – nahr´avky ˇc´ıslo 98 a 152 a instance ” s labelem silence“ (skuteˇcn´a hodnota zadan´a ˇclovˇekem) a klasifikovan´e jako heavy“ ” ” – nahr´avky ˇc´ıslo 256 a 283. D´ale m˚ uˇzeme v tabulce naj´ıt cestu ke konkr´etn´ımu souboru v datab´azi Magnatagatune. Cesta zaˇc´ın´a koˇrenov´ ym adres´aˇrem magnataga” tune/mp3/“ a pokraˇcuje podadres´aˇrem (0 - f) a konkr´etn´ım souborem. Tabulka 13: Chybnˇe klasifikovan´e instance
ˇ ıslo nahr´ C´ avky 98
Label heavy
Klasifikace silence
152
heavy
silence
256
silence
heavy
283
silence
heavy
N´ azev nahr´ avky 3/mandrake rootthe seventh mirror-04put your money where your mouth is59-88.mp3 b/rebel rebel-explode into space-07artificial kid-233-262.mp3 9/wicked boy-chemistry-06-ten years0-29.mp3 4/myles cochran-marginal street-15such a sunny day-407-436.mp3
Na obr´azku 44 vid´ıme instance chybnˇe klasifikovan´e jako silence“. U nahr´avky ” 98 to m˚ uˇze b´ yt zp˚ usobeno zv´ yˇsen´ ym hodnocen´ım zaˇc´atku skladby popsan´em v kapitole 5.4.5. U nahr´avky 152 to m˚ uˇze b´ yt zp˚ usobeno pˇrevl´adaj´ıc´ımi tich´ ymi ˇca´stmi (2. a 3. sloˇzka charakteristick´eho vektoru).
5.5
77
Porovn´an´ı klasifikaˇcn´ıch algoritm˚ u Směrodatná odchylka
[std]
amplituda
nahrávka 98 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4
0
5
10
15
20
25
30
0.13 0.125 0.12 0.115 0.11 0.105 0.1 0.095 0.09
0
10
15
20
25 t [s]
Směrodatná odchylka 0.104 0.102 0.1 0.098 0.096 0.094 0.092 0.09 0.088 0.086
[std]
amplituda
nahrávka 152 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4
5
0
5
10
15
20
25
30
0
5
10
15
20
25 t [s]
Obr´azek 44: Instance chybnˇe klasifikovan´e jako silence“ ” nahrávka 256
Směrodatná odchylka 0.2 0.19
0.5
0.18 [std]
amplituda
1
0
0.16
-0.5 -1
0.17
0.15 0
5
10
15
20
25
0.14
30
0
10
15
20
25 t [s]
Směrodatná odchylka 0.18 0.16 0.14 [std]
amplituda
nahrávka 283 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
5
0.12 0.1 0.08 0.06
0
5
10
15
20
25
30
0.04
0
5
10
15
20
25 t [s]
Obr´azek 45: Instance chybnˇe klasifikovan´e jako heavy“ ”
Na obr´azku 45 vid´ıme instance chybnˇe klasifikovan´e jako heavy“. I zde vid´ıme, ” ˇze m˚ uˇze b´ yt label pˇridˇelen´ y ˇclovˇekem ovlivnˇen jednou z tich´ ych ˇca´st´ı (zaˇca´tek, nebo konec) bez ohledu na pˇrevaˇzuj´ıc´ı hlasitost.
78
5
5.5.2
APLIKACE
V´ıcevrstv´ a neuronov´ a s´ıt’ (MLP)
Princip t´eto neuronov´e s´ıtˇe je pops´an v kapitole 4.3 na obr´azku 22. Vybrali jsme implementaci v prostˇred´ı GNU Octave z d˚ uvod˚ u kompatibility s prostˇred´ım MATLAB, dobr´e dokumentace k bal´ıˇcku nnet (pˇrid´av´a do GNU Octave funkcionalitu v´ıcevrstv´e neuronov´e s´ıtˇe) a d´ale z d˚ uvodu open-source zdrojov´eho k´odu, coˇz umoˇzn ˇuje pouˇzit´ı a prohl´ıˇzen´ı zdrojov´eho k´odu bez probl´em˚ u s licenc´ı. Bal´ıˇcek nnet, kter´ y do GNU Octave pˇrid´av´a funkcionalitu v´ıcevrstv´e neuronov´e s´ıtˇe (z vˇetˇs´ı ˇc´asti kompatibiln´ı s MLP pouˇziteln´e v MATLABU pomoc´ı Neural Netvork Toolboxu25 ) je dostupn´ y v r´amci rozˇs´ıˇren´ı Octave-Forge26 . Souˇca´st´ı bal´ıˇcku je i podrobn´ y manu´al ve form´atu pdf. Naˇ cten´ı a rozdˇ elen´ı dat Na rozd´ıl od experimentu popsan´em v kapitole 5.4 zde nebudeme pracovat s labely v textov´e podobˇe, ale budeme je oznaˇcovat ˇc´ısly. Form´at vstupn´ıho souboru vypad´a takto: 0.222537717091171,0.1905727531251785,0.1892405989421166,1 0.2155633794930321,0.2178567180582369,0.2172673918631148,1 0.2546834879343323,0.2814293423145541,0.3159320592857192,1 Label (v posledn´ım sloupci) ˇc´ıslo 1 je heavy“ ˇc´ıslo 0 je silence“. V GNU ” ” Octave m˚ uˇzeme vstupn´ı soubor naˇc´ıst do promˇenn´e mData pomoc´ı pˇr´ıkazu: mData = load("export/heavy_silence_3d_std_octave.csv"); D´ale data rozdˇel´ıme do tˇr´ı skupin: • Tr´enovac´ı – je pouˇzita na nastavov´an´ı vah MLP. • Validaˇcn´ı – je pouˇzita na minimalizaci pˇreuˇcen´ı MLP. Testuje se, zda se z´aroveˇ n se zlepˇsov´an´ım pˇresnosti na tr´enovac´ıch datech tak´e zlepˇsuje pˇresnost na validaˇcn´ıch datech (kter´e s´ıt’ jeˇstˇe nepouˇzila k tr´enov´an´ı). Pokud se pˇresnost nad tr´enovac´ımi daty zlepˇsuje, ale pˇresnost nad validaˇcn´ımi daty je stejn´a, nebo se zhorˇs´ı, zaˇc´ın´a b´ yt s´ıt’ pˇreuˇcen´a a je potˇreba zastavit tr´enov´an´ı. • Testovac´ı – pouˇz´ıv´a se pro testov´an´ı nauˇcen´e s´ıtˇe (aby se potvrdila schopnost s´ıtˇe klasifikovat / predikovat). [mTrain, mTest, mVali] = subset(mData’, 1,... output_neuron_count, 1/3, 1/6); Prvn´ım argumentem funkce subset jsou data v transponovan´e matici vzhledem k naˇcten´e: 25 26
http://www.mathworks.com/products/neuralnet/ http://octave.sourceforge.net/nnet/index.html
5.5
79
Porovn´an´ı klasifikaˇcn´ıch algoritm˚ u
0.22253 0.19057 0.18923 1.00000
0.21556 0.21785 0.21726 1.00000
0.25468 0.28142 0.31592 1.00000
Druh´ ym argumentem je poˇcet v´ystupn´ıch ˇr´adk˚ u. Ten mus´ı b´ yt shodn´ y s poˇctem v´ ystupn´ıch neuron˚ u. Tato u ´loha m˚ uˇze b´ yt provedena ve dvou konfigurac´ıch: • m˚ uˇzeme m´ıt jeden v´ ystupn´ı neuron, kter´ y bude m´ıt v´ ystupn´ı hodnotu bud’ 18 nebo 19 (pˇr´ıpadnˇe opravenou pomoc´ı standardizace viz kapitola 5.1.6) podle toho, do kter´e tˇr´ıdy bude patˇrit, • m˚ uˇze m´ıt dva v´ ystupn´ı neurony, pˇriˇcemˇz jeden bude m´ıt v´ ystupn´ı hodnotu 18 a druh´ y 19 (resp 1, 0). Aktivn´ı bude pouze jeden. Pasivn´ı neuron bude m´ıt hodnotu v´ ystupu 0. Toto je zp˚ usob podobn´ y na kompetiˇcn´ı princip popsan´ y v kapitole 4.4. . Tˇret´ım argumentem je u ´roveˇ n optimalizace dat. Stupeˇ n 1 znamen´a, ˇze funkce bude naˇc´ıtat sloupce (instance) v n´ahodn´em poˇrad´ı, ale zajist´ı, aby instance s minim´aln´ımi, respektive maximaln´ımi hodnotami byla zastoupena v tr´enovac´ı mnoˇzinˇe (aby s´ıt’ pˇri uˇcen´ı pouˇzila extr´emn´ı pˇr´ıpady). ˇ Ctvrt´ ym argumentem je zlomek ud´avaj´ıc´ı pomˇer dat pouˇzit´ych pro testov´an´ı, p´at´ ym argumentem je pomˇer dat pro validaci. D´ale je potˇreba rozdˇelit data na vstupn´ı a v´ ystupn´ı. Vstupn´ı (input) se pˇredkl´adaj´ı s´ıti, v´ ystupn´ı (target) poˇzadujeme na v´ ystupu. Pro vytvoˇren´ı nov´e s´ıtˇe tak´e mus´ıme zn´at minim´aln´ı a maxim´aln´ı sloˇzky nach´azej´ıc´ı se ve vstupn´ıch vektorech. Train.P=mTrain(1:end-output_neuron_count, :); Train.T=mTrain(end, :); %train target
%train input
Test.P=mTest(1:end-output_neuron_count, :); %test input Test.T=mTest(end, :); %test target VV.P = mVali(1:end-output_neuron_count, :); %validation input VV.T = mVali(end, :); %validation target mMinMaxElements = min_max(Train.P);
Vytvoˇren´ı MLP Pokraˇcujeme definic´ı poˇctu neuron˚ u ve skryt´ ych vrstv´ach a ve v´ ystupn´ı vrstvˇe. Poˇcet neuron˚ u ve vstupn´ı vrstvˇe je d´an rozmˇerem vstupn´ıch charakteristick´ ych vektor˚ u. Pomoc´ı funkce N ewf f (New fead-forward) vytvoˇr´ıme struk-
80
5
APLIKACE
turu obsahuj´ıc´ı dopˇrednou (impulzy se v s´ıti ˇs´ıˇr´ı od vstupn´ı vrstvy k v´ ystupn´ı) ’ neuronovou s´ıt . topology = [2 1]; MLPNet = newff(mMinMaxElements, topology, {"tansig", "purelin"},... "trainlm", "not used", "mse"); Prvn´ım argumentem jsou minim´aln´ı a maxim´aln´ı sloˇzky vstupn´ıch vektor˚ u. Druh´ ym argumentem je topologie popsan´a v´ yˇse. Tˇret´ım argumentem je pˇrenosov´a funkce neuronu. Pˇredstavuje z´avislost v´ ystupn´ı hodnoty neuronu na vstupn´ı. M˚ uˇze to b´ yt sigmoida (Hyperbolic tangent sigmoid), kter´a pˇredstavuje spojit´ y kompromis mezi funkc´ı signum a line´arn´ı z´avislost´ı. ˇ Ctvrt´ ym argumentem je typ uˇc´ıc´ıho algoritmu. V bal´ıˇcku net-0.1.13 je jedinou moˇznost´ı Levenberg-Marquardtova optimalizace algoritmu backpropagation (trainlm). P´at´ y argument je pouze pro kompatibilitu s MATLABem. Posledn´ım argumentem je typ funkce mˇeˇr´ıc´ı v´ykon s´ıtˇe. Defaultnˇe je pouˇzita funkce mse (Mean squared error performance function). Tr´ enov´ an´ı a zobrazen´ı v´ ysledk˚ u Tr´enov´an´ı s´ıtˇe provedeme pomoc´ı funkce train. Z´ısk´ame strukturu nauˇcen´e s´ıtˇe, kterou m˚ uˇzeme uloˇzit pomoc´ı pˇr´ıkazu saveM LP Struct do textov´eho souboru a d´ale prohl´ıˇzet nebo editovat. Prvn´ım argumentem je struktura s´ıtˇe k uˇcen´ı. Druh´ ym argumentem jsou vstupn´ı data, tˇret´ım argumentem v´ystupn´ı data. ˇ Ctvrt´ y a p´at´ y argument je pro kompatibilitu s MATLABem a nen´ı pouˇzit. P´at´ ym argumentem je validaˇcn´ı stuktura, kter´a se pouˇz´ıv´a pˇri kontrole proti pˇreuˇcen´ı s´ıtˇe. N´aslednˇe nauˇcenou s´ıt’ vyzkouˇs´ıme na testovac´ıch datech pomoc´ı funkce sim(struktura nauˇcen´e s´ıtˇe, testovac´ı data). V´ ysledky uloˇz´ıme do .csv souboru, kde je m˚ uˇzeme d´ale zpracov´avat a hodnotit. %=================TRENOVANI MLP net = train(MLPNet, Train.P, Train.T, [], [], VV); %saveMLPStruct(net, "MLPNet.txt"); %=================TESTOVANI MLP simOut = sim(net, Test.P); %=================POROVNANI LABELU A VYSLEDKU SITE csvwrite(’MLPvysledek.csv’, [mTest’ simOut’]);
5.5
81
Porovn´an´ı klasifikaˇcn´ıch algoritm˚ u
V´ ysledky Ve v´ ysledn´em .csv souboru m´ame v´ ystup s´ıtˇe zobrazen v posledn´ım sloupci (sloupce 1 - 3 jsou sloˇzky charakteristick´eho vektoru, 4. sloupec je poˇzadovan´ y v´ ystup s´ıtˇe – label, 5. sloupec je skuteˇcn´ y v´ ystup s´ıtˇe). Zaˇca´tek souboru pro tˇri nahr´avky vid´ıme v n´asleduj´ıc´ı uk´azce. 0.00582,0.01939,0.02006,0,0.00648 0.28126,0.29591,0.29649,1,0.99658 0.39540,0.39838,0.41201,1,0.99678 Matici z´amˇen vid´ıme v tabulce 14. Nahr´avek je pouze 95, coˇz odpov´ıd´a pouˇzit´ı 1/3 dat na testov´an´ı (celkem je 285 nahr´avek). Tabulka 14: Matice z´ amˇen Multi layer perceptron (3-2-1)
heavy (1)“ ” silence (0)“ ”
klasifikace
skuteˇcn´ y stav heavy“ silence“ ” ” 72 0 1 22
Jedna chybnˇe klasifikovan´a nahr´avka ˇc´ıslo 44 – b/rebel rebel-explode into space02-we are the future-146-175.mp3 zobrazen´a na obr´azku 46. Nahrávka 44
Směrodatná odchylka
0.8
0.115 0.11
0.6
0.105 0.1 std
Amplituda
0.4
0.2
0.095 0 0.09 -0.2
-0.4
0.085
0
5
10
15
20
25
30 t [s]
0.08
0
5
10
15
20
25 t [s]
Obr´azek 46: Chybnˇe klasifikovan´ a nahr´avka – MLP
Tak´e u t´eto nahr´avky m˚ uˇzeme pozorovat velk´e rozd´ıly hodnot sloˇzek charakteristick´eho vektoru, kter´e mohou v´est k subjektivn´ımu pˇridˇelen´ı jin´eho ohodnocen´ı ˇclovˇekem a jin´eho klasifikaˇcn´ım algoritmem. Jedna chybnˇe klasifikovan´a nahr´avka z 95 d´av´a u ´spˇeˇsnost MLP na tˇechto datech 98.95%, coˇz je velice dobr´e. Jelikoˇz jsou data n´ahodnˇe vybran´a, lze pˇredpokl´adat, ˇze by podobn´a u ´spˇeˇsnost vyˇsla i na jin´e ˇca´sti cel´e mnoˇziny v pˇr´ıpadˇe jej´ıho v´ ybˇeru do testovac´ı podmnoˇziny. Pˇri opakov´an´ı experimentu se tato domnˇenka potvrdila – s´ıt’ klasifikovala s podobnou chybou.
82
5
5.5.3
APLIKACE
Learning Vector Quantization (LVQ1)
Algoritmus uˇc´ıc´ı se vektorov´e kvantizace byl vysvˇetlen v kapitole 4.4.3. Pˇri testov´an´ı bylo vyuˇzito vlastn´ı implementace z d˚ uvod˚ u podobnosti algoritmu na jiˇz implementovan´ y algoritmus SOM a tak´e z d˚ uvodu absence tohoto klasifikaˇcn´ıho algoritmu v GNU Octave nebo v prostˇred´ı WEKA, ze kter´ ych jsme jinak v´ ysledky ˇcerpali. Bylo testov´ano nˇekolik topologi´ı, z nichˇz byla vybr´ana topologie se ˇctyˇrmi neurony. V´ ysledky vid´ıme v tabulce 15. Tabulka 15: Matice z´ amˇen (confussion matrix) LVQ1
klasifikace
skuteˇcn´ y stav heavy“ silence“ ” ” 212 2 5 66
heavy“ ” silence“ ”
V´ yslednou mapu m˚ uˇzeme vidˇet na obr´azku 47.
h h
s s
Obr´azek 47: V´ ysledek algoritmu LVQ1 obarven´ y pomoc´ı ohodnocen´ı a poˇctu instanc´ı (viz kapitola 5.6.2)
Chybnˇe klasifikovan´e instance jsou stejn´e jako v pˇr´ıpadˇe tabulky 13, nav´ıc jsou zde tˇri ˇspatnˇe klasifikovan´e nahr´avky, viz tabulka 16. Tabulka 16: Chybnˇe klasifikovan´e instance LVQ1
ˇ ıslo nahr´ C´ avky 13
Label heavy
Klasifikace silence
44
heavy
silence
109
heavy
silence
N´ azev nahr´ avky 3/mandrake root-the seventh mirror01-kings of the desert-0-29.mp3 b/rebel rebel-explode into space-02we are the future-146-175.mp3 7/rocket city riot-pop killer-05im gonna make you bleed-0-29.mp3
Zaj´ımav´e je, ˇze je tento algoritmus v porovn´an´ı s kNN (kapitola 5.5.1) citlivˇejˇs´ı na chybnou klasifikaci smˇerem ke skupinˇe silence“ (nahr´avek heavy klasifikovan´e ” jako silence). K nahr´avk´am ˇc´ıslo 98 a 152 chybnˇe klasifikovan´ ych algoritmem kNN pˇridal dalˇs´ı nahr´avky 13 a 44 od stejn´ ych autor˚ u.
5.6
Uˇcen´ı s ˇc´asteˇcn´ym dohledem pro Kohonenovu mapu
5.6
83
Uˇ cen´ı s ˇ c´ asteˇ cn´ ym dohledem pro Kohonenovu mapu
V kapitol´ach 4.4.2 a 4.4.3 byly uk´az´any dva uˇc´ıc´ı algoritmy pouˇziteln´e pro Kohonenovu mapu. Hlavn´ım rozd´ılem bylo vyuˇzit´ı ohodnocen´ ych dat: • SOM – nevyuˇz´ıv´a ohodnocen´a data (podle vztahu 24), hodnoty Codebook vectoru se mˇen´ı v Nc okol´ı v´ıtˇeze (Best Matching Unit). V´ ysledky SOM jsou v kapitole 5.4. • LVQ – vyuˇz´ıv´a ohodnocen´a data (podle vztahu 28, kdy se zjiˇst’uje zda x a mc n´aleˇz´ı do stejn´e tˇr´ıdy), hodnoty Codebook vectoru se upravuj´ı pouze u BMU 29. V´ ysledky algoritmu LVQ jsou v kapitole 5.5 Z tˇechto vlastnost´ı zm´ınˇen´ ych algoritm˚ u plynou moˇznosti n´avrhu semisupervised uˇc´ıc´ıho algoritmu (viz 5.6.1), pouˇziteln´eho pro topologii Kohonenovy mapy. Jak jiˇz bylo zm´ınˇeno, vych´az´ı algoritmy ze skupiny uˇcen´ı s ˇc´asteˇcn´ ym dohledem z kombinace ohodnocen´ ych a neohodnocen´ ych dat. Tato kombinace m˚ uˇze b´ yt realizov´ana v z´asadˇe nˇekolika zp˚ usoby: • pˇrid´av´an´ı informac´ı o instanc´ıch do v´ ysledk˚ u shlukov´an´ı popsan´ ych v kapitole 5.6.2, • kombinace algoritm˚ u SOM a LVQ prob´ıran´ ych v kapitole 4.5.3, v´ ysledky vlastn´ı implementace jsou v kapitole 5.7, • klasifikace / shlukov´an´ı s ˇca´steˇcn´ ym dohledem – obalen´ı algoritmu LVQ nˇekter´ ym z wrapper“ algoritm˚ u. Jako m´ıru pravdˇepodobnosti spr´avn´e ” pˇredpovˇedi je moˇzn´e pouˇz´ıt vzd´alenost instance od reprezentanta, resp. kvantizaˇcn´ı chybu podle vztahu 21. 5.6.1
N´ avrh semi-supervised uˇ c´ıc´ıho algoritmu pro Kohonenovu mapu
Navrˇzen´ y algoritmus je postaven na myˇslence kombinace algoritm˚ u SOM a LVQ ˇ (S´ıma – Neruda, 1996). Tato myˇslenka je rozˇs´ıˇrena o pouˇzit´ı modern´ıch algoritm˚ u jako je self-training a co-training (Zhu – Goldberg, 2009) ve f´azi vyuˇz´ıvaj´ıc´ıch pouze ohodnocen´ ych dat pro jejich rozˇs´ıˇren´ı. Algoritmus prob´ıh´a ve tˇrech f´az´ıch: 1. Uˇcen´ı bez uˇcitele. V t´eto f´azi vyuˇz´ıv´ame celou mnoˇzinu vstupn´ıch dat. Algoritmem SOM 4.4.1 vytvoˇr´ıme Kohonenovu mapu kter´a zobrazuje v´ ysledky shlukov´an´ı. Nen´ı zat´ım zn´amo ke kter´ ym kategori´ım vznikl´e shluky patˇr´ı. Pˇredpokl´ad´a se vyuˇzit´ı vˇetˇs´ıch topologi´ı. 2. Oznaˇcen´ı v´ ystupn´ıch neuron˚ u kategoriemi. Je zde potˇreba pˇriˇradit kaˇzd´emu neuronu kategorii, kterou reprezentuje. Vyuˇzijeme zde znalosti o poˇctu shluk˚ u ˇ a d´ale konkr´etn´ıch instanc´ı, kter´e maj´ı ohodnocen´ı. V (S´ıma – Neruda, 1996) autoˇri pouˇz´ıvaj´ı tabulku ˇcetnost´ı (instanc´ı) jednotliv´ ych kategori´ı, kter´e tento neuron reprezentuje. Z´ısk´ame tak kategorie pro neurony, kter´e reprezentuj´ı nˇekter´e instance z mnoˇziny ohodnocen´ ych dat. Mohou vˇsak z˚ ustat neurony reprezentuj´ıc´ı instance pouze z mnoˇziny neohodnocen´ ych dat. V t´eto f´azi vyuˇz´ıv´ame pouze ohodnocen´a data, coˇz je urˇcit´a slabina. M˚ uˇzeme ji ˇreˇsit dvˇema zp˚ usoby:
84
5
APLIKACE
a) Label propagation. Rozˇsiˇrov´an´ı informac´ı o kategori´ıch v s´ıti na z´akladˇe vzd´alenosti od jiˇz zn´am´ ych neuron˚ u. b) Semi-supervised algoritmus, rozˇsiˇruj´ıc´ı mnoˇzinu ohodnocen´ ych dat. Je potˇreba pouˇz´ıt dalˇs´ı klasifik´ator. Je tak´e moˇzn´e v t´eto f´azi obohatit kaˇzd´ y neuron o pravdˇepodobnost, s jakou je j´ım reprezentovan´a kategorie spr´avn´a. Pomoc´ı t´eto informace m˚ uˇze b´ yt korigov´ana m´ıra douˇcen´ı v n´asleduj´ıc´ım kroku. ˇıma – Neruda, 1996) algorit3. Douˇcen´ı s´ıtˇe. V t´eto f´azi pouˇz´ıvaj´ı autoˇri v (S´ mus LVQ. Nev´ yhoda spoˇc´ıv´a v moˇznosti vyuˇz´ıt pouze ohodnocen´a data. Pokud jich bude mal´e mnoˇzstv´ı, bude toto douˇcen´ı nedostateˇcn´e. Proto navrhujeme uzavˇr´ıt toto douˇcen´ı do semi-supervised algoritmu, kter´ y bude postupnˇe rozˇsiˇrovat mnoˇzinu ohodnocen´ ych dat o instance z neohodnocen´ ych dat, kter´e byly s velkou pravdˇepodobnost´ı spr´avnˇe klasifikov´any. Jeden moˇzn´ y zp˚ usob, jak oznaˇcit v´ ystupn´ı neurony kategoriemi je pops´an v kaˇıma – Neruda, pitole 5.6.2. Jde v podstatˇe o analogii k tabulce ˇcetnost´ı navrˇzen´e v (S´ 1996). 5.6.2
Barven´ı v´ ysledn´ ych map
Barven´ı na z´ akladˇ e ohodnocen´ı a poˇ ctu reprezentovan´ ych instanc´ı Tento jednoduch´ y zp˚ usob pˇrid´av´a do Kohonenovy mapy vytvoˇren´e klasick´ ym shlukov´an´ım (SOM) informace o poˇctu instanc´ı v kaˇzd´em v´ ystupn´ım neuronu a d´ale informace o sloˇzen´ı jejich ohodnocen´ı. Vyuˇz´ıv´ame data popsan´a v kapitole 5.4.4, tedy nahr´avky oznaˇcen´e jako heavy“ a silence“. ” ” Barva kaˇzd´eho neuronu je urˇcena jako souˇcet ˇcerven´e a modr´e barvy podle zastoupen´ı ohodnocen´ı instanc´ı patˇr´ıc´ıch do kaˇzd´eho neuronu. Napˇr´ıklad pokud bude neuron reprezentovat 2 nahr´avky silence“ a 1 nahr´avku heavy“ bude barva tvoˇrena ” ” ze 2/3 modrou a z 1/3 ˇcervenou. Pr˚ uhlednost neuronu je d´ana mnoˇzstv´ım instanc´ı, kter´e reprezentuje tak, aby nejpoˇcetnˇejˇs´ı neuron nebyl v˚ ubec pr˚ uhledn´ y, kdeˇzto neurony nereprezentuj´ıc´ı ˇz´adn´e nahr´avky jsou zcela pr˚ uhledn´e (prosv´ıt´a b´ıl´e pozad´ı). V´ yslednou mapu m˚ uˇzeme vidˇet na obr´azku 48.
c6
c7
c3 c0
c8
c4
c1
c5
c2
Obr´azek 48: Kohonenova mapa obarven´a pomoc´ı ohodnocen´ı a poˇctu instanc´ı
5.7
5.7
85
Rozliˇsen´ı hudebn´ıch a nehudebn´ıch uk´azek
Rozliˇsen´ı hudebn´ıch a nehudebn´ıch uk´ azek
Pro rozliˇsen´ı hudebn´ıch a nehudebn´ıch nahr´avek m˚ uˇzeme pouˇz´ıt z´akladn´ı frekvence t´onu 3.2.2. Jelikoˇz m˚ uˇzeme pˇredpokl´adat, ˇze se v nehudebn´ıch uk´azk´ach nebudou vyskytovat t´ony (´ useky s konstantn´ı frekvenc´ı), takˇze veliˇciny popisuj´ıc´ı z´akladn´ı frekvenci zvuku budou vych´azet jinak, neˇz v pˇr´ıpadˇe hudebn´ıch uk´azek. V tomto experimentu uvaˇzujeme pro popis z´akladn´ı frekvence t´onu dvˇe veliˇciny: • nejsilnˇejˇs´ı frekvenci. Z´ısk´ame ji jako nejsilnˇejˇs´ı hodnotu spektra (na obr´azku 15 je to vrchol tˇesnˇe nad 50Hz). V prostˇred´ı GNU Octave ji z´ısk´ame n´asleduj´ıc´ım v´ ypoˇctem: l=stop_sample-start_sample; NFFT = 2^nextpow2(l); % Next power of 2 from length of y Y = fft(data(start_sample:stop_sample,kanal),NFFT)/l; frekvence = sr/2*linspace(0,1,NFFT/2+1); amplituda = 2*abs(Y(1:NFFT/2+1)); [x,ix]=max(amplituda);%ziska zakladni frekvenci ... charakteristika(i,j,3)=frekvence(ix);
-> melodie
• zero crossing rate. Tuto veliˇcinu popisujeme v kapitole 3.3. V prostˇred´ı GNU Octave ji m˚ uˇzeme z´ıskat n´asleduj´ıc´ım zp˚ usobem: %pocet prekroceni nuly v dilu zcr=sum(diff(sign(data(start_sample:stop_sample,kanal)))~=0); %pocet_dilu_za_sekundu pocet_dilu_za_sekundu=dpp/delka(i); %zcr odpovidajici zakladni frekvenci charakteristika(i,j,4)=zcr*pocet_dilu_za_sekundu/2; V tomto experimentu pouˇz´ıv´ame z datab´aze Magnatagatune nahr´avky s labelem clarinet“ (je jich 49) a nahr´avky s labelem talking“ (kter´ ych je 100). Na ” ” obr´azku 49 m˚ uˇzeme porovnat nejsilnˇejˇs´ı frekvenci a zero crossing rate na nahr´avce hry na klarinet a na nahr´avce ˇreˇci. Tabulka 17: Nahr´ avky klarinetu a ˇreˇci
ˇ ıslo nahr´ C´ avky 1
Label clarinet
149
talking
N´ azev nahr´ avky 6/gerardi satamian-dry fig trees-01chansons sans paroles 1989 op 2 pastorale0-29.mp3 c/william brooksblue ribbon the best of william brooks-13the fox guarding the henhouse-88-117.mp3
86
5 Nahrávka 1
Max frekvence
0.2
0.05 0 -0.05 -0.1
frekvence
frekvence
amplituda
2000
2000
0.1
1500 1000
0
5
10
15
20
25
0
30 [s]
0
5
Nahrávka 149
10
15
20
25
0
30 [s]
0 -0.2 -0.4
frekvence
0.2
1000 500
20
25
30 [s]
0
15
20
25
30 [s]
25
30 [s]
3000 2000 1000
-0.6 15
10
4000
1500 frekvence
amplituda
0.4
10
5
5000
0.6
5
0
zero crossing rate
2000
0
1000
Max frekvence
0.8
-0.8
1500
500
500
-0.15 -0.2
zero crossing rate
2500
0.15
APLIKACE
0
5
10
15
20
25
30 [s]
0
0
5
10
15
20
Obr´azek 49: Maxim´ aln´ı frekvence a zero crossing rate
Vid´ıme, ˇze v pˇr´ıpadˇe klarinetu obˇe veliˇciny kol´ısaj´ı kolem frekvence pod 500 Hz, kdeˇzto v pˇr´ıpadˇe ˇreˇci (ve skuteˇcnosti se jedn´a o zpˇev s doprovodem, melodie vˇsak nen´ı pˇr´ıliˇs patrn´a) je z´akladn´ı frekvence n´ıˇze a zero crossing rate silnˇe osciluje. Tabulka 18 ukazuje u ´spˇeˇsnost vybran´ ych shlukovac´ıch algoritm˚ u s r˚ uzn´ ymi daty. ´ eˇsnost algoritm˚ Tabulka 18: Uspˇ u nad r˚ uzn´ ymi charakteristick´ ymi vektory
EM k-means SOM (weka) SOM (C++) kNN (weka) MLP (weka, GNU Octave) LVQ (C++) SOM + LVQ (C++)
300d freq 82,55 % 85,24 % 85,91 % 85,24 % 82,55 % 78,43 % 86,57 % 91,95 %
300d zcr 53,69 % 53,69 % 57,72 % 69,13 % ∗1 53,69 % 54,90 % 67,11 % ∗3 91,23 % ∗4
3d freq 75,84 % 79,86 % 79,86 % 79,86 % 84,56 % ∗2 79,59 % 83,22 % 86,58 %
3d zcr 53,02 % 53,02 % 54.36 % 68,46 % 63,09 % 65.31 % 69,78 % 71,18 %
Pozn´ amky k v´ ysledk˚ um ∗1 V pˇr´ıpadˇe algoritmu SOM (C++) na 300 rozmˇern´ ych vektorech charakterizuj´ıc´ıch Zero Crossing Rate (300d zcr) byla pouˇzita topologie 2 x 2 neurony.T´ım vzniklo shlukov´an´ı do ˇctyˇr kategori´ı nam´ısto dvou (clarinet x talking). Jak je patrn´e z obr´azku 50 neurony c0 a c3 respektive c1 a c2 reprezentuj´ı (podle obarven´ı) ve skuteˇcnosti stejn´e kategorie – talking, respektive clarinet. Shluky c0 a
5.7
87
Rozliˇsen´ı hudebn´ıch a nehudebn´ıch uk´azek
c3 resp c1 a c2 jsme tedy sjednotili a takto vyhodnotili v´ ysledek uveden´ y v tabulce 18.
c2 c0
c3
c1
Obr´azek 50: SOM 2x2 pro u ´lohu 300d zcr
∗2 V pˇr´ıpadˇe algoritmu kNN shlukuj´ıc´ıho 3 rozmˇern´ y vektor nejsilnˇejˇs´ı frekvence (3d freq) bylo nalezeno optim´aln´ı k = 7 oproti pouˇzit´emu k = 3 v ostatn´ıch pˇr´ıpadech. ∗3 U algoritmu LVQ (C++) na 300 rozmˇern´ ych vektorech charakterizuj´ıc´ıch Zero Crossing Rate (300d zcr) algoritmus klasifikoval vˇsechny nahr´avky jako tal” king“. ∗4 V tomto pˇr´ıpadˇe byl nalezen optim´aln´ı v´ ysledek aˇz po 400 iterac´ıch douˇcov´an´ı oproti 40 iterac´ım v ostatn´ıch pˇr´ıpadech. Na posledn´ım ˇra´dku jsou v´ ysledky algoritmu kombinuj´ıc´ıho uˇc´ıc´ı algoritmus SOM (uˇcen´ı bez uˇcitele) s douˇcen´ım s´ıtˇe algoritmem LVQ (uˇcen´ı s uˇcitelem). V porovn´an´ı s ostatn´ımi algoritmy dosahuj´ı lepˇs´ıch v´ ysledk˚ u. Efekt douˇcen´ı algoritmem LVQ m˚ uˇzeme pozorovat pro 300 rozmˇern´ y vektor s nejsilnˇejˇs´ı frekvenc´ı na obr´azku 51. Mapa vlevo je v´ ysledkem samotn´eho algoritmu SOM (topologie 3x3, 100 iterac´ı, poˇc´ateˇcn´ı r´adius 10, poˇca´teˇcn´ı alfa 0,3). Uprostˇred je stejn´e shlukov´an´ı douˇceno 10 iteracemi algoritmu LVQ (poˇca´teˇcn´ı alfa 0,1). Napravo je opˇet stejn´e shlukov´an´ı po douˇcen´ı 40 iteracemi algoritmu LVQ se stejn´ ym poˇca´teˇcn´ım koeficientem alfa.
tal. cl.
cl.
tal. cl.
cl.
tal. tal. cl.
tal. cl.
cl.
tal. cl.
cl.
tal. tal. cl.
tal. cl.
cl.
tal. cl.
cl.
tal. tal. cl.
Obr´azek 51: 100 iterac´ı SOM a O, 10 a 40 iterac´ı LVQ pro u ´lohu 300d freq
Na obr´azku 52 vid´ıme stejn´ y experiment pro 300 rozmˇern´ y vektor s charakteristikou zero crossing rate. Rozd´ıl oproti pˇredchoz´ım konfigurac´ım je pouze v poˇctu iterac´ı douˇcen´ı na obr´azku vpravo, kter´e je ted’ 400.
88
5
cl.
cl.
cl.
cl.
tal. tal.
tal. tal. cl.
cl.
cl.
cl.
cl.
tal. tal.
tal. tal. cl.
cl.
cl.
cl.
APLIKACE
cl.
tal. tal.
tal. tal. cl.
Obr´azek 52: 100 iterac´ı SOM a O, 4O a 400 iterac´ı LVQ pro u ´lohu 300d zcr
5.8
Metoda klasifikace audio dat
V oblasti z´ısk´av´an´ı zvukov´ ych / hudebn´ıch informac´ı existuje nepˇrebern´e mnoˇzstv´ı metod klasifikace dat vytvoˇren´ ych pro konkr´etn´ı u ´lohy (kapitola 2). Navrhovan´a metoda je v´ ysledkem snahy o formulaci obecn´eho postupu aplikovateln´eho na r˚ uzn´a hlediska klasifikace zvukov´ ych dat. 1. Zpracov´an´ı sign´alu a) dekomprese audia (kap. 3.2.1) b) volba hlediska shlukov´an´ı → volba deskriptoru (kap. 3.6) c) pokud je deskriptor z frekvenˇcn´ı oblasti, proveden´ı transformace (kap. 3.4) d) tvorba deskriptor˚ u vyˇsˇs´ı u ´rovnˇe (struktur´aln´ı metody rozpozn´av´an´ı) (kap. 4.2.2) e) z´ısk´an´ı meta informac´ı (ohodnocen´ı), pokud je k dispozici (6.2.2) f) uloˇzen´ı charakteristick´ ych vektor˚ u ve vhodn´em form´atu (5.1.7) 2. Shlukov´an´ı + Klasifikace a) volba poˇctu shluk˚ u (podle ohodnocen´ı nebo viz kap. 5.4.6) b) tˇr´ıdˇen´ı nahr´avek (5.6) i. shlukov´a anal´ yza ii. opatˇren´ı shluk˚ u kategoriemi iii. douˇcen´ı, pokud jsou k dispozici ohodnocen´a data c) uloˇzen´ı v´ ysledk˚ u ve vhodn´em form´atu (5.1.7) Cel´a metoda je testov´ana v kapitole 5.7, verze pouˇz´ıvaj´ıc´ı pouze shlukovou anal´ yzu (uˇcen´ı bez uˇcitele) v kapitole 5.4, verze porovn´avaj´ıc´ı v´ ysledky uˇcen´ı s uˇcitelem v kapitole 5.5.
6
IMPLEMENTACE
6
89
Implementace
6.1
Mappa – SOM a LVQ implementace v C++
Vlastn´ı aplikace dostala n´azev mappa (podle punsk´eho27 z´akladu dneˇsn´ıho slova mapa), jelikoˇz je vizualizace – mapov´an´ı v´ıcerozmˇern´eho prostoru charakteristick´ ych vektor˚ u do dvourozmˇern´eho vektoru vznikl´e mapy – podstatn´ ym rysem cel´eho ˇreˇsen´ı. Term´ın Kohonenova mapa b´ yv´a uˇz konkr´etnˇe spojen se samoorganizuj´ıc´ı se mapou, potaˇzmo algoritmem uˇcen´ı bez uˇcitele, kter´ y se s touto topologi´ı nejˇcastˇeji vyuˇz´ıv´a. Jelikoˇz ve vlastn´ı implementaci pouˇz´ıv´ame i algoritmus LVQ a pl´anujeme cel´e ˇreˇsen´ı rozˇsiˇrovat o dalˇs´ı uˇc´ıc´ı algoritmy (semi-supervised learning), byl zvolen n´azev nez´avisl´ y na Kohonenovi, nebo n´azvu samoorganizuj´ıc´ı se mapy (SOM). 6.1.1
Programovac´ı jazyk a knihovny
Mezi nejd˚ uleˇzitˇejˇs´ı poˇzadavky na pouˇzit´ y programovac´ı jazyk patˇrilo: • rychlost – pˇri klasifikaci zvukov´ ych nahr´avek m˚ uˇze doch´azet ke zpracov´an´ı velk´eho mnoˇzstv´ı dat (tis´ıce nahr´avek popsan´ ych charakteristick´ ymi vektory o stovk´ach rozmˇer˚ u zpracov´avan´e do map s des´ıtkami neuron˚ u), kter´e mus´ı algoritmus zpracovat. Je dobr´e, kdyˇz je doba natr´enov´an´ı algoritmu co nejkratˇs´ı, jelikoˇz poˇzadavek na tvorbu nov´e mapy – vznik nov´eho n´ahledu na nahr´avky m˚ uˇze b´ yt pˇri v´ yzkumu ˇcast´ y • n´ızk´e n´aroky na pamˇet’ • objektovˇe orientovan´ y pˇr´ıstup programov´an´ı • vˇseobecn´a znalost a pouˇz´ıvanost jazyka – jelikoˇz pl´anujeme rozˇsiˇrov´an´ı aplikace a v´ yzkum nov´ ych algoritm˚ u na z´akladˇe vytvoˇren´e aplikace v r´amci bakal´aˇrsk´ ych a magistersk´ ych prac´ı, je vhodn´e aby byl pouˇzit vˇseobecnˇe rozˇs´ıˇren´ y jazyk s mnoˇzstv´ım dokumentace, tutori´al˚ u a pˇr´ıklad˚ u. • moˇznost kompilace / interpretace nekomerˇcn´ım kompil´atorem na libovoln´em OS, • zkuˇsenosti autora s programovac´ım jazukem. Na z´akladˇe tˇechto poˇzadavk˚ u byl zvolen jazyk C++. J´adro aplikace je naps´ano ve standardn´ım C++ (C++ standard 1998) s pouˇzit´ım standardn´ı knihovny a je kompilov´ano kompil´atorem GCC. Pro tvorbu grafick´ ych v´ ystup˚ u byla pouˇzita knihovna QT a jej´ı tˇr´ıdy QString, QPainter a QSvgGenerator. Pro tvorbu Makefile je pouˇzit n´astroj qmake. 6.1.2
Pouˇ zit´ y SW
BoUML / DoUML Pro tvorbu UML diagram˚ u tˇr´ıd a generov´an´ı zdrojov´eho k´odu jsme pouˇzili open-source n´astroj BoUML. V pr˚ ubˇehu ˇreˇsen´ı disertaˇcn´ı pr´ace byl projekt ukonˇcen a vznikl jeho n´asledn´ık – projekt DoUML, kter´ y je v souˇcasn´e dobˇe ve st´adiu Alpha testov´an´ı. N´astroj mimo jin´e umoˇzn ˇuje vytv´aˇren´ı UML diagramu 27
http://www.etymonline.com/index.php?search=mappa
90
6
IMPLEMENTACE
tˇr´ıd, jeho export do .svg, generov´an´ı zdrojov´eho k´odu z UML modelu, generov´an´ı html dokumentace z koment´aˇr˚ u a propojen´ı s extern´ım textov´ ym editorem (vim). Pˇri implementaci se tento n´astroj velmi osvˇedˇcil a umoˇznil ve vˇsech zdrojov´ ych souborech udrˇzet syst´em a pˇrehlednost. Tak´e d´ıky nˇemu vznikla html dokumentace dostupn´a v repozit´aˇri projektu. Oceˇ novanou vlastnost´ı tohoto n´astroje je v neposledn´ı ˇradˇe taky rychlost. Cel´ y projekt je naˇcten bˇehem necel´e vteˇriny. SVN Spr´ava verz´ı zdrojov´eho k´odu byla ˇreˇsena pomoc´ı n´astroje svn, kter´ y dok´aˇze ’ zjiˇst ovat zmˇeny zdrojov´ ych soubor˚ u oproti soubor˚ um v repozit´aˇri a tyto zmˇeny oznaˇcuje verzemi. Umoˇzn ˇuje tak´e pr´aci na SW z nˇekolika r˚ uzn´ ych poˇc´ıtaˇc˚ u, nebo spolupr´ac´ı v´ıce program´ator˚ u. Trac Repozit´aˇr SVN je um´ıstˇen na univerzitn´ım serveru aistorm28 , kde je tak´e nainstalov´an n´astroj Trac umoˇzn ˇuj´ıc´ı spr´avu u ´kol˚ u, sledov´an´ı projektu a komentov´an´ı zmˇen. Poskytuje tak´e prohl´ıˇzen´ı zdrojov´ ych soubor˚ u repozit´aˇre a tvorbu wiki str´anek. 6.1.3
Objektov´ y n´ avrh
Objektov´ y model, viz obr´azek 53, je navrˇzen s ohledem na dalˇs´ı rozˇsiˇrov´an´ı a tvorbu nov´ ych algoritm˚ u pracuj´ıc´ıch na principu soutˇeˇzn´ı strategie uˇcen´ı (competitive learning), zejm´ena vektorov´e kvantizace. Cel´a s´ıt’ je reprezentov´ana tˇr´ıdou Network, kter´a se skl´ad´a z tˇr´ıd impementuj´ıc´ıch uˇcen´ı, topologii s´ıtˇe a data. Uˇ cen´ı V souˇcasn´e dobˇe jsou implementov´any dvˇe tˇr´ıdy uˇcen´ı: • SomLearning pro uˇcen´ı bez uˇcitele • LvqLearning pro uˇcen´ı s uˇcitelem Je moˇzno pˇrid´avat dalˇs´ı tˇr´ıdy implementuj´ıc´ı uˇc´ıc´ı algoritmy ovl´adan´e pˇres rozhran´ı implementov´e abstraktn´ı tˇr´ıdou Learning. Topologie Rozhran´ı k topologi´ım je vytvoˇreno v podobˇe abstraktn´ı tˇr´ıdy Topology. Jej´ım potomkem je v souˇcasnosti pouze tˇr´ıda • HexTop – hexagon´aln´ı topologie, ˇreˇs´ı tak´e vykreslov´an´ı do form´atu SVG Topologie jsou reprezentov´any formou grafu, kde jsou uzly reprezentovan´e tˇr´ıdou Node. Jej´ım potomkem je v souˇcasnosti jedin´ y typ: • SomNode – typ uzlu grafu (topologie) pouˇziteln´ y pro uˇcen´ı algoritmy SOM a LVQ. Data Datov´a ˇca´st aplikace je postaven´a na tˇr´ıdˇe MyVector, z kter´e jsou odvozeny tˇr´ıdy: • FeatureVector – tˇr´ıda reprezentuj´ıc´ı vstupn´ı vektory 28
http://aistorm.mendelu.cz/som
6.1
91
Mappa – SOM a LVQ implementace v C++
Learning
LvqLearning
Network +
LvqLearning()
+
Learning()
+
trainNetwork()
+
trainNetwork()
-
adaptNode()
#
adaptNode()
-
setNodeClass()
+
evaluateData()
#
getEucleidianDistance()
#
SomLearning +
SomLearning()
+
trainNetwork()
-
adaptNode()
-
setNodeClass()
+
Network()
+
loadData()
+
createTopology()
+
createLearning()
findBMU()
+
printNetwork()
#
setNodeClass()
+
~Network()
#
printEvaluation()
learning
Topology HexTop -
rowCount
-
columnCount
+
HexTop()
-
setNeighbours()
-
generateNodes()
-
getNodeNumber()
-
getNodeCoords()
+
getNodesDistance()
+
getNode()
+
getNode()
+
initNodes()
-
drawCell()
+
drawTopology()
+
~HexTop()
#
nodesCount
+
Topology()
#
generateNodes()
+
getNode()
+
getNode()
+
initNodes()
+
getNodesCount()
+
getNodesDistance()
+
drawTopology()
+
~Topology() 1 1..*
1
1
1
1
1
1
topology
InputVectors -
featureVectorCount
+
InputVectors()
-
readFile()
-
readDatabase()
+
getFeatureVector()
+
~InputVectors()
+
getMaxMinComponent()
+
getFeatureVectorCount() 1
nodes
1..*
Node
neighbours *
-
reason
+
MyException()
+
getReason()
<
>
featureVectors
FeatureVector
#
index
-
+
getIndex()
-
validationVector
+
setNeighbour()
+
FeatureVector()
+
getNeighbour()
+
setValidationVector()
+
getNeighboursCount()
+
get_index()
+
setFeatureVector()
+
getFeatureVector()
+
getFeatureVectorsCount()
+
getCodebookVector()
#
vectorComponents
+
randInitNode()
#
size
#
isLabeled
#
label
#
isClustered
featureVectors *
SomNode
MyException
inputVectors
index
<>
MyVector
+
SomNode()
#
cluster
+
~SomNode()
+
MyVector()
+
getCodebookVector()
+
getComponent()
+
randInitNode()
+
setVectorComponents()
+
getSize()
+
get_label()
+
set_label()
+
get_isLabeled()
1
codebookVector
CodebookVector +
CodebookVector()
+
get_cluster()
+
setComponent()
+
set_cluster()
+
get_isClustered()
Obr´azek 53: UML diagram tˇr´ıd aplikace mappa
92
6
IMPLEMENTACE
• CodebookVector – tˇr´ıda vektor˚ u reprezentant˚ u Mnoˇzina vstupn´ıch vektor˚ u je zastoupena InputVectors, kter´a umoˇzn ˇuje jejich naˇc´ıt´an´ı ze csv. souboru a je v n´ı tak´e pˇripravena metoda pro pr´aci s datab´az´ı. Vlastn´ı Implementace v C++ m´a pˇrednosti v rychlosti, otevˇrenosti zdrojov´ ych k´od˚ u, moˇznosti rozˇsiˇrov´an´ı d´ıky objektov´emu n´avrhu a dobr´e dokumentaci. 6.1.4
Pozn´ amky k implementaci
Bˇehem implementace jsme ˇreˇsili nˇekolik zaj´ımav´ ych podrobnost´ı: Uloˇzen´ı v´ ysledku klasifikace. Po natr´enov´an´ı s´ıtˇe se projdou testovac´ı data a zjist´ı se, kter´e neurony je reprezentuj´ı. Tento vztah je jasnˇe urˇcen klasifik´atorem – s´ıt´ı. Tato data se vˇsak vz´apˇet´ı pouˇzij´ı pˇri barven´ı mapy a dalˇs´ıch u ´kolech. Muselo by se tedy hledat znovu kter´ y neuron odpov´ıd´a kter´emu charakteristick´emu vektoru. Jelikoˇz je pˇri t´eto operaci nutn´e porovn´av´an´ı eukleidovsk´ ych vzd´alenost´ı vˇsech neuron˚ u v˚ uˇci charakteristick´emu vektoru, rozhodli jsme se tento vztah doˇcasnˇe uloˇzit do pamˇeti pomoc´ı vektoru ukazatel˚ u na FeatureVector ve tˇr´ıdˇe Node. Zp˚ usob uloˇzen´ı sousednosti (matice sousednosti vs. reprezentace grafem). Aˇckoli je matice sousednosti zˇrejmˇe jednoduˇsˇs´ı reprezentace grafu, zvolili jsme ˇcistˇejˇs´ı“ ob” jektov´ y pˇr´ıstup a graf reprezentovat pomoc´ı objekt˚ u tˇr´ıdy Node, kter´e maj´ı ukazatele na sousedy. Implementace monot´onnˇe klesaj´ıc´ıch parametr˚ u: • parametr θ viz vzorec 23 a 24 • parametr α(t) ze vztahu 26 v literatuˇre dostupn´e pˇri implementaci jsme nenalezli konkr´etn´ı vyj´adˇren´ı tˇechto funkc´ı. Zvolili jsme proto funkce zachycen´e na obr´azku 54.
pi = p 0 - p 0 / k . i pi = pi-1 - pi-1 / k . i pi = p0 / (i + 1) pi = pi-1 / (i + 1)
Obr´azek 54: Monot´ onnˇe v ˇcase klesej´ıc´ı parametry
6.2
93
Virtu´aln´ı zvukov´a laboratoˇr
6.2
Virtu´ aln´ı zvukov´ a laboratoˇr
Syst´em virtu´aln´ı zvukov´e laboratoˇre se skl´ad´a z nˇekolika ˇc´ast´ı. Serverov´e ˇca´sti29 , kde se informace ukl´adaj´ı a zpracov´avaj´ı. Klientsk´e ˇca´sti30 , kde se z´ısk´avaj´ı informace z hudebn´ıho archivu uˇzivatele syst´emu. Webov´eho rozhran´ı, kter´e umoˇzn ˇuje uˇzivatelsky pˇr´ıvˇetivou pr´aci se syst´emem. 6.2.1
SoundLab – server
Serverov´a ˇca´st bude umoˇzn ˇovat anal´ yzu informac´ı o nahr´avk´ach uˇzivatel˚ u, prov´adˇen´ı zvukov´ ych experiment˚ u v r´amci v´ yuky poˇc´ıtaˇcov´e hudby a bude do budoucna tvoˇrit z´aklad pro dalˇs´ı projekty a hudebn´ı experimenty. Z´akladem bude datab´aze uˇzivatel˚ u, informac´ı o jejich nahr´avk´ach, vzorov´ ych experiment˚ u nad nahr´avkami a dalˇs´ıch dat. Princip pr´ace virtu´aln´ı zvukov´e laboratoˇre popisuje obr´azek 55. CSound
NAHRÁVKA
LilyPond
MIDI
Noty
GNU Octave
ANALÝZA
Obr´azek 55: Princip pr´ ace virtu´ aln´ı zvukov´e laboratoˇre
´ Ulohy ˇreˇsen´e na virtu´aln´ı zvukov´e laboratoˇri: Akustika V t´eto oblasti jde o experimenty z oblasti akustiky a modelov´an´ı zvukov´eho dˇen´ı pomoc´ı matematick´ ych model˚ u. Porozumˇen´ı akustick´ ym z´akon˚ um a schopnost zvukov´e dˇen´ı modelovat je nezbytn´e pro n´avrh experiment˚ u v oblasti hudebn´ı anal´ yzy. Je zde vyuˇzito zejm´ena skript˚ u jazyka GNU Octave z d˚ uvodu jeho kompatibility s velmi rozˇs´ıˇren´ ym jazykem Matlab. V r´amci akustiky jsou ˇreˇseny n´asleduj´ıc´ı u ´lohy: 29 30
http://aistorm.mendelu.cz/soundlab http://aistorm.mendelu.cz/agent++
94 • • • •
6
IMPLEMENTACE
model z´akladn´ıho t´onu interference t´on˚ u model alikvotn´ı ˇrady r˚ uzn´a ladˇen´ı (pythagorejsk´e komma)
Sazba not / tvorba MIDI datab´ aze Pomoc´ı virtu´aln´ı zvukov´e laboratoˇre bude moˇzn´e prov´adˇet sazbu not a tvorbu odpov´ıdaj´ıc´ıch MIDI soubor˚ u pomoc´ı n´astroje Lilypond, kter´ y byl vybr´an s ohledem na jeho moˇznosti v´ ystupu, jenˇz se nejv´ıce bl´ıˇz´ı profesion´aln´ımu komerˇcn´ımu SW. Zde jsou uk´azky v´ ystupu: • zdrojov´ y soubor Lilypond31 • umoˇzn ˇuj´ıc´ı sazbu not ve form´atu pdf] • a odpov´ıdaj´ıc´ıch MIDI soubor˚ u Hudebn´ı anal´ yza Pro studium hudebn´ıch obor˚ u je jednou z nejd˚ uleˇzitˇejˇs´ıch sloˇzek schopnost rychl´e a d˚ ukladn´e anal´ yzy zpracov´avan´eho hudebn´ıho materi´alu. Dosaˇ jsou zaloˇzeny na textov´em popisu dan´e provadn´ı analytick´e metody uˇz´ıvan´e v CR blematiky, coˇz pro orientaci v konkr´etn´ı skladbˇe nen´ı ide´aln´ı (texty anal´ yz b´ yvaj´ı nepˇrehledn´e), a ˇcasto se jedn´e o velmi subjektivn´ı pˇr´ıstup. Anal´ yza pomoc´ı poˇc´ıtaˇce pˇrin´aˇs´ı mnoh´e v´ yhody vˇcetnˇe rychlosti a standardizace analytick´eho postupu. Pomoc´ı virtu´aln´ı zvukov´e laboratoˇre lze prov´adˇet: • anal´ yzu vytvoˇren´ ych MIDI soubor˚ u • vyhled´av´an´ı melodi´ı, akord˚ u a rytm˚ u, tvorba v´ yˇskov´eho histogramu v MIDI datab´azi • anal´ yzu zvukov´ ych soubor˚ u • sbˇer charakteristik nahr´avek uˇzivatel˚ u (pomoc´ı aplikace Agent++) • anal´ yzu nahr´avek uˇzivatel˚ u • tvorbu hudebn´ıch map“ ” • tˇr´ıdˇen´ı podle pr˚ ubˇehu dynamiky, n´astrojov´eho obsazen´ı, pr˚ ubˇehu melodie Kompozice Dalˇs´ı oblast´ı propojuj´ıc´ı moˇznosti poˇc´ıtaˇc˚ u a pr´ace s hudbou je kompozice. Zvukov´a laboratoˇr poskytuje ˇsirok´e moˇznosti zahrnuj´ıc´ı: • transformace notov´eho materi´alu ve formˇe Lilypond / MIDI: • tvorba inverz´ı • raˇc´ıho postupu • 12ti t´onov´ ych ˇrad • transpozice • augmentace • diminuce • algoritmick´a kompozice 31
https://akela.mendelu.cz/ xfejfar/PH/machaut/Le lay de la fonteine.ly
6.2
Virtu´aln´ı zvukov´a laboratoˇr
95
Vˇsechny nahr´avky uˇzivatel˚ u (importovan´e nebo vytvoˇren´e na virtu´aln´ı zvukov´e laboratoˇri) se mohou uloˇzit a lze je klasifikovat metodami UI. Pˇredpokl´ad´a se vytvoˇren´ı manu´alu pro instalaci takov´ehoto internetov´eho port´alu, takˇze si jej z´ajemci mohou nainstalovat samostatnˇe, nebo se mohou pˇripojit do nˇekter´eho jiˇz vytvoˇren´eho port´alu. Uˇzivatel´e jednotliv´ ych port´al˚ u budou tvoˇrit skupiny, kter´e si mohou d´ale vymˇen ˇovat z´ıskan´e zkuˇsenosti (napˇr´ıklad o v´ ybˇeru vhodn´ ych charakteristik sign´alu pro klasifikaci konkr´etn´ıch zvukov´ ych jev˚ u) na spoleˇcn´ ych internetov´ ych diskus´ıch. V´ ypoˇcetn´ı v´ ykon server˚ u host´ıc´ıch virtu´aln´ı zvukovou laboratoˇr lze v pˇr´ıpadˇe potˇreby (velk´e mnoˇzstv´ı uˇzivatel˚ u, n´aroˇcn´e metody synt´ezy/anal´ yzy zvuku) nav´ yˇsit pouˇzit´ım technologie cluster˚ u. Zjiˇst’ov´ an´ı informac´ı o pt´ ac´ıch zachycen´ ych na nahr´ avk´ ach Tato aplikace teprve bude vytvoˇrena. Dalˇs´ı zaj´ımavou oblast´ı, kde m˚ uˇzeme aplikovat popsan´ y syst´em je ˇ by zde o natr´enov´an´ı umˇel´e neuurˇcov´an´ı informac´ı o pt´ac´ıch podle jejich zpˇevu. Slo ronov´e s´ıtˇe pro potˇreby automatick´eho vyhodnocen´ı informac´ı o pˇevc´ıch z nahr´avek, kter´e by se poˇrizovaly nepˇretrˇzitˇe (na r˚ uzn´ ych m´ıstech svˇeta). Ptaˇc´ı zpˇev (i jin´e zvuky vyd´avan´e zv´ıˇraty) obsahuje velk´e mnoˇzstv´ı informac´ı. Jedinci zp´ıvaj´ı odliˇsn´ ym zp˚ usobem mimo jin´e podle druhu, m´ısta p˚ uvodu, zdravotn´ıho stavu, vˇeku. Existuj´ı datab´aze nahr´avek ptaˇc´ıho zpˇevu32 , organizace zab´ yvaj´ıc´ı se v´ yzkumem 33 komunikace mezi zv´ıˇraty , dokonce aplikace pˇrepisuj´ıc´ı zpˇev pt´ak˚ u do form´atu 34 MIDI . 6.2.2
Klientsk´ a aplikace pro anal´ yzu nahr´ avek – Agent++
Tento projekt navazuje na projekt serveru pro virtu´aln´ı zvukovou laboratoˇr popsan´ y v kapitole 6.2.1 a spolu s n´ım umoˇzn ˇuje uˇzivateli naj´ıt nahr´avky, kter´e jsou z nejr˚ uznˇejˇs´ıch ohled˚ u podobn´e na nahr´avky, jeˇz m´a ve sv´em hudebn´ım archivu. To m˚ uˇze b´ yt pˇr´ınosn´e pro osloven´ı potencion´aln´ıch z´akazn´ık˚ u obchod˚ u s hudbou nebo posluchaˇc˚ u (internetov´ ych) r´adi´ı. Klientsk´a aplikace bude zpracov´avat nahr´avky uˇzivatele na jeho poˇc´ıtaˇci a z´ıskan´e informace (charakteristick´e vektory) spolu s identifik´atorem uˇzivatele (username) a identifik´atorem nahr´avky (hash/ PUID) odes´ılat na server virtu´aln´ı zvukov´e laboratoˇre, kde se s nimi bude d´ale pracovat. D˚ uleˇzit´ ymi vlastnostmi bude modul´arnost (pozdˇejˇs´ı pˇrid´av´an´ı dalˇs´ıch algoritm˚ u), multiplatformnost (provoz na Win, MacOS, Linux), minim´aln´ı n´aroky na HW (CPU/RAM/DISK), jednoduch´a instalace / odinstalace (staˇzen´ı, spuˇstˇen´ı, smaz´an´ı), bude postaˇcovat pr´avo ˇcten´ı ze soubor˚ u, jasnost charakteru odes´ılan´ ych informac´ı (Open-source). Nejnutnˇejˇs´ı ovl´ad´an´ı aplikace (nastaven´ı odes´ılan´eho username, nastaven´ı nahr´avek ke zpracov´an´ı, sledov´an´ı pokroku) bude realizov´ano pˇres webov´e rozhran´ı serveru. 32
http://www.xeno-canto.org/ http://www.birds.cornell.edu/brp/?lk=lpro/ 34 http://www.robertinventor.com/software/tunesmithy/pitch tracer.htm 33
96
6
IMPLEMENTACE
Z´ısk´ an´ı meta informac´ı o nahr´ avk´ ach m˚ uˇze b´ yt provedeno n´asleduj´ıc´ım zp˚ usobem: • z´ısk´an´ı jednoznaˇcn´eho identifik´atoru nahr´avky (acustic fingerprint). Existuje v´ıce implementac´ı, 35 • zasl´an´ı dotazu na server obsahuj´ıc´ı meta informace o nahr´avk´ach36
DB metainformací
W W W Sound Lab
Mapy Mapy hud. Mapy hud. objektů zvukových objektů objektů
User Sound experiments
Acu. Finger. + Feature Vector
W W W
Agent++
User
Obr´azek 56: Funkce virtu´ aln´ı zvukov´e laboratoˇre – SoundLabu
35 36
napˇr. http://echoprint.me/ napˇr. http://musicbrainz.org, http://the.echonest.com/
User
7
´ ˚ ZHODNOCEN´I VYSLEDK U
7
97
Zhodnocen´ı v´ ysledk˚ u
Kapitola 5 seznamuje s v´ ysledky vlastn´ıch experiment˚ u s vybran´ ymi klasifikaˇcn´ımi a shlukovac´ımi algoritmy. Jednotliv´e experimenty se v mnoha ohledech liˇs´ı. Rozd´ıly v uspoˇra´d´an´ı experiment˚ u jsou pops´any v t´eto kapitole. Experimenty jsou ˇc´ıslov´any podle kapitol, ve kter´ ych je popisujeme.
7.1
Data
Pˇri experimentech byly pouˇzity dvˇe r˚ uzn´e zvukov´e datab´aze, z kter´ ych byly z´ısk´any v podstatˇe ˇctyˇri r˚ uzn´e typy charakteristick´ ych vektor˚ u. Mnoˇzina vlastn´ıch vybran´ ych nahr´avek u experimentu 5.2 umoˇznila prov´est z´akladn´ı proof of concept“ postupu navrˇzen´eho na z´akladˇe studia souˇcasn´eho ” stavu (viz kapitola 2). Podaˇrilo se potvrdit schopnost navrˇzen´eho postupu rozliˇsovat nahr´avky na z´akladˇe vybran´ ych krit´eri´ı. Uk´azalo se ale, ˇze m´a tento datov´ y soubor nˇekolik z´asadn´ıch nev´ yhod. • Experiment je tˇeˇzko zopakovateln´ y pro dalˇs´ı v´ yzkumn´ıky, jelikoˇz vybran´e nahr´avky nejsou volnˇe dostupn´e z hlediska licence a tak´e z d˚ uvod˚ u jejich jedineˇcnosti. • Mnoˇzstv´ı vybran´ ych nahr´avek je pro kvalitn´ı vyhodnocen´ı v´ ysledk˚ u algoritm˚ u pˇr´ıliˇs mal´e. Z pˇredeˇsl´eho d˚ uvodu jsme se rozhodli datab´azi nerozˇsiˇrovat. • Na t´eto datab´azi nen´ı moˇzn´e testovat algoritmy uˇcen´ı s uˇcitelem, jelikoˇz data nejsou nijak ohodnocena. Mohli bychom je ohodnotit sami, ale vznikala by ot´azka platnosti a subjektivity vlastn´ıho ohodnocen´ı. Z tˇechto d˚ uvod˚ u jsme d´ale hledali lepˇs´ı zvukovou datab´azi. V experimentu 5.3 byla jiˇz pouˇzita datab´aze Magnatagatune popsan´a v kapitole 5.1.3. Z t´eto datab´aze jsme z´ıskali potˇrebn´e mnoˇzstv´ı nahr´avek (dostupn´ ych i pro ostatn´ı v´ yzkumn´ıky) a mohli jsme zhodnotit v´ ykon Kohonenovy mapy z hlediska podobnosti nahr´avek reprezentovan´ ych jednotliv´ ymi neurony. Pˇrechod na tuto datab´azi vyˇzadoval pouˇzit´ı komprimovan´eho form´atu zvuku (mp3) kv˚ uli velikosti datab´aze (2.6GB zkomprimovan´eho zvuku pˇri vzorkovac´ı frekvenci 16kHz, 32bit hloubce vzork˚ u a mono nahr´avk´ach), coˇz ale nepˇrineslo pˇri zpracov´an´ı v GNU Octave velk´e probl´emy. Bylo ale nutn´e pouˇz´ıt funkci mp3readwrite, kter´a nem´a GNU GPL licenci. V tomto experimentu jeˇstˇe nebylo vyuˇzito ohodnocen´ı dat. V experimentech 5.4 a 5.5 byla pouˇzita opˇet datab´aze Magnatagatune. Zde uˇz ale vyuˇz´ıv´ame i ohodnocen´ı dat, coˇz pˇrin´aˇs´ı moˇznost pˇresn´eho porovn´an´ı v´ ysledk˚ u algoritm˚ u s ohodnocen´ım vytvoˇren´ ym lidmi. Toto lidsk´e ohodnocen´ı m˚ uˇze b´ yt br´ano do jist´e m´ıry jako referenˇcn´ı, jelikoˇz je vytvoˇreno bˇehem on-line hry, jej´ıˇz princip zaruˇcuje urˇcitou vypov´ıdaj´ıc´ı hodnotu vytv´aˇren´ ych ohodnocen´ı, nav´ıc jsou d´ale ohodnocen´ı revidov´ana metodami hledaj´ıc´ımi shodu mezi r˚ uzn´ ymi hodnotiteli.
98
7.2
7
´ ˚ ZHODNOCEN´I VYSLEDK U
Zpracov´ an´ı sign´ alu
Vˇsechny experimenty vych´azej´ı ze zpracov´an´ı zvukov´eho sign´alu v prostˇred´ı MATLAB / GNU Octave (v experimentu 5.2 a 5.3 pouˇz´ıv´ame MATLAB, od experimentu 5.4 pouˇz´ıv´ame stejn´e skripty upraven´e pro pouˇzit´ı v GNU Octave. Obˇe prostˇred´ı maj´ı velmi podobnou syntaxi i podporu sloˇzitˇejˇs´ıch algoritm˚ u pro zpracov´an´ı sign´alu (MATLAB signalprocessing toolbox, GNU Octave signal a audio packages). Zpracov´an´ı nahr´avek v prostˇred´ı matlab bylo o nˇeco rychlejˇs´ı, vyuˇzit´ı GNU Octave je v´ yhodn´e v open-source licenci a menˇs´ıch HW n´aroc´ıch. Ot´azka v´ ybˇeru spr´avn´e zvukov´e charakteristiky (deskriptoru) je velice sloˇzit´a. Kaˇzd´a zvukov´a nebo hudebn´ı kvalita, kterou chceme ze zvukov´eho sign´alu z´ıskat, vyˇzaduje pouˇzit´ı individu´aln´ıho deskriptoru. Tato oblast je urˇcitou alchymi´ı“, kter´a ” je ale pro cel´ y proces klasifikace naprosto z´asadn´ı. Dobr´e v´ ysledky experiment˚ u 5.4 a 5.5 jsou zp˚ usobeny dobrou separovatelnost´ı charakteristick´ ych vektor˚ u, jeˇz je podm´ınˇena pouˇzit´ım spr´avn´eho deskriptoru. Jelikoˇz je tato pr´ace zamˇeˇrena sp´ıˇse na v´ yzkum klasifikaˇcn´ıch algoritm˚ u neˇz na v´ yzkum nejlepˇs´ıch deskriptor˚ u pro konkr´etn´ı zvukov´e kvality, rozhodli jsme se prov´adˇet klasifikaci pokud moˇzno na z´akladˇe jednoduch´ ych zvukov´ ych kvalit. Takovou kvalitou m˚ uˇze b´ yt hlasitost zvuku, pˇr´ıpadnˇe podstatnˇe n´aroˇcnˇejˇs´ı rozliˇsen´ı hudebn´ıho n´astroje od hlasu. Pro hlasitost zvuku bylo vybr´ano nˇekolik moˇzn´ ych charakteristik porovn´avan´ ych v experimentu 5.2. Jako nejlepˇs´ı se uk´azalo pouˇz´ıt smˇerodatnou odchylku sign´alu v urˇcit´em ˇcasov´em u ´seku. I podle porovn´an´ı statistick´e povahy t´eto veliˇciny a fyzik´aln´ı kvality hlasitosti“ – amplituda (rozkmit) zvukov´e vlny ukazuje ” na spr´avnost t´eto volby. Nav´ıc se uk´azalo, ˇze tato veliˇcina tak´e velmi dobˇre koresponduje s dalˇs´ım moˇzn´ ym ukazatelem na kvalitu hlasitosti – se sumou spektra viz obr´azek 40. Dalˇs´ı u ´lohou bylo rozliˇsen´ı nahr´avek obsahuj´ıc´ıch hudebn´ıho n´astroje (klarinetu) a nahr´avek obsahuj´ıc´ıch hlas (talking) v experimentu 5.7. Tato u ´loha (primitivn´ı pro lidsk´eho posluchaˇce) nen´ı v pˇr´ıpadˇe automatick´eho tˇr´ıdˇen´ı tak jednoduch´a. Z hlediska podobnosti frekvenˇcn´ıho spektra m˚ uˇze b´ yt rozliˇsen´ı vcelku sloˇzit´e (lidsk´emu hlasu je napˇr´ıklad spektr´alnˇe velmi podobn´ y saxofon patˇr´ıc´ı do stejn´e rodiny dechov´ ych n´astroj˚ u, jako klarinet). Rozhodli jsme se vsadit na jinou zvukovou kvalitu – prezenci a v´ yˇsku hudebn´ıch t´on˚ u. Pˇredpokl´ad´ame, ˇze v ˇreˇci (talking) bude t´on˚ u mnohem m´enˇe a budou na jin´ ych z´akladn´ıch frekvenc´ıch. Pro zjiˇstˇen´ı z´akladn´ı frekvence sign´alu v urˇcit´em ˇcasov´em u ´seku jsme testovali dvˇe charakteristiky: nejsilnˇejˇs´ı frekvenci a zero crossing rate. Navzdory oˇcek´av´an´ı se l´epe osvˇedˇcila nejsilnˇejˇs´ı frekvence, viz tabulka 18 a obr´azek 57. V t´eto tabulce tak´e porovn´av´ame v´ ysledky algoritm˚ u pracuj´ıc´ıch s 3 rozmˇern´ ymi a 300 rozmˇern´ ymi vektory. V´ıcerozmˇern´e vektory se uk´azaly jako reprezentativnˇejˇs´ı. Domn´ıv´ame se, ˇze je to zp˚ usobeno pˇr´ıliˇs dlouh´ ym u ´sekem pro zjiˇst’ov´an´ı z´akladn´ı frekvence v pˇr´ıpadˇe 3 rozmˇern´ ych vektor˚ u. Obvykle b´ yv´a ˇcasov´e ok´enko v takov´ ychto u ´loh´ach mnohon´asobnˇe menˇs´ı.
7.3
99
Metody umˇel´e inteligence
Úspěšnost FV [%]
100 80 60 40 20 0
300d freq
300d zcr
3d freq
3d zcr
Obr´azek 57: Porovn´ an´ı pr˚ umˇern´e u ´spˇeˇsnosti algoritm˚ u nad r˚ uzn´ ymi charakteristick´ ymi vektory v u ´loze 5.7
7.3
Metody umˇ el´ e inteligence
Tato pr´ace se zab´ yv´a zejm´ena umˇel´ ymi neuronov´ ymi s´ıtˇemi – jejich topologiemi a uˇc´ıc´ımi algoritmy. Pro potˇreby tˇr´ıdˇen´ı zvukov´ ych dat jsme kv˚ uli absenci ohodnocen´ ych dat v re´aln´ ych u ´loh´ach zamˇeˇrili pozornost zejm´ena k shlukovac´ım algoritm˚ um. Zˇrejmˇe nejv´ yraznˇejˇs´ım pˇredstavitelem uˇcen´ı bez uˇcitele je v neuronov´ ych s´ıt´ıch Kohonenova mapa. T´eto topologii tr´enovan´e algoritmem SOM nebo LVQ jsme se vˇenovali nejv´ıce. V z´avˇeru pr´ace jsme pro tuto topologii navrhli algoritmus schopn´ y vyuˇz´ıt ohodnocen´a i neohodnocen´a data. Pro porovn´an´ı byly pouˇzity tak´e dalˇs´ı zn´am´e klasifikaˇcn´ı a shlukovac´ı algoritmy spadaj´ıc´ı sp´ıˇse do skupiny statistick´ ych metod. V experimentech bylo vyuˇzito nˇekolik zdroj˚ u hotov´ ych algoritm˚ u. Bylo to prostˇred´ı MATLAB (SOM), GNU Octave (MLP) a WEKA (k-means, EM, SOM, kNN). D´ale byly algoritmy SOM a LVQ naimplementov´any do vlastn´ıho prostˇred´ı v jazyce C++. Vyuˇzit´ı naimplementovan´ ych algoritm˚ u m´a zejm´ena v poˇca´teˇcn´ı f´azi mnoho v´ yhod. Je moˇzn´e porovn´avat v´ ysledky a pracovat s algoritmy, jeˇz ve vˇetˇsinˇe pˇr´ıpad˚ u funguj´ı spr´avnˇe a je k nim dostupn´a dokumentace. Pro porovn´an´ı v´ ysledk˚ u r˚ uzn´ ych experiment˚ u je v´ yborn´e prostˇred´ı WEKA. Obsahuje moˇznosti normalizace a standardizace dat, k algoritm˚ um je poskytnuto jednotn´e rozhran´ı, algoritm˚ u je velk´e mnoˇzstv´ı, nav´ıc WEKA obsahuje moˇznosti ovˇeˇren´ı v´ ysledk˚ u pomoc´ı cross-validace. Nev´ yhodou tohoto prostˇred´ı je niˇzˇs´ı rychlost a vˇetˇs´ı pamˇet’ov´a n´aroˇcnost. V nˇekter´ ych pˇr´ıpadech jsme tak´e narazili na chybov´e chov´an´ı algoritm˚ u z bal´ıˇckov´eho syst´emu (v bal´ıˇcku SelfOrganizingMap v 1.0.1 nen´ı moˇzn´e nastavit menˇs´ı poˇcty iterac´ı, uˇcen´ı trv´a neadekv´atnˇe dlouho). Pouˇzit´ı prostˇred´ı MATLAB se nab´ızelo jiˇz kv˚ uli signal-processingov´e ˇca´sti ˇreˇsen´e t´ımto zp˚ usobem. Algoritmy i dokumentace jsou na profesion´aln´ı u ´rovni. Nev´ yhodou je licence a HW n´aroky. V experimentu 5.2 jsme se snaˇzili vyzkouˇset schopnost Kohonenovy mapy uˇcen´e algoritmem SOM shlukovat charakteristick´e vektory z´ıskan´e z vlastn´ıch zvukov´ ych nahr´avek. Tato schopnost se potvrdila. D´ale bylo potˇreba prozkoumat nastaven´ı parametr˚ u vzhledem k chybˇe
100
7
´ ˚ ZHODNOCEN´I VYSLEDK U
v´ ysledn´eho shlukov´an´ı. Tomu byl vˇenov´an experiment 5.3. Byl navrˇzen vlastn´ı zp˚ usob v´ ypoˇctu chyby, viz vztahy 33 a 34. V tomto experimentu byly prozkoum´any r˚ uzn´e topologie mapy a nastaven´ı parametr˚ u. N´asledovala vlastn´ı implementace Kohonenovy mapy a algoritmu SOM v C++. Spr´avnost funkce vlastn´ı implementace byla ovˇeˇrov´ana v experimentu 5.4. Uk´azalo se, ˇze jsou v´ ysledky velmi podobn´e jako v pˇr´ıpadˇe implementace SOM v prostˇred´ı WEKA viz. tabulka 11. V tomto experimentu uˇz tak´e bylo vyuˇzito ohodnocen´ ych dat pro potˇreby stanoven´ı pˇresnosti v´ ysledk˚ u algoritm˚ u. Pokraˇcovali jsme d´ale ve vyuˇzit´ı ohodnocen´ ych dat v procesu uˇcen´ı – v uˇcen´ı s uˇcitelem, klasifikaci. K implementaci algoritmu SOM byl pˇrid´an algoritmus LVQ schopn´ y vyuˇz´ıvat ohodnocen´a data a upravovat reprezentanty (codebook vector) v topologii Kohonenovy mapy. V´ ysledky byly porovn´any s tradiˇcn´ım statistick´ ym klasifikaˇcn´ım algoritmem kNN a s v´ıcevrstvou neuronovou s´ıt´ı. V´ ykon vˇsech algoritm˚ u pˇrevyˇsuje 97 % (kNN 4 ˇspatn´e z 285 = 98,596 %, MLP 1 ˇspatn´a z 95 = ´ eˇsnost algoritmu LVQ1 nen´ı pˇri 98,947 %, LVQ 7 ˇspatn´ ych z 285 = 97,544 %). Uspˇ klasifikaci tak vysok´a jako kNN nebo MLP. Mus´ıme si ale uvˇedomit, ˇze LVQ1 je pouze z´akladn´ı verze algoritmu a existuj´ı jeˇstˇe vylepˇsen´ı v podobˇe LVQ2.1 a LVQ3. N´asledovala implementace algoritmu kombinuj´ıc´ıho uˇcen´ı bez uˇcitele (SOM) a uˇcen´ı ´ eˇsnost algoritmu pˇrevyˇsuje s uˇcitelem (LVQ) popsan´e v kapitole 4.5.3 a 5.6. Uspˇ u ´spˇeˇsnost samotn´eho algoritmu LVQ (uˇcen´ı s uˇcitelem), coˇz dobˇre koresponduje s c´ılem klasifikace s ˇc´asteˇcn´ ym dohledem stanoven´ ym v kapitole 4.5.3. Graficky je u ´spˇeˇsnost algoritm˚ u v u ´loze rozliˇsen´ı nahr´avek klarinetu a ˇreˇci zn´azornˇena na obr´azky 58. V´ ysledky by mohly b´ yt lepˇs´ı po zv´ yˇsen´ı poˇctu instanc´ı, jelikoˇz bude dosaˇzeno lepˇs´ıho pomˇeru mezi rozmˇerem vektoru (300) a poˇctˇem instanc´ı (150).
Úspěšnost algoritmů [%]
100
80
60
40
20
0
EM
k-m ean
s
SO M
SO LVQ ML kN SO N( P( M+ M( (C+ (we we we C+ LVQ ka. +) ka) ka) +) GN (C+ UO +) cta ve)
Obr´azek 58: Porovn´ an´ı pr˚ umˇern´e u ´spˇeˇsnosti algoritm˚ u nad u ´loze 5.7
8
8
´ ER ˇ ZAV
101
Z´ avˇ er
V pr´aci jsou pˇredstaveny modern´ı metody zaloˇzen´e na principech umˇel´e inteligence, kter´e v kombinaci s metodami zpracov´an´ı sign´alu slouˇz´ı k z´ısk´av´an´ı informac´ı o zvukov´ ych datech. Pr´ace zahrnuje pˇrehled metod umˇel´e inteligence, kter´e se v oblasti z´ısk´av´an´ı zvukov´ ych informac´ı pouˇz´ıvaj´ı. Rovnˇeˇz jsou vysvˇetleny z´akladn´ı pojmy z oblasti zvuku a hudby, princip z´ısk´av´an´ı zvukov´ ych charakteristik a zp˚ usoby klasifikace zvukov´ ych dat. Pˇr´ınosem pr´ace je navrˇzen´a metoda pro klasifikaci zvukov´ ych dat z hlediska jejich obsahu. C´ılem t´eto pr´ace byla anal´ yza nov´ ych metod a implementace navrˇzen´ ych algoritm˚ u pro potˇreby klasifikace zvukov´ ych dat na z´akladˇe jejich obsahu, coˇz je jedna zu ´loh z´ısk´av´an´ı zvukov´ ych informac´ı. Bylo tˇreba vyuˇz´ıt v´ ysledk˚ u experiment˚ u proveden´ ych v t´eto oblasti a po jejich zhodnocen´ı navrhnout ˇreˇsen´ı schopn´e klasifikovat jednotliv´e nahr´avky v datab´azi. Pro u ´ˇcely t´eto pr´ace v u ´loze klasifikace se uk´azalo jako nejvhodnˇejˇs´ı pouˇzit´ı Kohonenov´ ych map, kter´e jsou rozˇs´ıˇreny o moˇznosti vyuˇzit´ı ohodnocen´ ych dat. Dosaˇzen´e v´ ysledky mohou b´ yt zobecnˇeny na klasifikaci ohodnocen´ ych a neohodnocen´ ych dat v ˇsirˇs´ım smyslu. Do budoucna je potˇreba zamˇeˇrit pozornost na oblast z´ısk´av´an´ı zvukov´ ych charakteristik (charakteristick´ ych vektor˚ u), kter´e popisuj´ı zvukov´e objekty a umoˇzn ˇuj´ı prohled´av´an´ı zvukov´ ych archiv˚ u z mnoha r˚ uzn´ ych hledisek. Zde jeˇstˇe nebyl nalezen obecn´ y zp˚ usob popisu zvukov´eho materi´alu. Tato oblast vyˇzaduje pro kaˇzdou charakteristiku individu´aln´ı ˇreˇsen´ı. V prvn´ı ˇradˇe je d˚ uleˇzit´e vytvoˇrit platformu na kter´e bude moˇzn´a v´ıceuˇzivatelsk´a spolupr´ace pˇri testov´an´ı a v´ yvoji tˇechto deskriptor˚ u. Takovou platformou by se mohla st´at vyv´ıjena virtu´aln´ı zvukov´a laboratoˇr.
102
8
´ ER ˇ ZAV
LITERATURA
103
Literatura ABDALLAH, S. A. – PLUMBLEY, M. D. Information Dynamics. Technical Report C4DM-TR07-01, Centre for Digital Music, Queen Mary University of London, 2007. Dostupn´e z: http://www.elec.qmul.ac.uk/people/markp/2007/ AbdallahPlumbley07-tr07-01.pdf. ABNEY, S. Semisupervised Learning for Computational Linguistics. USA : Chapman & Hall/CRC, 2007. ISBN 1584885599, 9781584885597. AUCOUTURIER, J.-J. – PACHET, F. Music Similarity Measures: What’s the Use? In IRCAM (Ed.) Proceedings of the 3rd International Symposium on Music Information Retrieval, s. 157–163, Paris, France, October 2002. AUCOUTURIER, J. – SANDLER, M. Segmentation of musical signals using hidden Markov models. Preprints-Audio Engineering Society. 2001. BISHOP, C. M. Pattern recognition and machine learning. NY, USA : Springer, 2006. ISBN 0-387-31073-8. BOGDANOV, D. et al. Hybrid Similarity Measures For Music Recommendation, 2009. Dostupn´e z: http://www.mtg.upf.edu/files/publications/ MIREX2009-sim-BSWH1-BSWH2.pdf. MIREX09 results for music similarity and retrieval. BOGDANOV, D. et al. Content-based music recommendation based on user preference examples. In The 4th ACM Conference on Recommender Systems. Workshop on Music Recommendation and Discovery (Womrad 2010), Barcelona, Spain, 26/09/2010 2010. Dostupn´e z: http://www.mtg.upf.edu/files/ publications/Bogdanov-et-al-Womrad2010.pdf. BOGDANOV, D. et al. Unifying Low-level and High-level Music Similarity Measures. IEEE Transactions on Multimedia. 08/2011 2011, 13, s. 687–701. ISSN 1520-9210. ` Music Recommendation and Discovery in the Long Tail. PhD thesis, CELMA, O. Universitat Pompeu Fabra, Barcelona, 2008. Dostupn´e z: http://www.mtg.upf. edu/static/media/PhD_ocelma.pdf. ˇ ´ J. ISS Sign´aly a syst´emy: 10. pˇredn´aˇska. [online], 2009. Dostupn´e z: CERNOCK Y, http://www.prednasky.com/lecture.php?lang=cz&id=34. ¨ CHAPELLE, O. – SCHOLKOPF, B. – ZIEN, A. (Ed.). Semi-Supervised Learning. Cambridge, MA : MIT Press, 2006. Dostupn´e z: http://www.kyb.tuebingen. mpg.de/ssl-book. Diskr´etn´ı Fourierova transformace. [online], 2003. Dostupn´e z: http://apfyz.upol. cz/ucebnice/down/mini/fourtrans.pdf. Univerzita Palack´eho Olomouc.
104
LITERATURA
DITTENBACH, M. – MERKL, D. – RAUBER, A. Serendipity in Text and Audio Information Spaces: Organizing and Exploring High-Dimensional Data with the Growing Hierarchical Self-Organizing Map. In HALGAMUGE, S. K. – WANG, L. (Ed.) Classification and Clustering for Knowledge Discovery, 4 / Studies in Computational Intelligence. Springer Berlin / Heidelberg: Springer, 2005. s. 43–60. ISBN 978-3-540-26073-8. FASTL, H. – ZWICKER, E. Psychoacoustics: Facts and Models. Springer Berlin / Heidelberg : Springer Series in Information Sciences, 2007. ISBN 978-3-54023159-2. FEJFAR, J. – LUD´IK, P. Automatick´a segmentace audia. In Mendelnet 2009, 2009. ˇTASTN ˇ ´ J. Time series clustering in large data sets. In Acta uniFEJFAR, J. – S Y, versitatis agriculturae et silviculturae Mendelianae Brunensis, s. 75–80, 2011. Dostupn´e z: https://akela.mendelu.cz/~xfejfar/publications/fejfar_2011_ acta.pdf. ˇTASTN ˇ ´ J. – LYSEK, ´ FEJFAR, J. – S Y, J. V´ ybˇer vhodn´ ych charakteristik pro klasifikaci nahr´avek na z´akladˇe hudebn´ıch objekt˚ u. In Firma a konkurenˇcn´ı prostˇred´ı (FBE 2010), 2010a. ´ J. – S ˇTASTN ˇ ´ J. MUSICAL FORM RETRIEFEJFAR, J. – WEINLICHOVA, Y, VAL. In MATOUSEK, R. (Ed.) 16TH INTERNATIONAL CONFERENCE ON SOFT COMPUTING MENDEL 2010, Mendel, s. 246–251. BRNO UNIV TECHNOLOGY VUT PRESS, 2010b. Dostupn´e z: https://akela.mendelu. cz/~xfejfar/publications/fejfar_2010_mendel.pdf. ISBN 978-80-214-41200, Brno, CZECH REPUBLIC, JUN 23-25, 2010. ˇ ˇ Algorithms for time series clustering FEJFAR, J. – MOTYCKA, A. – FIL´IPEK, S. comparison. In NAUN/IEEE.AM International Conferences, WSEAS, 2011. ˇ Tvorba Krzysztofa Pendereck´eho pro s´olov´e violoncello – problematika FIL´IPEK, S. formy a interpretace. PhD thesis, Jan´aˇckova akademie m´ uzick´ ych umˇen´ı v Brnˇe, 2011. ˇ – INDRAK, ´ FIL´IPEK, S. M. Form´aln´ı a interpretaˇcn´ı problematika smyˇccov´ych kvartet˚ u Miloslava Iˇstvana. BRNO, Komensk´eho n´amˇest´ı : Jan´aˇckova akademie m´ uzick´ ych umˇen´ı v Brnˇe, 2010. ISBN 978-80-86928-2. ´ GOMEZ, E. Tonal Description of Music Audio Signals. PhD thesis, Universitat Pompeu Fabra, 2006. Dostupn´e z: http://www.mtg.upf.edu/files/ publications/emilia-PhD-2006.pdf. GRECU, A. Musical Instrument Separation. Master’s thesis, Vienna University of Technology, 2007. Dostupn´e z: http://www.ifs.tuwien.ac.at/mir/ publications.html.
LITERATURA
105
GUAUS, E. Audio content processing for automatic music genre classification: descriptors, databases, and classifiers. PhD thesis, Universitat Pompeu Fabra, 2009. Dostupn´e z: http://www.dtic.upf.edu/~eguaus/phd/eguaus_phd_2009_ genre_classification_A4.pdf. HSU, C.-W. – CHANG, C.-C. – LIN, C.-J. A Practical Guide to Support Vector Classification, 2000. Dostupn´e z: http://citeseerx.ist.psu.edu/viewdoc/ summary?doi=10.1.1.6.3096. ˇ ISTVAN, M. Pozn´amky k soudob´e formˇe a rytmu. Brno : Jan´aˇckova akademie m´ uzick´ ych umˇen´ı, 2000. ISBN 80-85429-47-0. ˇ ıslicov´a filtrace, anal´yza a restaurace sign´al˚ JAN, J. C´ u. BRNO, Anton´ınsk´a 1 : Vysok´e uˇcen´ı technick´e v Brnˇe, VUTIUM, 2002. ISBN 80-214-1558-4. JANER, J. et al. Sound Object Classification for Symbolic Audio Mosaicing: A Proof-of-Concept. In GOUYON, F. – BARBOSA, A. – SERRA, X. (Ed.) Sound and Music Computing Conference, s. 297–302, Porto, Portugal., 23/07/2009 2009. Dostupn´e z: http://www.mtg.upf.edu/files/publications/ Janer-Haro-Roma-Fujishima-Kojima-SMC09.pdf. ISBN 978-989-95577-6-5. KLAPURI, A. Signal Processing Methods for the Automatic Transcription of Music. PhD thesis, Tampere University of Technology, 2004. KOHONEN, T. – SCHROEDER, M. R. – HUANG, T. S. (Ed.). Self-Organizing Maps. Secaucus, NJ, USA : Springer-Verlag New York, Inc., 2001. ISBN 3540679219. KOHONEN, T. et al. SOM PAK: The Self-Organizing Map Program Package. Technical Report A31, Helsinki University of Technology, Laboratory of Computer and Information Science, 1996a. Dostupn´e z: http://www.cis.hut.fi/research/ papers/som_tr96.ps.Z. KOHONEN, T. et al. LVQ PAK: The Learning Vector Quantization Program Package. Technical Report A30, Helsinki University of Technology, Laboratory of Computer and Information Science, 1996b. Dostupn´e z: http://www.cis.hut. fi/research/papers/lvq_tr96.ps.Z. ˇ Y, ´ V. – TRENZ, O. Rozhodov´an´ı s podporou umˇel´e inteligence. Folia. KONECN ˇ : MZLU v Brnˇe, 2009. ISBN 978-80-7375-344-3. BRNO, CR LAW, E. – AHN, L. Input-agreement: a new mechanism for collecting data using human computation games. In Proceedings of the 27th international conference on Human factors in computing systems, CHI ’09, s. 1197–1206, New York, NY, USA, 2009. ACM. doi: http://doi.acm.org/10.1145/1518701.1518881. Dostupn´e z: http://doi.acm.org/10.1145/1518701.1518881. ISBN 978-1-60558-246-7.
106
LITERATURA
LIDY, T. – RAUBER, A. Evaluation of Feature Extractors and Psycho-acoustic Transformations for Music Genre Classification. In Proceedings of the Sixth International Conference on Music Information Retrieval (ISMIR 2005), s. 34–41, London, UK, September 11-15 2005. Dostupn´e z: http://www.ifs.tuwien.ac. at/mir/publications.html. ISBN 0-9551179-0-9. LIDY, T. – RAUBER, A. Classification and Clustering of Music for Novel Music Access Applications. In CORD, M. – CUNNINGHAM, P. (Ed.) Machine Learning Techniques for Multimedia. Berlin Heidelberg: Springer, 2008. s. 249–285. doi: 10.1007/978-3-540-75171-7{\ }11. ISBN 978-3-540-75170-0. ¨ LIDY, T. – POLZLBAUER, G. – RAUBER, A. Sound Re-synthesis From Rhythm Pattern Features - Audible Insight Into A Music Feature Extraction Process. In Proceedings of the International Computer Music Conference (ICMC), s. 93–96, Barcelona, Spain, September 5–9 2005. Dostupn´e z: http://www.ifs.tuwien. ac.at/mir/publications.html. ˇ ´IK, V. – ST ˇ EP ˇ ANKOV ´ ´ O. – KOL., J. L. Umˇel´a inteligence Sv 1. Praha : MAR A, Academia, 1993. ISBN 80-200-0496-3. ˇ ´IK, V. – ST ˇ EP ˇ ANKOV ´ ´ O. – KOL., J. L. Umˇel´a inteligence Sv 2. Praha : MAR A, Academia, 1997. ISBN 80-200-0504-8. ˇ ´IK, V. – ST ˇ EP ˇ ANKOV ´ ´ O. – KOL., J. L. Umˇel´a inteligence. Sv 4. Praha : MAR A, Academia, 2003. ISBN 80-200-1044-0. MATHWORKS.COM. ISO 226 Equal-Loudness-Level Contour Signal. [online], 2010. Dostupn´e z: http://www.mathworks.com/matlabcentral/fx_files/ 7028/1/iso226.jpg. MAYER, R. – NEUMAYER, R. – RAUBER, A. Combination of Audio and Lyrics Features for Genre Classification in Digital Audio Collections. In Proceedings of the ACM Multimedia 2008, s. 159–168. ACM New York, NY, USA, October 27-31 2008a. Dostupn´e z: http://www.ifs.tuwien.ac.at/mir/publications.html. MAYER, R. – NEUMAYER, R. – RAUBER, A. Rhyme and Style Features for Musical Genre Classification by Song Lyrics. In Proceedings of the 9th International Conference on Music Information Retrieval (ISMIR’08), September 14-18 2008b. Dostupn´e z: http://www.ifs.tuwien.ac.at/mir/publications.html. ´ MEDEK, I. Uvod do procesuality jako komplexn´ı kompoziˇcn´ı metody. Jan´aˇckova akademie m´ uzick´ ych umˇen´ı, 1998. ISBN 80-85429-37-3.
Brno :
Music Information Retrieval Evaluation eXchange, London, UK, September 1115, 2005, Proceedings, 2005. MIREX. Dostupn´e z: http://www.music-ir.org/ mirex/2005/index.php/Main_Page.
LITERATURA
107
NYQUIST, H. Certain Topics in Telegraph Transmission Theory. In CALDER, J. – TREW, R. J. (Ed.) Proceedings of the IEEE, 90, s. 280–305. IEEE, 2002. Dostupn´e z: http://www.astro.ufrgs.br/med/imagens/nyquist.pdf. ISBN 00189219. ONG, B. Structural Analysis and Segmentation of Music Signals. PhD thesis, Universitat Pompeu Fabra, 2007. Dostupn´e z: http://www.mtg.upf.edu/files/ publications/Thesis_BeeSuanOng.pdf. PAMPALK, E. – RAUBER, A. – MERKL, D. Using Smoothed Data Histograms for Cluster Visualization in Self-Organizing Maps. In Proceedings of the Intl Conf on Artificial Neural Networks (ICANN 2002), s. 871–876, Madrid, Spain, August 27-30 2002a. Dostupn´e z: http://www.ifs.tuwien.ac.at/ifs/research/ publications.html. ISBN 3-540-44074-7. PAMPALK, E. – RAUBER, A. – MERKL, D. Content-based Organization and Visualization of Music Archives. In Proceedings of ACM Multimedia 2002, s. 570–579, Juan-les-Pins, France, December 1-6 2002b. ACM. Dostupn´e z: http: //www.ifs.tuwien.ac.at/ifs/research/publications.html. ISBN 1-58113620X. PAMPALK, E. – WIDMER, G. – CHAN, A. A New Approach to Hierarchical Clustering and Structuring of Data with Self-Organizing Maps. Intelligent Data Analysis Journal. 2004, 8, 2, s. 131–149. Dostupn´e z: http://www.ofai.at/ ~elias.pampalk/publications.html. PAMPALK, E. Aligned Self-Organizing Maps. In Proceedings of the Workshop on Self-Organizing Maps, s. 185–190, Kitakyushu, Japan, September 11-14 2003. Kyushu Institute of Technology. Dostupn´e z: http://www.ofai.at/~elias. pampalk/publications.html. PAMPALK, E. – DIXON, S. – WIDMER, G. Exploring Music Collections by Browsing Different Views. In Proceedings of the International Conference on Music Information Retrieval (ISMIR’03), s. 201–208, Baltimore, MD, October 26-30 2003. John Hopkins University. Dostupn´e z: http://www.ofai.at/~elias.pampalk/ publications.html. PAPE, L. – GRUIJL, J. – WIERING, M. Democratic Liquid State Machines for Music Recognition. In Prasad – Prasanna (2008), s. 191–215. ISBN 978-3-54075397-1. PEISZER, E. Automatic Audio Segmentation: Segment Boundary and Structure Detection in Popular Music. Master’s thesis, Vienna University of Technology, 2007. Dostupn´e z: http://www.ifs.tuwien.ac.at/mir/publications.html.
108
LITERATURA
PEISZER, E. – LIDY, T. – RAUBER, A. Automatic Audio Segmentation: Segment Boundary and Structure Detection in Popular Music. In Proceedings of the 2nd International Workshop on Learning the Semantics of Audio Signals (LSAS), 2008. Dostupn´e z: http://publik.tuwien.ac.at/files/PubDat_170403.pdf. ISBN 978-3-9804874-7-4, Vortrag: International Workshop on Learning the Semantics of Audio Signals (LSAS), Paris, France; 2008-06-21. PFLUGFELDER, B. Discriminant Analysis of Three Rhythmic Descriptors in Musical Genre Classification. Master’s thesis, Vienna University of Technology, 2008. Dostupn´e z: http://www.ifs.tuwien.ac.at/mir/publications.html. PRASAD, B. – PRASANNA, S. R. M. (Ed.). Speech, Audio, Image and Biomedical Signal Processing using Neural Networks. 83 / Studies in Computational Intelligence. Springer Berlin / Heidelberg : Springer, 2008. ISBN 978-3-540-75397-1. Psychoakustika. [online], 2009. Dostupn´e z: http://fu.ff.cuni.cz/vyuka/ akustika/3_psychoakustika.pdf. Univerzita Karlova - uˇcebn´ı text. RAO, P. Audio Signal Processing. In Prasad – Prasanna (2008), s. 169–189. ISBN 978-3-540-75397-1. ¨ RAUBER, A. – FRUHWIRTH, M. Automatically Analyzing and Organizing Music Archives. In Proceedings of the 5. European Conference on Research and Advanced Technology for Digital Libraries (ECDL 2001), Springer Lecture Notes in Computer Science, Darmstadt, Germany, Sept. 4-8 2001. Springer. Dostupn´e z: http://www.ifs.tuwien.ac.at/ifs/research/publications.html. RAUBER, A. – PAMPALK, E. – MERKL, D. Using Psycho-Acoustic Models and Self-Organizing Maps to Create a Hierarchical Structuring of Music by Musical Styles. In Proceedings of the 3rd International Symposium on Music Information Retrieval, s. 71–80, Paris, France, October 13-17 2002a. Dostupn´e z: http://www. ifs.tuwien.ac.at/ifs/research/publications.html. ISBN 2-84426-166-3. RAUBER, A. – PAMPALK, E. – MERKL, D. Content-based Music Indexing and Organization. In Proceedings of the 25. Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 02), s. 409–410, Tampere, Finland, August 11-15 2002b. ACM. Dostupn´e z: http://www.ifs.tuwien.ac.at/ifs/research/publications.html. ISBN 1581-13561-0. RAUBER, A. – PAMPALK, E. – MERKL, D. The SOM-enhanced JukeBox: Organization and Visualization of Music Collections based on Perceptual Models. Journal of New Music Research. June 2003, 32, 2, s. 193–210. ISSN 09298215. Dostupn´e z: http://www.extenza-eps.com/extenza/loadHTML?objectIDValue= 16745&type=abstract.
LITERATURA
109
SENFTER, A. Tool Support for Acoustic Evaluation of Music Similarity. Master’s thesis, Vienna University of Technology, 2008. Dostupn´e z: http://www.ifs. tuwien.ac.at/mir/publications.html. ` SERRA, J. Identification of versions of the same musical composition by processing audio descriptions. PhD thesis, Universitat Pompeu Fabra, Barcelona, 2011. Dostupn´e z: http://www.mtg.upf. edu/static/media/Serra-Joan-PhD-Thesis-2011.pdf. TDX link: http://hdl.handle.net/10803/22674. SERRA, X. A System for Sound Analysis/Transformation/Synthesis based on a Deterministic plus Stochastic Decomposition. PhD thesis, Stanford University, 1989. Dostupn´e z: http://www.mtg.upf.edu/files/publications/ PhD-Thesis-1989-xserra.pdf. SERRA, X. A Multicultural Approach in Music Information Research. In Int. Soc. for Music Information Retrieval Conf. (ISMIR), Miami, 24/10/11 In Press. ˇ´IMA, J. – NERUDA, R. Teoretick´e ot´azky neuronov´ych s´ıt´ı. Praha : Mayhfyzpress, S 1996. ISBN 80-85863-18-9. TZANETAKIS, G. – ERMOLINSKIY, A. – COOK, P. R. Pitch Histograms in Audio and Symbolic Music Information Retrieval. In ISMIR, 2002. VESANTO, J. – ALHONIEMI, E. Clustering of the self-organizing map. Neural Networks, IEEE Transactions on. 2000, 11, 3, s. 586–600. WIDMER, G. Guest editorial: Machine learning in and for music. Machine Learning. 2006, 65, 2-3, s. 343–346. Dostupn´e z: http://springerlink.metapress.com/ content/e22421x642234514/fulltext.pdf. ˇ ZAPLAT´ILEK, K. – DONAR, B. MATLAB - zaˇc´ın´ame se sign´aly. BEN Praha : Praha: BEN - technick´a literatura, 2006. ISBN 80-7300-200-0. ZENZ, V. – RAUBER, A. Automatic Chord Detection Incorporating Beat and Key Detection. In Proceedings of the 2007 IEEE International Conference on Signal Processing and Communications (ICSPC 2007). IEEE, 2007. Dostupn´e z: http://publik.tuwien.ac.at/files/pub-inf_5274.pdf. Vortrag: The 2007 IEEE International Conference on Signal Processing and Communications (ICSPC 2007), Dubai, UAE; 2007-11-24 – 2007-11-27. ZHU, X. – GOLDBERG, A. B. Introduction to Semi-Supervised Learning. Synthesis Lectures on Artificial Intelligence and Machine Learning. San Francisco, CA ,USA : Morgan & Claypool Publishers, 2009.