人工免疫算法在演化音樂創作的應用

前言:尋找寫作靈感?中文期刊網用心挑選的人工免疫算法在演化音樂創作的應用,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

人工免疫算法在演化音樂創作的應用

摘要:近年來,在音樂創作中引入了演化音樂形式,通過將人工智能算法中的人工免疫算法運用到演化音樂編碼中,并使用免疫算法中的交叉、變異算子來對音樂編碼序列進行配對,以達到提高音樂譜曲的效率的目的,最終實現計算機自動譜曲。

關鍵詞:演化音樂;人工智能;人工免疫;譜曲

一、引言

近年來,國內外學者對一代又一代的音樂演化進行了初步的研究,而音樂演化是通過演化計算來實現的。利用人工智能算法對演化計算進行研究,已經成為當今研究的一個趨勢。將人工免疫算法應用到音樂創作中是音樂演化的一種新的發展方向。人工免疫的概念是在20年前提出的,一經提出就受到了人工智能領域專家的關注。人工免疫算法是模擬人體自身的免疫系統,在自然免疫系統中,分別有抗原、抗體、細胞的再生、分化與抑制,而人工免疫算法抽象出問題最優解,以及問題解的保持、清除等。本文提出利用人工免疫算法構造適應度函數,確定相應基因所對應的編碼策略,經過交叉,變異得到新的音樂編碼初始種群。

二、演化音樂編碼與免疫算子

(一)演化音樂編碼

數字化音樂中編碼形式有二進制編碼、十進制編碼等。二進制編碼較為簡單,采用0,1來構成編碼序,通過相關的免疫算子操作,結合適應度函數計算形成二進制解碼值。十進制編碼從0~9隨機構成編碼序列,并借助人工免疫算法的交叉變異等免疫操作,對數值進行優化,提高算法效率。

(二)免疫算子和免疫操作

人工免疫算法是近年來提出的新的人工智能算法,是模擬生物自身的免疫系統并結合遺傳算法而解決實際問題而形成的新算法。1.人工免疫中的疫苗形成。免疫疫苗序列的形成需要對種群進行重新分配,依據其問題解的相關性,分為可利用疫苗和不可利用疫苗,可利用疫苗通常情況下可以使優秀種群保留下來,也就是優秀問題解的保留。不可利用疫苗的作用則是去除非優秀種群的問題解。2.交叉算子。交叉算子的作用是使所有的音樂編碼序列進行重新組合,從而找出概率相差較大的編碼序列,從而保持了人工免疫算法中音樂編碼序列種群的多樣性。按概率P選擇一段音樂編碼序列與D1配對,就完成了音樂編碼序列配對操作。完成配對后,對于每一對音樂編碼序列,原則上采用兩點交叉,其中交叉點的位置隨機確定。3.變異算子。變異算子的概念是借鑒遺傳算法,在基因進行交叉過程中,會出現基因變異,雖然變異概率較小,但是基因變異有利于音樂編碼序列的重新組合。在免疫疫苗形成過程中,可以根據確定的親和度函數,適當提高其變異算子概率。與交叉算子相同的一點是變異算子也會對音樂編碼序列的多樣性起到積極的作用。

三、新的演化音樂作曲步驟

Step1:構造適應度函數,確定二進制編碼作為相應編碼策略,相應基因組成編碼元素。Step2:優化策略確定,得到新的音樂編碼序列。Step3:進行選擇操作。Step4:初始音樂編碼種群產生。Step5:計算每個音樂編碼種群的適應值,其代表了音樂種群中個體位串解碼后的值。Step6:根據人工免疫進化策略,通過選擇算子作用于音樂編碼種群,經過每一輪的交叉、變異得到新的音樂編碼序列。當新的音樂編碼序列符合作曲者的要求,直到迭代次數結束為止。

四、實驗結果分析

免疫算法中的交叉、選擇算子可以使復雜的適應度函數簡單化,從而更好地適應音樂創作。每一種交叉、變異操作都可以高效地改變音符順序,使作曲者可以更迅速地得到自己想要的音樂旋律。第一小節是原始音符97057FF0,第二小節是經過轉化后的音符0FF75079,第三小節是經過免疫算法操作后得到的音符FF097057,可以看出,經過交叉、變異算子后,得到第二小節內容,再經過選擇算子,以及根據編碼種群計算出的適應值,最后得到的音樂片段旋律明顯優于原始片段。

五、結論

將人工免疫算法應用到演化音樂當中是將人工智能算法運用到藝術創作領域的一次有益探索,該算法的核心是模擬免疫進化原理,通過計算機數字化譜曲。本文提出的算法,通過疫苗的形成,交叉算子操作,變異算子操作,選擇算子操作可以使演化音樂通過免疫算法達到自動譜曲的目的,從而極大地提高作曲者的音樂譜曲效率。

參考文獻:

[1]劉明良.遺傳算法在演化音樂中的應用研究[J].漢江師范學院學報,2017,37(6):74-78.

作者:陳貞 單位:陜西工運學院藝術教育系

亚洲精品一二三区-久久