新浪科技 股票

当机器人学会"恰到好处"地回应你

市场资讯 10.21 16:55

(来源:科技行者)

你有没有跟一个人聊天,发现对方要么一直面无表情地盯着你,要么每句话都要浮夸地点头附和?这两种感觉都很怪。

真正让人觉得"被理解"的听众,是那种知道什么时候该有反应、什么时候该安静的人。你说了个笑话,他隔了半秒才笑,这很正常。你说了句无关紧要的话,他没什么反应,这也很正常。这种微妙的时机感和分寸感,恰恰是机器最难学会的东西。

这篇来自澳大利亚麦考瑞大学和美国北德克萨斯大学的研究,就是想教会AI这件事:怎么在对话中做一个"恰到好处"的倾听者。他们把这个系统叫做REALM,而且不只是在电脑屏幕上模拟,还真的把这套动作装到了一个叫Ameca的人形机器人脸上。

问题到底难在哪

先说清楚这件事情的两个坎。

第一个坎,是时机问题。当你说话时,听你说话的人不会立刻同步做出反应,他的表情变化往往会有个延迟。但这个延迟不是固定的,有时候你说完一句话,对方立刻皱眉;有时候要等你说完一整段,对方才慢慢露出理解的神情。更麻烦的是,你说话的内容量和对方的反应幅度并不总是成正比,你讲得越激烈,对方不一定反应越大,有时候反而会更专注地沉默倾听。

第二个坎,是细节和整体的矛盾。听众的表情大部分时候是相对平稳的,头部姿态、整体表情走向这些属于"大动作",变化比较慢、比较可预测。但眨眼、嘴角一瞬间的抽动这类"小动作",是随机的、瞬时的,很难靠一个确定的公式算出来在哪一帧会发生。如果模型只用一套统一的逻辑去预测所有动作,往往会出现一个尴尬的结果:大动作还算流畅,小动作却要么完全消失(整张脸像蜡像一样呆滞),要么乱七八糟地抖动(看起来像面部痉挛)。

在这篇论文之前,已经有不少团队尝试解决听众动作生成的问题。比如L2L这个方法用自回归的方式一帧一帧往后预测,ListenFormer用非自回归的Transformer架构去建模,还有一些方法尝试用扩散模型来处理这种不确定性。这些工作证明了历史动作信息和对话上下文的重要性,但它们在时机对齐和细节生成这两件事上,要么顾此失彼,要么干脆没有专门设计。

延迟感知的注意力机制:知道该往哪个时间点看

REALM解决时机问题的核心思路,是给注意力机制加了一个"偏好"。

具体来说,系统在处理speaker(说话者)的音频信号和listener(倾听者)的历史动作时,用了一种叫做shifted ALiBi的注意力偏置方法。

ALiBi*:全称Attention with Linear Biases,一种给注意力机制加入位置偏置的技术,原本用于让语言模型处理更长的文本序列,这里被研究者改造用来处理时间上的延迟对齐问题。

简单说,这个机制不是让模型随便去关注音频里的任意一个时间点,而是给它设定了一个"心理预期":倾听者的反应最可能出现在说话者某个信号之后大约267毫秒的位置。这个267毫秒不是随便定的,论文里专门做了实验,测试了0毫秒、133毫秒、267毫秒、400毫秒四种延迟设置,结果发现267毫秒(对应8帧,在30帧每秒的视频里)效果最好,无论是动作准确度还是分布真实感的指标都是最优的。

但这里有个关键的设计,这个"预期"只是个软性的偏好,不是硬性规定。模型依然可以根据实际的对话内容,把注意力放到267毫秒之外的其他时间点上。就好比你跟朋友约好"大概晚上七点见面",但如果他提前到了或者晚了十分钟,你也不会觉得他违约,这只是一个基准参照,真正决定你什么时候到的还是当天的具体情况。

如果不设这个延迟先验会怎样?论文里的消融实验给出了答案:去掉这个机制之后,姿态的rPCC(一个衡量说话者和倾听者动作相关性误差的指标)从0.014左右变差到接近0.018,同时表情FID分数也明显下降。也就是说,模型会变得要么完全忽略时间上的因果关系,要么错误地把反应和不相关的音频片段对齐,生成的动作看起来会显得"错位",像是在正确的地方做了错误的表情,或者在错误的时刻才反应过来。

