数字生命计划1.0

2024-06-05 04:04
文章标签 1.0 数字 生命 计划

本文主要是介绍数字生命计划1.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. 背景

即使人们强调思维与肉体是两大构成个体的先决条件,但科学界始终没有放弃探索摆脱肉体的介质,从而让思维上载的研究。

这就是数字生命计划的初衷。所谓数字生命,就是将人类的意识思维抽离,上传至云端或智能终端,从而实现"永生"。当然这其中一定会牵扯到复杂的伦理与道德问题,但就目前技术层面而言,距离实现数字形式的生命还有很长的路要走。

本文将着重探讨数字生命技术的最新进展,详细分析由NTU、商汤科技、上海AI实验室共同推出的项目—— "Digital Life Project: Autonomous 3D Characters with Social Intelligence"。这或许也是被大众所知的数字生命计划的最前沿的研究。

二. 技术

该项目提出了一个利用语言作为通用媒介来构建自主3D角色的框架,这些角色能够进行社会互动并配合适当的动作表达,同时基于自身的性格与外在的环境,自主的发展对话与行为。整体来看,该项目实现了一定程度的社会智能。

1. 框架核心模块

  • SocioMind:一个精心设计的基于严格心理学原则的数字大脑,能够模拟角色的个性和自主性,从而实现思考与判断的过程。该模块的底层是语言大模型(LLM),同时使用了少量的系统化的心理测试样本来指导人格建模。
  • MoMat-ModelGen:一套用于控制3D角色的数字身体,其本质是一个文本驱动的动作合成系统。基于动作匹配与动作生成技术,让角色做出与情景更相关的肢体动作。

2. SocioMind:人格、记忆、自主生成

数字生命之所以能被称为生命,其中一个重要因素就是它拥有类人的思维模式。人类能够在世界的历史长河中留下足迹,是因为能够思考并不断总结经验不断进化,同时每个人又都是独立的个体,拥有不同的性格差异。

数字生命的构建也基于此,SocioMind为角色注入灵魂。它赋予了角色人格,使得他们能够自主地发起对话参与其中,并规划接下来的故事发展,这些故事的进展不仅依托于角色的性格、当时所处的背景,还有他们对历史事件的反思。尽管LLM能够模拟单一时间点上可信的类人反应,但生命不应局限于此,还要确保长期的一致性,也就是人们常说的经验。基于此,SocioMind又赋予了角色记忆,使得他们会对历史事件进行检索,模拟记忆流,同时结合了社会心理学理论,进行更高层次的思想层面的反思,从而归纳总结出新的结论。

SocioMind创新的地方在于给予了角色自主性。

3. SocioMind各模块实现细节

(1)心理状态。从心理学角度来看,人类由内部的心理过程和外部的行为动作构成,判定3D角色是否自主的一个重要因素就是是否具有各种心理活动状态。

  • 性格方面,使用了大五人格理论(Big Five Trait),包括五个维度,分别是开放性、尽责性、外向性、亲和性和神经质。通过李克特量表或文本描述,来为角色提供性格预设。
  • 情绪方面,使用了PAD模型,包括三个维度,分别是愉悦度、激活度、优势度。
  • 动机方面,分为长期动机和短期动机两方面,长期动机被预设。
  • 自我方面,强调中心信仰,反映个人世界观。
  • 社会关系方面,引入了三个维度,分别是信任、亲密关系和支持性。通过李克特量表表示程度,同时用文本描述表示对他人的态度。

一个角色心理状态的示例:

通过给LLM提供全局预设,实现数值到文本的转换:

(2)角色说明。为了提高LLM的内部心理过程和外部行为关联一致性的推理能力,设计了一个逆向工程去构建角色说明数据库,其目的是为了产生与人类预期一致的合理行为。

(3)事件和思想。事件代表主体所感知到的事实,思想则是主体根据其个性和过去的经历而产生的想法或思考。随着时间的推移,记忆系统会逐渐增大,会影响检索事件和思想的效率。因此提出记忆强化和遗忘机制来缓解这类问题。

(4)短期交流的生成。在短期交流中生成交互行为,向LLM提供预设。

(5)心理反射。提出了一个层次反思系统,根据每个场景后的总结,不断更新预设。即模拟大脑根据当前事件和相关的过去事件,产生新想法。

(6)计划与主题建议机制。为构建外部行为的长期演变,促进故事线的发展。

4.MoMat-MoGen:动作匹配、动作生成

仅有意识还不够,配合意识同步产生的动作也至关重要。目前学界针对双人交互动作的研究仍不成熟,涉及到双人空间对其、肢体接触、时序同步等难题。因此,该项目结合了动作匹配与动作生成两种技术,以产生多样化和精确的双人动作。

在数字大脑的驱动下,根据角色当前的姿态和目标轨迹,MoMat会从动作数据库中检索高质量的运动片段并选择最为匹配的片段,确保角色动作的自然性和准确性。同时基于MoMat,MoGen会根据文本输入去创建新的动作,生成更为多样化的运动来保持角色间的互动关系。并且根据角色间关系的不同,肢体动作也会有差异。

MoMat-MoGen让角色能够根据自我意识运动并产生交互。

5.MoMat-MoGen各模块实现细节

