ORACLE: Orchestrate NPC Daily Activities using Contrastive Learning with Transformer-CVAE

本文提出了名为 ORACLE 的生成模型,通过结合 Transformer、条件变分自编码器(CVAE)和对比学习技术,利用 CASAS 智能家居数据集解决了数据不平衡和样本稀缺等问题,从而生成更逼真、非单调的 NPC 室内日常活动计划以增强数字环境的沉浸感。

Seong-Eun Hong, JuYeong Hwang, RyunHa Lee, HyeongYeop Kang

发布于 2026-03-26
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 ORACLE 的新系统,它的核心任务是教游戏或虚拟世界里的“非玩家角色”(NPC,也就是那些由电脑控制的角色)。

想象一下,如果你玩一个开放世界游戏,里面的路人 NPC 每天只会重复“起床 - 吃饭 - 睡觉”这三件事,而且时间完全一样,你会觉得这个世界很假,很无聊。这篇论文就是为了解决这个问题,让 NPC 的生活变得像真人一样丰富多彩且合乎逻辑。

下面我用几个生动的比喻来解释它是如何工作的:

1. 核心难题:让 NPC 像人一样“过日子”

以前的 NPC 就像只会按剧本念台词的机器人

  • 老方法:程序员写死规则(比如:早上 8 点必须吃饭)。这导致 NPC 行为单一,要么太死板,要么为了随机而随机(比如大半夜突然去洗澡,或者一天吃十顿饭)。
  • 大模型(LLM):最近有人尝试用类似 ChatGPT 的大模型来指挥 NPC。但这就像让一个博学的教授去干体力活,虽然聪明,但反应太慢、太费钱,而且教授可能没专门学过“人类 24 小时作息”这种细节,容易编出离谱的日程。

ORACLE 的目标:造一个既聪明又懂生活、反应快且便宜的 NPC 日程生成器。

2. ORACLE 的“三驾马车”

ORACLE 这个名字听起来很神秘,其实它是由三个聪明的“助手”组成的团队,它们分工合作:

助手 A:Transformer(像一位“记忆力超群的图书管理员”)

  • 作用:处理长长的日程表。
  • 比喻:想象你要安排一周的日程。普通的模型(像 LSTM)记性不好,记到后面就忘了前面,导致 NPC 早上刚吃完饭,晚上又突然开始吃早饭。
  • ORACLE 的做法:用了 Transformer 架构,就像一位拥有超级记忆力的图书管理员。它能一眼看完 24 小时(288 个时间段)的整个日程,理解“早上喝咖啡”和“晚上睡觉”之间的长远联系,确保日程在时间线上是连贯的。

助手 B:CVAE(像一位“拥有无限可能性的创意画家”)

  • 作用:让 NPC 的生活有变化,不重复。
  • 比喻:如果只让 AI 画“苹果”,它可能会画出成千上万个一模一样的红苹果。我们需要它画出红苹果、青苹果、烂苹果、切开的苹果。
  • ORACLE 的做法:CVAE 就像一个创意画家。它不仅仅预测“下一步做什么”,而是先画一个“潜藏的想法”(潜变量)。
    • 如果今天 NPC 心情好,画家就画一个“去公园散步”的日程。
    • 如果今天心情不好,画家就画一个“在家看书”的日程。
    • 这样,即使输入条件一样,生成的日程也是多样化的,不会每天千篇一律。

助手 C:对比学习(像一位“严格的挑剔评委”)

  • 作用:纠正错误,确保日程“像人话”。
  • 比喻:这是 ORACLE 最独特的地方。想象你在教一个小孩做饭。
    • 普通方法:你只给他看正确的菜谱,让他模仿。
    • ORACLE 的方法:你不仅给他看正确的菜谱,还故意给他看一些荒谬的菜谱(比如“先刷牙再吃早饭”、“一天睡 20 个小时”)。然后你告诉小孩:“这个是对的,那个是错的,你要学会区分它们。”
    • 通过这种"找不同"的训练(对比学习),ORACLE 学会了什么是不合理的,从而在生成日程时,自动避开那些荒谬的组合,让结果更真实。

3. 它是怎么训练的?(CASAS 数据集)

ORACLE 不是凭空想象的,它是在CASAS 智能家居数据集上“偷师”学艺的。

  • 研究人员收集了真实人类在家里 24 小时的传感器数据(比如什么时候开门、什么时候开灯、什么时候上厕所)。
  • 但是,原始数据很乱(有的时间段没记录,有的活动太频繁)。
  • 预处理:研究人员像整理乱糟糟的衣柜一样,把数据清洗了一遍,把 40 多种琐碎活动归纳成 12 大类(如:睡觉、工作、吃饭、洗澡等),并设定了规则(比如:一天只能睡 5-12 小时,不能睡 20 小时)。

4. 效果如何?

论文做了很多测试,结果很亮眼:

  • 比旧模型好:生成的日程比以前的 LSTM 或普通 Transformer 模型更连贯、更多样。
  • 像真人:如果用 ChatGPT 来打分,ORACLE 生成的日程更像真人的作息。
  • 用户测试:让人类志愿者看生成的日程,大家觉得这些 NPC 的生活既自然又有变化,甚至觉得“如果我也按这个计划生活,好像也挺舒服”。
  • 不抄袭:它不是简单地复制粘贴训练数据,而是真正学会了规律,生成了全新的日程。

5. 总结:这有什么用?

简单来说,ORACLE 就是给虚拟世界里的 NPC 装上了一个“懂生活的灵魂”

  • 对游戏开发者:可以让游戏里的路人不再像僵尸,让游戏世界更真实、更沉浸。
  • 对智能家居:可以模拟老人的日常活动,帮助设计更好的养老监护系统。
  • 对城市规划:可以模拟人群在城市的流动,帮助优化交通或设施布局。

一句话总结
ORACLE 就像一个既懂逻辑(Transformer)的超级管家,它通过观察真实人类的生活,学会了如何安排一个既真实又充满变化的 24 小时,让虚拟角色从此有了“烟火气”。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →