收藏本站

電腦請使用 Ctrl + D 加入最愛
手機請使用 收藏
關閉

科學報 科學文摘 探索

外公去世十年後,我用 AI 「複活」了他


字體大小:
更新日期:2022408
文章欄目:
文章標籤:                 
 

2022年04月06日 09:00

【科學快訊】

  我用了外公生前的文字記錄和影音資料,再整合幾個成熟的 AI 技術,就讓他「複活」了。

  那天,我突發奇想,在搜索引擎查找「用 AI 複活逝者」,看到了 Joshua「複活」他未婚妻 Jessica 的故事。

  2012 年,Jessica 在等待肝髒移植過程中病情惡化,搶救無效死亡。而那時 Joshua 恰巧在外,錯過了死別,他因此自責了八年。直到 2020 年,他看到了「Project December」,這個網站提示只要填寫「語句樣例」和「人物介紹」,就能生成一個定制版的聊天 AI。

  Joshua 將亡妻生前發過的短信等文字信息導入網站,接著他開始描述 Jessica:生於 1989 年,是生性自由的天秤座……還特別迷信……

  Joshua 和「Jessica」開始聊天丨sfchronicle.com

  頁面刷新後,「Jessica」准備就緒,她能回答 Joshua 所有的問題,甚至還會用文字描述她「正用手捧著臉說話」。Joshua 說:「理智告訴我這不是真正的Jessica,但感情不是理智所能左右的。」聊了不知道多久,他淚流滿面,沉沉睡去。

  這種無法彌補的遺憾,我深有體會。十年前,我外公氣息奄奄,我從高中跑出來匆匆去見他一面,然後就被送回學校——這是我最後一次見到外公。每次想起,都如鯁在喉,我多麼想再見他一面,陪他多說幾句話。

amocity
amocity

  


  我現在是一位程序員,天天跟 AI 和算法打交道,不免開始盤算:現階段的 AI 技術能不能整合到一起,最終實現一個無論是語言表達還是人形上都極其接近我外公的效果。於是我開始搜索,發現了不少和我相同的願望,也有人付諸實踐。

  韓國一位媽媽在 VR 電影裏再次見到離世三年的女兒丨韓國 MBC

  韓國一位母親因七歲女兒去世萬分痛苦,一個電視團隊聽聞後耗時八個月制作出了女孩的三維虛擬形象,讓母女在 VR 場景中相遇。在我看來,這更偏向動畫制作,女孩形象和場景比較「卡通」,另外女孩不能對人做出更智能的互動,只能走固定好的腳本。

  還有人想要摸得著的「實體」,委托相關公司掃描人體三維特征,繼而做出一個矽膠仿生人,但這個方案需要非常高的定制成本,另外,入土為安的人也提供不了人體數據。

  而前面提到的 Project December 只能造出文字聊天機器人,我想合成一個有具體可感形象的「外公」,最好能寫實一些。

  「他有記憶,能和我互動,能開口說話,臉一看就是我外公」,這個大膽的想法越來越清晰,我開始檢索可能用得上的 AI 論文。

  先做「外公」的大腦  ;

  Project December 之所以能基於種子文本,生成有特定個性的角色,是因為接入了 GPT-3 的 API。GPT-3 是 OpenAI 的商業語言模型,可以簡單理解為這個模型給了計算機像「人一樣思考的能力」。

  GPT-3 甚至能說出一些「高於人類」的話:

