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