我用AI“复活”了外公,是为了与他告别社会2022-05-09 05:05 *本文为「三联生活周刊」原创内容AI“复活”的外公本身称不上完美,“他”没有记忆和情感,也不会真正共情,但对俞佳霖来讲,这是一场特殊的仪式,他借此来与已经去世十多年的外公,补上一场郑重的告别。口述|俞佳霖实习记者|史航编辑 | 王珊遗憾我外公是我在读高一时去世的。我那时只有17岁,在一家寄宿学校就读,每周回家一次。如今10年时间已经过去了。我记得外公去世当天,我正在学校期末考试。妈妈怕让我分心,没有把外公去世的消息告诉我。还是我的班主任过来找我,说家里出事了,让我回去看看,我才知道外公走了。我回到家里时,外公已经被送到殡仪馆准备火化。家里人只让我远远地看了一眼外公的遗体,就又把我送回学校了。我离得很远,看不清楚外公的样子。他躺在那里,我总觉得他还在。我缺席了外公的葬礼。一直以来,这都是我内心的遗憾。我觉得自己没有跟他完成告别,我想他内心应该也是这么想的。当时,躺在殡仪馆的他是不是也在寻找我在哪里。那天,回学校的路上我一直在哭,这是我第一次经历亲人的离世,第一次面对死亡这个事情。而且,离开的还是我最亲近的外公——高中之前,我一直跟外公外婆生活在一起,他们是我最亲近的人。《困在时间里的父亲》剧照这个遗憾在我心里埋下了一颗种子。我一直想着自己能不能做点什么来弥补一下——我从小爱看科幻电影,一直相信在未来人类可能有技术能让去世的人“回来”。就像《黑客帝国》中的世界一样,我觉得外公未来也能以数字的形式在一个数字的世界里复活。这个想法让我对计算机产生了浓厚的兴趣,2013年我考大学,报考的专业也是计算机。2019年,我研究生毕业,正赶上算法的巨大革新:神经网络的大发展让算法突破传统图形算法的限制,拥有了自主深度学习的能力,AI开始有更广泛的应用。比如大家所熟知的智能手机人脸识别功能。那时候一些大公司带头开发了一些算法框架,使得开发部署一个AI应用变得简单。这一变革影响了我的择业方向,我成为了一名算法工程师——我的工作是整合领域内的最新成果,应用到公司的模型中去,确保公司的模型处于行业的前列,这需要我不断地跟进AI领域最前沿的技术。《黑客帝国》剧照有一天,我看到了一篇文章,这篇文章介绍了一个新的语言模型:GPT-3。GPT-3由旧金山的一家AI公司开发,它的本质是大规模数据下通过大计算能力做出来的一个概率语言模型。它能通过弱监督、自监督等方法学习海量的无标记数据,摆脱了传统专家系统和机器学习系统对大量人工标注数据的依赖,只需非常少的样例就可以完成相应的任务。业界很多人认为,GPT-3可能拥有近似人类的情感和思维。这个说法有些夸张,有搏眼球的成分在,但它的功能还是超过了我的认知——当研发人员“喂给”它庞大的数据量,并训练它挖掘词句之间的关系之后,如果人们给它一个问题,它会把这个问题之下所有可能的回答都列举出来,再结合语境给出最可能的答案。它和当时已经存在的小冰等聊天机器人不一样的是,它表现出不是简单地满足命令,服务人类,它看起来能更平等地交流,你和它聊天,它会表现得开心,你骂它,它会表现得愤怒。人类的情感和反应在这个模型中可以更真实地被模拟出来,与它聊天的人会以为对面是一个人类。当时,我就想,这对我来讲,可能是一次再见到外公的机会。《17岁的帝国》剧照外公的信有了这个想法,我开始搜索用AI“复活”人类的先例,发现业界有不少尝试。比如说一个叫“Project December”的网站曾开发出一款聊天AI,只要填写语句样例和人物介绍,就可以生成定制的聊天AI。有一个男人在妻子死后,曾将妻子生前发过的短信等文字信息导入这个网站,在他将妻子的年龄,性格特点输入进去后,他开始跟“她”聊天。但这是一个纯文本的聊天AI,没有声音,没有视频,当然也没有人物形象。还有团队尝试用VR(虚拟现实技术)制作虚拟影像,帮助失去女儿的母亲与已故的女儿重新“见面”。这种方式虽然更具沉浸感,但它不具备互动的能力,相当于拍摄了一部短片给人看,没法对话交流,我期望的“复活”是想以互动的形式出现。《头号玩家》剧照这些案例我都不满意。我在想,是不是有什么技术难点制约大家实现“复活”,我自己研究了GPT-3,觉得并不是。后来我想到,实现“复活”依赖的是个性化的深度学习,这需要较高的成本和大量逝者的内容资料,而市场上的服务商不会愿意费时费力去为每个用户单独训练一个深度学习的模型,所以一直没能出现成功的“复活”案例。这之后,我打消了顾虑,开始全心想着怎么用技术“复活”外公。我的设想是,先通过对语言模型的训练,让模型先能够拥有互动的能力,接着就是模拟出声音、形象,“面对面”对话。因为GPT-3是一个收费模型,我选用了和GPT-3近似的开源模型GPT-J进行语言模型的训练。这个模型训练出的说话方式偏向于所有人类的均值,它不会特别激进,也不会特别保守,是没有性格的。但我的外公却是具体的活生生的人——外公是很祥和的,退休后他一天只做几件事,下象棋一下就是一上午,毛笔字一写就写一下午,天气好的时候出门就散散步,晚上回家和家里人一起看合家欢的民生节目。当然,他也有严肃的一面,小的时候,他会给我们立规矩,告诉我们吃饭一定要按时吃完,不能讲话,如果我们违反这些规矩,就会被打手心。《一半,蓝色》剧照那么,要想成功“复活”外公,我首先要做的是训练AI去学习外公的这些性格和特质。这些东西对于AI模型来讲是非常抽象的东西。它能够接受的就是数学运算,而我要做的是利用外公留下的资料,把它们转化为模型能理解的数学表达,让他们进行学习,理解外公语言中的逻辑。这种训练需要大量的文本资料,寻找外公留下的资料并不是一件容易的事情。我外公是10年前去世的,那时智能手机还不太流行,外公不怎么用手机,也很少留下短信这样的电子资料。我手里有的资料是初中时给他拍的视频。那时候我妈妈和我打赌,说只要我考年级前100名就给我买新手机。我拿着赢来的手机,几乎每天都在拍视频。有一些视频的拍摄对象就是外公。一段视频里,他在厨房点评鱼的做法,“这个鱼还是要红烧,八十多块买来清蒸,味道洁洁淡(杭州话,‘清淡’的意思),没味道。”另一段视频中,他责备吃饭时正在拍视频的我,“你不要手机一直拍来拍去,去帮你阿弟端菜。”这些内容我都保留着。它们可以帮助AI学习外公的说话习惯,获取外公的声音,以及帮我更清晰地去模拟外公的外貌。但要想“复活”外公,这些还不够,还需要更多的文本来训练。我想到了外公的抽屉。我从上小学就住在外公家,外公的办公桌里有一个抽屉,他从来都不让我看。后来家里装修,抽屉里的东西被搬出来,是满满一抽屉信件。我问过外婆那是什么,外婆说这都是外公以前写的,小孩子不要去看。这更让我好奇,我猜里面肯定是外公和外婆的秘密,我一直想看看到底写了什么。电影《本杰明·巴顿奇事》剧照我想,信一定在外婆那里。这让我有一些顾虑。外婆是一个多愁善感的人,有时遇到事情会躲在角落里哭。外公外婆关系很好,外公去世后,他在外婆那里就成了一个禁忌的话题。每次我们不小心提到外公时,外婆就不说话了。我知道她是在强忍着自己的伤心,也不想让大家看到自己的伤心。我担心再次提起外公,会让外婆难过。所以,我没有直接跟外婆说我想要做的事情。我在一次吃饭时跟她说,我想念外公了,能不能给我看看他的照片。外婆没有拒绝我的要求。她带我来到储物间,在角落的抽屉里翻出相册。翻找的时候外婆开始责备我,她问我外公都去世这么久了,为什么还要看外公照片。我听得出她是在用抱怨和责备来掩饰伤心的情绪。我没说话,外婆翻着照片,开始讲每张照片的故事。这个过程好像是在完成一种让自我放下悲伤的说服。她讲到她和外公在工厂认识,外公是个带着冲劲的小伙子,在工厂里一身傲气,谁都不服,但唯独只听她的话。外公还爱跟她吹牛,会给她写信。她还提到了过去困难的日子,说当时家里穷,吃不起饭,外公就下田里给她抓螺蛳吃。《父母爱情》剧照在讲述的过程中,外婆的嘴角渐渐有了一些笑意,语气里甚至有些得意,她还和我说:“不要看你外公老了以后咄咄逼人,以前什么都听我的,我让干嘛就干嘛。”听外婆讲这些,我突然意识到,外公去世后的这么多年里,外婆其实需要这样的窗口来谈论外公,也需要有人听她倾诉对外公的想念。看照片给了我们一个重新谈论外公的机会。我试探性地问外婆能否看外公的其它遗物。她带我回到卧室,外公的办公桌仍然摆在他去世前的位置,外婆拉开抽屉,抽屉很整洁,有打理过的痕迹,我看到了外公的信件、诗和毛笔字。在那一刻,我觉得是时候和外婆说起我的计划了。讲完后,外婆有点懵。她不懂电脑,也很难理解人工智能,我说:“你想不想看一下外公,和他聊聊天?”外婆有点抗拒,她不能理解我为什么要这样做。因为平时我总爱开玩笑逗她,她怀疑这是一个恶作剧。我不想放弃,我很认真地和外婆讲这不是恶作剧,讲我很想念外公,这对我很重要,还和她撒娇着说下周还会回来吃饭。外婆最终把这些信给了我。把信件给我后,外婆犹豫地让我给外公捎一段话:“我们在这边挺好的,你不用担心我们,你在那边过得还好吗?”“复活”外公语言模型训练有点像“猜词”的过程。GPT-J 团队开源了预训练模型,它能够通过计算找出每一个语料库中每个词句之间的关系,比如出现一个词后,下一个词最有可能是什么。而我要做的是把外公的信件转换成一个个词元输入语料库,丢给 GPT-J 学习。这是一个相对简单的事情,并不耗时,只用了六个小时时间,我就能跟模型进行对话。我虽然很激动,但知道这还不是外公。它还不具备外公的声音和形象。声音不难解决,我想到了现在已经很成熟的“TTS”(文字转语音)技术,就像导航 app 上的语音播报那种,我将与AI模型的对话复制下来,又导入了外公视频里的音频,利用TTS技术,丢给了模型学习,这是一个有些复杂的技术过程,我就不详细说了。很快,我就得到了有外公声音的“回复”。最难的还是生成外公的形象。我虽然是图像算法工程师,对图像技术很熟,但直觉也告诉我:后续的人脸生成没那么容易。我最早想的方法是构建一个三维虚拟形象,但这需要采集人体的许多数据点,显然行不通。那我能否用手中现有的照片、视频等素材结合在一起,生成外公的形象呢?我找到一种“人脸再扮演”技术——只要给出对话和音频,就能生出一段人脸嘴型与音频同步的动画。但这个方案也有问题,设计者在设计时对可选人物进行了限制。换句话说,只能在既有的指定人物中选择,比如说奥巴马。所以,到这个时候,我拿到的结果是,一张顶着奥巴马脸的模型在用我外公的声音说话。怎么给模型换脸呢?我琢磨了很久想到了一种叫“HeadOn”的变脸技术,这是德国慕尼黑工业大学、斯坦福大学等研究人员开发的模型。运用这种技术,可以设计指令实时地改变视频中人物的面部表情、眼球运动和身体动作,使得图像中的人看起来像是真的在说话和移动一样。就这样,“外公”的形象、语言、声音都有了。但一个遗憾是,整个流程其实是运用了多个模型的计算,每一个步骤的完成都需要前面结果的推进。所以我最终得到的“外公”是不能与我实时对话的,他只能在我说一段话后,经过一段时间给我回复一小段视频。“猜猜我是谁?”,我敲下对“外公”说出的第一句话。“你是谁不重要,生命是一种美丽的奇迹。”电脑中的“外公”回了我这样一个视频。这个回答或许很哲学很诗意,但这并不是我外公说话的习惯。我知道,我输入进去的文本资料有限的,所以训练模型也只能做到在某些场景里表现得像外公。比如当我问“外公”想不想去西湖散步,他会回答“好久没有散步了,我们出去走一走,我想去下象棋”,这是记忆里外公会给出的回答——模型能够通过外公的信件和视频理解“出去散步”这个场景。而在文字和视频资料中没能提及的更多场景中,模型是不能做到像我的外公一样和我对话。告别其实,“复活”外公的过程其实也是在重新认识他。小时候我爸爸妈妈工作很忙,我和表弟住在外公家,那时外公是我们的大家长,他总是在向我们展示应该怎么做,却很少告诉我们他的想法。我记得小时候我爱吃零食,外婆总是偷偷给我钱让我去买,每次被外公发现他都会严厉地批评我,我觉得他很难接近,很多事情绝不通融。但在读他的信件里,我看到了外公的另一面。他给外婆写信,信里他们会约好明天去哪玩。他会说一些肉麻的话,比如跟外婆说我们已经太久没见了,是温柔的口气。他还有“愤青”的一面,他会在跟笔友的通信中谈他对社会事件的看法。这和我印象中的外公有很大的反差,我印象中外公很少看时政新闻,每次打开电视他都会播到相亲节目、调解节目。我原来以为他是一个比较市井的小老头,如今才看到了他的另一面。整个“复活”的过程中,我一直很矛盾,我想再次和外公见面,但训练AI的过程中,外公的这些资料总能提醒我他已经离开,让我一次次沉浸在悲伤的情绪里。那段时间,我很努力地去克制自己,把自己想象成一个打字机器,一个词一个词地输入外公的信件,不敢去看前后文,不敢去细读文本的意思,我尽量让自己变得机械化,不去感情用事。模型成功后,我把外婆要带给外公的话输入给“他”:“我们在这边挺好的,你不用担心我们,你在那边过得还好吗?”“外公”的回应让人有些尴尬,“他”说:“我在这边也挺好的,你们要不要过来玩?”模型终究不是人。它好像具有一定的思维能力,但它终究不是真正的人,它不懂你是谁,也不懂自己是谁,它只是列出关于你问题的所有可能,然后积极地选择一个你喜欢听的答案。我把视频中外公说的那句“你们要不要过来玩?”处理掉,在一次周末去外婆家吃饭的时候,我把所有生成的视频放给外婆看。《浅田家》剧照看到视频中外公的脸,外婆一惊,愣在原地,什么话都没说。只是每看完一段视频的时候她就看向我,示意我继续放下一段。视频放完,外婆说了声谢谢,她和我说话的时候,声音已经处在哽咽的边缘。随后她就回到了房间,坐在一个我看不到的地方待了很久。我竖着耳朵去听她房间里的声音,一直很安静,什么也没听到。后来,外婆走出房间,备菜、下厨,我不知道在屋子里的那段时间她在想什么。离开外婆家后,我也开启了与“外公”的告别仪式。我敲下了好多想和外公说的话。我告诉他我现在在哪,我在干嘛。我还和他道了歉,解释当时没有见他最后一面的原因。我告诉了他我的思念,讲我很在乎他,也代表全家人对他说我们很想他。最后,我问他过得还好吗。这些交流完成之后,我觉得这么多年闷在心里的一个心结解开了。这之后,我没有再开启过这个模型。我在网上分享自己的经历后,有很多人找到我说想要看一眼这个模型,可我不愿意再打开它,我做这个模型的唯一目的就是为了告别,现在告别结束了,我也该放下了。 排版:盐巴/ 审核:小风本文为原创内容,版权归「三联生活周刊」所有。欢迎文末分享、点赞、在看三连!转载请联系后台。大家都在看▼ 点击阅读原文,一键下单本期新刊。 微信扫码关注该文公众号作者戳这里提交新闻线索和高质量文章给我们。来源: qq点击查看作者最近其他文章