丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給skura
發(fā)送

0

谷歌發(fā)布音樂 AI Doodle 慶祝巴赫生日,這里是它背后的技術(shù)

本文作者: skura 2019-04-01 19:07
導(dǎo)語:谷歌的科研人員三年前就開始著手這項(xiàng)研究了

雷鋒網(wǎng) AI 科技評論按,2019 年 3 月21 日,google 發(fā)布了他們有史以來第一個人工智能音樂 AI Doodle ,以慶祝世界著名的德國作曲家和音樂家——Johann Sebastian Bach (巴赫)的生日!

谷歌發(fā)布音樂 AI Doodle 慶祝巴赫生日,這里是它背后的技術(shù)

Doodle 是 Google Magenta 和 Google PAIR 團(tuán)隊(duì)合作完成的,是一種互動游戲,玩家可以創(chuàng)作自己選擇的兩種旋律的音樂。在按下一個按鈕之后,Doodle 會使用機(jī)器學(xué)習(xí)方法將旋律協(xié)調(diào)為到巴赫的簽名音樂風(fēng)格(如果你碰巧在 Doodle 中發(fā)現(xiàn)一個非常特別的復(fù)活節(jié)彩蛋,那它可能是巴赫 80 年代的混合搖滾風(fēng)格)。

偉大的德國音樂家巴赫

1685 年 3 月 21 日,巴赫出生在德國一個叫的 small German 小鎮(zhèn)。他在一個音樂大家庭里面長大:他的父親能夠用多種樂器演奏,還擔(dān)任鎮(zhèn)上樂隊(duì)的指揮。他的大哥也是一名音樂家,在巴赫 10 歲的時候,他們的父親去世了,從此他跟著哥哥長大。巴赫生前是一位著名的杰出風(fēng)琴手,他還懂得如何制作和修復(fù)復(fù)雜的管弦樂器。

巴赫是一位多產(chǎn)的音樂家,他每周都可以創(chuàng)作一首大合唱!但同時,巴赫也非常謙遜,他把自己的成功歸功于天賜靈感和嚴(yán)格的職業(yè)道德。在他活著的時候,只有幾部作品出版,但現(xiàn)在世界各地存在的手稿形式的作品超過 1000 部。

隨著 19 世紀(jì)的「Bach revival」,巴赫的名聲一飛沖天,當(dāng)時,音樂界開始認(rèn)可和推崇他的四聲部和聲。也許衡量一個音樂家的最好標(biāo)準(zhǔn)是他對其他藝術(shù)家的影響,幾個世紀(jì)以來一直如此。

然而,音樂家并不是唯一受巴赫音樂影響的人。在「旅行者 2 號」太空探測器發(fā)射后,科學(xué)家兼作家 Lewis Thomas 建議人類將他的音樂傳播到太陽系的最外層。「我建議使用巴赫的音樂,所有巴赫的音樂,」他寫道。

更多關(guān)于巴赫的傳奇故事,可以點(diǎn)擊下面的鏈接查看:https://artsandculture.google.com/exhibit/OwIihCfnO_8ZJQ

Doodle 背后的故事

我們可以先看看下面的視頻,了解關(guān)于 Doodle 誕生的故事。

開發(fā) Doodle 的第一步是什么呢?那就是創(chuàng)建一個機(jī)器學(xué)習(xí)模型來驅(qū)動它。傳統(tǒng)的計算機(jī)編程是通過制定制定一套規(guī)則讓計算機(jī)拿出答案,但機(jī)器學(xué)習(xí)是通過學(xué)習(xí)大量的示例,讓計算機(jī)學(xué)會拿出自己的答案的過程。今天 Doodle 中使用的模型是由 Magenta 團(tuán)隊(duì)的 Anna Huang 開發(fā)的,她開發(fā)了 Coconet,這是一種多功能模型,可以用于各種音樂任務(wù),如協(xié)調(diào)旋律或從頭開始作曲(請在 Magenta 的博客中查看更多這些技術(shù)細(xì)節(jié))。