这就好比你在看一部对不上口型的外语配音电影,你会本能地觉得别扭,哪怕你根本听不懂原声语言。人对时间对齐的敏感度,比我们想象中要高得多。

自适应门控:决定这一刻该听谁的

光有延迟先验还不够,因为它只解决了"往哪个时间点看"的问题,没解决"要不要看"的问题。

这就是REALM里第二个关键设计,一个叫做Reactive Gate(反应门控)的机制。

门控机制*:一种可以学习的"权重开关",数值在0到1之间,用来动态决定两种信息源各自应该占多大比重,这个数值不是人工设定的规则,而是模型在训练过程中自己学出来的。

这个门控的作用,是决定在生成当前这一帧动作的时候,应该更多依赖倾听者自己刚才的动作历史,还是更多依赖说话者音频里传来的新信息。当门控数值小的时候,模型更倾向于延续之前的动作轨迹,保持连贯;当门控数值大的时候,模型更倾向于对说话者的信号做出明显反应。

论文里专门做了一项推理阶段的验证实验,他们记录了515个由动作速度判定出来的"反应起点",然后去看模型生成的门控数值峰值和这些真实反应起点之间的时间差,结果发现中位数偏移是0帧,平均偏移是负0.5帧(约16.6毫秒),几乎完全对齐。同时他们还做了一个更严格的组内对比:在同一段视频片段里,门控数值排名前10%的帧,对应的真实动作速度显著高于排名后10%的帧,这个差异在统计上非常显著(p值只有0.000032)。

这说明这个门控确实学到了某种"什么时候该积极反应"的判断力,虽然论文作者也很坦诚地指出,这种相关性并不能证明门控数值直接导致了动作变化,只能说两者高度关联。

想象一下你在开车,车上有个语音助手,它不会一直不停地插话打断你,而是会判断"现在是不是该说话的时机"。如果没有这种判断力,它要么一直沉默,错过所有你需要它的时刻,要么每隔几秒钟就插一句嘴,让人抓狂。这个门控做的就是类似的事情,只不过它判断的不是"该不该说话",而是"这一刻的表情变化,该更多参考自己刚才的状态,还是更多参考对方刚说的话"。

粗到细的两阶段生成:先稳住骨架,再雕琢细节

解决完时机和信息来源的问题,接下来就是怎么处理"整体动作平稳、局部细节多变"这个矛盾。

REALM的做法是把动作生成拆成两步。

第一步叫粗略解码(coarse decoding),先用融合好的上下文信息,生成一条相对稳定的基础运动轨迹,包括表情系数和头部姿态。这一步的目标是保证动作不跑偏、不抖动,是整个系统的骨架。

第二步叫精细化(refinement),在这条基础轨迹之上,专门针对表情部分(不动头部姿态)叠加一层由音频驱动的随机残差。

残差*:这里指的是在已有预测结果基础上额外添加的、用来补充细节的微小修正量,残差只作用在表情通道上,头部姿态在这一步保持完全不变。

为什么要把随机性限制在表情通道,而不去碰头部姿态?因为头部姿态一旦被随机扰动,很容易出现让人不舒服的晃动感,而表情本身天然就带有一定的不确定性和多样性,同一句话听完之后,你可能微笑,也可能皱眉,这两种反应都合理,没有一个"标准答案"。

这个精细化模块具体怎么实现随机性的呢?论文里用了一种叫FiLM的调制方法。

FiLM*:全称Feature-wise Linear Modulation,一种让某个外部条件信号(这里是说话者的音频)去动态调整神经网络内部特征的缩放和偏移的技术,原本是视觉推理领域的方法,这里被用来让音频信号控制噪声注入的强度和方向。

具体来说,系统先生成一个标准的随机噪声,然后用音频信号计算出的两个参数,一个控制均值偏移、一个控制噪声幅度,去调制这个原始噪声,让最终注入的随机性不是瞎猜,而是跟当下的说话内容挂钩。

