圓栗子 發自 凹非寺 量子位 報道 | 公眾號 QbitAI
圓栗子 發自 凹非寺
英偉達家的新AI,可以把視頻里的一隻金毛,迅速變成貓鼬。
重點是,不用多少數據。只要給AI看兩張貓鼬的靜態圖:
在看到這兩張圖之前,AI從來沒有見過貓鼬這種動物,訓練集里沒有。
AI沒見過的動物還有很多,只要給它一兩張照片熟悉一下,就可以把金毛換成它們的臉。
比如,兇猛的大型貓科動物:
這樣說來,金毛的親戚如哈士奇等輩,更加不在話下:
雖說同是圖到圖的翻譯,同是無監督,這隻AI和馬變斑馬的前輩非常不同。前輩只能在自己見過的動物之間做翻譯。訓練的時候,看過許多馬,也看過許多斑馬;
而英偉達的新選手,相當於訓練中從沒見過斑馬。訓練集里沒有的動物,只要測試的時候能看到一兩張圖,就夠了。
小樣本學習 (Few-Shot Learning) 演算法,對訓練數據的要求大大大大大大降低了。
團隊把演算法開源了,還上線了一鍵換臉Demo。所以,先玩耍一下再講原理。
在下雞凍地嘗試了Demo。
第一題,把一隻高冷的喵傳了上去,用方框選中頭部。
於是,各種動物都獲得了半側面的冷峻:
第二題,把一隻雷布斯傳了上去,也是半側面:
意想不到,生成了貴族氣息的半獸人:
AI的藝術天分撲面而來,不過還是要鄭重提醒各位:
Demo應用叫做寵物換臉 (PetSwap) ,請選擇正確的打開方式,下面是正確示範。
第三題,衝破次元壁。去吧,大偵探皮卡丘:
大家都戴上了福爾摩斯的帽子,不過只有右上角的獵犬,解鎖了性感的腮紅。
真是一個優雅又充實的早晨。
玩夠,該看原理了。
就像開頭講到的,這是一個小樣本翻譯器。它要把內容圖 (Content Image) 如金毛,換成類別圖 (Class Image) ,如哈士奇或者美洲獅。
模型分為三個部分:
一是內容編碼器 (Content Encoder) ,粉色部分。它把輸入的內容圖 (金毛) ,映射到一個內容潛碼 (Content Latent Code) 上。二是類別編碼器 (Class Encoder) ,綠色部分。先把每張類別圖 (哈士奇) 映射到一個潛碼上。然後取個平均,就得到整個類別的潛碼了。三是解碼器 (Decoder) ,藍色部分。先把類別潛碼映射到adaIN參數上,然後把內容潛碼做個解碼,來生成翻譯的結果圖。
一是內容編碼器 (Content Encoder) ,粉色部分。它把輸入的內容圖 (金毛) ,映射到一個內容潛碼 (Content Latent Code) 上。
訓練的時候,數據集里有金毛也有哈士奇。AI就在這些見過的類別之間,修鍊換臉技能:
可是,訓練集里沒有美洲獅。測試的時候,要生成美洲獅怎麼辦呢?
秘密就在這裡:當類別圖和內容圖長得一樣的時候,就讓模型生成一個重構 (Reconstruction) 。
這樣,只要在測試的過程中,臨時看一張美洲獅 (或者幾張) ,就能把沒見過的瞬間變為見過的。AI把訓練集里的狗,翻譯美洲獅,也就不難了:
大功告成。
這樣 (優) 秀的AI,你一定也想調教一下。
代碼、Demo、論文,都在這裡了:
Demo傳送門:
論文傳送門:
代碼傳送門:
主頁傳送門:
—完—
量子位 · QbitAI
?? ? 追蹤AI技術和產品新動態
戳右上角「+關注」獲取最新資訊↗↗
如果喜歡,請分享or點贊吧~比心?
推薦閱讀: