一种无监督二轮电动车充电时序异常检测方法及系统转让专利

申请号 : CN202210808234.3

文献号 : CN114880384B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖劼

申请人 : 杭州宇谷科技有限公司

摘要 :

本发明涉及电池异常检测技术领域,具体地说,涉及一种无监督二轮电动车充电时序异常检测方法及系统。该方法包括如下步骤:步骤S1、基于历史数据构建训练集;步骤S2、对训练集P中的每个样本均进行预处理;步骤S3、构建聚类算法模型并训练;步骤S4、构建异常检测模型并训练;步骤S5、获取待检测对象的实时数据;步骤S6、对实时数据进行处理;步骤S7、采用聚类算法模型对实时数据进行分簇;步骤S8、采用对应异常检测模型对实时数据进行处理,并获取重构输出序列;步骤S9、基于重构输出序列计算异常分,并进行异常判定。该系统用于实现上述方法。本发明能够在不需要人工进行标注的情况下达到较高的准确性且效率较高。

权利要求 :

1.一种无监督二轮电动车充电时序异常检测方法,其包括如下步骤:步骤S1、基于历史数据构建训练集P, ; 为训练集P中的第x个样本,, 为样本 在t时刻的充电功率,T为时间序列的长度;

步骤S2、对训练集P中的每个样本均进行预处理,预处理用于将任一样本任一时刻下的充电功率数值映射至区间[0,1]中;

步骤S3、构建聚类算法模型,采用经预处理后的训练集P对其进行训练,以实现对数据进行K簇分类;

步骤S4、构建异常检测模型,异常检测模型具有K个,采用经聚类算法模型获取的K簇样本一一对应地对K个异常检测模型进行训练;异常检测模型用于对任一样本进行处理并输出重构输出序列;

步骤S5、获取待检测对象的实时数据Q,

, 为待检测对象在t时刻的充电功率,T

为时间序列的长度;

步骤S6、依照步骤S2中的预处理流程对实时数据Q进行处理;

步骤S7、采用经步骤S3训练完成的聚类算法模型对实时数据Q进行分簇;

步骤S8、采用经步骤S4训练完成的对应异常检测模型对实时数据Q进行处理,并获取重构输出序列;

步骤S9、基于重构输出序列计算异常分,并进行异常判定;

异常检测模型基于Transformer算法实现,其包括编码器和解码器;

编码器包括2个子层,分别为第一多头注意力层和第一前馈层;解码器包括3个子层,分别为掩盖的多头注意力层、第二多头注意力层和第二前馈层;编码器和解码器的每个子层后端均设置残差连接和层归一化层;

编码器前端连接第一输入层,第一输入层用于输入任一样本的完整序列;

解码器前端连接第二输入层,第二输入层用于输入对应样本的完整序列经时间窗口处理后的时间窗口序列;

解码器后端连接输出层,输出层基于逻辑回归函数实现,逻辑回归函数采用Sigmoid函数,输出层用于获取重构输出序列;

对于样本 ,用于输入至第一输入层的完整序列为,对于样本 ,用于输入至第二输入层的时间窗口序列为,其中,

其中,L为时间窗口的宽度;

第一输入层和第二输入层处均设置位置编码层,位置编码层基于下述公式计算完整序列中的任一特征值 及时间窗口序列中的任一特征值 的位置信息,其中,pos表示当前序列的输入次序, ; ;

通过嵌入位置信息获取输入序列,对于完整序列,其输入序列为,;

对于时间窗口序列,其输入序列为,

步骤S9中,对于实时数据Q,其经异常检测模型处理后输出的重构输出序列为O,其用于输入至第二输入层的时间窗口序列为 ,则异常分S为, 。

2.根据权利要求1所述的一种无监督二轮电动车充电时序异常检测方法,其特征在于:步骤S2中,预处理包括归一化处理,对于样本 ,其充电功率 经归一化处理后的数值为,其中, 和 分别为样本 中的最小充电功率和最大充电功率数值。

3.根据权利要求1所述的一种无监督二轮电动车充电时序异常检测方法,其特征在于:步骤S3具体包括如下步骤,