具體來說,Coconet 接受了 306 次巴赫的合唱協(xié)調(diào)訓(xùn)練。巴赫的合唱團(tuán)總是有四個聲音,每個聲音都有自己的旋律線,同時在一起演奏時能創(chuàng)造出豐富悅耳的和聲。這種簡潔的結(jié)構(gòu)使它們成為機(jī)器學(xué)習(xí)模型的良好訓(xùn)練數(shù)據(jù)。

PAIR 團(tuán)隊(duì)使用了 TensorFlow.js 使得機(jī)器學(xué)習(xí)能夠完全在 Web 瀏覽器中進(jìn)行,而需要像傳統(tǒng)機(jī)器學(xué)習(xí)那樣使用大量的服務(wù)器運(yùn)行。如果某人的計算機(jī)或設(shè)備可能不夠快,無法使用 tensorflow.js 運(yùn)行 Doodle,Doodle 還可以與谷歌的新 Tensor 處理單元(TPUs)一起使用,這種方法就是在數(shù)據(jù)中心快速處理機(jī)器學(xué)習(xí)任務(wù)。

這些組件與 Doodle 團(tuán)隊(duì)的藝術(shù)和工程相結(jié)合,創(chuàng)造了我們今天看到的 Doodle。

Bach Doodle 背后的 ML 模型

Doodle 背后的機(jī)器學(xué)習(xí)模型是 Coconet。3 年前,當(dāng) Magenta 團(tuán)隊(duì)成立時,他們開始研究這個模型。當(dāng)時他們只使用機(jī)器學(xué)習(xí)(ML)來生成旋律。寫一個好的旋律很難,更不用說旋律協(xié)調(diào)了。像每個音樂學(xué)生一樣,他們想到了巴赫的音樂!使用巴赫的 306 個合唱協(xié)調(diào)數(shù)據(jù)集,他們能夠訓(xùn)練機(jī)器學(xué)習(xí)模型,以巴赫的風(fēng)格生成復(fù)調(diào)音樂。

Coconet 被訓(xùn)練從殘缺片段中恢復(fù)巴赫的音樂:團(tuán)隊(duì)從巴赫的音樂里面取一個片段,隨機(jī)刪除一些音符,然后讓模型根據(jù)上下文推測出缺失的音符。其結(jié)果是一個通用的對位模型,接受任意不完全的樂譜作為輸入,計算出完整的樂譜。這一設(shè)置涵蓋了各種各樣的音樂任務(wù),例如協(xié)調(diào)旋律、創(chuàng)建平滑過渡、重寫和細(xì)化現(xiàn)有音樂以及從頭開始創(chuàng)作音樂。

傳統(tǒng)的模型通常是按照從開始到結(jié)束的時間順序生成音符,而 Coconet 可以從任何時間開始,以任何順序開發(fā)音符。這種靈活性使得它成為輔助合成過程有效的工具。音樂家們將這一點(diǎn)用到他們的工作流程中的一種方法是反復(fù)讓 Coconet 填寫分?jǐn)?shù),每次都保留好的內(nèi)容并刪除其余的內(nèi)容。事實(shí)上,這就是 Coconet 的內(nèi)部工作機(jī)制:它在循環(huán)中生成材料,反復(fù)重寫和刪除自己的工作。它從粗略的想法開始,然后反復(fù)計算出細(xì)節(jié),并把材料調(diào)整成一個連貫的整體。

模型的工作原理

Coconet 獲取不完整的樂譜并補(bǔ)充缺失的部分。為了訓(xùn)練它,團(tuán)隊(duì)從巴赫的四段對位合唱集里面選出一段,隨機(jī)刪除一些音符,并要求模型重建刪除的音符。巴赫的作曲和 Coconet 的作品之間的差異給了他們一個學(xué)習(xí)信號,通過這個信號他們可以訓(xùn)練自己的模型。

