NLP技術應用到音樂領域,分分鐘讓你變成音樂大師!

來源商業新知網,原標題:沒天賦別怕,NLP技術分分鐘讓你變身音樂大師算法

機器學習算法變革了視覺領域與NLP(天然語言處理)領域,那音樂領域呢?近年來,音樂信息檢索(MIR)發展勢頭迅猛。 本文將探討如何將NLP領域的技術應用到音樂領域。網絡

近期, 在Chuan、Agres和 Herremans (2018)聯合發表的一篇論文中,他們論述了用Word2vec(NLP的一種經常使用工具)表示復調音樂的過程。下文將對該過程展開深刻探究。機器學習

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

Word2vec分佈式

有了詞嵌入模型,就能夠用表明語義的向量來表示詞語,機器學習模型也可以更輕鬆地對其進行處理。而托馬斯·米科洛夫等人在2013年提出的嵌入模型Word2vec,可以高效地創造語義向量空間(Mikolov et al., 2013)。函數

Word2vec模型的本質是一個簡單的單層神經網絡,該網絡的構建方式有兩種:1) 使用連續詞袋(CBOW);2)使用Skip-gram 模型。這兩種方式效率都很高,訓練耗時也相對較短。這次研究用到了Skip-gram 模型,由於米科洛夫等人曾表示,該模型在處理較小的數據集方面更爲高效。Skip-gram 模型選取當前詞w_t做爲輸入層,並在輸出層context window(上下文窗口)顯示預測的關聯詞。工具

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

數據來自Chuan et al (2018)。上圖表示的是單詞t的預測結果及它的context window。學習

網上流傳的一些圖片讓人誤覺得Skip-gram網絡輸出的只是context window中的一個單詞,而非多個。那麼怎樣讓Skip-gram表示整個context window呢?測試

訓練Skip-gram網絡時,咱們使用了樣本對,包括當前輸入詞和從context window隨機選取的一個詞。Skip-gram的傳統訓練目標是使用Softmax函數計算 知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師,但這種方法運算量過大,成本太高。所幸,噪聲對比估計 (Gutmann & Hyvärine, 2012)以及負採樣 (Mikolov et al, 2013b)可以解決這一問題。先用負採樣大體定義一個新目標,即將真實詞的機率最大化,將噪聲樣本的機率最小化。以後只須要一個簡單的二進制的邏輯迴歸,就能把噪聲樣本從真實詞中分離出來。3d

Word2vec模型通過訓練後,其隱層的權重主要表示通過學習的多維嵌入。blog

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

可否用單詞形式表示音樂?

音樂與語言本質上是相互聯繫的。兩者均包含遵循一套語法規則的連續事件。更重要的是,兩者均能令人產生預想。好比,若是有人說:「我要去披薩店買個……」,顯然,你會預想他要買的是披薩。而若是有人如今哼一句「祝你生日」,而後戛然而止……正如話語同樣,旋律也能引發人的預想,而這些預想可以經過腦電圖進行測量,好比測量大腦中事件的相關電位N400(Besson & Schön, 2002)。

既然語言與單詞間存在必定的類似度,那麼語言表示經常使用模型能否有效地表示音樂呢?爲了將MIDI(音序)文件轉換爲「語言」,要對音樂「片斷」進行定義,這裏的音樂片斷至關於語言中的單詞。將數據集中的音樂所有切分爲相同長度,相互間不重疊的片斷,每一個片斷長度爲一個節拍。每一個節拍的長度由MIDI 工具箱進行估算,不一樣片斷的節拍長度能夠不一樣。全部片斷音高的等級都會保留下來,這裏音高等級指的是不包含音階信息的音高。

下圖爲肖邦做品67第4首,即A小調第47號瑪祖卡舞曲第一小節,圖中展現瞭如何決定片斷的長度。在這裏,一個節拍長度爲一個四分音符。

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

數據來自Chuan et al (2018)——經過音樂片斷創造詞。

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

Word2vec學習調性——音樂的分佈式語義假設

在語言中,分佈式語義假設是向量嵌入的驅動力。根據該假設,「在同一上下文中出現的詞每每有相同的意思(Harris, 1954) 」。這些詞轉換到向量空間後,幾何位置相近。那麼Word2vec模型是否會用相似的方式表示音樂呢?

數據集

Chuan 等人用了包含八種不一樣音樂流派的MIDI 數據集,包含古典樂、重金屬樂,他們從130,000支曲子中根據流派分類挑選出23,178首做爲數據集。在挑選出的曲子中,總共分出了4,076種不一樣的片斷。

超參數