步骤S31、自经预处理后的训练集P中随机选取K个样本作为初始聚类中心,基于Soft‑DTW算法计算其余样本与每个初始聚类中心的距离,并基于所计算获取的距离进行分簇;

步骤S32,以每簇数据的质心作为新的聚类中心,并对步骤S31进行迭代,直至聚类算法模型收敛。

4.根据权利要求1所述的一种无监督二轮电动车充电时序异常检测方法,其特征在于:在构建时间窗口序列时,在 时,则采用 对时间窗口序列进行补充。

5.根据权利要求1所述的一种无监督二轮电动车充电时序异常检测方法,其特征在于:步骤S9中,基于极值分析方法计算异常阈值,并在异常分高于异常阈值时判定为异常。

6.一种无监督二轮电动车充电时序异常检测系统,其特征在于:包括数据采集单元、异常检测单元和输出单元,数据采集单元用于实现对历史数据及实时数据的采集及处理,异常检测单元包括聚类算法模型和异常检测模型并用于基于权利要求1‑5中任一所述的一种无监督二轮电动车充电时序异常检测方法对待检测对象进行异常判定,输出单元用于输出异常检测结果。

说明书 :

一种无监督二轮电动车充电时序异常检测方法及系统

技术领域

[0001] 本发明涉及电池异常检测技术领域,具体地说,涉及一种无监督二轮电动车充电时序异常检测方法及系统。

背景技术

[0002] 随着二轮电动车的数量急剧增多,因为充电导致的二轮电动车电池爆炸的事故也越来越多,电池爆炸造成的后果非常严重,将威胁到人们的生命财产安全。电动车电池爆炸,通常在电池充电的功率曲线中表现为异常,所以,电动车充电桩对电池充电的功率曲线的异常检测尤为重要。
[0003] 现有异常检测算法,有经典方法ARIMA模型来建模预测和检测异常,但是基于自回归的方法无法有效的建模预测不稳定的时间序列,而在电池的充电功率的时间序列通常并不是一个稳定的时间序列,所以此方法应用在充电的异常检测中效果不佳;另还存在基于深度学习的方法进行的异常检测,其主要是基于LSTM模型进行建模预测和异常检测,LSTM模型可以比较好的捕获充电功率时间序列的趋势,但是由于其架构的原因只能串行运行,导致了模型训练时间较长。
[0004] 见于专利公开号为CN108896911A的中国专利中,其将电池充电曲线直降与预设曲线做对比,相差过大的判定为异常;该方法本身来说是没有问题的,且效率非常高,但是可以应用的领域有限;比如在二轮电动车电池充电的领域就难以得到较好的应用,这是因为电动车的品牌和电池的品牌众多,难以制定一个标准的预设曲线,所以并不能很好地使用这个方法来对二轮电动车充电曲线做异常检测。
[0005] 见于专利公开号为CN113067754A的中国专利中,其使用了基于LSTM的半监督时间序列异常检测方法;其使用了深度学习模型,模型包括一个编码器、一个正常数据解码器和一个异常数据解码器,在时间序列数据集中选取正常标记数据集和未标记数据集,利用两个训练集对模型进行训练,不需要提前预定义一个阈值,对于未标记数据,通过比较经过两个解码器的重构误差的大小即可判断是否异常;该方法的缺陷体现在:1、该模型为半监督的模型,其应用于二轮电动车电池充电曲线的异常检测中时,因其数据非常庞大且本身就是缺乏标记的,如果要对数据进行标记的话,会消耗大量人力和时间,并且也依赖于专家的先验知识,故实现难度较大;2、基于LSTM模型的方法,因为其框架原因,只能串行运行,其框架是由一个个重复的模块串联构成,后一个模块的输入依赖于前一个模块的输出,所以导致了其只能串行运行,故会导致模型的训练及检测效率较低。

发明内容

