我用了外公生前的文字記錄和影音資料,再整合幾個成熟的 AI 技術(shù),就讓他“復(fù)活”了。
那天,我突發(fā)奇想,在搜索引擎查找“用 AI 復(fù)活逝者”,看到了 Joshua“復(fù)活”他未婚妻 Jessica 的故事。
2012 年,Jessica 在等待肝臟移植過程中病情惡化,搶救無效死亡。而那時 Joshua 恰巧在外,錯過了死別,他因此自責了八年。直到 2020 年,他看到了“Project December”,這個網(wǎng)站提示只要填寫“語句樣例”和“人物介紹”,就能生成一個定制版的聊天 AI。
Joshua 將亡妻生前發(fā)過的短信等文字信息導(dǎo)入網(wǎng)站,接著他開始描述 Jessica:生于 1989 年,是生性自由的天秤座……還特別迷信……
Joshua 和“Jessica”開始聊天丨sfchronicle.com
頁面刷新后,“Jessica”準備就緒,她能回答 Joshua 所有的問題,甚至還會用文字描述她“正用手捧著臉說話”。Joshua 說:“理智告訴我這不是真正的Jessica,但感情不是理智所能左右的?!绷牧瞬恢蓝嗑?,他淚流滿面,沉沉睡去。
這種無法彌補的遺憾,我深有體會。十年前,我外公氣息奄奄,我從高中跑出來匆匆去見他一面,然后就被送回學(xué)?!@是我最后一次見到外公。每次想起,都如鯁在喉,我多么想再見他一面,陪他多說幾句話。
我現(xiàn)在是一位程序員,天天跟 AI 和算法打交道,不免開始盤算:現(xiàn)階段的 AI 技術(shù)能不能整合到一起,最終實現(xiàn)一個無論是語言表達還是人形上都極其接近我外公的效果。于是我開始搜索,發(fā)現(xiàn)了不少和我相同的愿望,也有人付諸實踐。
韓國一母親在 VR 電影里再次見到離世三年的女兒丨韓國 MBC
韓國一位母親因七歲女兒去世萬分痛苦,一個電視團隊聽聞后耗時八個月制作出了女孩的三維虛擬形象,讓母女在 VR 場景中相遇。在我看來,這更偏向動畫制作,女孩形象和場景比較“卡通”,另外女孩不能對人做出更智能的互動,只能走固定好的腳本。
還有人想要摸得著的“實體”,委托相關(guān)公司掃描人體三維特征,繼而做出一個硅膠仿生人,但這個方案需要非常高的定制成本,另外,入土為安的人也提供不了人體數(shù)據(jù)。
而前面提到的 Project December 只能造出文字聊天機器人,我想合成一個有具體可感形象的“外公”,最好能寫實一些。
“他有記憶,能和我互動,能開口說話,臉一看就是我外公”,這個大膽的想法越來越清晰,我開始檢索可能用得上的 AI 論文。
先做“外公”的大腦
Project December 之所以能基于種子文本,生成有特定個性的角色,是因為接入了 GPT-3 的 API。GPT-3 是 OpenAI 的商業(yè)語言模型,可以簡單理解為這個模型給了計算機像“人一樣思考的能力”。
GPT-3 甚至能說出一些“高于人類”的話:
人類:人生的目的是什么?
AI:生命是一個美麗的奇跡。它隨著時間不斷進化,形成一種更大形式的美。從某種意義上來說,人生的目的就是增加宇宙中的這種美。
它之所以有這種能力,是因為工程師給這個模型猛喂數(shù)據(jù),足足超過 3000 億個文本。AI 模型在看了這么多文本后,就開始挖掘(也就是找規(guī)律)出詞與詞、句與句之間的關(guān)系,然后結(jié)合當前語境給出最適合的回答。
我把外公生前的文字資料導(dǎo)入 GPT 模型丨果殼繪圖
我開始準備要導(dǎo)入 GPT-3 的種子文本,把之前保留的信件掃描成文字,整理好之前同步到云上的聊天短信,還扒下外公之前在視頻里說過的話:“這個魚還是要紅燒,八十多塊買來清蒸,味道潔潔淡(杭州話,“清淡”的意思),沒味道。”“你不要手機一直拍來拍去,去幫你阿弟端菜?!?/p>
一股腦導(dǎo)入 GPT-3 后,它就能開始模仿外公的語言風(fēng)格和對話思路……等等,GPT-3 收費。不過,我很快找到了免費開源的 GPT-J,開始了訓(xùn)練。
語言模型訓(xùn)練就是“猜詞”的過程。模型利用顯卡并行計算,找出一個語料庫中每個詞句之間的關(guān)系,比如出現(xiàn)一個詞后,下一個詞最有可能是什么。GPT-J 團隊開源了預(yù)訓(xùn)練模型,已能實現(xiàn)大部分功能,我需要做的就是把種子文本轉(zhuǎn)換成一個個詞元,然后將這個外公專有語料庫丟給 GPT-J 學(xué)習(xí)。
一般的深度學(xué)習(xí)模型需要訓(xùn)練幾天幾夜,我這次用 GPT-J 學(xué)習(xí)新語料并不是特別耗時,只需花六個小時。
六小時后,我輕手輕腳地在屏幕上打出了“你好”。
讓“外公”開口說話
“孫兒好?!?/p>
AI“外公”開始和我聊天,幾句簡短的文字交流后,我想到了已經(jīng)非常成熟的“TTS”(text-to-speech,文字轉(zhuǎn)語音)技術(shù),像導(dǎo)航 app 上的語音播報和短視頻 app 上的文本朗誦,用的都是 TTS。
我只要把“外公”的對話復(fù)制下來,再加上一段含有外公語音語調(diào)的音頻,把這些都丟給 TTS 模型學(xué)習(xí),最終輸出的結(jié)果會是:機器將我外公的對話讀出來,而且是他老人家的口音。
我找到了一個 Google 打造的 TTS 模型 Tacotron 2,它首先會將你輸入的文本和語音打包到一起,然后深度挖掘出文本和語音之間隱秘的映射關(guān)系,然后再打包成單純的語音輸出。
Tacotron 2 是一個端到端的模型,我不需要去關(guān)注它中間有哪些編碼層、解碼層、注意力層和后處理等結(jié)構(gòu),它的結(jié)構(gòu)全整合到一起,對我來說,它就像是可“一鍵生成”結(jié)果的工具。我只要輸入文本和……剛準備動手,我意識到了問題:這個模型只有特定的播音員可選,并不支持指定人聲。
此時,我想到了“語音克隆”技術(shù),這種技術(shù)就是在 Tacotron 的基礎(chǔ)上再疊加“遷徙學(xué)習(xí)”的能力,也就是:之前只能干這個活兒,現(xiàn)在能根據(jù)環(huán)境變通,所以也能干別的活兒了。它能將配音員的聲音直接替換成我外公的聲音,就像是克隆他的聲音一樣。
一番查閱后,我找到一個名為“MockingBird”的語音克隆模型,它能直接合成中文文本和語音,并輸出我想要的語音。它能在 5 秒之內(nèi)克隆任意中文語音,并用這一音色合成新的內(nèi)容。
“外公”把他輸出的文字讀了出來,用他本人的聲音丨果殼繪圖
聽到“外公”說話的那一刻,我覺得記憶中的拼圖正一片一片修補起來。
興奮之余,我開始著手準備“外公”的相貌。我平時做的是圖像算法工程師的工作,圖像技術(shù)相對拿手,但職業(yè)直覺也告訴我:接下來的人臉生成沒那么容易。
用語音驅(qū)動人臉
讓我外公“顯形”最直接的就是構(gòu)建一個三維定制虛擬人像,但這需要采集人體數(shù)據(jù)點,很顯然這條路行不通。
結(jié)合手頭現(xiàn)有的照片、語音和視頻等素材,我開始思考:有沒有可能只用一段視頻加上一串語音,就能生成一個栩栩如生的人臉呢?
幾經(jīng)波折,我找到了“Neural Voice Puppetry”這個方案,它是一種“人臉再扮演”(facial reenactment)技術(shù),我只需要給定對話音頻,它就能生成一段人臉嘴型與音頻同步的動畫。
論文作者利用卷積神經(jīng)網(wǎng)絡(luò),把人臉外觀、臉部情緒渲染和語音三者的關(guān)系找出來了,然后再利用這種學(xué)到的關(guān)系去渲染一幀幀能讀出語音的人臉視頻。但這個方案唯一的不足是不能指定輸出的人物,我們只能選擇給定人物,比如奧巴馬。
做出來后,我才反應(yīng)過來還得換臉丨果殼繪圖
所以我實際得到的結(jié)果,是一段奧巴馬用我外公聲音在講話的視頻。我下一步要做的是 AI 換臉。
我最終選擇用HeadOn: Real-time Reenactment of Human Portrait Videos這篇論文里提到的技術(shù)。相關(guān)應(yīng)用就是現(xiàn)在時興的虛擬主播:捕捉中之人的表情,驅(qū)動二次元人物的臉。
提供表情信息的一般是真人,但由于我之前生成的“奧巴馬”非常逼真,所以可以直接拿來帶動我外公的肖像。
就這樣,我用了我外公生前的通訊記錄和不多的影音資料,整合幾個成熟的 AI 技術(shù),就讓他“復(fù)活”了。
因為整個流程是模型接模型的運算,A 模型的結(jié)果作為 B 模型的輸入,B 模型的輸出是 C 模型的輸入,所以生成一個結(jié)果需要數(shù)分鐘甚至更久,也因此實現(xiàn)不了“外公”在和我視頻對話般的效果,更像是我說了一些話后,他經(jīng)過計算機運算后,給我回復(fù)了一小段 VCR。
我的“外公”,全是計算公式
當我看到屏幕那個既熟悉又陌生的“外公”時,想法開始動搖。
科技已經(jīng)強大到現(xiàn)在我糅合幾篇 AI 論文成果就能“復(fù)活”逝者,但我還是能一下子明白外公和“外公”的區(qū)別。后者沒有辦法理解人類情感,回應(yīng)和共情也只是模擬出來的結(jié)果。計算機可以在不理解題目內(nèi)容的情況下給出人類想要的答案。
我可以和屏幕里的那個人相互問好,交流近況,可是對方?jīng)]有記憶,我們就像是兩個陌生人在日常寒暄。很顯然,這不是那個會抱怨“魚味道潔潔淡”的外公。
或許在未來,肉身枯槁的人能提取記憶,也能備份意識,或者就像生活在《黑客帝國》的母體一樣,一直生活在虛擬環(huán)境中。那時,我們才能一起逃離生離死別。
Photo by Compare Fibre on Unsplash
Project December 為了節(jié)省運營成本,給每個聊天 AI 設(shè)置了積分制,那些積分就像是 AI 的壽命。Joshua 在“Jessica”壽命將盡的時候,主動中斷了和她的交流,他不想看到她經(jīng)歷二次死亡。
在有“Jessica”相伴的幾個月里,Joshua 說他八年的羞愧感似乎在慢慢消散。我的感受也是如此。
復(fù)活和挽留都是不可能的,但和這些有“感情”的 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
作者:俞佳霖
編輯:biu
繪圖:陳淇
更多“有極客”故事
本文來自果殼,未經(jīng)授權(quán)不得轉(zhuǎn)載.