მუსიკა | ცა

Deep - Shota: ხელოვნური ინტელექტი და "ვეფხისტყაოსანი"

გამარჯობა! 


მე ვარ თორნიკე ქარჩხაძე - მუსიკოსი, საუნდ არტისტი და მონაცემთა სპეციალისტი (data scientist). დღეს მინდა წარმოგიდგინოთ ჩემი ნამუშევარი:

„Deep - Shota" - ხელოვნური ინტელექტი, რომელიც ავტომატურ რეჟიმში აგენერირებს "ვეფხისტყაოსანს".

დაახლოებით 4 წლის წინ, როცა ჰელსინკიში (ფინეთი) სიბელიუსის მუსიკის აკადემიაში (Sibelius Academy of Music) წავედი სასწავლებლად, თავი ძალიან ცივი კლიმატის მქონე, მაგრამ, ამავდროულად, ძალიან საინტერესო, ასე ვთქვათ, next level ქვეყანაში ამოვყავი. ფინეთში მთავარ პროდუქტად (საექსპორტო და არა მარტო საექსპორტო) ცოდნა მიაჩნიათ, კერძოდ ტექნოლოგიური ცოდნა და ტექნოლოგიური გამოგონებების პატენტები. სხვა მრავალ ტექნოლოგიებს შორის, გამორჩეული ადგილი უჭირავს და, ასე ვთქვათ, მომავლის თემად ითვლება ხელოვნური ინტელექტი, როგორც შედარებით ახალი და აუთვისებელი სფერო. ამიტომაც, ფინელებს სრულიად დაუფარავი და პირდაპირი პოლიტიკა აქვთ: 10-დან 1 ადამიანი მაინც უნდა იყოს ხელოვნური ინტელექტის, ნეირონული ქსელების (neural networks) და მანქანური სწავლების (machine learning) სპეციალისტი.

აი, ასე მოულოდნელად, მუსიკის კონსერვატორიაში სასწავლებალდ წასული ადამიანი გავეცანი სიბელიუსის აკადემიაში ხელოვნური ინტელექტის გამოყენების შესაძლებლობებს მუსიკაში.

საოცრად საინტერესო თემაა, შეიძლება ითქვას, მომავალია და მთელ ახალ საექსპერიმენტო არეალს ხსნის მუსიკისთვის, კონკრეტულად კი - კომპიუტერულ და ექსპერიმენტულ მუსიკაში (და ზოგადად ხელოვნებაში). მოკლედ, ამ თემით მოვიწამლე და მას შემდეგ ჩემი სწავლის თემად, კვლევის ინტერესად და მუსიკის კეთების განუყოფელ ხერხად იქცა. შემდეგ უკვე, როცა 1 წლის წინ ქალაქ ჰააგაში (ნიდერლანდები) გადმოვცხოვრდი, სამეფო კონსერვატორიასთან (Royal Conservatoire The Hague) არსებულ სონოლოგიის ინსტიტუტში (Institute of Sonology) სამაგისტრო ხარისხის და კვლევის გასაკეთებლად სწორედ „ხელოვნური ინტელექტი მუსიკისა და ხმის წარმოებაში" ავირჩიე.

ვიკვლევ ე.წ. ღრმა ნეირონული ქსელების (deep neural networks) და მათთან დაკავშირებული მეთოდოლოგიის გამოყენების გზებს ექსპერიმენტალური მუსიკის კომპოზიციაში.

ამ თემაზე მუშაობის პერიოდში, ცხადია, კარგად შევისწავლე ნეირონული ქსელების გამოყენების სხვადასხვა სფერო. მათ შორის, ერთ-ერთი ყველაზე საინტერესო და თავისი კონსტრუქციით მუსიკასთან ყველაზე ახლოს მდგომი, ენობრივი ტექსტის ნეირონული ქსელებით შესწავლა და გენერაციაა.

თავიდან ცნობილი Alice in Wonderland-ის ტექსტით დავიწყე, რომელსაც სამუშაო მაგალითად იყენებენ ნეირონული ქსელების სასწავლო პროგრამებში. ბევრი ექსპერიმენტის და პროგრამის კარგად შესწავლის შემდეგ ვცადე, შექსპირის და სხვა ცნობილი ინგლისურენოვანი ავტორების პოეზიის ნეირონული ქსელებით შესწავლა და გენერაცია, რასაც საკმაოდ საინტერესო შედეგები მოჰყვა. თუმცა, ამის შემდეგ გამიჩნდა აზრი, რომ საინტერესო იქნებოდა ქართულ ტექსტზე, კერძოდ კი - „ვეფხისტყაოსანზეც" მეცადა იგივე. ეს ის დროა „კორონა" ახალი დაწყებულია და ჰააგაშიც საკმაოდ ახალი გადმოსული ვარ, არც ისე ბევრი მეგობარი მყავს და საერთოდაც, ლოქდაუნია. მოკლედ რომ იტყვიან, მკვდარზე მეტი დრო მაქვს.

