技术领域
本发明涉及供应链检测领域,更具体地,涉及一种基于孪生神经网络的供应链例外事件检测方法。
背景技术
随着供应链的全球化发展和工业互联网技术的应用,供应链在各个供应链节点的感知能力得到了极大的提升。从供应链系统的业务流程出发,分析其中的例外事件控制点(即流程中可能产生例外事件的关键控制节点),并设定一组关键性能指标(KeyPerformance Indicator,KPI),KPI包括但不限于每种商品的5天平均库存量、每种商品的5天平均销售量、每种商品未来5天的预测销量、每种商品的每天库存操作次数等,并利用供应链节点强大的感知能力,可以得到供应链节点KPI的序列值。通过对KPI序列值的监控,把供应链管理的聚焦到对一组业务流程关键节点的例外控制上,当系统的运行与预期不符时,可以迅速作出反应,协同处理例外事件,以保证整个供应链系统的正常运作,也正是例外事件管理的意义所在。通过所监测的事件或者信号发现系统异常,已广泛应用于制造,航空航天,汽车,供应链等各个领域。近年来,具有深度学习功能的例外检测技术由于避免了对耗时且不可靠的人工分析的依赖以及例外检测效率的提高而备受关注。卷积神经网络、长短时记忆网络(LSTM)、生成对抗网络(GAN)等深度学习方法,从丰富的数据集中学习低级和高级特征,并已在例外检测中得到广泛利用。
公开日为2018年07月27日,公开号为CN108334907A的中国专利公开了一种一种基于深度学习的复杂装备点异常检测方法及系统,其中方法包括:训练样本处理步骤、选取复杂装备的监控性能参数,并获取监控性能参数的正常样本和异常样本,构成训练样本集;特征提取步骤、构建基于SDAE的特征提取模型,输入所述训练样本集进行模型训练;检测模型训练步骤、根据经特征提取模型训练得到的特征构建基于GSM的异常检测模型,得到异常检测模型的特征均值和特征标准差;异常检测步骤、将待测样本输入到基于SDAE的特征提取模型,得到的特征输入到基于GSM的异常检测模型中,进行点异常检测。
但是,大多数上述技术都需要大量的训练数据。而在现实世界中的例外检测中,相同例外的事件/信号通常在不同的工作条件之间会有很大的差异,即在所有工作条件下都无法为每种例外类型获得足够的训练样本。因此,通常不可能获得足够的样本以使分类器对每种例外类型都具有鲁棒性。
发明内容
本发明提供一种基于孪生神经网络的供应链例外事件检测方法,利用采集到的少数一种或多种例外类型的例外样本,实现有限数据的供应链事件例外检测。
为解决上述技术问题,本发明的技术方案如下:
一种基于孪生神经网络的供应链例外事件检测方法,包括以下步骤:
S1:获取供应链事件数据,所述供应链事件数据包括正常样本和异常样本,基于正常样本和异常样本构建数据集;
S2:构建用于供应链例外事件检测的小样本学习模型,所述小样本学习模型为基于具有卷积网络的孪生神经网络;
S3:利用步骤S1中的数据集中数据对所述孪生神经网络进行训练,得到训练好的孪生神经网络;
S4:实时获取待测供应链事件数据,利用训练好的孪生神经网络检测该待测供应链事件数据,判断是否存在异常并判断异常类别,得到检测结果。
优选地,所述供应链事件数据为供应链节点KPI的序列值,所述KPI为关键性能指标。
优选地,步骤S1中获取供应链事件数据,所述供应链事件数据包括正常样本和异常样本,具体为:
采集一种类别以上异常的供应链节点的KPI序列数据,形成异常KPI序列数据,采集实际的正常的KPI序列数据,形成正常KPI序列数据;
对异常KPI序列数据和正常KPI序列数据进行预处理后,得到正常样本和异常样本。
优选地,所述对异常KPI序列数据和正常KPI序列数据进行预处理,具体为:
若采集的KPI数据序列中存在部分值缺失,把该KPI数据序列中缺失的时间点的数据用同一类别的序列数据最近10个值的平均值进行填充;
对填充后的KPI数据序列采用滑动窗口方法,以1024个数据为一个周期、以步长为200进行滑窗,以窗口内的序列数据为样本,对得到每个样本根据样本的实际情况,加上正常或异常类别的标签;
基于正常KPI序列数据得到的样本为正常样本,基于异常KPI序列数据得到的样本为异常样本。
优选地,将数据集划分为训练数据集、测试数据集和验证数据集,训练数据集的正常样本和异常样本分别是数据集正常样本和异常样本的70%,测试数据集的正常样本和异常样本分别是数据集正常样本和异常样本的20%,验证数据集的正常样本和异常样本分别是数据集正常样本和异常样本的10%。
优选地,步骤S2中所述孪生神经网络由具有相同网络体系结构和共享权重设置的两个相同的卷积网络组成,所述孪生神经网络的输入为相同或不同类别的样本对,通过卷积网络分别提取特征向量,然后通过损失函数判断输入样本对的关系。
优选地,所述卷积网络具体包括十三层,具体为:
第一层为第一因果卷积层,其卷积核尺寸为61*1,步长为16*1,卷积核数量为16,填充方式为same,激活函数为ReLU;
第二层为第一池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为16,填充方式为valid;
第三层为第二因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为32,填充方式为same,激活函数为ReLU;
第四层为第二因果池化层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为32,填充方式为valid;
第五层为第三因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为64,填充方式为same,激活函数为ReLU;
第六层为第三池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为64,填充方式为valid;
第七层为第四因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为64,填充方式为same,激活函数为ReLU;
第八层为第四池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为64,填充方式为valid;
第九层为第五因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为64,填充方式为same,激活函数为ReLU;
第十层为第五池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为64,填充方式为valid;
第十一层为第六因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为64,填充方式为same,激活函数为ReLU;
第十二层为第六池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为64,填充方式为valid;
第十三层为全连接层,其卷积核尺寸为128,卷积核数量为1,激活函数为ReLU。
优选地,所述孪生卷积网络采用的损失函数为contrastive loss。
优选地,所述损失函数contrastive loss的表达式如下:
其中:
D
优选地,步骤S3中利用步骤S1中的数据集中数据对孪生神经网络进行训练时,利用contrastive loss损失函数评估样本对之间的差异,其中函数值越小说明样本对越接近,越有可能属于同一类别;卷积网络的参数更新过程使用Adagrad优化器和contrastiveloss损失函数,初始学习率为0.001,迭代10000回合,每隔1000回合,学习率变为原来的0.1倍,得到已训练的检测模型,根据验证集的准确率的高低选取最合适的模型作为设备故障诊断模型,作为训练好的孪生神经网络。
与现有技术相比,本发明技术方案的有益效果是:
本发明通过孪生神经网络在样本缺乏情况下实现在不同的工作条件之间、具有很大差异的同类异常事件/信号的准确识别,解决了在数据驱动的例外事件中难以获得足够数量的样本的问题,从而造成的已有基于深度学习的例外事件检测方法对每一种例外类型缺乏鲁棒性的困难。
附图说明
图1为本发明的方法流程示意图。
图2为孪生神经网络模型示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提供一种基于孪生神经网络的供应链例外事件检测方法,如图1,包括以下步骤:
S1:获取供应链事件数据,所述供应链事件数据包括正常样本和异常样本,基于正常样本和异常样本构建数据集;
S2:构建用于供应链例外事件检测的小样本学习模型,所述小样本学习模型为基于具有卷积网络的孪生神经网络;
S3:利用步骤S1中的数据集中数据对所述孪生神经网络进行训练,得到训练好的孪生神经网络;
S4:实时获取待测供应链事件数据,利用训练好的孪生神经网络检测该待测供应链事件数据,判断是否存在异常并判断异常类别,得到检测结果。
所述供应链事件数据为供应链节点KPI的序列值,所述KPI为关键性能指标。
步骤S1中获取供应链事件数据,所述供应链事件数据包括正常样本和异常样本,具体为:
采集一种类别以上异常的供应链节点的KPI序列数据,形成异常KPI序列数据,采集实际的正常的KPI序列数据,形成正常KPI序列数据;
对异常KPI序列数据和正常KPI序列数据进行预处理后,得到正常样本和异常样本。
所述对异常KPI序列数据和正常KPI序列数据进行预处理,具体为:
若采集的KPI数据序列中存在部分值缺失,把该KPI数据序列中缺失的时间点的数据用同一类别的序列数据最近10个值的平均值进行填充;
对填充后的KPI数据序列采用滑动窗口方法,以1024个数据为一个周期、以步长为200进行滑窗,以窗口内的序列数据为样本,对得到每个样本根据样本的实际情况,加上正常或异常类别的标签;
基于正常KPI序列数据得到的样本为正常样本,基于异常KPI序列数据得到的样本为异常样本。
将数据集划分为训练数据集、测试数据集和验证数据集,训练数据集的正常样本和异常样本分别是数据集正常样本和异常样本的70%,测试数据集的正常样本和异常样本分别是数据集正常样本和异常样本的20%,验证数据集的正常样本和异常样本分别是数据集正常样本和异常样本的10%。
优选地,步骤S2中所述孪生神经网络如图2所示,由具有相同网络体系结构和共享权重设置的两个相同的卷积网络组成,所述孪生神经网络的输入为相同或不同类别的样本对,通过卷积网络分别提取特征向量,然后通过损失函数判断输入样本对的关系。
所述卷积网络具体包括十三层,具体结构如表1所示:
具体为:
第一层为第一因果卷积层,其卷积核尺寸为61*1,步长为16*1,卷积核数量为16,填充方式为same,激活函数为ReLU;
第二层为第一池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为16,填充方式为valid;
第三层为第二因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为32,填充方式为same,激活函数为ReLU;
第四层为第二因果池化层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为32,填充方式为valid;
第五层为第三因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为64,填充方式为same,激活函数为ReLU;
第六层为第三池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为64,填充方式为valid;
第七层为第四因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为64,填充方式为same,激活函数为ReLU;
第八层为第四池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为64,填充方式为valid;
第九层为第五因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为64,填充方式为same,激活函数为ReLU;
第十层为第五池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为64,填充方式为valid;
第十一层为第六因果卷积层,其卷积核尺寸为3*1,步长为2*1,卷积核数量为64,填充方式为same,激活函数为ReLU;
第十二层为第六池化层,其卷积核尺寸为2*1,步长为2*1,卷积核数量为64,填充方式为valid;
第十三层为全连接层,其卷积核尺寸为128,卷积核数量为1,激活函数为ReLU。
所述孪生卷积网络采用的损失函数为contrastive loss。
所述损失函数contrastive loss的表达式如下:
其中:
D
步骤S3中利用步骤S1中的数据集中数据对孪生神经网络进行训练时,利用contrastive loss损失函数评估样本对之间的差异,其中函数值越小说明样本对越接近,越有可能属于同一类别;卷积网络的参数更新过程使用Adagrad优化器和contrastiveloss损失函数,初始学习率为0.001,迭代10000回合,每隔1000回合,学习率变为原来的0.1倍,得到已训练的检测模型,根据验证集的准确率的高低选取最合适的模型作为设备故障诊断模型,作为训练好的孪生神经网络。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
机译: 基于事件的神经网络,具有分层寻址,用于神经网络的核心电路之间的路由事件包
机译: 具有分层寻址的基于事件的神经网络,用于在神经网络的核心电路之间路由事件数据包
机译: 基于复制的神经网络的基于神经网络的声学事件分类