0
本文作者: camel | 2019-09-13 12:13 |
雷鋒網(wǎng)AI科技評(píng)論按:近日在上海舉辦的世界人工智能大會(huì)(WAIC)TensorFlow 峰會(huì)中,「巴赫涂鴉」( Bach Doodle)的創(chuàng)作者 Anna Huang(黃成之) 現(xiàn)身會(huì)場(chǎng),詳細(xì)講解了「巴赫涂鴉」背后音樂生成的技術(shù)原理及相關(guān)研究,包括能在任意涂白處填充曲調(diào)的 Coconet算法,以及能夠生成長(zhǎng)時(shí)段樂曲的Music Transformer算法。
音樂生成(Music/MIDI Generation),作為一個(gè)研究領(lǐng)域盡管小眾,卻歷史悠久,過去主要用遺傳算法、專家系統(tǒng)等來實(shí)現(xiàn),近幾年基本都用深度學(xué)習(xí)研究。
像深度學(xué)習(xí)下的大多數(shù)研究一樣,當(dāng)下的音樂生成技術(shù)取得了巨大的進(jìn)步,然而離自動(dòng)創(chuàng)作出一部?jī)?yōu)美的音樂還有很大的距離。
Anna Huang作為一個(gè)作曲家兼AI研究員對(duì)音樂生成技術(shù)的定位是:人類作曲的好幫手。
Anna 出生在香港,卻成長(zhǎng)于美國(guó)。從小她接受了嚴(yán)苛的藝術(shù)教育,但她的矛盾在于一方面喜愛音樂,而另一方面卻備受枯燥的音樂考試及音樂創(chuàng)作中的重復(fù)性工作的折磨。幸運(yùn)的是,她的父親是大學(xué)的計(jì)算機(jī)教授,對(duì)于用計(jì)算機(jī)代替人類重復(fù)性的勞動(dòng),Anna 有著“天然”的興趣。[1]
Anna認(rèn)為「我們上課,或者向作曲家學(xué)習(xí)的,應(yīng)該是學(xué)習(xí)怎樣去表達(dá)我們想表達(dá)的東西,去尋找我們到底想說的是什么」[1]。
2006年,在加州大學(xué)讀書期間,Anna自編程序完成了她人生第一個(gè)音樂與計(jì)算機(jī)結(jié)合的學(xué)術(shù)課題——Palestrina Pal,這是一款基于Java的分析工具,幫助檢測(cè)學(xué)生模仿文藝復(fù)興時(shí)期作曲名家帕萊斯特里納的作曲風(fēng)格時(shí)是否存在語法、風(fēng)格和規(guī)則不符的問題。
隨后Anna 先后在麻省理工學(xué)院媒體實(shí)驗(yàn)室和哈佛大學(xué)拿到了相關(guān)專業(yè)的碩士和博士學(xué)位,并最終于2016年加入 Google Brain 中著名的 Magenta 團(tuán)隊(duì),這是一支專注于音樂和藝術(shù)生成的團(tuán)隊(duì)。
2019 年 3 月 21 日,為紀(jì)念作曲家約翰·塞巴斯蒂安·巴赫誕辰 334 周年,Google 上線了首款基于 AI 技術(shù)的巴赫誕辰紀(jì)念 Doodle「巴赫涂鴉」。這是一款交互式的小程序,用戶在五線譜上用鼠標(biāo)隨意點(diǎn)擊譜寫一段音樂,點(diǎn)擊「和聲」(Harmonize),幾秒之后 Doodle 背后的機(jī)器學(xué)習(xí)算法就會(huì)根據(jù)用戶輸入的旋律,生成一段巴赫風(fēng)格的協(xié)奏小曲。
巴赫涂鴉僅在谷歌搜索首頁上線兩天,但全球范圍共創(chuàng)作了多達(dá)5500萬首旋律,累積作曲時(shí)長(zhǎng)達(dá)350年。[2]
巴赫涂鴉背后的核心算法,正是Anna Huang等人提出的Coconet。
論文:Counterpoint by Convolution
論文地址:https://arxiv.org/abs/1903.07227
Coconet,其名字或許來源于“Counterpoint by Convolution”,因此可以認(rèn)為是“卷積對(duì)位網(wǎng)絡(luò)”。它的基本功能就是將一個(gè)不完整的樂譜填寫完整。例如為了訓(xùn)練它,要先隨機(jī)擦除樂譜中的一些音符,然后網(wǎng)絡(luò)以殘缺的部分為基礎(chǔ),通過卷積的方法重建整個(gè)樂譜,通過與原來的樂譜對(duì)比來逐漸提升學(xué)習(xí)性能。這樣便可以得到一個(gè)能夠補(bǔ)全任意不完整輸入樂譜的模型。
事實(shí)上,這種想法來源于對(duì)人類作曲的觀察。傳統(tǒng)音樂生成算法模型往往是將生成任務(wù)分解為按時(shí)間順序排列的過程,從頭到尾一次性構(gòu)成一首音樂。但是人類作曲家卻并不是這樣,而常常是以非線性的方式來編寫音樂,在這里或哪里涂涂改改,重新審視之前寫過的章節(jié)等。Coconet正是為了更好地近似這個(gè)過程而提出的。Anna表示,「很多時(shí)候我們寫音樂或者寫文章,并不是從頭到尾一氣呵成,而是會(huì)有很多次修改、很多跳動(dòng),這個(gè)模型創(chuàng)作的方式也是這樣,一開始先寫一個(gè)比較粗糙的稿,然后慢慢決定每一個(gè)地方的細(xì)節(jié),再去修改。」
Anna等人選擇了巴赫的眾贊歌作為 Coconet 模型的訓(xùn)練數(shù)據(jù)。之所以選擇巴赫作品,主要是因?yàn)樗?jiǎn)單,這些曲目都是類似《安魂曲》這樣比較安靜的作品,總是四聲部,而且結(jié)構(gòu)化的特點(diǎn)較為明顯。此外,就是對(duì)位(即當(dāng)我們?cè)谕瑫r(shí)寫一個(gè)復(fù)雜的旋律時(shí),如何讓這段旋律和諧好聽,這也是學(xué)生在學(xué)習(xí)作曲和樂器演奏要學(xué)的第一件事情),音樂不僅僅是旋律,更重要的是如何將許多條線和諧地組合到一起,而巴赫的音樂正是有這樣需要多個(gè)旋律相互對(duì)位的曲子。
然而需要注意,巴赫的眾贊歌只有306首,這個(gè)數(shù)據(jù)體量對(duì)于當(dāng)前深度卷積網(wǎng)絡(luò)來說太小了。不過正如剛才提到的“隨機(jī)擦除”解決了問題,事實(shí)上通過“隨機(jī)擦除”部分音符,Anna等人能夠獲得近乎無限大小的訓(xùn)練數(shù)據(jù)集。
針對(duì)樂譜的表示,Anna認(rèn)為“樂譜”是一個(gè)三維物體。首先,巴赫的合唱包括四種聲音:女高音(Soprano)、女低音(Alto)、男高音(Tenor)和男低音(Bass)。此外,每種聲音都是一個(gè)二維數(shù)組:以(離散的)時(shí)間為行數(shù)據(jù),以音高為列數(shù)據(jù)。因此對(duì)于每個(gè)時(shí)刻點(diǎn)的每種聲音,都有一個(gè)one-hot的基音向量,除了表示正在唱的向量元素為 1外,其余元素都為0。在存在不確定的情況下(例如模型生成時(shí)),這個(gè)基音向量將包含基音上的分類概率分布。
隨后他們將每種聲音作為一個(gè)通道,將時(shí)間和音高構(gòu)成二維卷積空間,三者共同構(gòu)成卷積特征圖。
注意,由于他們輸入模型的樂譜是不完整的,于是他們?yōu)槊糠N聲音都提供了一個(gè)額外的掩膜通道,這是一個(gè)二進(jìn)制值,用來指示每個(gè)時(shí)間點(diǎn)該聲音的音高是否已知。因此進(jìn)入模型的是一個(gè)八通道特征圖。
接下來就是一個(gè)非常簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)了,它具有批標(biāo)準(zhǔn)化和殘差連接。對(duì)于使用 tensorflow.js 實(shí)現(xiàn)在瀏覽器中運(yùn)行模型的 Doodle,可以通過切換到非縱向可分離卷積來加快計(jì)算速度。與常規(guī)的卷積網(wǎng)絡(luò)不同的地方是,這里將空間軸上的卷積和跨越通道混合區(qū)分了開來,這樣一來,它需要的參數(shù)就會(huì)更少,因此也更適合在瀏覽器中加速。
模型生成的結(jié)果將再次是一堆樂譜,每個(gè)聲音一個(gè),但這次包含了在刪除音符的音高上的概率分布。 該模型使用給出的音符來試圖找出被刪除的音符,從而導(dǎo)致在每個(gè)時(shí)間點(diǎn)由每種聲音演唱的音高上的分類分布。
研究人員通過訓(xùn)練模型,來提高音高分配給真正的音符的概率。這個(gè)過程就類似于人類作曲,促使模型去理解它所接收的不完整樂譜的音樂含義——現(xiàn)在用的是什么音調(diào),用的是什么樂器,下一個(gè)音符是什么,前面的音符是什么?
一旦模型得到訓(xùn)練,就可以從模型產(chǎn)生的概率分布中提取音樂。我們可以根據(jù)每個(gè)音符的分布對(duì)每個(gè)音符進(jìn)行采樣。然而,這不能解釋被采樣音符之間的相互作用。通常,確定其中一個(gè)音符會(huì)改變其他音符的分布。
計(jì)算這些交互作用的一種方法是對(duì)其中一個(gè)音高進(jìn)行采樣,將其添加到不完整的樂譜中,然后再次通過模型傳遞結(jié)果,再重新計(jì)算剩余音高的分布。通過重復(fù)這個(gè)過程直到所有的音符都確定,團(tuán)隊(duì)在考慮所有的關(guān)聯(lián)關(guān)系的同時(shí)完成樂譜。
實(shí)際上,他們采用的方法更加強(qiáng)大:將模型的輸出視為一個(gè)粗略的草稿,然后通過反復(fù)重寫逐步細(xì)化。具體地說,他們同時(shí)對(duì)所有音符進(jìn)行采樣,獲得一個(gè)完整的(但通常是無意義的)樂譜,然后將其部分刪除并再次傳遞到模型中,然后重復(fù)該過程。隨著時(shí)間的推移,需要抹去和重寫的音符越來越少。
Anna 等人在建模的過程中,每次只建模一個(gè)變量。同時(shí),他們采用無序建模的方式,并且采用 Gibbs 采樣的方法,從多個(gè)序列中生成樂譜。因此,可以保證模型是有效的。
論文:Music Transformer
論文地址:https://arxiv.org/abs/1809.04281
但,Coconet只能生成較短的音樂片段。一首音樂往往會(huì)在不同的時(shí)間尺度上具有多個(gè)主題、短語或重復(fù),因此對(duì)于結(jié)構(gòu)復(fù)雜的長(zhǎng)時(shí)程音樂生成一直以來都是一個(gè)巨大的挑戰(zhàn)。
Anna等人對(duì)此的解決之道就是引入Transformer技術(shù),他們稱之為Music Transformer。Transformer是一種基于自注意力的序列模型,在許多需要保持長(zhǎng)時(shí)程一致性的生成任務(wù)中取得極大的成果?!高@表明自注意力也可能適用于音樂的建模」Anna說道。
在這項(xiàng)工作之前,Magenta團(tuán)隊(duì)在2017年也提出了一個(gè)稱為Performance RNN算法,這是一種基于LSTM的遞歸神經(jīng)網(wǎng)絡(luò)(RNN)算法。然而我們知道RNN(或者LSTM等)的計(jì)算限制為順序的,也就是說RNN相關(guān)算法只能從左向右或從右向左依次計(jì)算,這種機(jī)制會(huì)帶來兩個(gè)問題:
時(shí)間片t的計(jì)算依賴t-1時(shí)刻的計(jì)算結(jié)果,這樣限制了模型的并行能力;
順序計(jì)算的過程中信息會(huì)丟失,盡管LSTM等門機(jī)制的結(jié)構(gòu)一定程度上緩解了長(zhǎng)期依賴的問題,但是對(duì)于特別長(zhǎng)期的依賴現(xiàn)象,LSTM依舊無能為力。
這些問題也同樣表現(xiàn)在音樂生成當(dāng)中。 以上是基于Performance RNN針對(duì)肖邦的Black Key Etude生成的連續(xù)樂曲。雖然基于LSTM的模型能夠在幾秒左右的時(shí)間尺度上產(chǎn)生聽起來似乎合理的音樂,但顯而易見缺乏長(zhǎng)期結(jié)構(gòu)。這個(gè)模型似乎“忘了”它之前彈奏的什么內(nèi)容。
而 Transformer能夠解決以上兩個(gè)問題。首先它使用了Attention機(jī)制,將序列中的任意兩個(gè)位置之間的距離縮小為一個(gè)常量;其次它不是順序結(jié)構(gòu),因此具有更好的并行性。
然而僅有Transformer并不夠。原始的Transformer依賴絕對(duì)定時(shí)信號(hào),因此很難跟蹤基于相對(duì)距離、事件順序和周期性的規(guī)律。如上圖所示在這種情況下,生成的音樂后半部分完全不忍直視。
相對(duì)全局注意力:底下一行描述了內(nèi)存高效“傾斜”算法,它不需要實(shí)例化R(上面一行,即O(L2D))?;疑硎狙谀せ蛱畛湮恢?。每種顏色對(duì)應(yīng)不同的相對(duì)距離。
Anna等人于是在Tranformer的基礎(chǔ)上又加入了相對(duì)注意力的概念,它能夠基于兩個(gè)token之間的距離進(jìn)行調(diào)節(jié)注意力。通過這種方式,Music Transformer便能夠更多地關(guān)注關(guān)系特征。更值得強(qiáng)調(diào)的是,相對(duì)自注意力還允許模型生成超出訓(xùn)練樣本長(zhǎng)度的音樂,這是原始的Transformer模型無法做到的。
這是Music Transformer生成的樂曲:
把三者放在一起對(duì)比:
第一行:Music Transformer;第二行:Baseline Transformer;第三行:PerformanceRNN (LSTM)
可以看出它能夠延續(xù)樂曲一貫的演奏風(fēng)格,且能生成多個(gè)主題。相比之下,Performance RNN和Transformer這兩種算法,要么完全缺乏可辨別結(jié)構(gòu),要么無法保持結(jié)構(gòu)一致。
視頻文件: https://magenta.tensorflow.org/assets/music_transformer/motifs_visualization.mp4
針對(duì)相對(duì)自注意力,Anna還提供了一種可視化方法。她用弧線顯示了最后一層注意力權(quán)重,顯示過去的那些音符會(huì)影響未來。模型會(huì)將注意力集中在各種顫音塊之間,并且能夠跳過不太相關(guān)的部分。
但 Anna 也承認(rèn)Music Transformer并不能達(dá)到完美,它有時(shí)會(huì)重復(fù)次數(shù)過多,部分又過于稀疏。但她希望Music Transformer能成為音樂家需要靈感時(shí)有用的幫手。這為用戶提供了一種可能性,他們可以指定開頭,并將模型作為一種創(chuàng)造性工具來探索一系列可能的延續(xù)?!冈囅胍粋€(gè)作曲家有一天突然沒有了靈感,那么這個(gè)時(shí)候他就可以借助于這個(gè)模型獲得一些啟發(fā)」,Anna說。
在報(bào)告之后,雷鋒網(wǎng)AI科技評(píng)論榮幸參與了對(duì)Anna Huang的采訪,以下是部分采訪紀(jì)要:
Anna:我們把機(jī)器學(xué)習(xí)當(dāng)做是一個(gè)非常好的工具去助推和加速整個(gè)文化和音樂創(chuàng)造的整個(gè)過程。我們?cè)谡劦綑C(jī)器學(xué)習(xí)如何去助推創(chuàng)作的過程當(dāng)中,針對(duì)不一樣的人群,它是有不同的含義的。
如果說您是一個(gè)新人,機(jī)器學(xué)習(xí)可以讓你以更快的方式去了解旋律,我畫出一些旋律,機(jī)器學(xué)習(xí)會(huì)告訴你這將是什么效果,巴赫 Doodle就是很好的一個(gè)例子,能夠讓我們只需要簡(jiǎn)單地輸入一點(diǎn)旋律,就可以體驗(yàn)作曲的樂趣。
如果您是一個(gè)比較資深的作曲家,利用機(jī)器學(xué)習(xí)可以讓你很快做出一個(gè)小樣,先看一下這樣的創(chuàng)作到底是什么樣的效果,然后你再去看能做些什么調(diào)整,這樣也是很有幫助。
記者:創(chuàng)造力是人類對(duì)于機(jī)器最大的優(yōu)勢(shì)之一,為什么人類會(huì)需要讓機(jī)器來幫忙做作曲這樣創(chuàng)造類的事情?
Anna:我自己是一個(gè)作曲家,我想從我個(gè)人感受談下這個(gè)問題。創(chuàng)作的過程可以分成兩個(gè)階段。第一個(gè)階段就是產(chǎn)生大量想法的階段,這個(gè)時(shí)候你需要大量的想法,為后續(xù)的創(chuàng)作提供靈感來源;第二階段是一個(gè)想法聚合的階段,你需要從海量的想法當(dāng)中找到能夠表達(dá)你的述求的想法。在這兩個(gè)階段,機(jī)器學(xué)習(xí)都能夠給人們提供極大的幫助。試想一個(gè)作曲家有一天突然沒有了靈感,那么這個(gè)時(shí)候他就可以借助于機(jī)器學(xué)習(xí)獲得一些靈感上的啟發(fā)。而在創(chuàng)作中,如果要在結(jié)構(gòu)層面上進(jìn)行調(diào)整的話會(huì)是一個(gè)非常重復(fù)性的工作,這個(gè)時(shí)候機(jī)器學(xué)習(xí)便能夠幫上忙了,當(dāng)然后續(xù)的微調(diào)還是需要由人來完成。
記者:我們研究的目標(biāo)之一,是想在未來讓機(jī)器創(chuàng)作出完全屬于它自己的一個(gè)完整的作品嗎?
Anna:我不認(rèn)為,未來我們會(huì)希望讓機(jī)器去做出它自己的音樂作品。從我作為作曲家的角度來看,音樂其實(shí)是一種溝通方式,一種表達(dá)感情和感受的方式,而作曲家是在利用自己的作品去向他的讀者或聽眾表達(dá)情感和感受。
所以我們要做的其實(shí)應(yīng)該是給他們(作曲家)提供賦能的工具,讓他們可以更直接地、更好地把自己的情感和感受表達(dá)出來。
記者:目前機(jī)器創(chuàng)作出來的音樂的風(fēng)格,跟人類有不一樣的地方嗎,還是說機(jī)器創(chuàng)造出來的(音樂)特別像它學(xué)習(xí)到的那些人類音樂家的風(fēng)格?
Anna:談到這個(gè)問題,我想舉兩個(gè)例子來回答。
巴赫Doodle是一個(gè)很好的例子。如果你去學(xué)作曲的話,任何一個(gè)初學(xué)者都會(huì)先從巴赫的音樂去聽、去模仿,因?yàn)樗泻芏嗟囊?guī)律、很多樂理包含在里面。每一個(gè)音樂的學(xué)生,在學(xué)音樂之前都要先了解這些樂理。但是機(jī)器是非常有趣的載體,它不知道這些樂理知識(shí),它只是從它本身的學(xué)習(xí)過程中去揣測(cè)應(yīng)該怎么作曲,因此它會(huì)無意識(shí)地打破很多傳統(tǒng)樂理上面的條條框框。機(jī)器可能會(huì)借用其他領(lǐng)域的內(nèi)容和數(shù)據(jù)來做作曲。換句話說,某些它認(rèn)為音樂性特別強(qiáng)的、可以放到作曲環(huán)境中表達(dá)的點(diǎn),在我們?nèi)祟愖髑铱磥砜赡軙?huì)覺得與樂理知識(shí)相沖突、甚至格格不入。機(jī)器可以讓我們從許多不同的角度來理解作曲這件事。
再來說第二個(gè)例子,目前機(jī)器學(xué)習(xí)在作曲方面還沒有辦法做到長(zhǎng)時(shí)程的音樂生成。比如,我要用長(zhǎng)段音樂來表達(dá)故事,塑造一個(gè)主人公,或和我們的聽眾互動(dòng),現(xiàn)在機(jī)器學(xué)習(xí)還做不到。所以目前人類和機(jī)器學(xué)習(xí),還處在一種相互訓(xùn)練和相互學(xué)習(xí)的過程,一個(gè)過渡階段。這個(gè)過渡階段非常有趣。因?yàn)槲覀兛梢钥吹剑瑱C(jī)器認(rèn)為這部分音樂性特別強(qiáng),把這個(gè)元素加到創(chuàng)作當(dāng)中;人類會(huì)覺得這違背樂理,但也有可能被激發(fā)出新的靈感來。結(jié)構(gòu)化這一塊,機(jī)器學(xué)習(xí)現(xiàn)在還沒有辦法做得很好,但目前機(jī)器學(xué)習(xí)生成的一些結(jié)構(gòu)化的數(shù)據(jù)可以幫助我們?nèi)祟惾プ鲆魳穭?chuàng)作。這整個(gè)過程是很有趣的。
記者:以巴赫 Doodle為例,要基于 TensorFlow 去做AI Doodle的話,最大的挑戰(zhàn)是什么?是模型數(shù)據(jù)集的建立嗎?
Anna:在做巴赫Doodle的過程中,我們遇到了很多挑戰(zhàn)。剛才你談到數(shù)據(jù)集的問題,就是我們遇到的第一個(gè)挑戰(zhàn)。因?yàn)槲覀冎挥?06首巴赫的曲目來做訓(xùn)練樣本,要學(xué)習(xí)一個(gè)作曲家的風(fēng)格,這個(gè)數(shù)據(jù)集的規(guī)模是非常小的。我們用到了一個(gè)叫本能化,或者叫直觀化的數(shù)據(jù)采樣方式。什么意思呢?就是說我們輸入一篇樂譜時(shí),不是從頭到尾去讀這段音節(jié)或這段旋律,而是隨機(jī)從中抽出幾塊遮蓋起來,讓機(jī)器去猜測(cè)這段旋律中空白的部分。如此一來,我們就將一段旋律,從不同角度、以排列組合的方式衍變成了許多段旋律,這就解決了我們數(shù)據(jù)集的問題。
第二個(gè)問題,是建模的問題。建模最大的挑戰(zhàn)在于“速度”,因?yàn)槲覀冃枰獙?shí)現(xiàn)互動(dòng)性——在瀏覽器網(wǎng)頁上與用戶做互動(dòng),速度非常關(guān)鍵。當(dāng)你輸入一段旋律進(jìn)去后,它會(huì)有很多重寫的工作。我們做了很多架構(gòu)上的改進(jìn),實(shí)現(xiàn)了從40秒加速到現(xiàn)在的2秒。除此之外,我們還納入很多其他方面的技術(shù)來最終實(shí)現(xiàn)AI Doodle的互動(dòng)效果。
記者:為什么選擇巴赫而不選擇其他一些更近現(xiàn)代(像施特勞斯這樣的作曲家)的作品來做這個(gè) Doodle?因?yàn)槲覀冎腊秃盏娘L(fēng)格和他的旋律性是特別難的。
Anna:我們?cè)谧髌愤x擇上是有一些篩選標(biāo)準(zhǔn)的。我們選了巴赫作品中相對(duì)簡(jiǎn)單的作品:都是類似《安魂曲》這樣比較安靜的作品,總是四聲部,而且結(jié)構(gòu)化的特點(diǎn)非常明顯。此外,就是對(duì)位。對(duì)位就是,當(dāng)我們?cè)谕瑫r(shí)寫一個(gè)復(fù)雜的旋律時(shí),如何讓這段旋律和諧好聽。這是學(xué)作曲的學(xué)生都要做的第一個(gè)事情。因?yàn)橐魳凡粌H是旋律,還是如何把很多條線和諧地組合到一起。結(jié)合到巴赫Doodle這個(gè)項(xiàng)目,作曲不是說我簡(jiǎn)單把旋律寫進(jìn)去,它就出一首歌,它一定是多個(gè)旋律之間相互對(duì)位,才能夠形成一個(gè)非常完整的曲子。這個(gè)是谷歌 Doodle團(tuán)隊(duì)、Magenta團(tuán)隊(duì)和 TensorFlow.js 合作的一個(gè)項(xiàng)目。剛好 Doodle團(tuán)隊(duì)當(dāng)時(shí)有工程師正在學(xué)習(xí)作曲,他就想說這第一個(gè)AI Doodle,能不能讓每一個(gè)人都能夠在瀏覽器上面利用機(jī)器學(xué)習(xí)來體驗(yàn)作曲。這也是我們開始這個(gè)項(xiàng)目的初衷。
記者:目前巴赫 Doodle對(duì)創(chuàng)作者來說是完全免費(fèi)嗎?
Anna:巴赫 Doodle是對(duì)所有人完全免費(fèi)開放的。即使它現(xiàn)在不在Google的主頁上了,但是在存檔的網(wǎng)站還是可以繼續(xù)玩。此外,巴赫 Doodle背后的機(jī)器學(xué)習(xí)模型和所有的代碼也都是開源的[10]。除了提供開源的模型給創(chuàng)作者,我們同時(shí)也提供即插即用、與創(chuàng)作軟件相融合的一個(gè)功能,因此在一些傳統(tǒng)的、主流的音樂創(chuàng)作軟件中也可以使用我們的這個(gè)機(jī)器學(xué)習(xí)的算法。另外我很感興趣但還沒有做很多的一項(xiàng)工作是,這些模型或許會(huì)對(duì)音樂教育有所幫助,可以讓更多人擁有主動(dòng)創(chuàng)作的體驗(yàn)、去作曲,去發(fā)覺他們的興趣。
參考資料:
[1] Google 為你復(fù)活巴赫, https://mp.weixin.qq.com/s/wFcCnzRnI4mPIDOYD1X8yA
[2] Counterpoint by Convolution, https://arxiv.org/abs/1903.07227
[3] Music Transformer, https://arxiv.org/abs/1809.04281
[4] The Bach Doodle: Approachable music composition with machine learning at scale, https://arxiv.org/abs/1907.06637
[5] Coconet: the ML model behind today’s Bach Doodle, https://magenta.tensorflow.org/coconet
[6] Music Transformer: Generating Music with Long-Term Structure, https://magenta.tensorflow.org/music-transformer
[7] 詳解Transformer (Attention Is All You Need), https://zhuanlan.zhihu.com/p/48508221
[8] 谷歌機(jī)器學(xué)習(xí)模型新進(jìn)展:生成時(shí)長(zhǎng)更長(zhǎng)且連貫的音樂, https://cloud.tencent.com/developer/article/1380289
[9] 谷歌發(fā)布音樂 AI Doodle 慶祝巴赫生日,這里是它背后的技術(shù), http://www.ozgbdpf.cn/news/201904/GQYJhhj91UdjSV2P.html
[11] 巴赫誕辰紀(jì)念 Doodle, https://www.google.com/doodles/celebrating-johann-sebastian-bach
雷鋒網(wǎng)報(bào)道。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。