这里论文做了一个很有意思的对照实验,来验证这套调制机制是不是真的必要。他们测试了三种情况:完全不用精细化模块、用未经调制的原始随机噪声、以及完整的REALM方法。结果显示,完全不用精细化模块,生成的眨眼频率几乎为零,脸部像是被冻住了;如果直接用未经调制的随机噪声,虽然眨眼频率有所提升,但眨眼持续时间平均变成了633毫秒,真实人类的眨眼平均只有292毫秒左右,这种超长的"眨眼"看起来更像是短暂性失明,而不是自然的生理动作。只有用了完整的音频调制机制,眨眼持续时间才被拉回到273.56毫秒,非常接近真实数据。

这就像给一个厨师配菜,如果完全不让他自由发挥,菜品永远一个味道,单调乏味;如果让他随意乱加调料,菜可能会难以下咽;只有给他一套基于食材特性的调味参考,他才能做出既有变化又好吃的菜。音频调制在这里扮演的就是那个"调味参考"的角色,它没有消除随机性,而是让随机性变得有依据。

数据说话:REALM到底强在哪

论文在两个公开数据集上做了系统评估,一个是ViCo,一个是L2L。

ViCo*:一个包含483段面对面对话视频的数据集,涉及76位倾听者和67位说话者,分为域内测试集和域外测试集两部分,域外测试集里的人物身份在训练时完全没见过,专门用来检验模型的泛化能力。

L2L*:一个规模更大的"野生"数据集,来自YouTube,训练数据总时长达到72小时,测试数据95分钟,涵盖六个不同身份的人物,只提供预先提取好的三维动作系数和音频特征,不含原始视频画面。

在ViCo数据集的域内测试上,REALM在表情和姿态的L1误差(一种衡量预测值和真实值逐帧差距的指标)上都拿到了最低分,分别是11.58和6.52。更值得关注的是一个叫FID?fm的指标,它专门衡量相邻帧之间的变化是否自然,REALM在这项指标上把表情得分从此前最强基线ListenFormer的8.71降到了3.91,这个差距相当明显,说明REALM在动态连贯性上的优势要比静态准确度上的优势更突出。

在L2L数据集上,REALM同样在几乎所有指标上都排名第一,表情L1误差9.67、姿态L1误差2.41、表情FID?fm指标6.50,都优于RLHG、DSPN、L2L原方法、ListenFormer和UniLS这五个对比方法。

论文还做了细致的消融实验,拆解每个组件各自的贡献。单独加入延迟感知的位移注意力(Shifted Attention),能把姿态的rPCC从0.026降到0.018;但如果只加这个而不加门控机制,模型反而容易对音频能量过度反应,导致表情FD(一种衡量分布真实性的指标)恶化到0.68。只有把门控和位移注意力结合起来,才能同时兼顾稳定性和响应性,拿到姿态L1误差6.52和FD误差1.01的最佳组合。精细化模块单独加入时,能把表情FID?fm从大约12.5降到4.11,和其他模块组合后进一步降到3.91。

把生成的表情装到机器人脸上

这篇论文没有停留在电脑仿真里,而是真的把生成的动作数据映射到了一台叫Ameca的人形机器人脸上。

Ameca*:一款具备高度拟真面部表情驱动能力的人形机器人,拥有多个可独立控制的面部执行器,用来模拟眉毛、眼皮、嘴角等部位的运动。

这个映射过程并不简单,因为生成出来的动作数据是人脸的数学系数(比如三维形变模型的表情参数),而机器人的执行器是物理电机,两者之间存在巨大的鸿沟。研究者设计了一套确定性的映射流程,先通过逆运动学把生成的表情系数转换成机器人关节空间的控制指令,再经过时间平滑处理消除高频抖动,然后做相对运动校准,也就是只迁移相对于机械中性姿态的位移量,而不是直接套用人脸的绝对坐标,因为人脸和机器人脸的"放松状态"本来就不一样,最后再经过一道硬件安全限位,确保每个指令都不会超出电机的物理承受范围。

如果跳过这个相对运动校准步骤,直接把人脸的绝对系数套到机器人上会怎样?那可能会导致机器人的静息姿态本身就是扭曲的,因为人脸和机器人的"零点"根本不是同一个概念。这就像你把一件按照自己身材裁剪的衣服直接套在一个体型完全不同的人身上,哪怕布料本身没问题,穿在身上也会处处不合适。只有先找准两者各自的"基准点",再去谈动作的迁移,才有意义。