通過隨機(jī)刪除音符,團(tuán)隊(duì)希望得到一個能夠處理任意不完整輸入的模型。它相當(dāng)于一次訓(xùn)練多個模型,每個模型都適用于不同的場景。

谷歌發(fā)布音樂 AI Doodle 慶祝巴赫生日,這里是它背后的技術(shù)

在團(tuán)隊(duì)看來,「樂譜」是三維物體。巴赫的合唱是為四種聲音而創(chuàng)作的,分別是女高音(S)、中音(A)、男高音(T)和低音(B)。每個聲音的音樂都用鋼琴曲來表現(xiàn):一個二維數(shù)組,其時間(離散)為行數(shù)據(jù),音高為列數(shù)據(jù)。我們假設(shè)每種聲音在任何給定的時間都只唱一個音調(diào)。因此,通常對于每種聲音,在每個時間點(diǎn),他們都有一個 one-hot 基音向量,除了一個單獨(dú)的表示正在唱的音高的向量外,其元素都為零。在存在不確定性的情況下(例如,在模型輸出中),該基音向量將包含基音上的分類概率分布。

團(tuán)隊(duì)把這一疊鋼琴視為卷積特征圖,時間和音高構(gòu)成二維卷積空間,每種聲音都提供一個通道。由于他們將要輸入模型的音符不完整,于是他們?yōu)槊糠N聲音提供一個額外的掩膜通道:二進(jìn)制值指示每個時間點(diǎn)該聲音的音高是否已知。因此,進(jìn)入模型的是一個八通道特征圖。

谷歌發(fā)布音樂 AI Doodle 慶祝巴赫生日,這里是它背后的技術(shù)

該模型是一個非常簡單的卷積神經(jīng)網(wǎng)絡(luò),具有批標(biāo)準(zhǔn)化和殘差連接。對于使用 tensorflow.js 實(shí)現(xiàn)在瀏覽器中運(yùn)行模型的 Doodle,可以通過切換到非縱向可分離卷積來加快計算速度。

團(tuán)隊(duì)訓(xùn)練該模型,以提高音高分配給真正的音符的概率。這促使模型去理解它所接收的不完整樂譜的音樂含義——現(xiàn)在用的是什么音調(diào),用的是什么樂器,下一個音符是什么,前面的音符是什么?

一旦模型得到訓(xùn)練,就可以從模型產(chǎn)生的概率分布中提取音樂。我們可以根據(jù)每個音符的分布對每個音符進(jìn)行采樣。然而,這不能解釋被采樣音符之間的相互作用。通常,確定其中一個音符會改變其他音符的分布。

計算這些交互作用的一種方法是對其中一個音高進(jìn)行采樣,將其添加到不完整的樂譜中,然后再次通過模型傳遞結(jié)果,再重新計算剩余音高的分布。通過重復(fù)這個過程直到所有的音符都確定,團(tuán)隊(duì)在考慮所有的關(guān)聯(lián)關(guān)系的同時完成樂譜。

但是實(shí)際上,他們采用的方法更加強(qiáng)大:將模型的輸出視為一個粗略的草稿,然后通過反復(fù)重寫逐步細(xì)化。具體地說,他們同時對所有音符進(jìn)行采樣,獲得一個完整的(但通常是無意義的)樂譜,然后將其部分刪除并再次傳遞到模型中,然后重復(fù)該過程。隨著時間的推移,需要抹去和重寫的音符越來越少。

團(tuán)隊(duì)在建模的過程中,每次只建模一個變量。同時,他們采用無序建模的方式,并且采用 Gibbs 采樣的方法,從多個順序中生成樂譜。因此,可以保證模型是有效的。具體的解析可以點(diǎn)擊這里查看。

via:1.https://www.google.com/doodles/celebrating-johann-sebastian-bach?hl=en

2.https://magenta.tensorflow.org/coconet

雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

谷歌發(fā)布音樂 AI Doodle 慶祝巴赫生日,這里是它背后的技術(shù)

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說