აქ ცოტა ტექნიკური გავხდები და შევეცდები, მუშაობის პროცესი მოვყვე: „ვეფხისტყაოსნის" ტექსტის შოვნა არ გამჭირვებია (აკრეფის შეცდომები კი დიდხანს ვასწორე) და შევუდექი მუშაობას. თავიდანვე ასო-ასო მიდგომა ავირჩიე და ე.წ. რეკორენტული ნეირონული ქსელი გამოვიყენე, კერძოდ კი LSTM (Long Short Term Memory) ნეირონული შრე, რომელსაც აქვს უნარი, დროში შეინახოს და გადასცეს საჭირო ცოდნა მონაცემებში კავშირების შესახებ. ეს ბოლო წინადადება რომ უფრო გასაგები იყოს, შევეცდები ავხსნა, ეს რას ნიშნავს.

იმისთვის, რომ დროში განფენილ მონაცემებში (როგორიცაა მუსიკა ან ტექსტი) ყველა არსებული კანონზომიერება გამოავლინო, როგორც წესი, საკმარისი არაა დროში მხოლოდ წინა საფეხურის მონაცემებს დაეყრდნო, ხშირად აუცილებელია გახსოვდეს და იცოდე, რა მოხდა მანამდე და რა ეტაპზე იმყოფები უფრო ფართო სურათში, სხვა სიტყვებით რომ ვთქვათ, აუცილებელია, „გახსოვდეს" კონტექსტი.