[0006] 本发明提供了一种无监督二轮电动车充电异常检测系统,其能够克服现有检测方法难以对多种型号的二轮电动车进行快速异常检测的问题,并能够在不需要人工进行标注的情况下达到较高的准确性且效率较高。
[0007] 根据本发明的一种无监督二轮电动车充电时序异常检测方法,其包括如下步骤:
[0008] 步骤S1、基于历史数据构建训练集P, ; 为训练集P中的第x个样本, , 为样本 在t时刻的充电功率,T
为时间序列的长度;
[0009] 步骤S2、对训练集P中的每个样本均进行预处理,预处理用于将任一样本任一时刻下的充电功率数值映射至区间[0,1]中;
[0010] 步骤S3、构建聚类算法模型,采用经预处理后的训练集P对其进行训练,以实现对数据进行K簇分类;
[0011] 步骤S4、构建异常检测模型,异常检测模型具有K个,采用经聚类算法模型获取的K簇样本一一对应地对K个异常检测模型进行训练;异常检测模型用于对任一样本进行处理并输出重构输出序列;
[0012] 步骤S5、获取待检测对象的实时数据Q,, 为待检测对象在t时刻的充电功率,T
为时间序列的长度;
[0013] 步骤S6、依照步骤S2中的预处理流程对实时数据Q进行处理;
[0014] 步骤S7、采用经步骤S3训练完成的聚类算法模型对实时数据Q进行分簇;
[0015] 步骤S8、采用经步骤S4训练完成的对应异常检测模型对实时数据Q进行处理,并获取重构输出序列;
[0016] 步骤S9、基于重构输出序列计算异常分,并进行异常判定。
[0017] 通过上述步骤S1‑S9,由于采用基于深度算法的模型对异常进行检测,故不需要获取一个预设的曲线,而是通过大量的数据学习到不同品牌电动车电池的规律,从而判断充电曲线是否异常,故而能够具备较佳的通用性;此外,本实施中,由于采用无监督的模型,故不需要对数据进行标注,不依赖于专家的先验知识,故而能够较佳地对数据较为庞大的二轮电动车进行异常检测;另外,由于聚类算法模型的引入,使得能够对相关数据进行分类并训练获取对应的异常检测模型,从而能够基于当前实时数据Q的所述簇选择相应的异常检测模型对其进行训练,故而使得整体模型能够具备较佳的应对电动车电池多种品牌的鲁棒性。
[0018] 作为优选,步骤S2中,预处理包括归一化处理,对于样本 ,其充电功率 经归一化处理后的数值为 ,
[0019]
[0020] 其中, 和 分别为样本 中的最小充电功率和最大充电功率数值。
[0021] 基于上述,能够较佳地实现对相关数据的标准化处理,故而便于后续的数据处理。
[0022] 作为优选,步骤S3具体包括如下步骤,
[0023] 步骤S31、自经预处理后的训练集P中随机选取K个样本作为初始聚类中心,基于Soft‑DTW算法计算其余样本与每个初始聚类中心的距离,并基于所计算获取的距离进行分簇;
[0024] 步骤S32,以每簇数据的质心作为新的聚类中心,并对步骤S31进行迭代,直至聚类算法模型收敛。
[0025] 通过上述,能够较佳地实现对相关数据的分类,并且由于采用Soft‑DTW算法计算距离,故而相较于常规的采用欧式距离算法计算距离能够更好地度量时间序列之间的距离。
[0026] 作为优选,异常检测模型基于Transformer算法实现,其包括编码器和解码器;
[0027] 编码器包括2个子层,分别为第一多头注意力层和第一前馈层;解码器包括3个子层,分别为掩盖的多头注意力层、第二多头注意力层和第二前馈层;编码器和解码器的每个子层后端均设置残差连接和层归一化层;
[0028] 编码器前端连接第一输入层,第一输入层用于输入任一样本的完整序列;
[0029] 解码器前端连接第二输入层,第二输入层用于输入对应样本的完整序列经时间窗口处理后的时间窗口序列。
[0030] 解码器后端连接输出层,输出层基于逻辑回归函数实现,逻辑回归函数采用Sigmoid函数,输出层用于获取重构输出序列。
[0031] 本发明中,由于采用了基于Transfomer算法的异常检测模型,故能够较佳地实现对数据的并行处理,从而在应用于数据量较为庞大的二轮电动车充电异常检测领域时,能够较佳地大幅缩短模型的训练及检测时间。
[0032] 作为优选,对于样本 ,用于输入至第一输入层的完整序列为,
[0033]
[0034] 对于样本 ,用于输入至第二输入层的时间窗口序列为,
[0035]
[0036] 其中,
[0037]
[0038] 其中,L为时间窗口的宽度。
[0039] 通过上述使得,由于编码器和解码器的输入分别为对应的完整序列和对应的时间窗口序列,故而使得时间窗口序列中能够对相关特征的上下文信息进行记录,故而能够较佳地提升异常检测的精度。
[0040] 作为优选,在构建时间窗口序列时,在 时,则采用 对时间窗口序列进行补充。故而能够较佳地保证每个参数所对应的窗口长度保持一致。
[0041] 作为优选,第一输入层和第二输入层处均设置位置编码层,位置编码层基于下述公式计算完整序列中的任一特征值 及时间窗口序列中的任一特征值 的位置信息,[0042]
[0043] 其中,pos表示当前序列的输入次序, ; ;
[0044] 通过嵌入位置信息获取输入序列,对于完整序列,其输入序列为,[0045] ;
[0046] 对于时间窗口序列,其输入序列为,
[0047] 。
[0048] 通过上述,能够较佳地实现对输入序列的位置信息的嵌入。
[0049] 作为优选,步骤S9中,对于实时数据Q,其经异常检测模型处理后输出的重构输出序列为O,其用于输入至第二输入层的时间窗口序列为 ,则异常分S为,。故而能够较佳地对异常分进行计算。
[0050] 作为优选,步骤S9中,基于极值分析方法计算异常阈值,并在异常分高于异常阈值时判定为异常。故而能够较佳地实现阈值的动态、自动的设定,从而能够较佳地实现异常检测。
[0051] 此外,本实施例还提供了一种无监督二轮电动车充电时序异常检测系统,其包括数据采集单元、异常检测单元和输出单元,数据采集单元用于实现对历史数据及实时数据的采集及处理,异常检测单元包括聚类算法模型和异常检测模型并用于基于任一上述的一种无监督二轮电动车充电时序异常检测方法对待检测对象进行异常判定,输出单元用于输出异常检测结果。从而能够较佳地实现对二轮电动车基于充电时序的异常检测。
[0052] 具体地,本发明的有益效果主要体现如下几点:
[0053] 1、本发明在二轮电动车电池品牌众多的情况下,依然保持了异常检测系统的鲁棒性;因为二轮电动车的品牌非常多,其电池的品牌也非常多,其充电曲线并不相同,甚至相差很大,本发明使用了聚类算法模型,通过先对充电曲线作聚类,再进入异常检测模型中训练和检测,提高了整个系统的鲁棒性;
[0054] 2、本发明实现了在没有预设充电曲线的情况下,通过本发明所提出的异常检测单元,判断电池充电是否异常,并应用在二轮电动车充电的异常检测中;
[0055] 3、本发明实现了无监督的电池充电异常检测模型,对于大量的无标签数据,可以很好地利用,并且不需要花费大量人力以及专家的先验知识来对数据样本进行标注;
[0056] 4、本发明实现了可以并行运行的电池充电异常检测模型;相比于只能串行运行的异常检测模型,例如基于LSTM的异常检测模型,本发明使得了异常检测模型的训练和检测时间大幅缩短,提高了系统的效率。

