
(芝加哥時報訊)我用了外公生前的文字記錄和影音資料,再整合幾個成熟的 AI 技術,就讓他“復活”了。
那天,我突發奇想,在搜索引擎查找“用 AI 復活逝者”,看到了 Joshua“復活”他未婚妻 Jessica 的故事。
2012 年,Jessica 在等待肝臟移植過程中病情惡化,搶救無效死亡。而那時 Joshua 恰巧在外,錯過了死別,他因此自責了八年。直到 2020 年,他看到了“Project December”,這個網站提示只要填寫“語句樣例”和“人物介紹”,就能生成一個定製版的聊天 AI。
Joshua 將亡妻生前發過的短信等文字信息導入網站,接著他開始描述 Jessica:生於 1989 年,是生性自由的天秤座……還特別迷信……
頁面刷新後,“Jessica”準備就緒,她能回答 Joshua 所有的問題,甚至還會用文字描述她“正用手捧著臉說話”。Joshua 說:“理智告訴我這不是真正的Jessica,但感情不是理智所能左右的。”聊了不知道多久,他淚流滿面,沈沈睡去。
這種無法彌補的遺憾,我深有體會。十年前,我外公氣息奄奄,我從高中跑出來匆匆去見他一面,然後就被送回學校——這是我最後一次見到外公。每次想起,都如鯁在喉,我多麼想再見他一面,陪他多說幾句話。
我現在是一位程序員,天天跟 AI 和算法打交道,不免開始盤算:現階段的 AI 技術能不能整合到一起,最終實現一個無論是語言表達還是人形上都極其接近我外公的效果。於是我開始搜索,發現了不少和我相同的願望,也有人付諸實踐。
韓國一位母親因七歲女兒去世萬分痛苦,一個電視團隊聽聞後耗時八個月製作出了女孩的三維虛擬形象,讓母女在 VR 場景中相遇。在我看來,這更偏向動畫製作,女孩形象和場景比較“卡通”,另外女孩不能對人做出更智能的互動,只能走固定好的腳本。
還有人想要摸得著的“實體”,委託相關公司掃描人體三維特徵,繼而做出一個硅膠仿生人,但這個方案需要非常高的定製成本,另外,入土為安的人也提供不了人體數據。

而前面提到的 Project December 只能造出文字聊天機器人,我想合成一個有具體可感形象的“外公”,最好能寫實一些。
“他有記憶,能和我互動,能開口說話,臉一看就是我外公”,這個大膽的想法越來越清晰,我開始檢索可能用得上的 AI 論文。
先做“外公”的大腦
Project December 之所以能基於種子文本,生成有特定個性的角色,是因為接入了 GPT-3 的 API。GPT-3 是 OpenAI 的商業語言模型,可以簡單理解為這個模型給了計算機像“人一樣思考的能力”。
GPT-3 甚至能說出一些“高於人類”的話:
人類:人生的目的是什麼?
AI:生命是一個美麗的奇跡。它隨著時間不斷進化,形成一種更大形式的美。從某種意義上來說,人生的目的就是增加宇宙中的這種美。
它之所以有這種能力,是因為工程師給這個模型猛餵數據,足足超過 3000 億個文本。AI 模型在看了這麼多文本後,就開始挖掘(也就是找規律)出詞與詞、句與句之間的關係,然後結合當前語境給出最適合的回答。
我開始準備要導入 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 這篇論文里提到的技術。相關應用就是現在時興的虛擬主播:捕捉中之人的表情,驅動二次元人物的臉。
提供表情信息的一般是真人,但由於我之前生成的“奧巴馬”非常逼真,所以可以直接拿來帶動我外公的肖像。
就這樣,我用了我外公生前的通訊記錄和不多的影音資料,整合幾個成熟的 AI 技術,就讓他“復活”了。
因為整個流程是模型接模型的運算,A 模型的結果作為 B 模型的輸入,B 模型的輸出是 C 模型的輸入,所以生成一個結果需要數分鐘甚至更久,也因此實現不了“外公”在和我視頻對話般的效果,更像是我說了一些話後,他經過計算機運算後,給我回復了一小段 VCR。
我的“外公”,全是計算公式
當我看到屏幕那個既熟悉又陌生的“外公”時,想法開始動搖。
科技已經強大到現在我糅合幾篇 AI 論文成果就能“復活”逝者,但我還是能一下子明白外公和“外公”的區別。後者沒有辦法理解人類情感,回應和共情也只是模擬出來的結果。計算機可以在不理解題目內容的情況下給出人類想要的答案。
我可以和屏幕里的那個人相互問好,交流近況,可是對方沒有記憶,我們就像是兩個陌生人在日常寒暄。很顯然,這不是那個會抱怨“魚味道潔潔淡”的外公。
或許在未來,肉身枯槁的人能提取記憶,也能備份意識,或者就像生活在《黑客帝國》的母體一樣,一直生活在虛擬環境中。那時,我們才能一起逃離生離死別。
Project December 為了節省運營成本,給每個聊天 AI 設置了積分制,那些積分就像是 AI 的壽命。Joshua 在“Jessica”壽命將盡的時候,主動中斷了和她的交流,他不想看到她經歷二次死亡。
在有“Jessica”相伴的幾個月里,Joshua 說他八年的羞愧感似乎在慢慢消散。我的感受也是如此。
復活和輓留都是不可能的,但和這些有“感情”的 AI 聊一聊,甚至打個照面之後,我感性認為,我和外公似乎補上了一次鄭重的告別。


Categories: 芝加哥頭條




















-613x1024.jpg)













































-1024x839.jpg)



