ვთქვათ, თუ დააგენერირე ასო „ი", რომელიც, დიდი ალბათობით, სიტყვის ბოლოა, ასევე კარგია, თუ გახსოვს სად ხარ უფრო დიდ მასშტაბში, ვთქვათ, წინადადებაში, იმიტომ, რომ ეს „ი" შეიძლება წინადადების ბოლოც იყოს და შესაძლოა, უკვე დროა, ახალ წინადადებაზეც გადავიდეთ (საკმაოდ ირონიულად, ეს წინადადება „ი"-ზე არ დამთავრდა).


ალბათ, ხვდებით, რამდენად მნიშვნელოვანია ამ მოკლე ან/და გრძელვადიანი (LSTM) დამოკიდებულებების გამორჩევა და შესწავლა. კაცმა რომ თქვას, ტექსტის მთელი აზრი სწორედ ამ დამოკიდებულებებშია. ეს კიდევ უფრო მნიშვნელოვანი ხდება პოეზიის შემთხვევაში, სადაც არა მარტო ასო-ასო, სიტყვა-სიტყვა და წინადადება-წინადადება უნდა იფიქრო, არამედ დამატებით კიდევ უნდა გაითვალისწინო რითმაც, ანუ ის, რომ ყველა ხაზი (რომელიც შეიძლება, წინადადებას სულაც არ ნიშნავდეს) მსგავსი (მაგრამ არა იდენტური) სიტყვებით უნდა მთავრდებოდეს. მოკლედ რომ ვთქვა, ავაგე რეკურენტული ნეირონული ქსელი LSTM შრეებით, 13 მილიონი ცვლადით და შევუდექი „ვეფხისტყაოსნის" შესწავლას.

Institute of Sonology Royal Conservatoire the Hague

რამდენიმე ეპოქის შემდეგ (სწავლა ეპოქებში ხდება, თითოეული ეპოქა შეიძლება იყოს რამდენიმე წუთი ან რამდენიმე დღე, მასალის სიდიდის მიხედვით), ქსელმა ასეთი რამის გენერაცია დაიწყო:

ტარი მოვიდეს მოვიდეს მოგვისა მოვიდეს მოვიდეს მოვიდეს მოვიდეს მოვიდეს მოვიდეს მოვიდეს,


მაგრა მოვიდეს მოვიდეს მოვიდეს მოვიდეს მოვიდეს მოგვისა მომისი მოვიდეს,


მაგრა მოვიდეს...

© სერგო ქობულაძე

ეს ლოცვასავით ტექსტი იმის შედეგია, რომ ქსელი სწავლობს და იმეორებს ხშირად შემხვედრ სიტყვებს: და ეს მხოლოდ პირველი ნაბიჯები იყო. ცოტა მეტი სწავლის შემდეგ, როცა სიტყვა „რომელმან“ მივუთითე საწყისად, აი, ასეთი რამის გენერაცია დაიწყო:

რომელმან შექმნა სადამდოს, მაგრა რა მოიგვანების?

მანტე სვითარი მჭირავმან მზაშვი აგრეცა რილისა!

მოგშორდა ცხენი უჩინოს, ვნახე მით ცრემლთა სახელი;

სამ დღე მონათა ბაგება თქვენსაგან უკალარობა.

ვა, თავაშინოდ სამუქა, თუ მოვლენ შემაყვეწელად,

მეფემან ჭირი სიშალი მათ მოსმენამა მუნისა;

ორასა ლხინი ურიდო, თავი არ დაესალია.

გამოიპართეს სიძურო, თანი გამიკყრარების.

მისი გამყრები გამიშვი, ვაწრებით არ მისწრმებია,

მანდა ხე...

© სერგო ქობულაძე

როგორც ხედავთ, ნეირონული ქსელი აქ ჯერ კიდევ ვერ ახერხებს რითმის შესწავლას და გენერაციას და აი, აქ დაიწყო მთავარი ტვინის ჭყლეტვა: როგორ მესწავლებინა და მიმეხვედრებინა ქსელი, რომ საჭიროა რითმის და სტროფის სტრუქტურის დაცვა? ამ რამდენიმე კვირიანი პროცესის დაწვრილებით მოყოლა შორს წაგვიყვანს, ამიტომ მოკლედ გეტყვით, რომ მომიწია ქსელისთვის მესწავლებინა განსხვავება ხმოვნებს, თანხმოვნებსა და სასვენ ნიშნებს შორის. ასევე, მომიწია, მესწავლებინა და მონაცემებში გამომეყო სიტყვის მარცვლების კონცეფცია და ის, რომ „ვეფხისტყაოსანში" ყველა ხაზში ზუსტად 16 მარცვალია და ამ 16-დან ბოლო 3 (ხშირად 4-ც) მსგავსია და შეიცავს ერთსა და იმავე ხმოვნებს. მოკლედ, ბევრი ვიწვალეთ მეც და ჩემმა ქსელმაც, სანამ მსგავსი რამეების გენერირება დავიწყეთ:

ლაშქართა შიგან შეიქმნა ხმისა პირსა და ტანისა,

შესმადის, დავსგა, მეკობრედ აღარა ვცნილობ, ხანისა!

შენ გაეხარნეს, ვერ იტყვის ენა ერთისა წამისა,

თინათინს ღაწვთა აშვენებს მუნ ჩრდილი შუქის სამისა.,


ავთანდილ ადგა, გამოვლნა შუყი მისისა ძენისა.

სამთა, მსგავსები ოდეს ჰგვან, ვით ნახეს მათი ხელისა!

თუმცა მივიზა მოვიდეს მე ესე რასი მყრელისა!

რამას უბნობდა ჭამასა ჩემგან თხენისა ვერისა


ტარიელი გამოვიდა ღამა დიდსა გრიგალისა;

მოსრული და დამწვარი და ცეცხლი მისი მზისანისა.

აწცა თქვენი არ რა მინდა, მართ ვართა და ცხენ-გვამისა;

მაგრა მარგალიტი მრავალი მის მზისა შუქ-ნამისა.

ეს ქსელის საუკეთესო ნამუშევარია, მეტ-ნაკლებად აზრიანი შინაარსით და გამართული ფორმით.

© სერგო ქობულაძე

ამ პროცესის წარმატებით დასრულების შემდეგ გადავწყვიტე, კიდევ უფრო შორს წავსულიყავი და მსგავი რამ „ვეფხისტყაოსანზე" ვიზუალურადაც გამეკეთებინა. ამისთვის ავიღე სერგო ქობულაძის ცნობილი ილუსტრაციები და ნეირონულ ქსელს (StyleGAN2) შევასწავლე. ეს პროცესი რამდენიმე კვირა გაგრძელდა, თუმცა, აქ შეგიძლიათ ნახოთ პროცესი აჩქარებულად: როგორ სწავლობს ქსელი ნაცრისფერ ცარიელ სურათზე სრული ილუსტრაციების დახატვას.

შეზღუდული ბაზის გამო (სულ 20 ილუსტრაცია არსებობს), დაგენერირებული ილუსტრაციები არ გამოირჩევიან ორიგინალური კონტენტით და მაღალი ხარისხით, თუმცა, ამ შემთხვევაში, ჩემი მიზანი მხოლოდ „ვეფხისტყაოსნის“ ვიზუალური განწყობის შემქნა იყო და აი, შედეგიც:

ვიდეოში გამოყენებული მუსიკა არის ჩემი (ელექტრონიკა/კომპიუტერი) და სუჯარი ბრიტის (ჩელო) იმპროვიზაციის ჩანაწერი, 2019 წლის მაისი, ქ. ჰელსინკი.

ავტორი: თორნიკე ქარჩხაძე