利用语义和机器学习扩展数据科学解决方案:博世案例
1. 焊接质量监测用例
在汽车行业,博世的电阻点焊是一种全自动化焊接过程,对全球生产高质量车身至关重要。在焊接过程中,两个焊枪电极用力挤压两到三个工件(车身部件),电流通过电极和工件,由于电阻产生大量热量,使两个工件之间的小区域材料熔化,冷却后凝固形成连接工件的焊核(或焊点)。
传统的焊接质量监测采用破坏性方法,将焊接好的车身拆开,但这种方法只能应用于小部分车身样本,且被破坏的样本无法再利用。博世正在开发数据驱动的解决方案来预测焊接质量,以减少浪费并提高质量监测的覆盖范围。
然而,焊接状态监测面临大数据的多样性和体积挑战:
-
数据多样性
:博世有许多来自不同位置和条件的数据源。仅生产数据就从至少四个位置和三个原始设备制造商(OEM)收集。由于软件版本、客户定制以及传感器和设备的差异,这些数据在语义和格式上存在差异。例如,它们可能以各种格式存储,如 CSV、JSON、XML 等,同一变量可能有不同的名称,某些变量在一个数据源中缺失但在另一个数据源中存在,或者数据可能以不同的采样率测量。
-
数据体积
:数据科学模型需要大量数据才能使训练有意义且具有代表性。以一个负责制造底盘的汽车工厂为例,有 3 条运行的生产线,共 45 台焊接机。每台焊接机负责车身上多种类型的焊点,以不同速度进行焊接操作。一个焊点的数据由多个协议或数据库组成,集成后成为一组具有 263 个属性的关系表。一个工厂每天生产约 64,800 个焊点,每月生产约 194.4 万个焊点,相当于约 432 辆车的产量。考虑到每次焊接操作平均有 125 KB 数据,训练所需的数据量估计为 243 GB。
基于这些挑战,焊接质量监测系统的云部署需要满足以下要求:
-
R1,数据体积可扩展性
:系统应能在处理大量数据时显著减少计算时间。
-
R2,数据多样性可扩展性
:系统应能够处理数据多样性,将异构数据集成到统一的数据格式。
-
R3,用户可扩展性
:系统应提高云系统的透明度,自动进行资源配置,并为用户(尤其是非云专家)提供良好的可用性。
2. SemCloud 系统架构概述
为应对上述挑战和要求,提出了 SemCloud 系统,其架构包括以下几个关键部分:
-
语义数据集成
:依赖领域本体和语义映射,将不同的数据源转换为统一的数据格式。
-
分布式计算
:包括分布式 ETL、分布式数据分析和部署编排,将数据分析工作流扩展到云端。
-
自适应规则资源配置
:提供云本体和 GUI,让用户在知识图中编码 ETL 管道,通过一组自适应 Datalog 规则自动推理资源配置信息。
以下是 SemCloud 系统架构的 mermaid 流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A[数据采集]:::process --> B[数据准备]:::process
B --> C[数据分析]:::process
C --> D[结果记录与解释]:::process
B -.-> E[语义数据集成]:::process
C -.-> F[分布式计算]:::process
F --> F1[分布式 ETL]:::process
F --> F2[分布式数据分析]:::process
F --> F3[部署编排]:::process
D -.-> G[自适应规则资源配置]:::process
3. 语义数据集成
为了适应不同的数据源和格式,并将所有数据转换为统一的数据格式,SemCloud 采用领域本体作为数据模型,并使用语义映射(数据到领域本体)将不同的数据源映射到数据模型。
以焊接本体为例,它采用 OWL 2 QL 语言,有 1542 个公理,定义了 84 个类、123 个对象属性和 246 个数据类型属性。这些类涵盖了焊接操作、焊接机、焊接产品(焊点)、焊接程序、传感器测量、监测状态、控制参数等概念。
不同数据源在数据格式、特征名称、特征组成等方面存在差异。SemCloud 将同一焊接过程的不同数据源中的所有特征映射到同一领域本体中的对象属性(用于外键)或数据类型属性(用于属性),并统一特征名称和数据格式,通常为 CSV 或关系数据库。
4. 分布式 ETL 和数据分析
4.1 分布式 ETL
为了实现分布式 ETL,SemCloud 将 ETL 过程分解为四个步骤:检索、切片、准备和存储。
-
数据检索
:从不同工厂的数据库或在线流中检索数据,通常由单个计算节点处理。
-
数据切片
:根据数据语义将数据分割成子集,使每个子集可以独立处理。在焊接用例中,每个子集只属于一台焊接机,因为一台焊接机的焊接质量监测数据分析可以仅基于该机器的数据进行。
-
数据准备
:对切片后的数据进行处理。
-
数据存储
:将处理后的数据存储在云端。
SemCloud 考虑了两种类型的数据流:
-
更新频率较低的数据流
:通常体积较小,只需要三个 ETL 步骤:检索、准备和存储。中间结果存储在使用内存存储的数据库中,以便快速查询访问。例如,元数据和参考曲线遵循此 ETL 管道。
-
更新频率较高的数据流
:通常体积较大,需要四个 ETL 步骤,包括切片以实现并行处理。结果存储在专用云存储中。例如,反馈曲线和主协议的处理通过此管道实现。
这两种数据流的 ETL 是相互依赖的,因为高频数据流的准备步骤必须获取低频数据流的中间结果。
4.2 分布式数据分析
分布式数据分析的关键是确定哪些计算可以并行化,并将计算拆分为独立的计算任务。数据分析的目标是通过质量指标(如焊点直径或 Q 值)预测焊接质量,任务包括分类、回归和预测。
采用了经典方法(如线性回归的特征工程)和深度学习(LSTM 网络),开发并测试了各种机器学习模型。使用模型性能来调整超参数,并综合考虑模型性能和采用难度来选择最佳模型。
根据领域知识,假设焊接机之间的相互作用影响较小,可以仅使用一台焊接机的数据来预测其焊接质量。如果每个子集包含一台焊接机的所有数据,则可以独立进行数据分析。
4.3 云部署编排
为了编排分布式计算,SemCloud 将 ETL 步骤或数据分析封装为容器,并独立并行运行这些容器,允许部署同一 ETL 步骤或数据分析的多个实例。每个实例由输入处理、管道步骤任务和输出处理三个主要部分组成。
输入处理从远程源获取数据并将其移动到步骤工作区;管道步骤任务封装自定义代码来处理获取的数据;输出处理将处理后的数据传递到特定目的地,通知下一步可用,并清理临时和输入数据。
步骤之间的通信由面向消息的中间件(MOM)处理,确保时间和空间解耦,从而可以为计算较重的瓶颈步骤分配更多实例,减少整体处理时间。
5. ETL 管道生成
5.1 云本体
SemCloud 基于 SemCloud 本体为用户提供 GUI,用于构建 ETL 管道并将其编码到知识图中。SemCloud 本体用 OWL 2 编写,由 20 个类和 165 个公理组成,主要包括以下三个类:
-
DataEntity
:指任何要处理的数据集。
-
Task
:有代表数据准备中四种类型任务的子类:检索、切片、准备和存储。
-
Requirement
:描述计算、存储和网络资源的要求。
5.2 ETL 管道在知识图中的生成
以焊接状态监测数据为例,这些数据具有多个更新频率级别,ETL 管道需要适应这些频率。例如,每次焊接操作生成的数据更新非常频繁(约每秒一次)。用户通过 GUI 构建一个具有四层的 ETL 管道 p1:
1.
检索层(l1)
:从焊接工厂“检索”数据,任务 t1 类型为检索,其 IO 处理程序 io 输出类型为 DataEntity 的数据 d1。
2.
切片任务(t2)
:将数据“切片”成较小的片段 d2、d3。
3.
准备任务(t3 和 t4)
:将切片输入到不同计算节点进行处理。
4.
存储任务(t5)
:将所有准备好的数据实体存储起来。
6. 自适应 Datalog 规则推理资源配置
获取优化的云配置并非易事,传统上云专家通过测试不同设置来手动决定云配置。在 SemCloud 中,设计了一组使用逻辑编程编写的声明性自适应规则,使云配置明确、自动化且不易出错,借助机器学习学习的外部函数进行系统优化,非云专家也可以使用这些规则。
SemCloud 使用带有聚合和调用机器学习学习的外部谓词的自适应 Datalog 规则,考虑非递归规则形式 A ← B1, …, Bn,其中 A 是规则的头部,B1, …, Bn 是应用连接或聚合函数的谓词。
有六个不同的 Datalog 程序,分为三个步骤:
-
图提取规则
:从 ETL 管道知识图中提取信息,填充规则谓词。例如,rule0 填充与 ETL 管道 p 相关的谓词 subgraph1:
subgraph1(p,n,v,ms ,mp ,ssl ,spr ,sst)
←
ETLPipeline(p),
hasInputData(p,d), hasVolume(d,v), hasNoRecords(d,n)
hasEstSliceMemory(p,ms), hasEstPrepareMemory (p,mp)
hasEstSliceStorage (p,ssl), hasEstPrepareStorage(p,spr)
hasEstStoreStorage (p,sst)
(rule0)
- 资源估计规则 :假设只有一个计算节点时,估计管道所需的资源。例如,rule2 估计所需的切片内存、准备内存、切片存储、准备存储和存储存储,并将这些估计值存储在谓词 estimated_resource 中:
estimated_resource (p,ms ,mp ,ssl ,spr ,sst) ←
subgraph1(p,n,v,ms ,mp ,ssl ,spr ,sst),
ms=@func_ms(n,v), mp=#avg{@func_mp(n,v,ms ,i):range(i)},
spr=#avg{@func_spr(n,v,ssl ,i):range(i)},
ssl=@func_ssl(n,v), sst=@func_sst(n,v,ssl ,spr)
(rule2)
其中 @func_ms、@func_ssl、@func_sst 等是参数化的机器学习函数,其参数在规则参数学习中学习。
-
资源配置规则
:根据估计的云资源找到最优的云配置。例如,rule3 用于决定切片策略和存储策略,找到最优的资源配置,如块大小(nc)、切片大小(ns)、切片内存预留(mrs)和准备内存预留(mrp):
configured_resource (p,nc ,ns ,fs ,mrs ,mrp) ←
subgraph2(p,n,v,ms ,mp ,ts ,tp ,nc ,ns ,mrs ,mrp ,mode),
estimated_resource (p,ms ,mp ,ssl ,spr ,sst),
CloudAttributes (c,c1 ,c2 ,c3 ,nm ,ns ,fs ,cs),
通过 SemCloud 系统,能够有效地应对焊接质量监测中的大数据挑战,实现数据的高效处理和分析,为博世的焊接质量监测提供有力支持。
利用语义和机器学习扩展数据科学解决方案:博世案例
7. 规则参数学习与性能评估
为了让自适应 Datalog 规则能更精准地进行资源配置,需要对规则中的参数化机器学习函数进行学习。这一过程基于大量的实验数据,通过机器学习算法来确定函数的参数值。
在博世的焊接质量监测场景中,使用了约 310 万个焊点的数据集,并对系统进行了 3562 次重复运行,以此来评估规则参数学习和推理的性能。通过这些实验,可以不断优化规则,提高资源配置的准确性和系统的整体性能。
8. 系统优势总结
SemCloud 系统在应对博世焊接质量监测的大数据挑战方面具有显著优势,以下是其优势的详细总结:
|优势类别|具体优势|
| ---- | ---- |
|数据处理能力|能够处理数据的多样性,将不同格式、语义和来源的数据集成到统一的数据格式,便于后续分析。同时,在处理大量数据时,通过分布式计算和合理的资源配置,显著减少了计算时间,提高了处理效率。|
|用户友好性|为非云专家用户提供了良好的支持,通过云本体和 GUI,用户可以方便地构建 ETL 管道并进行资源配置,无需具备深厚的云技术知识。|
|资源配置优化|利用自适应 Datalog 规则和机器学习,实现了云资源的自动配置和优化,确保系统在不同数据量和用户需求下都能高效运行。|
9. 应用前景与展望
SemCloud 系统不仅适用于博世的焊接质量监测,还具有广泛的应用前景。在其他制造业领域,如机械制造、电子制造等,也面临着类似的大数据挑战,SemCloud 系统的架构和方法可以为这些领域提供借鉴。
未来,可以进一步扩展 SemCloud 系统的功能,例如增加更多的数据分析算法和模型,以提高质量预测的准确性;加强系统的安全性,保护工业数据的隐私和安全;与更多的工业设备和系统进行集成,实现更全面的工业数据监测和管理。
10. 总结与结论
通过对博世焊接质量监测案例的分析,我们可以看到大数据在工业领域带来的挑战和机遇。SemCloud 系统作为一种解决方案,通过语义数据集成、分布式计算和自适应规则资源配置,有效地应对了数据多样性、数据体积和用户可扩展性等问题。
以下是 SemCloud 系统主要功能和流程的 mermaid 流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A[不同数据源]:::process --> B[语义数据集成]:::process
B --> C[分布式 ETL]:::process
C --> C1[检索]:::process
C --> C2[切片]:::process
C --> C3[准备]:::process
C --> C4[存储]:::process
C --> D[分布式数据分析]:::process
D --> D1[分类]:::process
D --> D2[回归]:::process
D --> D3[预测]:::process
C & D --> E[自适应规则资源配置]:::process
E --> E1[图提取规则]:::process
E --> E2[资源估计规则]:::process
E --> E3[资源配置规则]:::process
E --> F[云资源分配]:::process
F --> G[高质量焊接质量预测]:::process
在实际应用中,SemCloud 系统的各个组件相互协作,形成了一个高效、智能的工业大数据处理和分析平台。通过不断的优化和改进,SemCloud 系统有望在工业 4.0 时代发挥更大的作用,推动制造业的数字化转型和智能化升级。
总之,SemCloud 系统为解决工业大数据问题提供了一种可行的方案,其技术和方法值得在更多的工业场景中推广和应用。希望更多的企业能够借鉴 SemCloud 系统的经验,提升自身的大数据处理能力和竞争力。
超级会员免费看
1585

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