附图说明

[0057] 图1为实施例1中的检测方法的检测流程示意图;
[0058] 图2为实施例1中的异常检测模型的框图示意图;
[0059] 图3为实施例1中的异常检测方法的整体流程示意图;
[0060] 图4为实施例1中的异常检测系统的框图示意图。

具体实施方式

[0061] 为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
[0062] 实施例1
[0063] 见于图1‑4,本实施例提供了一种无监督二轮电动车充电时序异常检测方法及系统,其核心思想在于,先将充电数据进行分类,将分类后的数据进入相同但不共享参数的异常检测模型中进行训练,训练完成后,对模型输入待检测对象的充电数据,模型会得到一个重构输出序列,即可理解为模型认为充电曲线应该是怎么样的,若是模型计算得出的重构输出与输入的待检测充电相差大于由极值分析方法得出的阈值的时候,则判定此充电数据为异常。
[0064] 具体地,本实施例中所提供的一种无监督二轮电动车充电时序异常检测方法,其包括如下步骤:
[0065] 步骤S1、基于历史数据构建训练集P, ; 为训练集P中的第x个样本, , 为样本 在t时刻的充电功率,T
为时间序列的长度;
[0066] 步骤S2、对训练集P中的每个样本均进行预处理,预处理用于将任一样本任一时刻下的充电功率数值映射至区间[0,1]中;
[0067] 步骤S3、构建聚类算法模型,采用经预处理后的训练集P对其进行训练,以实现对数据进行K簇分类;
[0068] 步骤S4、构建异常检测模型,异常检测模型具有K个,采用经聚类算法模型获取的K簇样本一一对应地对K个异常检测模型进行训练;异常检测模型用于对任一样本进行处理并输出重构输出序列;
[0069] 步骤S5、获取待检测对象的实时数据Q,, 为待检测对象在t时刻的充电功率,T
为时间序列的长度;
[0070] 步骤S6、依照步骤S2中的预处理流程对实时数据Q进行处理;
[0071] 步骤S7、采用经步骤S3训练完成的聚类算法模型对实时数据Q进行分簇;
[0072] 步骤S8、采用经步骤S4训练完成的对应异常检测模型对实时数据Q进行处理,并获取重构输出序列;
[0073] 步骤S9、基于重构输出序列计算异常分,并进行异常判定。
[0074] 通过上述步骤S1‑S9,由于采用基于深度算法的模型对异常进行检测,故不需要获取一个预设的曲线,而是通过大量的数据学习到不同品牌电动车电池的规律,从而判断充电曲线是否异常,故而能够具备较佳的通用性;此外,本实施中,由于采用无监督的模型,故不需要对数据进行标注,不依赖于专家的先验知识,故而能够较佳地对数据较为庞大的二轮电动车进行异常检测;另外,由于聚类算法模型的引入,使得能够对相关数据进行分类并训练获取对应的异常检测模型,从而能够基于当前实时数据Q的所述簇选择相应的异常检测模型对其进行训练,故而使得整体模型能够具备较佳的应对电动车电池多种品牌的鲁棒性。
[0075] 本实施例的步骤S2中,预处理包括归一化处理,对于样本 ,其充电功率 经归一化处理后的数值为 ,
[0076]
[0077] 其中, 和 分别为样本 中的最小充电功率和最大充电功率数值。
[0078] 基于上述,能够较佳地实现对相关数据的标准化处理,故而便于后续的数据处理。
[0079] 本实施例的步骤S3具体包括如下步骤,
[0080] 步骤S31、自经预处理后的训练集P中随机选取K个样本作为初始聚类中心,基于Soft‑DTW算法计算其余样本与每个初始聚类中心的距离,并基于所计算获取的距离进行分簇;
[0081] 步骤S32,以每簇数据的质心作为新的聚类中心,并对步骤S31进行迭代,直至聚类算法模型收敛。
[0082] 通过上述,能够较佳地实现对相关数据的分类,并且由于采用Soft‑DTW算法计算距离,故而相较于常规的采用欧式距离算法计算距离能够更好地度量时间序列之间的距离。
[0083] 本实施例中的聚类算法模型能够表示为Soft‑DTW K‑means聚类算法模型,其相较于传统的K‑means聚类算法模型,区别仅在于,采用Soft‑DTW计算聚类中心与其余样本点间的距离。
[0084] 本实施例中K能够取值为3。
[0085] 本实施例中的异常检测模型基于Transformer算法实现,其包括编码器和解码器;
[0086] 编码器包括2个子层,分别为第一多头注意力层和第一前馈层;解码器包括3个子层,分别为掩盖的多头注意力层、第二多头注意力层和第二前馈层;编码器和解码器的每个子层后端均设置残差连接和层归一化层;
[0087] 编码器前端连接第一输入层,第一输入层用于输入任一样本的完整序列;
[0088] 解码器前端连接第二输入层,第二输入层用于输入对应样本的完整序列经时间窗口处理后的时间窗口序列。
[0089] 解码器后端连接输出层,输出层基于逻辑回归函数实现,逻辑回归函数采用Sigmoid函数,输出层用于获取重构输出序列。
[0090] 本实施例中,由于采用了基于Transfomer算法的异常检测模型,故能够较佳地实现对数据的并行处理,从而在应用于数据量较为庞大的二轮电动车充电异常检测领域时,能够较佳地大幅缩短模型的训练及检测时间。
[0091] 可以理解的是,本实施例中的异常检测模型与现有常规Transfomer算法模型的区别仅在于:1、所输入的输入序列的处理不同,见于下文;2、并无linear层,且输出函数采用Sigmoid函数。故对于异常检测模型中以被现有技术公开之处,本实施例中不作过多赘述。
[0092] 本实施例的异常检测模型在进行训练时,能够采用L2损失函数作为损失函数,并采用Adam优化器进行优化。
[0093] 本实施中,对于样本 ,用于输入至第一输入层的完整序列为,
[0094]
[0095] 对于样本 ,用于输入至第二输入层的时间窗口序列为,
[0096]
[0097] 其中,
[0098]
[0099] 其中,L为时间窗口的宽度。
[0100] 通过上述使得,由于编码器和解码器的输入分别为对应的完整序列和对应的时间窗口序列,故而使得时间窗口序列中能够对相关特征的上下文信息进行记录,故而能够较佳地提升异常检测的精度。
[0101] 本实施例中,能够设置L=10。
[0102] 本实施例中,在构建时间窗口序列时,在 时,则采用 对时间窗口序列进行补充。故而能够较佳地保证每个参数所对应的窗口长度保持一致。
[0103] 本实施例的第一输入层和第二输入层处均设置位置编码层,位置编码层基于下述公式计算完整序列中的任一特征值 及时间窗口序列中的任一特征值 的位置信息,[0104]
[0105] 其中,pos表示当前序列的输入次序, ; ;
[0106] 通过嵌入位置信息获取输入序列,对于完整序列,其输入序列为,[0107] ;
[0108] 对于时间窗口序列,其输入序列为,
[0109] 。
[0110] 通过上述,能够较佳地实现对输入序列的位置信息的嵌入。
[0111] 可以理解的是,此处与现有技术并无过多区别,故不予赘述。
[0112] 本实施例的步骤S9中,对于实时数据Q,其经异常检测模型处理后输出的重构输出序列为O,其用于输入至第二输入层的时间窗口序列为 ,则异常分S为, 。故而能够较佳地对异常分进行计算。
[0113] 可以理解的是, 即为求取重构输出序列为O与间窗口序列为 间的L2正则范数。
[0114] 通过本实施例的算法使得,在进行训练时,能够以任一样本的充电功率和对应的时间窗口序列作为输入,从而获取的重构输出序列。重构输出序列即为对应充电功率的预测时间窗口序列,通过异常分S计算,即为计算实际时间窗口序列与预测时间窗口序列的差值,若该差值高于异常阈值则判定在该时刻下出现充电异常,反之则正常。
[0115] 本实施例中,在获取异常分后能够与一阈值进行比较,进而实现异常检测。可以理解的是,该阈值检测也可以为人为设定。但考虑到人为设定需要依靠先验知识且工作量庞大,故本实施例中的步骤S9中,基于极值分析方法计算异常阈值,并在异常分高于异常阈值时判定为异常。故而能够较佳地实现阈值的动态、自动的设定,从而能够较佳地实现异常检测。
[0116] 本实施例的极值分析方法,为现有既有手段,故不作过多赘述。
[0117] 基于本实施例中的方法,本实施例还提供了一种无监督二轮电动车充电时序异常检测系统,其包括数据采集单元、异常检测单元和输出单元,数据采集单元用于实现对历史数据及实时数据的采集及处理,异常检测单元包括聚类算法模型和异常检测模型并用于基于上述的一种无监督二轮电动车充电时序异常检测方法对待检测对象进行异常判定,输出单元用于输出异常检测结果。从而能够较佳地实现对二轮电动车基于充电时序的异常检测。
[0118] 其中,数据采集单元能够自各地的联网二轮电动车充电桩中获取历史充电功率时间序列以及当前充电功率时间序列,从而能够较佳地实现训练集P及当前实时数据Q的构建及获取。
[0119] 其中,输出单元在异常检测单元判定出现异常时,能够产生用于切断对应联网二轮电动车充电桩电源的控制指令,并能够向相关用户进行消息推送。
[0120] 以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。