ICLR 2021 | 微軟亞洲研究院精選論文一覽(1)
編者按:機(jī)器學(xué)習(xí)領(lǐng)域的全球頂會(huì) ICLR 2021 將于5月3日至7日在線上舉行。今年的 ICLR 會(huì)議一共接收了860篇論文,接受率接近29%。其中,微軟亞洲研究院有多篇論文入選,今天我們精選了5篇為大家進(jìn)行介紹。這5個(gè)工作的研究主題關(guān)鍵詞包括語音合成、代碼智能、自監(jiān)督、Transformer、復(fù)雜決策、預(yù)訓(xùn)練、分類任務(wù)......
AdaSpeech: 個(gè)性化定制的文本到語音合成系統(tǒng)
論文地址: https://arxiv.org/pdf/2103.00993.pdf
語音個(gè)性化定制(Custom Voice)是一個(gè)非常重要的文本到語音合成(Text to speech, TTS)服務(wù)。它通過使用很少量的目標(biāo)說話人的語音數(shù)據(jù),來微調(diào)(適配)一個(gè)源 TTS 模型以合成目標(biāo)說話人的聲音。然而,當(dāng)前的語音個(gè)性化定制存在兩個(gè)獨(dú)特的挑戰(zhàn):1)為了支持不同類型的說話人,TTS 模型需要支持不同類型的聲學(xué)條件,比如不同的口音、說話風(fēng)格、錄音環(huán)境等,這可能和訓(xùn)練源 TTS 模型使用的聲音數(shù)據(jù)的聲學(xué)條件非常不一樣;2)為了支持大量的說話人,每個(gè)說話人所需要的微調(diào)參數(shù)量需要盡可能的小,否則將會(huì)極大地增加語音合成服務(wù)的模型存儲(chǔ)消耗,例如,支持上百萬用戶的參數(shù)量將達(dá)到上百 PB 的存儲(chǔ)大小。
在本文中,微軟亞洲研究院的研究員們提出了 AdaSpeech,一個(gè)可適配的 TTS 系統(tǒng)來實(shí)現(xiàn)高質(zhì)量和高效率的語音個(gè)性化定制。AdaSpeech 采用 FastSpeech 2 為基本的模型框架,如圖1所示。AdaSpeech 含有兩個(gè)重要的模塊來解決上述兩個(gè)個(gè)性化定制的挑戰(zhàn):1)為了支持含有不同類型聲學(xué)條件的語音數(shù)據(jù),研究員們設(shè)計(jì)了不同粒度的聲學(xué)條件建模(Acoustic Condition Modeling);2)為了使用更少的適配參數(shù)同時(shí)又保證高的定制音質(zhì),研究員們提出了自適應(yīng)層歸一化(Conditional Layer Normalization)并應(yīng)用在模型的****中,當(dāng)微調(diào)模型時(shí),只需調(diào)整自適應(yīng)層歸一化的參數(shù)就可極大降低適配參數(shù)。
圖1:AdaSpeech 模型架構(gòu)
聲學(xué)條件建模(Acoustic Condition Modeling)的結(jié)構(gòu)如圖2所示。研究員們將聲學(xué)條件建模分為三個(gè)粒度:說話人級別(speaker level)、句子級別(utterance level)和音素級別(phoneme level),如圖2(a) 所示。在說話人級別,研究員們采用了常見的說話人嵌入向量來刻畫說話人特征。在句子級別,使用了一個(gè)聲學(xué)編碼器從參考語音中抽取句子級特征,如圖2(b)所示,其訓(xùn)練過程中利用了目標(biāo)語音作為參考語音,而測試中則隨機(jī)選用了該說話人的其它語音來作為參考語音。在音素級別,研究員們使用了另一個(gè)聲學(xué)編碼器從目標(biāo)語音中抽取音素級別的特征,如圖2(c)所示。同時(shí),研究員們還訓(xùn)練了另一個(gè)音素級別的聲學(xué)預(yù)測器來預(yù)測這些特征,以便在測試時(shí)使用,如圖2(d)所示。
圖2:Acoustic Condition Modeling 的結(jié)構(gòu)示意
自適應(yīng)層歸一化(Conditional Layer Normalization)的結(jié)構(gòu)如圖3所示。在語音****的每一層中,自適應(yīng)層歸一化通過兩個(gè)線性層從說話人嵌入表征里預(yù)測出層歸一化的 scale 和 bias 參數(shù),以更加自適應(yīng)地調(diào)節(jié)模型的隱層表征。在適配過程中,只需要調(diào)整自適應(yīng)層歸一化的相關(guān)參數(shù),極大降低了調(diào)整參數(shù)量,同時(shí)保證了定制音質(zhì)。
圖3:Conditional Layer Normalization 的結(jié)構(gòu)示意
研究員們在 LibriTTS 數(shù)據(jù)集上訓(xùn)練了源 TTS 模型,然后在 VCTK 和 LJSpeech 上進(jìn)行了語音定制。對于每個(gè)定制的說話人,只使用了20條語音進(jìn)行模型適配。結(jié)果如表1所示,1)與基線(spk emb)相比,AdaSpeech 在極低的適配參數(shù)下(4.9K),取得了極大的定制音質(zhì)提升;2)與基線(decoder)相比,AdaSpeech 取得了相同或略好的定制音質(zhì)前提下,還能極大降低所需參數(shù)量(4.9K vs 14.1M),很好的滿足了語音個(gè)性化定制場景的需求。
表1:AdaSpeech 的語音定制結(jié)果,MOS 和 SMOS 分別用來評估生成語音的自然度和相似度,分值范圍為0-5分,分值越高表示越好。
GraphCodeBERT: 用代碼的語義結(jié)構(gòu)學(xué)習(xí)代碼表示的預(yù)訓(xùn)練模型
論文地址: https://openreview.net/pdf?id=jLoC4ez43PZ
代碼地址: https://github.com/microsoft/CodeBERT
近年來, 預(yù)訓(xùn)練模型在代碼智能 (code intelligence) 領(lǐng)域中取得了巨大的成功,其能夠支持各種代碼相關(guān)的任務(wù),如代碼檢索、補(bǔ)全、翻譯、糾錯(cuò)等場景。目前的預(yù)訓(xùn)練模型通常將代碼當(dāng)作序列而忽視了代碼本身潛在的結(jié)構(gòu),如抽象語法樹和數(shù)據(jù)流等。然而,這些代碼結(jié)構(gòu)提供了重要的語義信息,能夠幫助模型更好地理解代碼。因此,微軟亞洲研究院的研究員們提出了利用代碼的語義結(jié)構(gòu)來學(xué)習(xí)代碼表示的預(yù)訓(xùn)練模型 GraphCodeBERT。
在本文中,研究員們使用了代碼的數(shù)據(jù)流結(jié)構(gòu)來表示變量之間的依賴關(guān)系,如圖4所示。該數(shù)據(jù)流是一個(gè)圖結(jié)構(gòu),其中結(jié)點(diǎn)為變量而邊表示變量之間的信息流向。該語義結(jié)構(gòu)對理解代碼提供了重要的語義信息。以 v=max_value-min_value 為例,程序員并不總是遵循命名約定,比如 v。而數(shù)據(jù)流提供了一種理解變量v的語義的方法,即 v的值來自 max_value 和 min_value。
圖4:源代碼(左側(cè))中數(shù)據(jù)流(右側(cè))的抽取過程
基于數(shù)據(jù)流結(jié)構(gòu),研究員們提出了 GraphCodeBERT,如圖5所示。該模型將代碼、數(shù)據(jù)流和文本作為輸入,經(jīng)過12層的 Transformers 得到代碼的表示。為了將圖結(jié)構(gòu)信息引入 GraphCodeBERT,研究員們提出了基于圖的注意力機(jī)制來過濾不相關(guān)的信息,具體公式可參考論文。同時(shí)為了利用代碼的語義結(jié)構(gòu)來學(xué)習(xí)代碼表示,研究員們還提出了兩個(gè)基于數(shù)據(jù)流的預(yù)訓(xùn)練目標(biāo):代碼和數(shù)據(jù)流的變量對齊(橙色),數(shù)據(jù)流的邊預(yù)測(藍(lán)色)。
圖5:GraphCodeBERT 模型結(jié)構(gòu)
該模型在代碼搜索、克隆檢測、翻譯和糾錯(cuò)四個(gè)任務(wù)都進(jìn)行了評測。在這四個(gè)任務(wù)中,GraphCodeBERT 均取得了當(dāng)前最好的成績,具體細(xì)節(jié)請見表2-5。
表2:代碼搜索任務(wù)上的模型性能對比
表3:代碼克隆檢測任務(wù)上的模型性能對比
表4:代碼翻譯任務(wù)上的模型性能對比
表5:代碼糾錯(cuò)任務(wù)上的模型性能對比
同時(shí),通過樣例分析(如表6)可以看出,當(dāng)做出一點(diǎn)改動(dòng),如 return a→return b和 sum→mean,文本和代碼的語義都將不匹配。如果不使用數(shù)據(jù)流,GraphCodeBERT 將預(yù)測錯(cuò)誤。而使用了數(shù)據(jù)流之后,GraphCodeBERT 對于這些改動(dòng),仍然能夠預(yù)測正確,這說明了數(shù)據(jù)流對代碼理解的重要性。
表6:將文本和代碼作為輸入,利用 GraphCodeBERT 預(yù)測文本和代碼語義的匹配概率
預(yù)訓(xùn)練還需要監(jiān)督信息嗎?一文了解自監(jiān)督訓(xùn)練的優(yōu)勢
論文地址: https://arxiv.org/pdf/2006.06606.pdf
利用帶有大量人工標(biāo)注標(biāo)簽的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練曾經(jīng)是大多數(shù)視覺應(yīng)用的標(biāo)準(zhǔn)做法。然而隨著自監(jiān)督在多項(xiàng)任務(wù)上完勝有監(jiān)督預(yù)訓(xùn)練,成本高昂的人工標(biāo)注似乎只是徒勞。本篇論文深入研究了為什么自監(jiān)督訓(xùn)練在遷移任務(wù)上更有優(yōu)勢,以及結(jié)合新的發(fā)現(xiàn),是否有可能改進(jìn)有監(jiān)督的預(yù)訓(xùn)練。
一、透過遷移性能觀察預(yù)訓(xùn)練
結(jié)論一:圖像增強(qiáng)顯著影響遷移性能
自監(jiān)督的對比學(xué)習(xí)通常依賴于強(qiáng)烈的圖像增強(qiáng)技術(shù)。這里,研究員們仔細(xì)對比了圖像增強(qiáng)技術(shù)對于自監(jiān)督模型以及有監(jiān)督模型的影響。在下表中,研究員們發(fā)現(xiàn)圖像增強(qiáng)對于自監(jiān)督和有監(jiān)督模型均是有效的,但是對于自監(jiān)督模型的影響尤為明顯。
表7:預(yù)訓(xùn)練階段的圖像增強(qiáng)對于遷移學(xué)習(xí)的影響顯著
結(jié)論二:自監(jiān)督的預(yù)訓(xùn)練模型主要遷移了低層和中層的特征,而非高層語義
自監(jiān)督在線性分類任務(wù)上取得了不錯(cuò)的性能,似乎印證了自監(jiān)督學(xué)習(xí)也學(xué)習(xí)到了高層次的語義信息,但本篇論文通過實(shí)驗(yàn)質(zhì)疑了這個(gè)結(jié)論。當(dāng)嘗試在不同數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練時(shí),即使這些數(shù)據(jù)和下游任務(wù)包含的圖像大相徑庭(比如人臉),也能取得不錯(cuò)的遷移性能。嘗試的數(shù)據(jù)集如表8所示。相反,當(dāng)預(yù)訓(xùn)練數(shù)據(jù)集和下游數(shù)據(jù)集的底層信息不同時(shí),比如利用游戲合成的駕駛場景數(shù)據(jù)集,性能會(huì)有一定程度的下降。因此驗(yàn)證了對比學(xué)習(xí)主要遷移了底層和中層特征。
表8:遷移學(xué)習(xí)對于預(yù)訓(xùn)練數(shù)據(jù)的語義信息沒有明顯的依賴
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。