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