amocity
amocity

  


  人類:人生的目的是什麼?

  AI:生命是一個美麗的奇跡。它隨著時間不斷進化,形成一種更大形式的美。從某種意義上來說,人生的目的就是增加宇宙中的這種美。

  它之所以有這種能力,是因為工程師給這個模型猛喂數據,足足超過 3000 億個文本。AI 模型在看了這麼多文本後,就開始挖掘(也就是找規律)出詞與詞、句與句之間的關系,然後結合當前語境給出最適合的回答。

  我把外公生前的文字資料導入 GPT 模型丨果殼繪圖

  我開始准備要導入 GPT-3 的種子文本,把之前保留的信件掃描成文字,整理好之前同步到雲上的聊天短信,還扒下外公之前在視頻裏說過的話:「這個魚還是要紅燒,八十多塊買來清蒸,味道潔潔淡(杭州話,「清淡」的意思),沒味道。」「你不要手機一直拍來拍去,去幫你阿弟端菜。」

  一股腦導入 GPT-3 後,它就能開始模仿外公的語言風格和對話思路……等等,GPT-3 收費。不過,我很快找到了免費開源的 GPT-J,開始了訓練。

  語言模型訓練就是「猜詞」的過程。模型利用顯卡並行計算,找出一個語料庫中每個詞句之間的關系,比如出現一個詞後,下一個詞最有可能是什麼。GPT-J 團隊開源了預訓練模型,已能實現大部分功能,我需要做的就是把種子文本轉換成一個個詞元,然後將這個外公專有語料庫丟給 GPT-J 學習。

  一般的深度學習模型需要訓練幾天幾夜,我這次用 GPT-J 學習新語料並不是特別耗時,只需花六個小時。

  六小時後,我輕手輕腳地在屏幕上打出了「你好」。

  讓「外公」開口說話  ;

  「孫兒好。」

  AI「外公」開始和我聊天,幾句簡短的文字交流後,我想到了已經非常成熟的「TTS」(text-to-speech,文字轉語音)技術,像導航 app 上的語音播報和短視頻 app 上的文本朗誦,用的都是 TTS。

  我只要把「外公」的對話複制下來,再加上一段含有外公語音語調的音頻,把這些都丟給 TTS 模型學習,最終輸出的結果會是:機器將我外公的對話讀出來,而且是他老人家的口音。

  我找到了一個 Google 打造的 TTS 模型 Tacotron 2,它首先會將你輸入的文本和語音打包到一起,然後深度挖掘出文本和語音之間隱秘的映射關系,然後再打包成單純的語音輸出。

  Tacotron 2 是一個端到端的模型,我不需要去關注它中間有哪些編碼層、解碼層、注意力層和後處理等結構,它的結構全整合到一起,對我來說,它就像是可「一鍵生成」結果的工具。我只要輸入文本和……剛准備動手,我意識到了問題:這個模型只有特定的播音員可選,並不支持指定人聲。

  此時,我想到了「語音克隆」技術,這種技術就是在 Tacotron 的基礎上再疊加「遷徙學習」的能力,也就是:之前只能幹這個活兒,現在能根據環境變通,所以也能幹別的活兒了。它能將配音員的聲音直接替換成我外公的聲音,就像是克隆他的聲音一樣。

  一番查閱後,我找到一個名為「MockingBird」的語音克隆模型,它能直接合成中文文本和語音,並輸出我想要的語音。它能在 5 秒之內克隆任意中文語音,並用這一音色合成新的內容。

  「外公」把他輸出的文字讀了出來,用他本人的聲音丨果殼繪圖

  聽到「外公」說話的那一刻,我覺得記憶中的拼圖正一片一片修補起來。

  興奮之餘,我開始著手准備「外公」的相貌。我平時做的是圖像算法工程師的工作,圖像技術相對拿手,但職業直覺也告訴我:接下來的人臉生成沒那麼容易。

  用語音驅動人臉  ;

  讓我外公「顯形」最直接的就是構建一個三維定制虛擬人像,但這需要采集人體數據點,很顯然這條路行不通。

  結合手頭現有的照片、語音和視頻等素材,我開始思考:有沒有可能只用一段視頻加上一串語音,就能生成一個栩栩如生的人臉呢?

  幾經波折,我找到了「Neural Voice Puppetry」這個方案,它是一種「人臉再扮演」(facial reenactment)技術,我只需要給定對話音頻,它就能生成一段人臉嘴型與音頻同步的動畫。

  論文作者利用卷積神經網絡,把人臉外觀、臉部情緒渲染和語音三者的關系找出來了,然後再利用這種學到的關系去渲染一幀幀能讀出語音的人臉視頻。但這個方案唯一的不足是不能指定輸出的人物,我們只能選擇給定人物,比如奧巴馬。

  做出來後,我才反應過來還得換臉丨果殼繪圖

  所以我實際得到的結果,是一段奧巴馬用我外公聲音在講話的視頻。我下一步要做的是 AI 換臉。

  我最終選擇用 HeadOn: Real-time Reenactment of Human Portrait Videos 這篇論文裏提到的技術。相關應用就是現在時興的虛擬主播:捕捉中之人的表情,驅動二次元人物的臉。

  提供表情信息的一般是真人,但由於我之前生成的「奧巴馬」非常逼真,所以可以直接拿來帶動我外公的肖像。

amocity
amocity

  


  就這樣,我用了我外公生前的通訊記錄和不多的影音資料,整合幾個成熟的 AI 技術,就讓他「複活」了。

  因為整個流程是模型接模型的運算,A 模型的結果作為 B 模型的輸入,B 模型的輸出是 C 模型的輸入,所以生成一個結果需要數分鐘甚至更久,也因此實現不了「外公」在和我視頻對話般的效果,更像是我說了一些話後,他經過計算機運算後,給我回複了一小段 VCR。

  我的「外公」,全是計算公式  ;

  當我看到屏幕那個既熟悉又陌生的「外公」時,想法開始動搖。

  科技已經強大到現在我糅合幾篇 AI 論文成果就能「複活」逝者,但我還是能一下子明白外公和「外公」的區別。後者沒有辦法理解人類情感,回應和共情也只是模擬出來的結果。計算機可以在不理解題目內容的情況下給出人類想要的答案。

  我可以和屏幕裏的那個人相互問好,交流近況,可是對方沒有記憶,我們就像是兩個陌生人在日常寒暄。很顯然,這不是那個會抱怨「魚味道潔潔淡」的外公。

  或許在未來,肉身枯槁的人能提取記憶,也能備份意識,或者就像生活在《黑客帝國》的母體一樣,一直生活在虛擬環境中。那時,我們才能一起逃離生離死別。

  Photo by Compare Fibre on Unsplash

  Project December 為了節省運營成本,給每個聊天 AI 設置了積分制,那些積分就像是 AI 的壽命。Joshua 在「Jessica」壽命將盡的時候,主動中斷了和她的交流,他不想看到她經曆二次死亡。

  在有「Jessica」相伴的幾個月裏,Joshua 說他八年的羞愧感似乎在慢慢消散。我的感受也是如此。

  複活和挽留都是不可能的,但和這些有「感情」的 AI 聊一聊,甚至打個照面之後,我感性認為,我和外公似乎補上了一次鄭重的告別。

  參考文獻

  <1> https://www.sfchronicle.com/projects/2021/jessica-simulation-artificial-intelligence/

  <2> https://slate.com/technology/2020/05/meeting-you-virtual-reality-documentary-mbc.html

  <3> https://link.springer.com/article/10.1007/s11023-020-09548-1

  <4> https://github.com/minnershubs/MockingBird-V.5.0-VOICE-CLONER

  <5> https://github.com/kingoflolz/mesh-transformer-jax/#gpt-j-6b

  <6> https://github.com/minnershubs/MockingBird-V.5.0-VOICE-CLONER

  <7> https://arxiv.org/pdf/1912.05566.pdf%22

  <8> https://arxiv.org/pdf/1805.11729.pdf

  作者:俞佳霖

  本文來自果殼

延伸閱讀
撩世界