利用语义和机器学习扩展数据科学解决方案:博世案例
1. 规则参数学习与机器学习
在自适应规则中,函数以机器学习(ML)模型的形式存在。资源估计规则是从三种ML方法训练得到的最佳模型以及试点运行统计数据中选取的。这三种ML方法分别是多项式回归(PolyR)、多层感知器(MLP)和K近邻(KNN)。选择这三种方法是因为它们是适合试点运行统计数据规模的经典ML方法。
-
多项式回归(PolyR)
:将输入特征($x_i$,$i \in {1, 2, …, n}$,$n$为输入特征的数量)转换为一系列多项式向量($[1, x_i, x_i^2, …, x_i^m]$,$m$为最高次数),然后通过乘以权重矩阵($W \in R^{m\times n}$)构建预测器。公式如下:
- $x_i = [1, x_i, x_i^2, …, x_i^m]^T$
- $\hat{y}
i = \sum
{i}Wx_i$
- $err = ||\hat{y} - y||^2$
-
多层感知器(MLP)
:由多层感知器组成,每个感知器将前一层所有神经元输出的加权和加上偏置项$W^{(l - 1)}h^{(l - 1)} + b^{(l - 1)}$应用于ReLU函数。公式如下:
- $h^{(0)} = x = [x_1, x_2, …, x_n]^T$
- $h^{(l)} = ReLu(W^{(l - 1)}h^{(l - 1)} + b^{(l - 1)})$
- $\hat{y} = ReLu(W^{(L - 1)}h^{(L - 1)} + b^{(L - 1)})$
-
K近邻(KNN)
:对于给定要预测输出特征$y_i$的数据$i$,在训练数据中找到与$i$最相似的$k$个样本($s$,由输入$x_s$和输出$y_s$对组成),即$k$个最近邻$N_k$,并使用$N_k$中输出特征$y_s$的加权和(距离$d(s, i)$的倒数)作为估计。公式如下:
- $s = (x_s, y_s)$
- $N_k = {s|d(s, i) \leq d_k}$
- $d(s, i) = ||x_s - x_i||$
- $\hat{y}_i = wy_s, s \in N_k$
资源配置规则使用相同的三种ML方法进行训练,并结合贝叶斯优化或网格搜索等优化技术。例如,寻找最佳块大小($n_c$)和切片大小($n_s$)的函数$@func_fs_1$和$@func_fs_2$,是通过找到使总计算时间($t_{total}$)最小的$(n_c, n_s)$参数来训练的:
$n_c, n_s = arg \min_{n_c,n_s} t_{total} = arg \min_{n_c,n_s} f(v, n, n_c, n_s, t_{slice}, t_{prepare})$
2. 系统实现与评估
系统采用基于Angular、HTML/CSS的前端GUI和基于ASP.NET Core、JavaScript、Python和DLV系统的后端系统实现。GUI采用了模型 - 视图 - 控制器的常见设计模式,并具有处理前端和后端之间请求和响应的RESTful API。
评估主要包括两部分:
-
云部署报告
:验证SemCloud在多大程度上减少了语义ETL的计算时间。
-
数据描述
:使用一个月内3条生产线的数据集,该数据集基于德国一家焊接工厂进行匿名化和模拟。一条生产线有10 - 20台机器,总共45台机器。每台机器的焊接速度不同,数据总量为389.42 GB,代表310万个焊点,估计与692.3辆汽车相关。
-
部署设置
:将SemCloud系统部署在由Rancher容器编排器管理的7个计算实例的基础设施上,采用自动设置,通过自适应Datalog规则提供资源配置,Rancher系统根据配置自动将容器分配给资源。
-
性能比较
:比较了使用传统系统(无SemCloud)和SemCloud系统进行ETL处理的性能。传统系统是一个集成软件,负责元数据/参考曲线的准备以及反馈曲线和主协议数据的处理。结果表明,传统解决方案的计算实例内存使用量随处理的输入数据量单调增加,而SemCloud几乎不需要增加内存分配,这意味着SemCloud可以在多个计算实例上部署ETL过程而无需额外的内存需求。虽然SemCloud需要稍多的CPU功率,但分布式部署减少了总体计算时间,随着输入数据量的增加,SemCloud带来的计算时间减少变得越来越显著。
-
规则参数学习和推理评估
:验证规则参数学习和推理的可扩展性和准确性,使非云专家能够自信地使用SemCloud。
-
试点运行统计
:通过对SemCloud系统进行3562次不同大小子集的重复运行,收集试点运行统计数据,包括输入数据大小、不同配置(如切片大小)和记录的资源消耗(如内存消耗、mCPU消耗)。
-
实验设置
:将试点运行统计数据按80%用于规则参数训练,20%用于规则测试和推理。训练和测试三种ML模型:PolyR、MLP和KNN,并采用网格搜索策略进行超参数调整。最终的超参数为:PolyR为4;MLP为2个隐藏层,神经元分别为10和9;KNN为2个邻居。
-
性能指标
:使用多种性能指标,如归一化平均绝对误差(nmae)来衡量预测准确性,最小训练数据量(Min. |Dtrain|)、优化时间(Opt. time)、学习时间和推理时间。nmae的计算方式为平均绝对误差(mae)除以配置的平均值$\bar{c}$,即$nmae = mae / \bar{c}$,其中$mae = \frac{1}{|D_{test}|}\sum_{D_{test}} |c - \hat{c}|$,$\bar{c} = \sum_{D_{test}} c / |D_{test}|$。
-
学习和推理结果
:切片大小的优化结果表明可以找到一个“最佳点”来最小化总消耗时间。规则学习和推理的性能如表1所示:
| 指标 | PolyR | MLP | KNN |
| ---- | ---- | ---- | ---- |
| nmae | 0.0671 | 0.0947 | 0.0818 |
| Min. |Dtrain| | 7.42% | 50.97% | 10.00% |
| Opt. time | 1.12 s | 174.32 s | 7.25 s |
| 学习时间 | 20.82 ms | 120.31 ms | 27.52 ms |
| 推理时间 | <1.00 ms | <1.00 ms | <5.00 ms |
可以看出,PolyR具有最佳的预测准确性,需要最少的训练数据,并且消耗的时间最少,因此被选为该用例的最佳模型。MLP由于随机初始化的影响不太稳定。
下面是云部署和规则参数学习评估的流程图:
graph LR
A[系统实现] --> B[云部署报告]
A --> C[规则参数学习和推理评估]
B --> B1[数据描述]
B --> B2[部署设置]
B --> B3[性能比较]
C --> C1[试点运行统计]
C --> C2[实验设置]
C --> C3[性能指标]
C --> C4[学习和推理结果]
利用语义和机器学习扩展数据科学解决方案:博世案例
3. 对通用影响和相关工作的讨论
3.1 云社区的应用
SemCloud旨在为非云专家实现云系统的民主化。对于那些希望在云上扩展数据科学解决方案,但因获取云专业知识所需的长时间培训而受阻的用户和研究人员来说,SemCloud是一种尝试。目前,虽然有众多用于大数据管道管理的工具,但它们只能部分解决相关问题。一些文献中的数据管道管理方法,要么只支持特定的知识领域,要么无法解决单个步骤的可扩展性问题,或者不适用于动态的长期运行作业。而SemCloud解决了这些问题,其原理也易于复制。
3.2 语义技术方面的应用
SemCloud开源了其云本体,希望这一本体能够促进语义技术在可扩展性挑战方面的研究。以往关于云本体的工作主要集中在描述不同层和组件、服务、功能或非功能特性以及层之间的交互,但对自适应和自动资源配置的机制和推理涉及较少。SemCloud的云本体旨在填补这一空白,推动学术界和工业界在语义技术实践中遵循明确、透明和共享知识的原则。
3.3 利益相关者的应用和收益
语义技术在现代工业实践中发挥着越来越重要的作用。本体作为一种形式化描述知识的良好方式,为跨领域通信提供了明确的“通用语言”。SemCloud将基于规则的推理(符号推理)与机器学习(亚符号推理)相结合,使系统更不依赖于云基础设施,并能适应资源条件。通过利用语义明确的领域知识和机器学习学习到的隐式关系,SemCloud提高了系统的性能。
此外,对不同背景的用户(如焊接专家、数据科学家、语义专家)进行了SemCloud测试。在使用SemCloud之前,非云专家用户对云系统了解有限且未使用过云系统。通过SemCloud,这些用户能够更好地理解云系统,并开始使用云系统,依靠SemCloud自动配置资源分配。同时,通过测试GUI收集用户反馈,以改进可用性和扩展功能。
3.4 成本和风险的经验教训
开发此类系统的主要成本在于语义基础设施的早期开发时间,这一基础设施用于协调云资源、数据分析解决方案和用户之间的关系。这些成本因具体项目而异,在本案例中是可控的,但每个项目都应单独仔细评估。降低成本的关键经验是建立一个良好的跨领域通信框架,让不同背景的专家能够使用共同的语言,减少误解和沟通时间。
一个可能且重要的风险是,关于ETL和数据分析能否并行化以及并行化程度的假设可能是错误的。建议尽早验证这一假设,以避免进一步的成本。
4. 结论与展望
4.1 结论
SemCloud系统是受博世焊接监测用例的启发而开发的,旨在解决数据量、数据多样性和更多用户带来的可扩展性挑战。SemCloud提供了语义抽象,协调用户、ETL和数据分析以及云基础设施之间的关系。通过语义数据集成解决数据多样性的可扩展性问题,通过分布式ETL和数据分析解决数据量的可扩展性问题,通过基于自适应Datalog规则的资源配置解决更多用户的可扩展性问题。这些Datalog规则具有适应性,因为它们的参数化函数是通过机器学习从试点运行统计数据中学习得到的,是符号和亚符号方法的结合。通过大规模工业数据的云部署和系统数千次试点运行的规则学习,对SemCloud进行了广泛评估,结果非常有前景。
4.2 展望
SemCloud属于博世工业4.0的神经符号AI范畴,旨在通过符号AI(如语义技术)提高透明度,通过机器学习提高预测能力。博世正在与许多欧盟合作伙伴一起,在欧盟项目DataCloud的框架内开发用户友好的云技术。SemCloud部分是与生产终端用户合作开发的,目前已部署在博世的评估环境中。
未来计划将SemCloud推向生产环境,以测试更多用户并收集反馈,并与欧盟合作伙伴合作,将知识和经验转移到其他制造领域,以提高其广泛采用率。此外,还计划为云技术和自动资源配置开发正式的知识表示和推理理论,例如更好的建模框架、先进的推理规则以及符号和亚符号推理的更深入集成。
下面是SemCloud未来发展计划的流程图:
graph LR
A[当前状态:部署在评估环境] --> B[推向生产环境]
B --> C[测试更多用户并收集反馈]
C --> D[与欧盟伙伴合作转移知识经验]
D --> E[提高在其他制造领域的广泛采用率]
B --> F[开发正式理论]
F --> F1[更好的建模框架]
F --> F2[先进的推理规则]
F --> F3[符号和亚符号推理的深入集成]
综上所述,SemCloud在解决数据科学解决方案的可扩展性问题上展现出了巨大的潜力,通过不断的发展和改进,有望在云技术和工业制造领域发挥更重要的作用。
超级会员免费看

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