为了验证这套物理落地方案的效果,研究团队还找了25名评估者做了一场主观打分实验,让他们观看Ameca机器人分别用REALM和其他五种方法驱动的视频,从自然度、音画同步性、语境恰当性和整体偏好四个维度打分,满分5分。结果REALM在四项全部拿到最高分,自然度4.4分、同步性4.2分、恰当性4.2分、整体偏好4.0分,明显领先第二名ListenFormer(自然度3.6分)。评估者反馈,ListenFormer虽然在语境恰当性上表现不错,但明显缺少高频的细微动态,而REALM生成的微表情和眨眼让整个交互显得更真实、更有参与感,没有触发那种让人浑身不自在的"恐怖谷"效应。

一些没解决的问题

论文的作者也很坦诚地列出了几点局限。

首先,REALM目前是在离线对话窗口上运作的,也就是说它需要看到完整的一段音频和历史动作才能生成结果,如果要用在真正实时的人机交互场景里,还需要专门处理流式输入和端到端延迟的问题。

其次,那个267毫秒的延迟先验,是从整体数据集统计出来的一个共享参数,不同的人可能有完全不同的反应节奏,有人天生反应快,有人天生慢半拍,未来如果能让这个延迟参数因人而异,可能会让生成效果更加个性化。

最后,目前这套物理落地方案是专门为Ameca这台机器人定制的映射规则,如果要迁移到其他形态的机器人上,还需要重新设计适配不同机械结构的映射方式,并逐一验证执行器的安全边界。

写在后面

读完这篇论文,最触动我的其实不是那些指标数字,而是研究者选择把眨眼和头部姿态分开处理这个决定。

这背后其实透露出一种对"真实感"的深刻理解:真实感不是把所有东西都做得随机多变,也不是把所有东西都做得整齐划一,而是知道哪些地方该稳、哪些地方该变。人的表情系统本身就是这样运作的,骨骼和大肌肉群的运动相对可预测,而眼周和嘴角的微小肌肉却充满了不受意识控制的瞬时变化。这篇论文用一个数学上的"子空间分离",精准复刻了这种生理上的分工。

还有一个细节值得单独拿出来说,论文里提到未经调制的纯随机噪声会生成平均633毫秒的超长眨眼,这个数字让我意外。因为直觉上你可能觉得,加了随机性至少应该"看起来更活"一点,但实际情况恰恰相反,不加约束的随机性反而会生成让人更不舒服的结果,比完全静止的脸更让人反感。这提醒我们,在很多需要模拟自然行为的场景里,"多加一点随机"从来不是解决呆板问题的万能钥匙,随机性必须被恰当地约束和引导,否则它带来的不是生动,而是另一种形式的失真。

这篇论文让我想到一个更大的问题:当我们试图让机器"看起来自然"的时候,我们到底在模仿什么?是模仿人类行为的统计规律,还是模仿人类行为背后那套决定"什么时候该做什么"的判断机制?REALM选择的路径显然是后者,它没有试图穷举所有可能的人类表情组合,而是构建了一套决策机制,去动态判断在每一个瞬间,应该延续、应该响应、还是应该随机变化一点点。这或许比单纯堆砌更多数据更接近"理解"这两个字的本意。

Q&A

Q1:REALM是什么?

A:REALM是由麦考瑞大学和北德克萨斯大学团队提出的一种听众面部动作生成框架,它能根据说话者的音频和倾听者自己的历史动作,自动生成自然的表情反应,包括点头、眼神、微笑和眨眼等细节动作。

Q2:REALM和之前的ListenFormer等方法相比强在哪里?

A:REALM在ViCo和L2L两个数据集上的表情和姿态误差指标都取得了最低分,尤其是在相邻帧变化的自然度指标上大幅领先,同时用户实测打分也显著更高,而且参数量只有1.5M,比ListenFormer的6.13M小很多。

Q3:REALM能不能真的用在实体机器人上?

A:可以,研究团队把生成的动作数据通过逆运动学映射和相对运动校准,成功部署到了Ameca人形机器人上,并通过25人参与的主观评测验证了这套物理落地方案效果最好。

加载中...