天天看點

外公去世十年後,我用 AI “複活”了他

外公去世十年後,我用 AI “複活”了他

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

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

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

Joshua 将亡妻生前發過的短信等文字資訊導入網站,接着他開始描述 Jessica:生于 1989 年,是生性自由的天秤座……還特别迷信……

Joshua 和“Jessica”開始聊天丨sfchronicle.com

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

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

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

外公去世十年後,我用 AI “複活”了他

南韓一母親在 VR 電影裡再次見到離世三年的女兒丨南韓 MBC

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

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

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

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

先做“外公”的大腦

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

GPT-3 甚至能說出一些“高于人類”的話:

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

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

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

外公去世十年後,我用 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 秒之内克隆任意中文語音,并用這一音色合成新的内容。

外公去世十年後,我用 AI “複活”了他

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

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

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

用語音驅動人臉

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

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

外公去世十年後,我用 AI “複活”了他

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

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

外公去世十年後,我用 AI “複活”了他

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

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

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

提供表情資訊的一般是真人,但由于我之前生成的“奧巴馬”非常逼真,是以可以直接拿來帶動我外公的肖像。

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

外公去世十年後,我用 AI “複活”了他

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

我的“外公”,全是計算公式

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

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

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

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

外公去世十年後,我用 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

作者:俞佳霖

編輯:biu

繪圖:陳淇

外公去世十年後,我用 AI “複活”了他

更多“有極客”故事

本文來自果殼,未經授權不得轉載.

繼續閱讀