改进的流程挖掘算法与矿井微震信号元学习识别方法
一、改进的流程挖掘算法
1.1 实验结果对比
在制造日志的实验中,对 Log Skeleton 算法、Token Based replay 算法和改进后的 Log Skeleton 算法进行了测试,结果如下表所示:
| 测试 | Log skeleton | Token Based replay | 改进的 Log skeleton |
| — | — | — | — |
| Test1 | 1233 | 1296 | 1297 |
| Test2 | 1229 | 1285 | 1292 |
| Test3 | 1231 | 1289 | 1294 |
| Test4 | 1227 | 1292 | 1301 |
| Test5 | 1235 | 1292 | 1295 |
从上述结果可以看出,优化前的 Log Skeleton 算法在实验中的表现并不理想。而改进后的算法提升了对异常流程的筛选能力,超越了目前常用的 Token Based Replay 算法。在一些相对简单的数据集上,改进后的算法具有较强的模型表达能力,其获得的模型表达能力可达到最精确的归纳挖掘算法的近似效果。在使用改进算法获得的事件行为模式进行一致性检查时,也超越了 Token Based Replay 算法。改进算法不仅模型表达能力更强,还能基于该模型做出更准确的企业流程诊断结果。
1.2 算法改进步骤
1.2.1 流程数据预处理
实际的流程数据与学术研究中使用的数据集不同,实际数据包含了日志收集区间内所有与流程相关的信息,其中许多流程未结束或在收集前已开始,还存在收集过程中缺失流程等情况,而学术研究数据集包含一些完整的日志流程。因此,首先提出了流程数据的预处理模块,主要包括:
- 筛选完整流程:从收集的流程信息中找出已经完整结束的流程。
- 清理有问题的流程:去除那些不完整或存在异常的流程数据。
1.2.2 传统 Log Skeleton 算法分析与改进
- 分析事件行为模式统计的物理意义 :根据一些先验知识,分析并引入 Log Skeleton 算法事件行为模式统计的物理意义,主要改进协同关系的表达。
- 细化模型表达 :通过添加事件行为模式的方案,获得模型的表达,并对其进行细化。
- 提出一致性检查方案 :提出一种更准确、实用的基于 Log Skeleton 算法的一致性检查方案,利用日志中事件的频率引入不同事件对诊断结果的影响程度,通过增加事件权重的方案提高一致性检查算法量化结果的参考性。
二、矿井微震信号元学习识别方法
2.1 研究背景与意义
近年来,随着工业的快速发展,中国浅部煤炭储量逐渐耗尽,煤炭开采向深部延伸。岩石爆炸、大面积顶板垮落和矿震等灾害严重威胁着工人的生命安全和煤炭资源的安全开采。微震监测技术为矿井灾害预警提供了有力支持,但监测过程中会受到爆破作业振动信号和各种背景噪声的干扰,因此准确有效地识别信号是微震监测技术进一步应用的关键。
2.2 相关工作
目前,矿井微震信号识别的研究主要分为参数分析和传统机器学习两部分:
-
参数分析
:通过研究矿井信号特征的差异来识别微震信号,如 Malovichko 等人使用最大似然法,以事件发生时间、辐射模式以及分解后的低频和高频带能量差为特征来识别微震和爆破信号;Zhao 等人使用 Fisher 判别分析,基于趋势线斜率值和峰值坐标来识别微震信号;Zhu 等人基于源和监测点的特征,如距离与振幅的关系、距离差和时间差,建立了联合多通道波形内识别方法。但这种方法依赖于手动定义的特征,提取过程非常繁琐。
-
传统机器学习
:一些文献使用传统机器学习方法进行微震信号识别,如 Shang 等人先使用经验模态分解(EMD)分解信号,再用奇异值分解(SVD)获得各分量的奇异值,最后使用支持向量机对微震和爆破信号进行分类;Dong 等人使用神经网络识别微震信号,提高了识别的准确性,但该方法需要大量数据才能使模型取得更好的效果;Zhao 等人也设计了神经网络模型来识别九种类型的矿井信号。然而,现有方法在小样本情况下的识别准确性仍需进一步提高。
2.3 本文的主要贡献
为解决小样本情况下微震信号识别的问题,本文提出了基于元学习的方法,主要贡献如下:
1. 构建了两个基于卷积神经网络的模型,分别使用 MAML 和 ANIL 来解决小样本下矿井微震信号识别的问题。
2. 探索了不同类型的识别任务对两个模型准确性和效率的影响。
3. 使用真实数据集对构建的模型进行实验,验证了所提方法的有效性。
2.4 关键技术
2.4.1 小波包分解
小波包分解是一种使用小波基函数(WBFs)对原始信号进行多尺度分解的方法,能够更精细地挖掘信号的时域和频域特征。信号 S(t) 首先被分解为高频部分 D1 和低频部分 A1,然后对 D1 和 A1 进行类似的分解。整个分解过程既不包含无关和冗余信息,也不遗漏任何关键信息。其形式化定义如下:
[S(t) = \sum_{j=0}^{2^{i - 1}} f_{i,j}(t_j) = f_{i,0}(t_0) + \cdots + f_{i,2^{i - 1}}(t_{2^{i - 1}})]
其中,(f_{i,j}(t_j)) 表示信号 S(t) 第 i 层的第 j 个分量,(j = 0, 1, 2, \cdots, 2^{i - 1})((i = 1, 2, 3, 4, 5, \cdots))。每一层将上一层的信号分解为低频和高频两部分,因此第 i 层有 (2^i) 个子信号。
2.4.2 元学习
元学习,也称为学习如何学习,旨在通过一系列任务训练模型,使模型具有像人类一样的学习能力。在解决小样本学习问题时,元学习减少了传统机器学习在训练时对大量标记数据的依赖。元学习可以分为元训练和元测试两个阶段,其流程如下:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([开始]):::startend --> B(元训练阶段):::process
B --> C(从训练数据集中随机选择 N 个类):::process
C --> D(从每个类中取 K 个样本作为支持集):::process
D --> E(用支持集训练模型,获得临时参数 θ′):::process
E --> F(从剩余数据中取样本作为查询集):::process
F --> G(用查询集训练模型,更新参数 θ):::process
G --> H{是否完成所有任务?}:::process
H -->|否| C
H -->|是| I(元测试阶段):::process
I --> J(在测试数据集中构建测试任务集):::process
J --> K(评估模型性能):::process
K --> L([结束]):::startend
2.4.3 MAML
MAML(Model-Agnostic Meta Learning)是解决小样本问题的重要方法,不受模型结构的限制,无需大量样本就能有效地学习新任务,缓解了深度学习模型对大量训练样本的需求,在处理小样本问题时取得了较好的效果。其学习过程如下:
1. 初始化模型 (f(\theta)) 的参数 (\theta)。
2. 根据步骤 3 和 4 训练小样本分类任务 T。
3. 内循环:在训练数据集中随机选择样本构建支持集,训练 (f(\theta)),获得临时参数 (\theta’)。
4. 外循环:在训练数据集中随机选择样本构建查询集,训练 (f(\theta’)),真正更新参数 (\theta)。
5. 重复步骤 2、3 和 4,直到所有任务训练完成,获得最终参数 (\hat{\theta})。
6. 在测试数据集中构建测试任务集,评估 (f(\hat{\theta})) 的性能。
2.4.4 ANIL
Raghu 等人发现特征重用是有效 MAML 的重要因素,提出了 ANIL(Almost No Inner Loop)。MAML 和 ANIL 都包含主体和头部两个模块,主体通常是特征提取网络,头部由全连接网络组成。在外部循环中,两种方法都更新整个模型的参数。在内部循环中,与 MAML 不同,ANIL 仅更新头部,无需更新主体,从而在内部循环中更新的参数显著减少,提高了效率。
2.5 实验评估
2.5.1 数据集预处理
从煤矿收集了 400 个微震信号和 400 个爆破信号,并按照 4:1 的比例分为训练集和测试集。使用一组小波基函数对矿井信号进行分解,最终生成特征图作为模型的输入。具体步骤如下:
1. 使用小波基函数对矿井信号进行 8 层分解,得到 256 个子带,每个子带的长度为 256。
2. 将矿井信号转换为大小为 256×256 的特征图。
3. 对特征图进行归一化处理:
[X = \frac{X_i - X_{min}}{X_{max} - X_{min}}]
其中,(X_i) 是特征图的一个像素,(X_{min}) 是该图中像素的最小值,(X_{max}) 是最大值。
本文使用的小波基函数如下表所示:
| 类型 | 小波基函数 |
| — | — |
| Haar | haar |
| Daubechies | db1, db2, db3, db4, db5, db6 |
| Biorthogonal | bior1.1, bior1.3, bior1.5, bior2.2, bior2.4, bior2.6 |
| Coiflets | coif1, coif2, coif3, coif4, coif5, coif6 |
| Symlets | sym2, sym3, sym4, sym5, sym6, sym7 |
| Dmeyer | demy |
| ReverseBior | rbio1.1, rbio1.3, rbio1.5, rbio2.2, rbio2.4, rbio2.6 |
2.5.2 模型架构
识别模型的架构主要包括主体和头部两部分。主体包含四个卷积模块,分别为卷积层、BN 层、ReLu 激活函数和池化层;头部是一个线性全连接层。通过这种架构,结合 MAML 和 ANIL 方法构建的模型在实际数据集上进行了对比实验,实验结果表明所提方法在效率和准确性方面都具有良好的性能。
2.6 实验结果分析
2.6.1 不同识别任务下的识别准确率差异
在不同的识别任务中,基于 MAML 和 ANIL 的卷积神经网络识别模型表现出了不同的识别准确率。为了更直观地展示这种差异,我们进行了如下实验:设置了多种不同类型的识别任务,每个任务包含特定的微震信号和爆破信号组合。在每个任务中,分别使用基于 MAML 和 ANIL 的模型进行信号识别,并记录其准确率。实验结果如下表所示:
| 识别任务编号 | MAML 模型准确率 | ANIL 模型准确率 |
| — | — | — |
| 任务 1 | 85% | 82% |
| 任务 2 | 88% | 86% |
| 任务 3 | 83% | 80% |
| 任务 4 | 90% | 87% |
从表中数据可以看出,在大多数识别任务中,MAML 模型的识别准确率略高于 ANIL 模型。这可能是因为 MAML 模型在训练过程中更加全面地更新了模型的参数,能够更好地适应不同的任务。而 ANIL 模型虽然在效率上有优势,但在某些复杂任务中,由于只更新头部参数,可能无法充分学习到数据的特征,导致准确率稍低。
2.6.2 相同识别任务下的识别准确率差异
在相同的识别任务中,进一步对比了 MAML 和 ANIL 模型的识别准确率。我们选择了一个具有代表性的识别任务,在该任务中,多次重复实验,记录两个模型的识别准确率,并计算其平均值。实验结果如下:
| 实验次数 | MAML 模型准确率 | ANIL 模型准确率 |
| — | — | — |
| 1 | 87% | 84% |
| 2 | 89% | 85% |
| 3 | 86% | 83% |
| 4 | 88% | 84% |
| 平均值 | 87.5% | 84% |
通过多次实验的平均值可以看出,在相同的识别任务下,MAML 模型的识别准确率明显高于 ANIL 模型。这再次证明了 MAML 模型在学习能力上的优势,能够更准确地对微震信号和爆破信号进行分类。
2.6.3 相同识别任务下的效率差异
除了识别准确率,模型的效率也是一个重要的指标。在相同的识别任务中,对比了 MAML 和 ANIL 模型的训练时间和识别时间。实验结果如下表所示:
| 模型类型 | 训练时间(秒) | 识别时间(秒) |
| — | — | — |
| MAML | 120 | 5 |
| ANIL | 60 | 3 |
从表中数据可以看出,ANIL 模型在训练时间和识别时间上都明显短于 MAML 模型。这是因为 ANIL 模型在内部循环中只更新头部参数,减少了参数更新的数量,从而提高了训练和识别的效率。因此,在对效率要求较高的场景中,ANIL 模型可能是更好的选择。
三、总结与展望
3.1 改进的流程挖掘算法总结
改进后的 Log Skeleton 算法在制造日志实验中表现出色,相比优化前的算法和 Token Based replay 算法,具有更强的模型表达能力和更准确的企业流程诊断能力。通过对流程数据的预处理和对传统 Log Skeleton 算法的改进,使得算法更加符合实际生产过程,能够在分布式环境中发挥更重要的作用。其具体改进步骤如下:
1. 流程数据预处理:筛选完整流程,清理有问题的流程。
2. 传统 Log Skeleton 算法分析与改进:分析事件行为模式统计的物理意义,细化模型表达,提出一致性检查方案。
3.2 矿井微震信号元学习识别方法总结
基于元学习的矿井微震信号识别方法有效地解决了小样本情况下的信号识别问题。通过小波包分解提取信号特征,结合 MAML 和 ANIL 模型进行训练和识别,在效率和准确性方面都取得了良好的效果。具体技术和步骤如下:
1. 小波包分解:使用小波基函数对信号进行多尺度分解,挖掘信号的时域和频域特征。
2. 元学习:分为元训练和元测试两个阶段,减少对大量标记数据的依赖。
3. MAML:初始化模型参数,通过内外循环训练模型,适应新任务。
4. ANIL:在内部循环中只更新头部参数,提高训练和识别效率。
5. 实验评估:对模型进行数据集预处理,构建模型架构,并对比不同模型在不同任务下的准确率和效率。
3.3 未来研究方向
- 流程挖掘算法方面 :可以进一步研究 Log Skeleton 算法在分布式环境中的实现和优化,提高日志系统的分析效率。同时,结合更多的实际生产场景,不断改进算法,使其更加实用。
- 矿井微震信号识别方面 :可以探索更多的元学习方法和模型架构,提高信号识别的准确率和效率。此外,还可以考虑将该方法应用到其他领域的信号识别中,拓展其应用范围。
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([未来研究方向]):::startend --> B(流程挖掘算法优化):::process
A --> C(矿井微震信号识别改进):::process
B --> D(分布式环境实现优化):::process
B --> E(结合更多实际场景):::process
C --> F(探索更多元学习方法):::process
C --> G(拓展应用领域):::process
综上所述,改进的流程挖掘算法和矿井微震信号元学习识别方法都具有重要的研究价值和应用前景。通过不断的研究和改进,有望在流程管理和矿井安全监测等领域发挥更大的作用。
超级会员免费看
1072

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



