現(xiàn)在,用音頻也能指揮GAN生成圖像了
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
CLIP大家都不陌生吧?
由OpenAI于今年1月份推出,能夠?qū)崿F(xiàn)文本描述與圖片的精準(zhǔn)匹配。
現(xiàn)在,有人“靈機一動”,從CLIP中學(xué)習(xí)了一種音頻表示方法。
用這個方法搭配VQGAN-CLIP,就能實現(xiàn)聲音到圖像的轉(zhuǎn)變!
比如給它聽4種不同的青蛙叫,它就能生成4種青蛙的照片:

給它聽不同的教堂鈴聲,就能生成下面這樣的圖像:

嗯,畫風(fēng)有點詭異,仿佛看到了還未被完全馴服的AI的內(nèi)心世界……
不過這是不是還挺有意思?
那同樣都使用VQGAN-CLIP,到底是用文字生成還是用這種音頻表示的生成效果更好呢?
這也有一張對比圖片:

第一行是VQGAN-CLIP根據(jù)文字生成的圖片,第二行是根據(jù)音頻。從左到右分別為:街頭音樂、狗叫、小孩玩耍、槍擊聲。
你覺得哪個更像?
目前,關(guān)于這個音頻表示方法的研究已被國際聲學(xué)、語音與信號處理頂會ICASSP接收。

所以,一個音頻是怎么和圖像連接起來的呢?
從CLIP中提取音頻表示方法
下面就來看看這個音頻表示方法有何特殊之處。
方法名叫Wav2CLIP,從下圖我們可以看出它和CLIP的模型架構(gòu)非常像。

作為視聽(audio-visual)對應(yīng)模型,Wav2CLIP也有兩個編碼器,一個是凍結(jié)圖像編碼器(Frozen Image Encoder),一個是音頻編碼器,分別從視頻中提取圖像和音頻數(shù)據(jù)進行訓(xùn)練。
凍結(jié)圖像編碼器通過凍結(jié)CLIP的圖像編碼器獲得,也就是將CLIP視覺模型的圖結(jié)構(gòu)和權(quán)重固化到一起后直接加載運行。
音頻編碼器的預(yù)訓(xùn)練通過提取視頻中CLIP圖像的embedding完成,這也是Wav2CLIP的前置(pretext)任務(wù)。
按照CLIP論文的原始方法,研究人員采用對比損失(contrastive loss)進行特征提取,并添加多層感知器(MLP)作為投影層。
交叉投影的損失函數(shù)定義如下:

△ f/g:投影函數(shù),L:對比損失函數(shù)
添加MLP層的好處有兩個:
一是有助于穩(wěn)定提取過程;
二是能夠加強多模態(tài)的一致性,因為模型學(xué)習(xí)到的音頻embedding能通過這個投影層恢復(fù)CLIP圖像的embedding。
總的來說,Wav2CLIP的訓(xùn)練數(shù)據(jù)為一段視頻,利用CLIP的圖像編碼器(freeze操作)對音頻圖片和音頻進行特征提取,就可以生成“明白”自己應(yīng)該對應(yīng)什么圖片的音頻表示。
所以反過來也可以根據(jù)這種表示推出圖片,就像我們在開頭看到的“青蛙”和“教堂鈴聲”一樣。
具體方法就是通過把引導(dǎo)VQGAN在潛空間中查找與文本提示匹配的圖像的CLIP embeddings,替換成Wav2CLIP音頻embeddings而完成。
由于Wav2CLIP不同于以往的視聽對應(yīng)模型,它不需要將視覺模型與聽覺模型結(jié)合起來學(xué)習(xí),所以訓(xùn)練方法也就非常輕量級。
再加上Wav2CLIP的embeddings源于CLIP,這意味著它們是與文字對齊的。
所以經(jīng)過額外層的訓(xùn)練,Wav2CLIP也能執(zhí)行零樣本音頻分類、音頻字幕和跨模態(tài)檢索(根據(jù)文本搜索音頻)等下游任務(wù)。
下游任務(wù)性能比較
在實驗評估中,Wav2CLIP采用ResNet-18的架構(gòu)作為音頻編碼器。
首先來看Wav2CLIP在分類和檢索任務(wù)上的性能。

- 與非SOTA的音頻表示模型相比,Wav2CLIP在幾乎所有分類和檢索任務(wù)中的性能都比YamNet和OpenL3略強,不是最強的地方,表現(xiàn)和第一名差別也不大。
具體在檢索任務(wù)上,對于音頻檢索(AR),可以看到Wav2CLIP作為幀級特征提取器的性能很有競爭力。
對于跨模態(tài)檢索(CMR)任務(wù),Wav2CLIP達到了0.05 MRR,這意味著它能夠從前20個音頻中檢索出正確結(jié)果,比OpenL3好不少。
- 與SOTA模型相比,仍有改進的余地。
不過也情有可原,因為對于大多數(shù)SOTA模型來說,編碼器在每個任務(wù)上都經(jīng)過專門的訓(xùn)練或微調(diào),而Wav2CLIP只用凍結(jié)特征提取器,并且只訓(xùn)練簡單的MLP分類器輸出答案,也就是所有任務(wù)都采用的是同一個音頻編碼器。
再看在音頻字幕任務(wù)中與基線比較的結(jié)果:
所有指標(biāo)都略優(yōu)于基線。
不過作者表示,這不是一個公平的比較,因為他們的編碼器和解碼器架構(gòu)都不同,但他們想表明的是:Wav2CLIP很容易適應(yīng)不同的任務(wù),并且仍然具有合理的性能。

最后再來看一下Wav2CLIP與OpenL3和YamNet使用不同百分比的訓(xùn)練樣本進行VGGSound音頻分類的結(jié)果(VGGSound包含309種10s的YouTube視頻)。
可以發(fā)現(xiàn)Wav2CLIP碾壓OpenL3,和YamNet不相上下——使用10%的訓(xùn)練數(shù)據(jù)就能達到相同性能。
不過Wav2CLIP和YamNet預(yù)訓(xùn)練的前置任務(wù)非常不同,YamNet需要大量的標(biāo)記數(shù)據(jù),Wav2CLIP在完全沒有人工注釋的情況下完成預(yù)訓(xùn)練,所以Wav2CLIP更易于擴展。

總的來說,這種音頻表示方法進一步訓(xùn)練的模型在上面這3種任務(wù)上都能表現(xiàn)出與同類相媲美或更高的性能。
在未來工作方面,研究人員表示將在Wav2CLIP上嘗試各種專門為多模態(tài)數(shù)據(jù)設(shè)計的損失函數(shù)和投影層,并探索從共享embedding空間生成音頻,以實現(xiàn)從文本或圖像到音頻的跨模態(tài)生成。
論文地址:
https://arxiv.org/abs/2110.11499
開源代碼:
https://github.com/descriptinc/lyrebird-Wav2CLIP
更多音頻轉(zhuǎn)圖像的demo欣賞:
https://descriptinc.github.io/lyrebird-wav2clip