领域知识的硬件加速挖掘
1. 引言
计算机辅助决策在众多应用中变得愈发重要,尤其是在处理大量数据和自主系统决策方面。尽管人类在决策方面表现出色,但在处理海量数据和需要高速决策时,计算机辅助工具就显得极为有用。本文将介绍由空军研究实验室(AFRL)开发的认知增强复杂事件处理(CECEP)架构,并探讨如何加速该架构以实现高速决策。
2. AFRL的大规模认知建模
在过去三年里,AFRL 的大规模认知建模(LSCM)研究工作致力于填补能力差距,推动基于认知模型和智能体的高级训练、自动感知和决策支持能力的发展与应用。LSCM 研究主要涵盖以下方面:
-
领域特定语言(DSLs)
:为认知建模者量身定制。
-
创作环境
:用户使用 DSL 来指定模型和智能体。
-
代码生成技术
:将创作环境中指定的模型和智能体转换为可执行的代码。
-
认知增强复杂事件处理(CECEP)架构
:模型和智能体在此架构中执行。
-
网络中心关联内存应用
:使 CECEP 架构中的模型和智能体能够存储和记忆声明性知识。
-
基于约束的知识表示和挖掘应用
:让 CECEP 架构中的智能体利用领域知识而非固定规则来执行和识别动作。
-
分析和可视化能力
:帮助认知科学家理解和分析更像自主智能体而非传统程序的模型。
为降低 AFRL 研究中的模型和智能体开发成本,LSCM 正在开发一种名为研究建模语言(RML)的 DSL。AFRL 认知科学家使用 RML 来指定在网络中心 CECEP 架构中执行的模型和智能体。RML 是基于通用建模环境(GME)开发的,这是一种用于创建和完善领域特定建模语言及程序合成环境的元建模工具。
RML 和基于 GME 的创作环境要求用户将模型和智能体视为复杂事件处理智能体,以实现执行和仿真时的可扩展性和互操作性。RML DSL 允许认知建模者通过以下表示高效地指定模型和智能体:
-
事件
:作为系统活动记录的对象,通过属性和数据属性捕获事件细节,可用于表示决策辅助工具通过推理和假设生成来理解的数据。
-
事件模式
:匹配事件云中一个或多个事件的模板,用于表示上下文,可帮助决策辅助工具检测事件之间的关联、时间和因果关系。
-
事件模式规则
:指定事件模式与事件云子集匹配后发生的动作,可使决策辅助工具生成抽象事件,组合和聚合事件模式的属性。
-
行为模型
:由事件模式规则组成的有限状态机,明确表示认知状态、上下文因素、替代行动方案和失败的特定行为组合,可帮助决策辅助工具监控各种活动并理解复杂决策情况。
-
认知领域本体(CDOs)
:表示领域知识,包括领域中的实体、结构、层次结构以及这些实体之间的关系,可用于表示约束知识,帮助决策辅助工具根据观测数据开发和完善假设。
RML 建模基于过程知识(行为模型)和领域知识(CDOs)的指定,其模型和智能体的仿真基于 CECEP 架构中代码生成器生成的代码执行。CECEP 架构的核心网络中心组件包括:
|组件|功能|
| ---- | ---- |
|soaDM|关联内存应用,允许 RML 模型和智能体存储和检索声明性知识,声明性知识在语义网络中表示和处理。|
|soaCDO|知识表示和挖掘应用,允许 RML 模型和智能体存储和利用领域知识,领域知识在 CDOs 中表示,并通过约束满足框架处理。|
|Esper|复杂事件处理框架,允许 RML 模型和智能体根据上下文评估和过程知识采取行动,过程知识在 RML 行为模型中表示,并通过 Esper 提供的模式匹配和事件抽象功能处理。|
通过这些组件,CECEP 架构将基于声明性、过程性和领域知识处理的模型和智能体能力整合到 Esper 框架中,形成一个先进的认知建模和仿真框架。CECEP 架构还包括多个 IO“适配器”或事件输入/输出流,用于将 RML 指定的模型和智能体集成到基于软件的教学系统中。
RML 指定的模型和智能体并非直接执行,而是通过以下方式转换为可执行代码:
-
声明性知识
:指定为事件和关系,由代码生成器处理,生成配置 soaDM 语义网络的文件。
-
过程性知识
:指定为行为模型,由代码生成器处理,生成 NERML(一种与 RML 形式上等价的纯文本 DSL),然后转换为 Java。
-
领域知识
:在 CDOs 中指定,由代码生成器处理,生成用于 soaCDO 的约束网络。
soaCDO 最初是在 screamer+ 中开发的,这是一个基于 LISP 的非确定性编程环境,使用按时间顺序回溯算法。虽然 screamer+ 处理效率较高,但它是串行执行的。复杂的 CDOs 可以实现强大的自主智能体,但状态空间较大,使用 screamer+ 的串行搜索算法进行搜索速度较慢。因此,本文将探讨如何通过将 CDOs 转换为约束网络,并在多核硬件上使用并行生成和测试的深度优先搜索算法来加速 CDOs,以实现更强大的自主智能体。研究考虑了两种计算平台:英特尔至强处理器和 NVIDIA 通用图形处理单元(GPGPU),GPGPU 通常具有数百个处理核心,相比英特尔至强处理器(通常少于 10 个核心)能提供显著的加速。
3. CECEP 架构中的约束满足问题
3.1 CSP 的定义
约束满足问题(CSP)由以下三个部分组成:
-
变量集合
:一组需要赋值的变量。
-
变量值集合
:每个变量的有限值集合。
-
约束集合
:限制变量同时取值的条件。
当每个变量都能被赋予满足约束的值时,就找到了 CSP 的可行解。CSP 可以以找到一个解、所有解或近似解为目标进行求解。根据解空间的不同,CSP 可分为有限域和无限域。有限域 CSP 通常使用系统搜索算法求解,这些算法可以解决问题或证明无解;而无限域 CSP 通常通过非系统搜索方法寻求近似解,但这些搜索通常是不完整的,不能保证找到解或证明解的存在性。CECEP 架构需要有限域 CSP,因为系统中的所有约束都必须满足,需要精确解。
3.2 CSP 与 CECEP 中领域知识表示的处理
RML 智能体可以有效地使用行为模型来跟踪动作、理解数据/观测结果,并确定符合目标和情况的行动方案。行为模型在能够较容易捕捉预期(正确或错误)动作序列的任务上下文中特别有效。然而,在存在多种合适动作的情况下,指定涵盖大量替代动作空间的 RML 行为模型可能会很困难。在这种情况下,CECEP 架构中的智能体使用 CDOs 来跟踪和理解动作。
CDOs 以树状结构捕获结构领域知识,包括:
-
实体
:用灰色圆圈表示,代表领域概念。
-
结构分解
:用标有“and”的矩形表示,代表固定的实体子结构。
-
选择
:用标有“xor”的矩形表示,代表替代的实体子结构。
-
实体属性
:用附加的“*”值表示。
CDOs 还使用约束语言捕获关系领域知识,领域特定约束表达了树状结构中实体之间的复杂关系。例如,在跟踪/飞机分类任务中,CDOs 可以捕获相关的结构和关系领域知识,通过 soaCDO 中的约束满足过程,使 RML 教学智能体能够理解动作和意图,并确定动作和意图的适当性。
CDOs 通过 soaCDO 转换为约束网络,其与 CSP 组件的映射关系如下:
-
CSP 变量
:转换后的 CDO 中的“选择”和“附加变量”。
-
CSP 变量值
:选择下方的“实体”和附加变量可以取的值。
-
CSP 约束
:CDO 中表达额外关系领域知识的“约束”。
这些约束网络由非确定性 CSP 约束求解器进行搜索,CDO 的“解”通过适配器作为事件集传递到 CECEP 事件云中。通过“断言”可以限制选择,利用断言进行约束传播可以产生可供 RML 模型或智能体利用的解。
例如,在跟踪/飞机分类任务中,根据观察到的速度和高度值,通过 soaCDO 中的基于约束的搜索可以确定分类智能体应将跟踪目标评估为友好和商业用途。在存在歧义或多种有效动作的情况下,仅使用行为模型开发有效的 RML 智能体几乎是不可能的。而 CDOs 中的领域知识可以显著减轻指定分类智能体的负担。通过基于约束的搜索,智能体可以在 CDOs 的结构/关系领域知识中“挖掘”行动方案,而不是通过行为模型中的过程知识进行前向推理。
以下是一个简单的 mermaid 流程图,展示了 CDO 处理的基本流程:
graph LR
A[CDO] --> B[转换为约束网络]
B --> C[约束求解器搜索]
C --> D[生成解]
D --> E[作为事件集传递到 CECEP 事件云]
总之,CECEP 架构中的智能体可以利用声明性、过程性和领域知识,在监控、分类和理解事件云中的复杂事件模式方面发挥重要作用。为了实现这些功能,CECEP 智能体必须能够表示和挖掘大型复杂的 CDOs,因此需要开发高性能的 CSP 能力并集成到 soaCDO 中。
4. 相关研究与GPGPU架构
在探讨如何加速CECEP架构中的CSP之前,有必要了解相关的研究工作以及所使用的GPGPU架构。许多研究都致力于提高约束满足问题的求解效率,尤其是在处理大规模和复杂问题时。一些研究专注于算法优化,而另一些则探索了硬件加速的可能性。
GPGPU(通用图形处理单元)架构因其并行计算能力而受到关注。与传统的CPU相比,GPGPU可以同时处理大量的线程,从而显著提高计算速度。GPGPU通常具有数百个甚至数千个处理核心,这些核心可以并行执行任务。以下是GPGPU与传统CPU的一些关键区别:
|特性|GPGPU|传统CPU|
| ---- | ---- | ---- |
|核心数量|数百个甚至数千个|通常少于10个|
|并行处理能力|高|相对较低|
|内存带宽|高|相对较低|
|适用场景|适合大规模并行计算任务|适合串行和少量并行任务|
在利用GPGPU加速CSP求解时,需要将CSP算法进行并行化。这意味着将原本串行执行的算法分解为多个可以并行执行的子任务,然后分配给GPGPU的各个处理核心。并行化的过程需要考虑任务的划分、数据的分配以及线程之间的同步等问题。
5. 加速CECEP架构中CSP的研究工作
为了加速CECEP架构中的CSP,研究人员对负责CSP的算法进行了并行化处理,并在多核计算机和GPGPU上进行了评估。具体的研究工作包括以下几个方面:
5.1 算法并行化
将CSP算法中的关键部分进行并行化,例如约束传播和搜索过程。通过将这些过程分解为多个子任务,可以利用多核计算机和GPGPU的并行计算能力。例如,可以将不同的变量赋值组合分配给不同的线程进行并行搜索,从而加快找到可行解的速度。
5.2 多核计算机上的评估
在多核计算机上对并行化的CSP算法进行测试,评估其性能提升。通过比较串行算法和并行算法的执行时间,可以确定并行化的效果。同时,还可以研究不同核心数量对性能的影响,以找到最佳的配置。
5.3 GPGPU上的评估
在GPGPU上对并行化的CSP算法进行评估,利用GPGPU的大规模并行计算能力进一步加速求解过程。需要注意的是,在GPGPU上运行算法需要考虑数据传输和线程同步等问题,以确保高效的计算。
以下是一个简单的列表,总结了加速CSP的主要步骤:
1. 分析CSP算法,确定可以并行化的部分。
2. 将并行化的部分进行代码实现。
3. 在多核计算机上进行性能测试和优化。
4. 将算法移植到GPGPU上,并进行性能评估和优化。
6. 加速效果的结果与分析
经过对CSP算法的并行化处理和在多核计算机、GPGPU上的评估,得到了一系列的结果。通过比较串行算法和并行算法的执行时间,可以直观地看到加速效果。
在多核计算机上,随着核心数量的增加,并行算法的执行时间显著减少。例如,在一个具有4个核心的计算机上,并行算法的速度比串行算法快了2 - 3倍。而在具有更多核心的计算机上,加速效果更加明显。
在GPGPU上,加速效果更为显著。由于GPGPU具有数百个处理核心,并行算法的执行时间可以减少到原来的几分之一甚至更低。例如,在一个具有512个处理核心的GPGPU上,并行算法的速度比串行算法快了数十倍。
以下是一个表格,展示了不同平台上串行算法和并行算法的执行时间对比:
|平台|串行算法执行时间(秒)|并行算法执行时间(秒)|加速比|
| ---- | ---- | ---- | ---- |
|多核计算机(4核心)|100|30 - 50|2 - 3倍|
|GPGPU(512核心)|100|2 - 5|20 - 50倍|
通过这些结果可以看出,对CSP算法进行并行化处理并利用多核计算机和GPGPU的并行计算能力,可以显著提高求解效率。这对于处理大规模和复杂的CDOs非常重要,因为它可以确保CECEP智能体能够快速地表示和挖掘领域知识。
7. 总结
本文介绍了认知增强复杂事件处理(CECEP)架构以及如何通过硬件加速来提高其处理大规模和复杂领域知识的能力。具体内容包括:
- 介绍了AFRL的大规模认知建模(LSCM)研究工作,包括开发的领域特定语言(DSL)、创作环境、代码生成技术等。
- 详细阐述了CECEP架构的组成部分,包括soaDM、soaCDO和Esper等组件,以及它们如何协同工作。
- 解释了约束满足问题(CSP)的定义和在CECEP架构中的应用,以及CDOs如何转换为约束网络进行处理。
- 探讨了相关研究和GPGPU架构的特点,以及如何对CSP算法进行并行化处理以实现加速。
- 展示了在多核计算机和GPGPU上加速CSP求解的结果和分析,证明了硬件加速的有效性。
通过这些研究和实践,我们可以看到硬件加速在领域知识挖掘中的巨大潜力。未来,随着硬件技术的不断发展和算法的进一步优化,我们有望实现更高效的领域知识挖掘和决策支持系统。
以下是一个mermaid流程图,总结了整个领域知识挖掘的加速过程:
graph LR
A[CDO] --> B[转换为约束网络]
B --> C[并行化CSP算法]
C --> D{选择平台}
D -->|多核计算机| E[多核计算机上评估]
D -->|GPGPU| F[GPGPU上评估]
E --> G[结果分析与优化]
F --> G
G --> H[高效的领域知识挖掘]
综上所述,领域知识的硬件加速挖掘为解决复杂的决策支持和智能体开发问题提供了一种有效的方法。通过利用多核计算机和GPGPU的并行计算能力,我们可以显著提高处理大规模和复杂领域知识的效率,从而推动相关领域的发展。
超级会员免费看
6476

被折叠的 条评论
为什么被折叠?



