Deepfake偷走你的臉


Deepfake
Deepfake 是使用機器學習演算法來將現有的圖像或影像,疊加到目標圖片或影片上,來做出以假亂真影像的一種技術 Fig.1。其實在生活中很常見,前一陣子流行的換頭髮顏色、更換年齡 ... 的濾鏡特效都可以算是初階的Deepfake。
Fig.1 右圖將鋼鐵人換成由湯姆哥飾演 (來源自參考資料[5])

那麼在Deepfake中,主要有兩大機制:1.自動編碼器(Autoencoder) 2.生成對抗網路(GAN)

自動編碼器(Autoencoder)
當我們將上百張的臉A和臉B丟進自動編碼器AI模型中,編碼器會搜集兩張臉相似的地方,並把它們壓縮成極小的數據。再來,我們使用兩組不同的解碼器(解碼器A和解碼器B),來各別讀取剛剛得到的極小數據,進而重建出臉A和臉B。(訓練多次後,編碼器與解碼器會自行學習調整)[7]

最後就到了換臉的階段,此時只要將輸入的臉A用解碼器B來重建,就成功了。(解碼器B會利用臉A的表情與五官定位,進行臉B的重建,也就是在A的頭長出B的臉)

生成式對抗網路(Generative Adversarial Network)又簡稱GAN
其核心概念就是整個系統擁有兩組神經網路:一個負責製造仿造圖像/一個負責檢驗仿造圖像。藉由這兩組神經網路互相試探來提升彼此的精確度,最終可以得到兩個模型:一個擅長製造虛擬人臉/一個擅長辨別虛擬人臉與真實人臉的不同。

也因為GAN透過自己相互對抗來生成與辨別網路,所以大幅減少資料量的需求,為非監督式學習提供了更進步的方法(以生成人像這個例子來說,我們只需要要丟進真人的圖片就好,亦不需要另外label)
Fig.2 GAN訓練流程圖

當然我們還是可以從一些細節看出模擬人臉的破綻,例如圖中男孩的手與男人的領子都有些不自然處Fig.3
Fig.3 這是一個可以藉由重整頁面來獲得各種模擬人臉的網站 https://thispersondoesnotexist.com/

訓練好的Generator就像是一組模擬圖生成機器,當我們丟入一組相對應的向量,就可以得到輸出的圖片,也就是說當我們將任兩組向量用內插法得到新的一組向量,再將其丟進Generator,就可以得到他們之間漸變的圖案Fig.4 Fig.5。
Fig.4 左圖從數字1漸變成數字5/ 右圖從數字7漸變成數字1 (來源自原始論文[1])

Fig.5 動物從左邊開始變成另一種動物 (來源自原始論文[3])

另外,在初期GAN也有一篇有趣的論文[2],該實驗設定了三群神經網路(分別命名為Bob、Alice和Eve) Alice和Bob共享一個秘密密鑰。而Eve負責讀取兩個機器人之間的通信。兩方都有各自的loss function,要求是 Alice和Bob所傳遞的訊息必須盡可能可以還原成最初傳遞的訊息,而Eve的損失函數則取決於是否解密成功。
Fig.6  (來源自原始論文[2])

結語
從GAN這個概念初次提出到現在,已經又有更多衍生的演算法 (GAN_ZOO)(英文字母縮寫完全被用光xD)。隨著技術逐漸進步,這項應用亦是把雙面刃,用在好的地方可以幫助警察尋找失蹤人口(藉由年齡成長來預估小時候失蹤的人現在可能長怎樣)、應用在拍電影的時候調換替身演員的臉、各家廠牌可以自己生成專屬代言人...等等;用在壞的地方,則造成了在色情影片中濫用名人的臉、政治操作傳遞假資訊...等讓人真假難辨的訊息,尤其是現在聲音也有類似模型可以訓練學習(Lyrebird AI語音生成系統)。

好在也不是完全沒有檢驗方法,除了必須自己查證,現在也有不少模型訓練用來破解辨識該圖片是否是經由Deepfake改造(Deeptrace / FakeCatcher)。但畢竟你不會每看到一部影片就嘗試將他壓縮丟進一個模型來辨識,所以在現今黑科技越來越厲害的世代,資訊真真假假,最好都抱持著一顆懷疑的心去求證呢!

● FakeCatcher:藉由PPG信號來訓練的辨識Deepfake的神經網路
PPG(Photoplethysmography)是一種可以偵測隨著血液流動,導致人體皮膚所出現區域性顏色變化的信號。(DeepFake視頻裡的人臉,讀取到的PPG信號會不穩定)[4]
Fig.7 最後附上GAN生成的可愛的網球狗 (來源自原始論文[3])


撰文者 : 鄔玟潔


原始論文
[1] Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio. "Generative Adversarial Networks" arXiv:1406.2661 https://arxiv.org/abs/1406.2661
[2] Martín Abadi, David G. Andersen."Learning to Protect Communications with Adversarial Neural Cryptography" arXiv:1610.06918 https://arxiv.org/abs/1610.06918
[3] Andrew Brock, Jeff Donahue, Karen Simonyan. "Large Scale GAN Training for High Fidelity Natural Image Synthesis" arXiv:1809.11096 https://arxiv.org/abs/1809.11096
[4]Umur Aybars Ciftci, ˙Ilke Demir, and Lijun Yin. "FakeCatcher: Detection of Synthetic Portrait Videos using Biological Signals" arXiv:1901.02212v3
參考資料
[5] Youtube : Shamook. "Tom Cruise is Iron Man [DeepFake]" https://www.youtube.com/watch?v=A8TmqvTVQFQ
[6] Eric Hofesmann. "The State of Deepfakes in 2020" https://www.skynettoday.com/overviews/state-of-deepfakes-2020
[7] Jason Chen. "[深度學習]一個簡單又神奇的結構:自編碼機 AutoEncoder"

留言