Dirbtinio intelekto naudojimas mūsų dienomis palietė ne tik mokslą, bet ir masinę kultūrą. Praėjusiais metais kino pasaulį apskriejo žinia, jog garsiojo serialo „Sostų karai“ scenarijų kurs ne legendinis rašytojas George'as R. R. Martinas, bet dirbtinis intelektas.
Muzikos ir matematikos ryšys visada buvo glaudus, nes, vertinant fundamentaliai, vien muzikos garso organizavimo parametrai, tokie, kaip ritmas, garso aukštis bei garsų santykiai, yra susiję su matematiniu tikslumu. XX amžiuje gyvenęs graikų tautybės kompozitorius Iannis Xenakis (1922–2001) tiksliųjų mokslų principus perkėlė į savo kūrinius bei paliko visą veikalą muzikos ir tiksliųjų mokslų santykiui tirti („Formalizuota muzika: Mąstymas ir matematika kompozicijoje“, 1963).
Tačiau gyvenant dirbtinio intelekto amžiuje galime savęs paklausti: ar muzikai tebereikia kompozitoriaus? Ar technologijos jau yra pakankamai pažengusios, jog be mūsų išsikišimo, o tiesiog apdorojusios pakankamą kiekį tam tikro stiliaus muzikos kūrinių dirbtinis intelektas galėtų kurti tūkstančius valandų muzikos? Į šiuos klausimus bandysiu atsakyti šiame straipsnyje.
Šabloninė muzika: ar tai naujas reiškinys?
Muzikos istorijoje jau yra buvę bandymų organizuoti garsą remiantis tam tikrais algoritmais. Vienas iš tokių pavyzdžių gali būti Markovo grandinės. Markovo grandinės yra atsitiktinis procesas, kuriame ateities būsena priklauso tik nuo vienos praeities būsenos – t. y. muzika yra generuojama įsimenant santykinius sekų dažnius ir generuojant ėminius (angl. sampling) atitinkančius šį pasiskirstymą.
J. Stankevičiaus iliustr./Markovo grandinės pavyzdys.
A, B – būsenos (tai gali būti natos), skaičiai prie rodyklių reiškia perėjimo tikimybę iš būsenos į kitą būseną
(arba tą pačią būseną)
Tačiau dauguma bandymų buvo nevykę, muzika skambėdavo pernelyg mechaniškai (ko gero dėl to, jog joks bandymas neturėjo ilgalaikės atminties). Tačiau muzikos generavimo uždaviniui pritaikyti dirbtiniai neuroniniai tinklai sugeba kurti sudėtingesnės struktūros muziką. Šabloninė muzika nuo kitos muzikos žanrų/formų skiriasi tuo, jog ji nereikalauja žmogaus išsikišimo, o tik pavyzdžių (medžiagos), kurių pagrindu remiantis dirbtiniai neuroniniai tinklai kuria muziką.
Kaip tai veikia?
Dirbtiniai neuroniniai tinklai yra matematinės funkcijos/algoritmai, kurie buvo įkvėpti biologinių neuroninių tinklų. RNN (liet. Rekurentiniai neuroniniai tinklai) yra dirbtinių neuroninių tinklų tipas, skirtas modeliuoti sekas (pvz. garsų sekas, tekstus ir kt.). Šie tinklai yra taikomi apdoroti sekų (laiko, ar kitokią) informaciją ir generuoti naujas sekas. RNN veikimo principas pagrįstas įsimenama informacija tarp laiko eilutės žingsnių, kas yra ypač svarbu modeliuojant muzikines sekas, kuriose būsimi įvykiai priklauso nuo anksčiau buvusių įvykių, dėl to rekurentinis neuroninis tinklas gali atkurti pavyzdinę garsų seką, kuri turi tokią pačią laiko eilutės struktūrą (šablonai, motyvai).
LSTM neuroniniai tinklai
Tačiau paprastas RNN tinklas pasižymi prasta ilgalaike atmintimi, todėl buvo sukurta patobulinta RNN architektūra – LSTM (angl. Long-short term memory). Trumpos-ilgos atminties tinklas tai – rekurentinis tinklas (RNN) naudojantis papildomą grįžtamąjį ryšį (atminties celes), siekiant geriau išsaugoti (,,atsiminti‘‘) paskutinius periodo įėjimo signalus.
J. Stankevičiaus iliustr./Paprastojo RNN tinklo schema
Schemoje nurodytos šios reikšmės: – įvesties duomenys (pvz., natų seka), – išvesties duomenys (pvz., natų seka), – aktyvacijos vektorius (tinklo įvestys paveiktos netiesinės funkcijos – dažniausiai hiperbolinio tangento). Netiesinės funkcijos leidžia tinklui išmokti netiesinius įvesties – išvesties sąryšius.
Rekuretiniai neuroniniai tinklai yra gana universalūs, tad juos galima pritaikyti ir muzikoje. Jūsų dėmesiui, vaizdo įrašas, kuriame RNN sukuria Bacho stiliaus muziką remiantis dviejomis kompozicijomis iš Johanno Sebastiano Bacho (1685–1750) klavyro kūrinių (BWV 772-994):
Visai taip, kaip ir nurodyta schemoje, RNN gavo du pavyzdžius, iš kurių atliekant matematines procedūros kartojimus (interacijas) buvo judama link galutinio rezultato. Po 15000 interacijų gautas rezultatas yra neblogas, tai rodo, jog šabloninė muzika išties turi puikų potencialą tapti naujos rūšies muzika. Įsivaizduokite, jog kažkada apsilankę „Spotify“ galėsite nurodyti, kokios tiksliai muzikos norite gauti (pavyzdžiui, 25 proc. „Pink Floyd“ ir 75 proc. „Jefferson Airplane“).
Douglaso Ecko ir Jürgeno Schmidhuberio tyrime „A First look at music composition using LSTM Recurrent Neural networks“ paaiškėjo, jog naudojant RNN potencialiai įmanoma kurti begalinę bliuzo muziką. Iš kitos pusės, turime pripažinti faktą, jog pradiniai duomenys, t.y. iki šiol sukurta muzika, kažkada išsisems, jei nebus tų, kurie plėstų muzikinę medžiagą, iš kurios RNN gebėtų kurti muziką. Taip pat kyla klausimas, ar dirbtinis neuroninis tinklas sugebėtų kurti ne instrumentinę, bet didelės apimties muzikos kūrinį (tarkime operą), nes tokiam kūriniui reikia sukurti ir tekstus, kurie byloja apie tam tikrus vaizdinius bei apie tam tikrą idėją.
Šalia to, RNN vis dar nesugeba remtis muzikos teorija. Tačiau teorijos išmokimas – tik laiko klausimas, o po to RNN gebės dar kokybiškiau kurti tam tikro stiliaus šablonus. Ši spraga girdima RNN sukurtoje Bacho stiliaus muzikoje, todėl būtų nesąžininga teigti, jog iteracijų rezultatas yra puikus arba geras. Tačiau vilties teikia LTSM sistema. Minėtame eksperimente tapo aišku, jog LSTM sėkmingai išmoko bliuzo muzikos formą ir, autorių žodžiais sakant, sugeba kurti naujas (ir, reikia tikėtis, ausiai malonias) melodijas tokiu stiliumi. Nepaprasta ir tai, kad tinklui suradus atitinkamą struktūrą, jis nuo tos struktūros nenukrypsta: LSTM sugeba groti bliuzą su geru laiku ir tinkama struktūra tol, kol kažkas nori to klausytis. Tai reiškia, jog LSTM sistema sugeba kurti neribotą kiekį muzikos.
Vienas iš svarbiausių dalykų, kuris paaiškėjo šiame eksperimente, yra tai, jog LTSM sugebėjo perprasti duotų bliuzo akordų sandarą ir tokiu būdu juos varijuoti. Turint omenyje, kokiu greičiu technologijos žengia į priekį, yra didelė tikimybė, jog santykinai greitai nebeturėsime dilemos ieškant naujos mėgstamiausios muzikos, o užteks tiesiog pasirinkti mėgstamus šablonus ir mėgautis nauja muzika be grupės ar kompozitoriaus.