摘 要:機(jī)器自動(dòng)作曲是人工智能和作曲理論結(jié)合的交叉研究領(lǐng)域。自動(dòng)作曲算法旨在輔助使用者進(jìn)行音樂(lè)創(chuàng)作,幫助使用者減少工作量或是提供靈感。面對(duì)當(dāng)代音樂(lè)創(chuàng)作需求,現(xiàn)有的自動(dòng)作曲方法無(wú)法有效表達(dá)音樂(lè)特征,生成的和聲缺乏音樂(lè)結(jié)構(gòu),無(wú)法滿足當(dāng)代音樂(lè)創(chuàng)作多樣性的要求。針對(duì)上述不足,提出了一種基于深度強(qiáng)化學(xué)習(xí)(DeepReinforcement Learning,DRL)與和聲量化的和聲自動(dòng)生成(Automatic Harmony Generation Algorithm Based on DRL,AHG-DRL)算法。AHG-DRL 使用和聲量化方法對(duì)音樂(lè)進(jìn)行編碼,使編碼后的音樂(lè)具備更加全面的音樂(lè)特征;使用基于逆強(qiáng)化學(xué)習(xí)(Inverse Reinforcement Learning,IRL)與DRL 的和聲生成算法擴(kuò)大音樂(lè)創(chuàng)作的搜索空間,同時(shí)使生成的音樂(lè)具備功能性。實(shí)驗(yàn)結(jié)果表明,所提和聲自動(dòng)生成算法可以生成滿足創(chuàng)作需求和符合作曲規(guī)則的音樂(lè),與其他和聲生成算法相比,生成的和聲種類(lèi)更加復(fù)雜多樣,在客觀評(píng)價(jià)指標(biāo)上更接近真實(shí)值。
關(guān)鍵詞:和聲量化;深度強(qiáng)化學(xué)習(xí);自動(dòng)作曲;預(yù)訓(xùn)練;逆強(qiáng)化學(xué)習(xí)
0 引言
在音樂(lè)理論中,當(dāng)兩個(gè)音的頻率比為3 ∶2或2 ∶1時(shí),呈現(xiàn)出的聽(tīng)覺(jué)感受相對(duì)協(xié)和,分別對(duì)應(yīng)音程中的純五度音程和純八度音程。音樂(lè)家會(huì)根據(jù)不同的音程,即不同的頻率比帶來(lái)的聽(tīng)感,將音程劃分成協(xié)和音程、不完全協(xié)和音程以及不協(xié)和音程3 類(lèi),然后基于音程設(shè)計(jì)復(fù)調(diào)音樂(lè)以及和聲[1-2]。近年來(lái),音樂(lè)家們開(kāi)始主動(dòng)探索音樂(lè)中的數(shù)學(xué)知識(shí),將音樂(lè)和數(shù)學(xué)聯(lián)系起來(lái),得出了許多和數(shù)學(xué)有關(guān)的音樂(lè)理論分析[3-4],如將代數(shù)、拓?fù)浜头懂犝撘胍魳?lè)學(xué)中[5],或是研究音樂(lè)中的物理規(guī)律[6]。上述研究為探究音樂(lè)的本質(zhì)提供了新思路,為自動(dòng)作曲提供了更適用的音樂(lè)理論基礎(chǔ)。
自動(dòng)作曲是人工智能和作曲理論相結(jié)合的產(chǎn)物,較好的自動(dòng)作曲算法應(yīng)當(dāng)在符合使用者創(chuàng)作需求的同時(shí),具有更多的色彩性[7],自動(dòng)作曲算法的質(zhì)量主要由以下3 個(gè)因素決定:① 自動(dòng)作曲算法采用的音樂(lè)理論;② 自動(dòng)作曲算法采用的計(jì)算機(jī)算法;③ 計(jì)算機(jī)算法與音樂(lè)理論的適配程度。
目前已經(jīng)有通過(guò)算法實(shí)現(xiàn)音樂(lè)創(chuàng)作的研究,如將音樂(lè)的生成當(dāng)作序列問(wèn)題,利用馬爾可夫鏈生成音樂(lè)[8]或利用深度神經(jīng)網(wǎng)絡(luò)將音樂(lè)中的節(jié)奏、旋律、織體等,作為特征向量輸入進(jìn)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練[9-10]并生成新的音樂(lè)。上述方法仍存在音樂(lè)特征的缺失問(wèn)題,或是音樂(lè)理論基礎(chǔ)無(wú)法滿足當(dāng)代音樂(lè)的需要。近期研究[11]表明,音樂(lè)的量化能為自動(dòng)作曲帶來(lái)全新的思路并加深人工智能和音樂(lè)之間的聯(lián)系。
基于音樂(lè)量化的思想,本文進(jìn)行自動(dòng)作曲的研究,首先,建立和聲數(shù)據(jù)集,該數(shù)據(jù)集包括2 000 條不低于6 個(gè)和弦的和聲;然后,根據(jù)音程的關(guān)系將和聲從橫向和縱向(即和弦與和弦之間的連接)兩個(gè)角度進(jìn)行量化;最后,設(shè)計(jì)實(shí)現(xiàn)了一種基于深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)與和聲量化的和聲自動(dòng)生成算法(Automatic Harmony GenerationAlgorithm Based on DRL,AHGDRL)。AHGDRL 的主要貢獻(xiàn)如下:
① 能夠生成不同風(fēng)格類(lèi)型和聲,使生成的和聲更符合當(dāng)代創(chuàng)作需要;
② 提出新型的和聲編碼方法,使訓(xùn)練所使用的數(shù)據(jù)具備更加全面的音樂(lè)特征;
③ 提出一種基于逆強(qiáng)化學(xué)習(xí)(Inverse Reinforcement Learning,IRL)的預(yù)訓(xùn)練和聲生成模型的算法,能夠生成全方位模仿專家的決策,讓生成的和聲具備一定的音樂(lè)功能性;
④ 從客觀與主觀兩個(gè)角度進(jìn)行樣本評(píng)估,證明了本文所提算法的實(shí)用性和有效性。
1 背景知識(shí)及相關(guān)工作
1. 1 和弦與和聲
和弦是指兩個(gè)以上的音按一定音程關(guān)系組合形成的一組音,而和聲則是由若干個(gè)和弦按照一定規(guī)律組合而成。和聲作為現(xiàn)在音樂(lè)的重要組成要素之一,不僅推動(dòng)了音樂(lè)作品的發(fā)展,還加強(qiáng)了音樂(lè)的表現(xiàn)力[12]。和聲能夠使旋律擁有豐富的色彩并且每個(gè)旋律在不同的和聲配置下都會(huì)擁有不同的感情色彩。和聲的發(fā)展是一個(gè)不斷演變和創(chuàng)新的過(guò)程,從中世紀(jì)的多聲部音樂(lè)構(gòu)成和聲的雛形,到現(xiàn)在各式各樣復(fù)雜的高疊和弦[13],和聲的結(jié)構(gòu)變得越來(lái)越復(fù)雜,產(chǎn)生了越來(lái)越多有關(guān)和聲分析的方法[14-16]。
構(gòu)成和聲與和弦的最小單位是音程,如果將和聲與和弦看作是音程的排列組合,那么對(duì)和聲與和弦的分析就會(huì)轉(zhuǎn)變成對(duì)音程的分析。欣德米特[17]在《欣德米特作曲技法》中對(duì)和聲提出了全新的思路:沒(méi)有把調(diào)性以及由該調(diào)性產(chǎn)生的和弦當(dāng)作構(gòu)建音樂(lè)的基礎(chǔ),而是以音程和音程構(gòu)建的和弦為主導(dǎo)構(gòu)成一種新調(diào)。僅需確定不同和聲的緊張度,而和聲的緊張度由音程所對(duì)應(yīng)的數(shù)值決定的。如果音程所對(duì)應(yīng)的數(shù)值不同,那么由其構(gòu)成的和弦或和聲也必定不相同。量化和弦與和聲便成了優(yōu)化自動(dòng)作曲算法亟待解決的任務(wù)。
1. 2 IRL
IRL 是一種模仿學(xué)習(xí)方法,旨在從觀察到的專家策略πE 中提出獎(jiǎng)勵(lì)函數(shù)。基于IRL 的方法通過(guò)兩個(gè)反復(fù)交替的過(guò)程實(shí)現(xiàn):第一個(gè)階段使用專家數(shù)據(jù)來(lái)推斷一個(gè)隱藏的獎(jiǎng)勵(lì);第二個(gè)階段基于第一個(gè)階段的結(jié)果學(xué)習(xí)一個(gè)模仿策略[18]。
1. 3 DRL
在很多情況下,強(qiáng)化學(xué)習(xí)任務(wù)所面臨的狀態(tài)空間是連續(xù)的,存在無(wú)窮多個(gè)狀態(tài),需要借助深度神經(jīng)網(wǎng)絡(luò)強(qiáng)大的映射能力來(lái)構(gòu)造一個(gè)Q 函數(shù),DRL 中的Q 函數(shù)的輸入通常是某種狀態(tài),輸出包含了所有可能動(dòng)作所對(duì)應(yīng)的價(jià)值。Q 函數(shù)的引入讓智能體在復(fù)雜的環(huán)境中通過(guò)與環(huán)境的交互完成自主地學(xué)習(xí)最優(yōu)的行為策略[19]。
在自動(dòng)作曲領(lǐng)域,Smith 等[20]利用強(qiáng)化學(xué)習(xí)以及領(lǐng)域知識(shí)進(jìn)行旋律的創(chuàng)作,并模仿巴赫作品旋律進(jìn)行自動(dòng)作曲音樂(lè)創(chuàng)作。Dadman 等[21]將強(qiáng)化學(xué)習(xí)作為學(xué)習(xí)方法,將人類(lèi)用戶作為音樂(lè)專家,以促進(jìn)智能體對(duì)音樂(lè)特征的學(xué)習(xí)。
和聲量化后的狀態(tài)空間是連續(xù)的,而建立在離散空間上的強(qiáng)化學(xué)習(xí)算法無(wú)法存儲(chǔ)連續(xù)的價(jià)值函數(shù)。因此,本文使用DRL 構(gòu)造和聲生成模型并使用神經(jīng)網(wǎng)絡(luò)對(duì)價(jià)值函數(shù)擬合,生成符合作曲規(guī)則的音樂(lè)。