(1)主动被动机制。人类的互动中存在一种内在秩序,即主动方和被动方以及二者的切换。

(2)运动同步。为适应场景切换时存在的运动长度的潜在不匹配问题,交互式运动合成需要四个步骤来"对齐"。

Behave —— Move —— Align —— Synthesize

(3)重定向。使用Auto-Rig Pro重定向工具将合成的运动重新定位到目标角色,以更好地展示在沉浸式模拟场景中双方的交互行为。

(4)运动匹配。包含两个步骤,首先是利用预训练的LLM提取查询文本,其次结合运动学特征增强查询轨迹的一致性和对齐性。

(5)运动生成。设计了双路径语义调制注意模块(DSMA)来模拟两个个体之间的交互作用,从而解决由数据驱动下动作生成的物理引擎限制。

(6)运动字幕。该模块用来实现动作到文本的翻译,类似于运动编码器,但采用了多模态数据集成放大了运动特征提取。

 三. 展望

数字生命计划提出了一个创新型的框架,利用最新的生成模型技术来创建自主3D角色。

其中最令人感到振奋的是角色的自主性。尽管是在预设的场景中,但角色间的交互是自发动态衍生的,而非拘泥于设置的固定脚本。虽然仍然存在各式的资源限制、数据依赖等问题,但这似乎就是智能生命体发展的起点,让我们逐渐看到了未来数字生命体的轮廓。

碳基生命到硅基生命的演化将是最具想象力也最具挑战性的事件,但人类从未停止探索。或许在未来的某天,我们能够将意识上载到云端从而摆脱肉体,从而实现向硅基生命的过渡,也或许是人工智能在某个奇点后涌现出了自我意识,从而进化成硅基生命。无论是哪种形式,我们目前仍然都处在边缘地带,领域的深处有无数的未知等待发掘,但终究只是时间问题,现在我们已经逐渐完成了由0向1的过渡,之后便是1后面的0能有多少了。

《西部世界》距离我们也许不再遥远,

这篇关于数字生命计划1.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032018

相关文章

捷瑞数字业绩波动性明显:关联交易不低,募资必要性遭质疑

《港湾商业观察》施子夫 5月22日,山东捷瑞数字科技股份有限公司(以下简称,捷瑞数字)及保荐机构国新证券披露第三轮问询的回复,继续推进北交所上市进程。 从2023年6月递表开始,监管层已下发三轮审核问询函,关注到捷瑞数字存在同业竞争、关联交易、募资合理性、期后业绩波动等焦点问题。公司的上市之路多少被阴影笼罩。​ 业绩波动遭问询 捷瑞数字成立于2000年,公司是一家以数字孪生驱动的工

Windwos +vs 2022 编译openssl 1.0.2 库

一 前言 先说 结论,编译64位报错,查了一圈没找到解决方案,最后换了32位的。 使用qt访问web接口,因为是https,没有openssl库会报错 QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());if (reply){if (reply->error() == QNetworkReply::NoError

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性,并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容,并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和业务增长。 数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要

如何设置windows计划任务

如何设置windows计划任务 前言:在工作过程中写了一个python脚本,用于调用jira接口查询bug单数量,想要在本地定时任务执行,每天发送到钉钉群提醒,写下操作步骤用于记录。 1. 准备 Python 脚本 确保你的 Python 脚本已经保存到一个文件,比如 jira_reminder.py。 2. 创建批处理文件 为了方便任务计划程序运行 Python 脚本,创建一个批处理文

剑指offer(C++)--和为S的两个数字

题目 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 class Solution {public:vector<int> FindNumbersWithSum(vector<int> array,int sum) {vector<int> result;int len = array.size();if(

剑指offer(C++)--数组中只出现一次的数字

题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 class Solution {public:void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {int len = data.size();if(len<2)return;int one = 0;for(int i

Python临时计划

时间:6月——9月        入门

神经网络第四篇:推理处理之手写数字识别

到目前为止,我们已经介绍完了神经网络的基本结构,现在用一个图像识别示例对前面的知识作整体的总结。本专题知识点如下: MNIST数据集图像数据转图像神经网络的推理处理批处理  MNIST数据集          mnist数据图像 MNIST数据集由0到9的数字图像构成。像素取值在0到255之间。每个图像数据都相应地标有“7”、“2”、“1”等数字标签。MNIST数据集中,

江西电信联合实在智能举办RPA数字员工培训班,培养“人工智能+”电信人才

近日,江西电信与实在智能合作的2024年数字员工开发应用培训班圆满闭幕。包括省公司及11个分公司的核心业务部门,超过40名学员积极报名参与此次培训,江西电信企业信息化部门总监徐建军出席活动并致辞,风控支撑室主任黄剑主持此次培训活动。 在培训会开幕仪式上,徐建军强调,科创是电信企业发展的核心动力,学习RPA技术是实现数字化转型的关键,他阐述了RPA在提高效率、降低成本和优化资源方面的价值,并鼓励学

LeetCode —— 只出现一次的数字

只出现一次的数字 I  本题依靠异或运算符的特性,两个相同数据异或等于0,数字与0异或为本身即可解答。代码如下: class Solution {public:int singleNumber(vector<int>& nums) {int ret = 0;for (auto e : nums){ret ^= e;}return ret;}};  只出现一次的数字 II