Word2vec模型的訓練只用到數據集中最常出現的500個片斷(或詞),其餘詞都用一個僞字代替。這一步驟提升了Word2vec模型的精確度,由於模型內的詞能夠包含更多的信息。此外還有其餘超參數,如學習速率(設爲0.1),window_size(設爲4),訓練步驟的數量(設爲1,000,000),嵌入大小(設爲256)。

和絃

要評價Word2vec模型是否成功地獲取了音樂片斷的語義,還須要瞭解和絃。

從音樂片斷構成的詞彙表中,識別出全部包含三和絃的音樂片斷。用羅馬數字標記這些片斷的音級(這在樂理中很常見),好比,在C調中,和絃C爲I級,和絃G爲V級。以後,用餘弦距離計算在向量空間中,不一樣音級和絃的相互距離。

在一個N維空間中,兩個非零向量A和B之間的餘弦距離的計算方式爲:

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

其中θ爲A和B的夾角,Ds爲餘弦類似度:

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

按樂理校對來說,I級和絃和V級和絃之間的「調性」距離應當小於I級和絃和III級和絃之間的「調性」距離。下圖表示一個C大調三和絃與其餘和絃之間的距離。

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

數據來自Chuan et al (2018)——三和絃與主音和絃之間的餘弦距離=C大調三和絃。

顯然,I級三和絃與V級和絃, IV級和絃還有vi和絃之間的距離更小,這與音樂中這幾個和絃間「調性相近」的理論吻合。也就是說,Word2vec模型學會了表現音樂片斷之間的關係。

Word2vec空間中和絃之間的餘弦距離彷佛反映了和絃在樂理中的功能!

調

巴赫的十二平均律曲集(WTC)的24首前奏曲中,每首前奏曲都包含一個調,因此24首前奏曲涵蓋了包括大調和小調在內的所有24個調。對於新的嵌入空間是否獲取了有關調的信息的問題,能夠經過研究十二平均律曲集求證。

把數據集擴大後,十二平均律曲集的各個前奏曲都被轉換爲其餘大調或小調(取決於原來調的不一樣),致使每首前奏曲都出現了12種版本。將這些調的各個片斷映射到先前訓練的向量空間,使用K-Means進行聚類,就獲得了新數據集中不一樣前奏曲的質心。將這些前奏曲轉換爲調,就保證了質心之間的餘弦距離僅受調的影響。

在不一樣調的前奏曲中,質心之間產生的餘弦距離以下圖所示。正如預期那樣,不一樣的五度和音的調性很是接近,圖中對角線旁邊較暗的區域即爲證實。調性相差很大的調(例如F和F#)表現爲橙色,說明Word2vec空間反映了調之間的調性距離,證明猜測成立。

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

數據來自Chuan et al (2018)——根據不一樣調的前奏曲之間的餘弦距離繪製的類似矩陣。

類比

關於Word2vec有一個有趣的圖像,表現的是向量空間中,國王→女王,男人→女人之間的轉換過程 (Mikolov et al., 2013c),這也就說明了向量轉換可以傳達意義。那麼向量是否也能傳達音樂中的意義?

首先,咱們檢測了復調片斷中的和絃,查看從C大調到G大調(I-V)和絃對的向量。不一樣I-V向量之間的夾角很是類似(見右圖),甚至能夠看做是五度和音構成的多維圓。這也再次證實,類比的概念可能存在於音樂領域的Word2vec空間中,但要獲得更清楚的例子,還須要更多調查研究。

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

數據來自Chuan et al (2018)——和絃對向量之間的夾角。

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

其餘應用-Word2vec可否生成樂曲?

Chuan 等人 (2018) 簡單探討了Word2vec模型經過替代音樂片斷來生成新的音樂的過程。他們表示,這只是一個初步測試,該系統可做爲一種表示方法用於更綜合的系統中,如LSTM。論文中還有更多細節描述,在此不做贅述。下圖爲研究結果。

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

數據來自Chuan et al (2018)——用幾何位置相近的片斷進行替換。

知識圖譜,沒天賦別怕,NLP技術分分鐘讓你變身音樂大師

結論

Chuan、Agres與Herremans (2018)創建了一個Word2vec模型,能夠捕捉復調音樂的音調屬性,而無需將實際音符輸入模型之中。他們的論文有力地證實了,在詞嵌入中可以找到關於調與和絃的信息。那麼能否用Word2vec表示音樂呢?答案是確定的,能夠用Word2vec表示復調音樂。這就打開了一種新思路:還能夠將這種表現形式嵌入其餘模型中,用以捕捉音樂的時間信息。

相關文章
相關標籤/搜索