論文解讀:《CycleGAN-VC3: Examining and Improving CycleGAN-VCs for Mel-spectrogram Conversion》
個人復現代碼:
https://github.com/jackaduma/CycleGAN-VC3
CycleGAN-VC2代碼:
https://github.com/jackaduma/CycleGAN-VC2
ABSTRACT非並行語音轉換(VC)是一種無需使用並行語料庫即可學習源語音和目標語音之間的映射的技術。最近,周期一致的對抗網絡(CycleGAN)-VC和CycleGAN-VC2在此問題上顯示出了令人鼓舞的結果,並已被廣泛用作基準方法。但是,由於CycleGAN-VC / VC2對mel譜圖轉換的有效性不明確,即使比較方法採用mel譜圖作為轉換目標,它們也通常用於mel-cepstrum轉換。為了解決這個問題,我們研究了CycleGAN-VC / VC2對mel譜圖轉換的適用性。
通過初步實驗,我們發現它們的直接應用損害了在轉換過程中應保留的時頻結構。為了解決這個問題,我們提出了CycleGAN-VC3,它是CycleGANVC2的改進,它結合了時頻自適應歸一化(TFAN)。使用TFAN,我們可以調整轉換特徵的比例和偏差,同時反映源Mel頻譜圖的時頻結構。我們在性別間和性別內非平行VC上評估了CycleGAN-VC3。對自然性和相似性的主觀評估表明,對於每個VC對,CycleGAN-VC3的性能均優於或優於兩種類型的CycleGAN-VC2,其中一種適用於mel-cepstrum,另一種適用於mel-spectrogram。
1. INTRODUCTION語音轉換(VC)是一種用於在保留語言信息的同時轉換語音中 non/paralinguistic 語言信息的技術。由於VC在語音助手,語音增強和口音轉換等方面的潛在多樣化應用,因此已經進行了積極的研究。機器學習方法被廣泛使用,包括基於高斯混合模型和神經網絡(NN)的統計方法,包括前饋NN ,遞歸NN ,卷積NN(CNN), 注意網絡和生成對抗網絡(GANs)。
為了便於學習,許多VC方法(包括上述方法)使用並行語料庫學習從源語音到目標語音的映射。但是,收集此類數據並不一定容易或實用。此外,即使收集了此類數據,大多數VC方法所需的時間對齊過程仍然是一個挑戰。
作為替代,不需要並行語料庫進行訓練的非並行VC最近受到關注。就數據收集成本而言,非並行VC具有吸引力。然而,由於缺乏明確的監督,其學習具有挑戰性。為了解決這個問題,一些研究已經利用語言信息。儘管這種額外的監督可以提高性能,但是需要輔助數據或模塊來提取語言信息。
為了避免這種要求並僅使用聲學數據來實現非並行VC,已經提出了基於變分自動編碼器的方法和基於GAN的方法。其中,CycleGAN-VC 及其變體(CycleGAN-VC2 和StarGAN-VCs )已經引起了人們的關注,並且在一些研究中已被廣泛用作基準方法。但是,由於它們對於mel-spectrogram轉換的有效性含糊不清,即使比較方法採用mel-spectrogram作為轉換目標時,它們也通常用於半譜峰轉換。
這些事實促使我們研究CycleGAN-VC 和CycleGAN-VC2 在質譜圖轉換中的適用性。通過最初的實驗,我們發現將CycleGAN-VC / VC2直接應用於質譜圖時,會損害轉換期間應保留的時頻結構,如圖1所示。
為了解決這個問題,我們提出了CycleGAN-VC3,它是對CycleGAN-VC2的改進,它結合了時頻自適應歸一化(TFAN)。TFAN受到空間自適應(反)歸一化(SPADE)的啟發,該方法最初提出用於語義圖像合成。我們修改了SPADE,以將其應用於1D和2D時頻特徵。使用TFAN,我們可以調整轉換特徵的比例和偏差,同時反映源Mel頻譜圖的時頻結構。
我們使用語音轉換挑戰2018(VCC 2018)數據集,研究了CycleGAN-VC3在性別間和性別內非並行VC上的有效性。對自然性和相似性的主觀評估表明,對於arXiv:2010.11672v1 。2020年10月22日,每個VC對,CycleGAN-VC3的性能均優於兩種類型的CycleGANVC2,其中一種用於mel-cepstrum,另一種用於mel-spectrogram。
本文的其餘部分安排如下。在第2節中,我們簡要回顧了傳統的CycleGAN-VC / VC2。在第3節中,我們介紹了擬議的CycleGAN-VC3。在第4節中,我們描述了實驗結果。第5節簡要概述和描述了未來的工作。
2. CONVENTIONAL CYCLEGAN-VC/VC22.1. Training objectivesCycleGAN-VC / VC2旨在學習映射,該映射將源聲學特徵
轉換為目標聲學特徵
,而無需使用並行語料庫。受最初提出用於不成對圖像到圖像轉換的CycleGAN 的啟發,CycleGAN-VC / VC2使用對抗性損失,循環一致性損失和身份映射損失來學習映射。此外,CycleGAN-VC2使用第二次對抗性損失來改善重構特徵的細節。
對抗損失 Adversarial loss。為了確保轉換後的特徵
在目標Y中,按如下方式使用對抗損失:
其中判別器試圖通過使損失最大來將合成的與實數y區分開,而試圖通過最小化損失來合成可以欺騙的。類似地,逆映射和鑑別器使用進行對抗訓練。
Cycle-consistency loss 周期一致性損失。為了保持轉換中的成分,循環一致性損失
的用法如下:
此損失與控制其相對重要性的超參數一起使用。損失有助於和識別周期一致性約束內的偽對。
Identity-mapping loss 身份映射損失。為了便於保存輸入,使用了一個標識映射損失,如下所示:
此損失與控制其相對重要性的超參數一起使用。
Second adversarial loss 第二次對抗損失。在CycleGAN-VC2中,為了減輕由L1損失引起的統計平均(公式2),引入了一個附加的鑑別符,並對循環轉換後的特徵施加了第二個對抗損失,如下所示:
類似地,引入鑑別符,並將施加於逆向映射。
2.2. Generator architecturesCycleGAN-VC使用一維CNN生成器來捕獲整體關係以及特徵方向,同時保留時間結構。特別地,網絡由下採樣,殘差和上採樣塊組成,以有效地捕獲寬範圍的時間關係,並且門控線性單元(GLU)被用作激活來自適應地學習順序和層次結構。
但是,對CycleGAN-VC2的研究表明,降採樣和升採樣塊中的一維CNN會影響應保留在轉換中的結構。為了緩解這種情況,CycleGAN-VC2引入了2-1-2D CNN,該模型在上採樣和下採樣塊中使用2D CNN,而在剩餘塊中使用1D CNN。前者用於在保留原始結構的同時提取時頻結構。後者用於執行動態更改。
2.3. Discriminator architecturesCycleGAN-VC使用2D CNN鑑別器來基於2D頻譜紋理鑑別數據。特別是,它使用具有完全連接層作為最後一層的FullGAN,以根據整體輸入結構來區分數據。但是,在FullGAN中,需要學習許多參數會導致學習困難。為了減輕這種情況,CycleGAN-VC2引入了在最後一層使用卷積的PatchGAN 。這減少了參數並穩定了GAN訓練。
3. CYCLEGAN-VC33.1. TFAN: Time-frequency adaptive normalizationCycleGAN-VC和CycleGAN-VC2最初是為梅爾-倒譜轉換而設計的,而它們在梅譜圖轉換中的有效性還沒有得到充分檢驗。我們通過經驗檢查了它們的有效性,發現它們損害了應保留在轉換中的時頻結構,如圖1所示。
出於這一發現,我們設計了TFAN來擴展實例歸一化(IN),以調整轉換特徵的比例和偏差,同時以時間和頻率方式反映源信息(即x)。尤其是,我們針對1D和2D時頻特徵設計了TFAN,以便在2-1-2D CNN中使用(第2.2節)。圖2說明了TFAN的體系結構。給定特徵f,TFAN以類似於IN的通道方式對其進行歸一化,然後使用標度和偏差以元素方式對歸一化的特徵進行調製,這是使用CNN從x計算得出的:
其中是輸出特徵,和分別是f的通道平均和標準偏差。
在IN中,以通道方式應用與x無關的比例和偏差,而在TFAN中,以元素方式應用根據x(即和)計算的比例和偏差。這些差異允許TFAN調整f的比例和偏差,同時以時間和頻率方式反映x。
請注意,TFAN受SPADE 的啟發,該技術最初是為語義圖像合成而提出的。
主要區別在於
(1)SPADE是為2D圖像特徵而設計的,而TFAN是為1D和2D時頻特徵而設計的;
(2)SPADE在圖2中的虛線框所示的組件中使用了一層CNN,因為語義圖像合成中不需要進行大的更改,而TFAN使用多層CNN來確保動態更改,並且
(3)SPADE基於批次歸一化,而TFAN基於IN。我們檢查(1)和(2)的影響,並在4.2節中介紹我們的發現。
3.2. Implementation在CycleGAN-VC3中,我們將TFAN合併到CycleGAN-VC2發生器中(即2-1-2D CNN(第2.2節))。
特別是,將塊中的IN和上採樣塊中的IN分別替換為1D TFAN和2D TFAN,如圖3所示。在TFAN中,我們設置了通道數(即)和內核大小。h(圖2)分別為128和5。我們通過改變N並調整TFAN的插入位置來檢查性能,並在4.2節中介紹我們的發現。鑑別器與CycleGAN-VC2中使用的鑑別器相同(即PatchGAN(第2.3節))。
4. EXPERIMENTS我們在VCC 2018 的Spoke(即非並行VC)任務上評估了CycleGAN-VC,其中包含美國英語專業人士的錄音。我們選擇了考慮所有性別間和性別內部VC的發言人子集:VCC2SF3(SF),VCC2SM3(SM),VCC2TF1(TF)和VCC2TM1(TM),其中S,T,F和M代表來源 ,目標,女性和男性。使用2個來源和2個目標的組合進行評估。對於每個說話者,分別使用81 utterances(大約5分鐘,對於VC來說相對較低)和35 utterances進行訓練和評估。在訓練集中,源話語和目標話語之間沒有重疊;因此,必須在完全不平行的情況下解決此問題。記錄被下採樣到22.05 kHz。在研究MelGAN (我們在實驗中將其用作聲碼器)之後,我們提取了一個80維對數梅爾聲譜圖,其窗口長度為1024,躍點長度為256個樣本。
轉換過程。這項研究的目的是研究使用CycleGAN-VC進行mel-spectrogram轉換的可行性。
因此,我們將CycleGAN-VC用於Mel譜圖轉換,並使用預訓練的MelGAN聲碼器合成波形。2我們沒有更改聲碼器的參數,因此我們可以專注於Melspectrogram轉換的評估。但是,對每個揚聲器進行微調是一種可能的改進方法。
網絡體系結構。隨著聲學特徵從mel倒頻譜變為mel頻譜圖,特徵維從35增大到80。然而,CycleGAN-VC的生成器是完全卷積的;它的生成是完全卷積的。因此,可以在不修改網絡體系結構的情況下使用它們。關於鑑別器,我們使用與mel-cepstrum轉換相同的網絡架構,不同的是在CycleGANVC2 / VC3中,倒數第二個卷積層的內核大小在頻率方向上增加了一倍。
訓練設置。訓練設置類似於在CycleGAN-VC / VC2中用於mel-cepstrum轉換的設置。對於預處理,我們使用訓練數據的均值和方差對梅爾頻譜圖進行歸一化。我們使用最小二乘GAN 作為GAN目標。我們使用Adam優化器對網絡進行了500k迭代訓練,批處理大小為1。訓練樣本由隨機裁剪的64幀(約0.75 s)組成。生成器的學習率設置為0.0002,鑑別器的學習率設置為0.0001,動量項和分別為0.5和0.999。
和分別設置為10和5,並且僅用於前10k迭代。
請注意,類似於原始的CycleGAN-VC / VC2,我們沒有使用額外的數據,模塊或時間對齊過程進行培訓。
我們進行了客觀評估,以研究TFAN參數選擇的效果以及CycleGAN-VC之間的性能差異。直接測量目標光譜圖和轉換的光譜圖之間的差異非常困難,因為它們的對齊方式並不容易。作為替代方案,我們使用了以前的VC 中常用的兩個評估指標:梅爾譜倒譜失真(MCD),它根據目標和轉換後的梅爾譜倒譜測量全局結構差異,以及 調製譜距離(MSD),它基於mel-cepstra的目標和轉換後的調製譜評估局部結構差異。對於這兩個指標,值越小,性能越好。使用WORLD 從目標或轉換後的波形中提取了35維梅爾倒譜參數。
TFAN參數選擇的效果。我們最初檢查了TFAN參數選擇的效果。特別是,我們研究了在改變TFAN的深度(圖2中的N)和插入TFAN的位置(和/或上採樣模塊(見圖3))下的性能。表1(a)和(b)列出了各自的結果。我們的主要發現如下。
(1)不同深度TFAN的比較(表1(a))。
我們發現
(i)1深度TFAN表現最差,但SF-TF除外,後者的表現與其他表現相當,並且
(ii)分數在大約N = 3時達到峰值。這表明使用多層CNN執行動態更改的重要性。這不同於應用SPADE 的語義圖像合成。
(2)TFAN位置的比較(表1(b))。我們發現,在和升採樣模塊中聯合使用1D TFAN和2D TFAN最為有效。因此,在以下實驗中,我們將N設置為3,並在兩個位置都使用了TFAN。
CycleGAN-VC之間的比較。我們分析了CycleGAN-VC之間的性能差異。除了CycleGAN-VC(V1),-VC2(V2)和-VC3(V3)外,我們還通過U-net (V2U)檢查了CycleGAN-VC2,這可能是TFAN傳播的替代選擇 將源信息轉換為要素。表1(c)總結了結果。V2和V3通常得分最高或第二。在這兩個指標中,V3在大多數情況下都表現出更好的性能。此外,我們分別在圖1和第4.3節中顯示了定性和主觀比較。
4.3. Subjective evaluation我們進行了聽力測試,以評估CycleGAN-VC在mel-spectrogram轉換中的適用性。我們比較了四種模型:具有mel-倒譜轉換的CycleGAN-VC2(當前最佳和基準模型;用B表示)和具有mel-頻譜圖轉換的CycleGAN-VC,-VC2和-VC3(由V1,V2和V3表示) , 分別)。為了衡量自然性和說話人的相似性,我們進行了平均意見得分(MOS)測試3,其中包括目標地面真實語音(GT)作為錨點樣本。在兩個測試中,所有評估數據(35個發音)均用於評估,每個發音均評估了一次。在說話人相似性測試中,我們以隨機順序將轉換後的語音和目標語音(話語內容不同)配對。分別有9位和11位聽眾參加了自然性和說話人相似性測試。音頻樣本可在線獲得。1
圖4顯示了結果。我們的主要發現如下。(1)CycleGAN-VC2用於半倒譜(B)和mel頻譜圖(V2)的比較。就自然性而言,V2對於跨性別的VC(SF-TM和SM-TF)特別有效,對於說話人的相似性,結果取決於情況。這表明直接應用於mel-spectrogram(即V2)不一定是合理的。
(2)CycleGAN-VC(V1,V2和V3)之間的比較。在大多數情況下,隨著版本的增加,兩種指標的性能都會提高。與以前的版本相比,這確認了V2和V3的實用性。(3)CycleGAN-VC3(V3)的有效性。與其他型號相比,V3具有更好或更具競爭力的性能。這表明有可能將V3用作代替B的新基準方法。
5. CONCLUSIONS儘管CycleGAN-VC被廣泛用作基準方法,但仍未充分檢驗其用於mel譜圖轉換的可行性。因此,在檢查之後,我們提出了CycleGAN-VC3,這是對包含TFAN的CycleGANVC2的改進。使用此模塊,我們可以轉換mel頻譜圖,同時自適應地反映源mel頻譜圖。實驗結果表明,使用CycleGAN-VC3作為替代BenchGAN-VC2的新基準方法的潛力。將TFAN應用於高級任務,例如多域VC 和應用程式VC ,仍然是一個有趣的未來方向。