CN115456142A - 基于对比学习的变化点检测方法 - Google Patents
基于对比学习的变化点检测方法 Download PDFInfo
- Publication number
- CN115456142A CN115456142A CN202211011209.9A CN202211011209A CN115456142A CN 115456142 A CN115456142 A CN 115456142A CN 202211011209 A CN202211011209 A CN 202211011209A CN 115456142 A CN115456142 A CN 115456142A
- Authority
- CN
- China
- Prior art keywords
- data
- change point
- point detection
- input
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明属于计算机算法技术领域,具体涉及一种基于对比学习的变化点检测方法,应用于风光联合发电系统并网运行。利用深度神经网络找到时间序列数据中的特征,再根据特征的变化去判断时间序列数据是否发生了变化;所述深度神经网络采用时间卷积网络(TCN)来提取时间序列特征;使用对比学习方法采集正样本和负样本,使特征和时间序列数据的关系尽量靠近。本发明是一种不需要额外标注的标签的变化点检测方法,且基于对比学习的变化点检测方法不依赖于任何关于数据统计分布的假设,使得它具有更广泛的应用前景。
Description
技术领域
本发明属于计算机算法技术领域,具体涉及一种基于对比学习的变化点检测方法,应用于风光联合发电系统并网运行。
背景技术
当前,对于时间序列的变化点检测方法,根据其检测机理是否需要监督学习过程可分为两类;监督式检测方法和无监督检测方法。
(一)监督式变化点检测方法,其通常思路为∶收集足够数量的不同状态分布下的时间序列,结合这些样本时间序列的类别标签(即各分布状态),通过对该序列集进行监督式训练,学习得到适合的模型,通过该模型对给定的时间序列进行分类识别,以确定其数据分布状态。监督式变化点检测方法,在诸多应用中已经表现出了其有效性。然而,该类方法存在两点不足∶第一,监督学习的过程中需要事先收集所需的学习样本,然而在不同的应用中,对于不同样本的收集需要耗费大量人力、物力;第二,对于要求实现时间序列变化点在线检测的过程,该类方法通常利用滑动窗策略,将时间序列分割为不同的子序列作为分类器的输入输出,而滑动窗的选择对于检测结果影响较大,可能产生较大的检测延迟。
(二)无监督变化点检测方法,利用所观测到的时间序列,建立数学模型,通过对当前的时序数据进行统计学分析,定量计算当前时刻发生结构变化的可能性,进而对其进行变化点次策,输出变化时刻。这类方法仅利用观测得到的数据驱动建模,无需收集大量的时间序列进行训练,能够面向更加广泛的应用对象。但是该类方法存在的不足是通常都要为时间序列数据进行较强的假设,例如假设数据符合某个特殊分布,或者假设时间序列数据之间并不存在联系是独立同分布的,这种假设使得该方法只能应用于狭窄范围的时间序列数据。
发明内容
本发明的目的是提供一种基于对比学习的变化点检测方法,以解决现有检测方法在收集不同样本时耗费大量人力、物力、产生较大的检测延迟以及只能应用于狭窄范围的时间序列数据的问题。
为了实现上述目的,本发明采用的技术方案如下:
一种基于对比学习的变化点检测方法,利用深度神经网络找到时间序列数据中的特征,再根据特征的变化去判断时间序列数据是否发生了变化;所述深度神经网络采用时间卷积网络(TCN)来提取时间序列特征;使用对比学习方法采集正样本和负样本,使特征和时间序列数据的关系尽量靠近。
进一步地,所述判断时间序列数据是否发生变化方法:通过历史数据来训练得到一个神经网络模型,将带有时间顺序的历史数据投入模型中作为训练集,该模型的输入为当前时间窗口的数据,输出为当前时间窗口是否发生了变化点;将训练好的模型加入程序中,如果没有变化点发生则按照正常的流程进行,当模型判断当前时间窗口为变化点就可以进入发生变化点的流程,如果在故障检测环境下当前时间窗口存在变化点那么认为发生故障,就去检查哪里发生了故障,没有发现变化点则说明系统正常运行。
进一步地,所述神经网络模型包括:
采样层:采集正样本和负样本,其中当前的输入x对应输出y作为正样本,错误对应的y`作为负样本;
输入和编码层:使用时间卷积网络学习时间特征,时间卷积网络的输入可以分为两个部分历史输入x和未来输入y(在这里y表示正样本y和负样本y`的集合),经过时间卷积网络卷积之后可以得到两个特征表示R_history和R_future(R_future可以分为两个部分:正样本特征R_future_y和R_future_y`),送到表示层;
表示层:通过对比学习方法使得R_history和R_future中的正样本相似度提高同时尽量远离R_future中的负样本,最后得到两个正确的表示向量并且输入到变化点检测层作为变化点检测依据;
变化点检测层:当表示向量相似时说明变化没有发生,当表示变量差距过大说明当前的时间窗口存在变化点。
进一步地,所述输入和编码层应用了残差结构,加入残差结构之后学习目标从学习对输入X的整体变换,改为学习对输入X的部分修改,加入残差结构之后可以有效的避免梯度消失问题,就可以用TCN结构构建非常长的有效历史大小(即网络可以很远地看过去进行预测的能力)。
进一步地,所述采样层采用方法:将输入的数据分为当前窗口数据x和未来数据y(将要由模型预测的结果),当前输入窗口的时间点为t那么数据可以表示为xt未来数据y可以使用距离当前时间t的c个时间步长xt+c的数据表示,如此使用自身数据完成预测而避免了额外的标签。
进一步地,所述采用时间卷积网络获取卷积时间特征的方法:先是将数据输入到一个transformer层,通过注意力机制得到时间点之间的关联,然后再输入到时间卷积网络通过式(1)得到一个编码结构
式(1)中,F(s)表示输出,x表示输入,d表示膨胀因子,s表示为当前的时刻,i表示层数在右上角,k表示隐藏层的层数。
进一步地,所述变化点检测层就是对比当前时间窗口数据x和正样本y的特征采用余弦相似度的对比方法,当两者的特征相似度高的时候认为当前数据是平稳的符合模型学习到的规律,当两者相似度差异较大(差异大小通常由人为规定,认为余弦相似度小于0.3就是差异较大,可以根据实际情况调整)说明数据不再是符合模型学习到的时间规律那么就是变化发生。
且综上所述,由于采用了上述技术方案,发明的有益技术效果是:
一种基于对比学习的变化点检测方法是第一种在一般时间序列上利用对比学习的方法,且属于无监督式变化点检测方法,因此不需要额外标注的标签相较于有监督的变化点检测方法更加的省时省力。此外,我们基于对比学习的变化点检测方法不依赖于任何关于数据统计分布的假设,使得它适用于更广泛的现实世界应用。
附图说明
图1为深度变化点检测模型整体结构。
图2为采样层的采样方法示意图。
图3为编码层的结构示意图。
图4为时间卷积网络结构示意图。
具体实施方式
为了使发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释发明,并不用于限定发明。
一种基于对比学习的变化点检测方法,利用深度神经网络找到时间序列数据中的特征,再根据特征的变化去判断时间序列数据是否发生了变化;所述深度神经网络采用时间卷积网络(TCN)来提取时间序列特征;使用对比学习方法采集正样本和负样本,使特征和时间序列数据的关系尽量靠近。
所述判断时间序列数据是否发生变化方法:通过历史数据来训练得到一个神经网络模型,将带有时间顺序的历史数据投入模型中作为训练集,该模型的输入为当前时间窗口的数据,输出为当前时间窗口是否发生了变化点;将训练好的模型加入程序中,如果没有变化点发生则按照正常的流程进行,当模型判断当前时间窗口为变化点就可以进入发生变化点的流程,如果在故障检测环境下当前时间窗口存在变化点那么认为发生故障,就去检查哪里发生了故障,没有发现变化点则说明系统正常运行。
其中,深度变化点检测模型整体结构如图1所示,可以分为四层分别是采样层,输入和编码层,表示层以及变化点检测层。
采样层的采样方法如图2所示,采样分为正样本和负样本,当前的输入x对应输出y作为正样本,错误对应的y`作为负样本,正样本和负样本都要通过编码层进行编码。
编码层的示意图如图3,先是将数据输入到一个transformer层,通过注意力机制得到时间点之间的关联,然后再输入到时间卷积网络如图四中通过如下的式得到一个编码结构
F(s)表示输出,x表示输入,d表示膨胀因子,s表示为当前的时刻,i表示层数在右上角,k表示隐藏层的层数。
如图4(b)应用了残差结构相较于直接应用卷积操作,加入残差结构之后学习目标从学习对输入X的整体变换,改为学习对输入X的部分修改,加入残差结构之后可以有效的避免梯度消失问题,那么就可以用TCN结构构建非常长的有效历史大小(即网络可以很远地看过去进行预测的能力)。
在表示层中,经过编码层编码然后通过对比学习方法得到两个表示向量,分别是历史表示向量R_history和未来表示向量R_future。得到这两个表示向量的前提如图二所示,需要进行历史数据正负样本的采样。通过对比学习方法使得R_history和R_future中的正样本相似度提高同时尽量远离R_future中的负样本,最后得到两个正确的表示向量并且输入到变化点检测层作为变化点检测依据。
在变化点检测层,当表示向量相似的时候那么说明变化没有发生,当表示变量差距过大说明当前的时间窗口存在变化点,衡量两者的相似性的指标我们选择余弦相似度。
实施例1
一种基于对比学习的变化点检测方法,可以应用于多个场景,例如设备故障检测,生产线产品质量检测,医学方向的心率监测,以及金融方向的股票预测等等。将带有时间顺序的历史数据,例如股票数值数据、气象温度数据、设备运行参数数据等带有时间特征的数值型数据投入模型中作为训练集,模型如图一所示包含四层,分别是采样层,输入和编码层,表示层以及变化点检测层。
采样层将输入的数据分为当前窗口数据x和未来数据y(将要由模型预测的结果),例如,当前输入窗口的时间点为t那么数据可以表示为xt未来数据y可以使用距离当前时间t的c个时间步长xt+c的数据表示,如此可以使用自身数据完成预测而避免了额外的标签。为了更好的学习效果采用了正负样本对比学习方法,y作为正样本输入y`作为负样本输入,采样方法如图二所示。
正负样本对比学习的核心思想就是模型学习到的特征要尽量靠近正样本远离负样本,输入和编码层如图三所示就是使用时间卷积网络学习时间特征,时间卷积网络的输入可以分为两个部分历史输入x和未来输入y(在这里y表示正样本y和负样本y`的集合),经过时间卷积网络卷积之后可以得到两个特征表示R_history和R_future(R_future可以分为两个部分:正样本特征R_future_y和R_future_y`),送到表示层。
在表示层中,训练目的就是R_history尽量靠近R_future_y而远离R_future_y`。最终的效果就是模型输入当前窗口数据x和正样本y得到的特征是非常接近的,这也是接下来检测变化点的依据。
变化点检测层就是对比当前时间窗口数据x和正样本y的特征,在这里采用的对比方法是余弦相似度,当两者的特征相似度高的时候可以认为当前数据是平稳的符合模型学习到的规律,当两者相似度差异较大(差异大小通常由人为规定,认为余弦相似度小于0.3就是差异较大,可以根据实际情况调整)说明数据不再是符合模型学习到的时间规律那么就是变化发生。
由带有时间顺序的历史数据训练好的模型就可以部署应用于不同的场景,例如使用设备运行数据训练得到的模型检测到变化点那么就是设备运行状态发生变化,通常情况说明设备发生了故障,接下来就需要去为设备进行检修。再例如由金融股票数据训练得到的模型,模型提示检测到变化点说明当前的时间数据状态同之前的状态不同可能是由涨转跌也可能是由跌到涨等等,可以为之后的股票买入卖出操作提供依据。
以上所述为发明的较佳实施例,并不用以限制发明,凡在发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在发明的保护范围之内。
Claims (7)
1.基于对比学习的变化点检测方法,其特征在于:利用深度神经网络找到时间序列数据中的特征,再根据特征的变化去判断时间序列数据是否发生了变化;所述深度神经网络采用时间卷积网络(TCN)来提取时间序列特征;使用对比学习方法采集正样本和负样本,使特征和时间序列数据的关系尽量靠近。
2.根据权利要求1所述的基于对比学习的变化点检测方法,其特征在于:所述判断时间序列数据是否发生变化方法:通过历史数据来训练得到一个神经网络模型,将带有时间顺序的历史数据投入模型中作为训练集,该模型的输入为当前时间窗口的数据,输出为当前时间窗口是否发生了变化点;将训练好的模型加入程序中,如果没有变化点发生则按照正常的流程进行,当模型判断当前时间窗口为变化点就可以进入发生变化点的流程,如果在故障检测环境下当前时间窗口存在变化点那么认为发生故障,就去检查哪里发生了故障,没有发现变化点则说明系统正常运行。
3.根据权利要求2所述的基于对比学习的变化点检测方法,其特征在于:所述神经网络模型包括:
采样层:采集正样本和负样本,其中当前的输入x对应输出y作为正样本,错误对应的y`作为负样本;
输入和编码层:使用时间卷积网络学习时间特征,时间卷积网络的输入可以分为两个部分历史输入x和未来输入y(在这里y表示正样本y和负样本y`的集合),经过时间卷积网络卷积之后可以得到两个特征表示R_history和R_future(R_future可以分为两个部分:正样本特征R_future_y和R_future_y`),送到表示层;
表示层:通过对比学习方法使得R_history和R_future中的正样本相似度提高同时尽量远离R_future中的负样本,最后得到两个正确的表示向量并且输入到变化点检测层作为变化点检测依据;
变化点检测层:当表示向量相似时说明变化没有发生,当表示变量差距过大说明当前的时间窗口存在变化点。
4.根据权利要求3所述的基于对比学习的变化点检测方法,其特征在于:所述输入和编码层应用了残差结构,加入残差结构之后学习目标从学习对输入X的整体变换,改为学习对输入X的部分修改,加入残差结构之后可以有效的避免梯度消失问题,就可以用TCN结构构建非常长的有效历史大小。
5.根据权利要求3所述的基于对比学习的变化点检测方法,其特征在于:所述采样层采用方法:将输入的数据分为当前窗口数据x和未来数据y,当前输入窗口的时间点为t那么数据可以表示为xt未来数据y可以使用距离当前时间t的c个时间步长xt+c的数据表示,如此使用自身数据完成预测而避免了额外的标签。
7.根据权利要求3所述的基于对比学习的变化点检测方法,其特征在于:所述变化点检测层就是对比当前时间窗口数据x和正样本y的特征采用余弦相似度的对比方法,当两者的特征相似度高的时候认为当前数据是平稳的符合模型学习到的规律,当两者相似度差异较大说明数据不再是符合模型学习到的时间规律那么就是变化发生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211011209.9A CN115456142A (zh) | 2022-08-23 | 2022-08-23 | 基于对比学习的变化点检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211011209.9A CN115456142A (zh) | 2022-08-23 | 2022-08-23 | 基于对比学习的变化点检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115456142A true CN115456142A (zh) | 2022-12-09 |
Family
ID=84297746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211011209.9A Pending CN115456142A (zh) | 2022-08-23 | 2022-08-23 | 基于对比学习的变化点检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115456142A (zh) |
-
2022
- 2022-08-23 CN CN202211011209.9A patent/CN115456142A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784965B (zh) | 面向云环境下大规模多元时间序列数据异常检测方法 | |
CN112527788B (zh) | 变压器监测数据异常值检测与清洗的方法及装置 | |
CN109492193B (zh) | 基于深度机器学习模型的异常网络数据生成与预测方法 | |
CN111914873A (zh) | 一种两阶段云服务器无监督异常预测方法 | |
CN108985380B (zh) | 一种基于聚类集成的转辙机故障识别方法 | |
US11840998B2 (en) | Hydraulic turbine cavitation acoustic signal identification method based on big data machine learning | |
CN113312447B (zh) | 基于概率标签估计的半监督日志异常检测方法 | |
CN111160620B (zh) | 一种基于端到端记忆网络的短期风电功率预测方法 | |
CN111753918B (zh) | 一种基于对抗学习的去性别偏见的图像识别模型及应用 | |
CN113988215B (zh) | 一种配电网计量柜状态检测方法及系统 | |
CN114676742A (zh) | 一种基于注意力机制和残差网络的电网异常用电检测方法 | |
CN114500004A (zh) | 一种基于条件扩散概率生成模型的异常检测方法 | |
CN115221233A (zh) | 基于深度学习的变电站多类带电检测数据异常检测方法 | |
CN117154263A (zh) | 锂电池梯次利用充放电系统及控制方法 | |
CN114611409A (zh) | 一种配电终端异常检测模型的建立方法及装置 | |
CN117131022B (zh) | 一种电力信息系统的异构数据迁移方法 | |
CN117762913A (zh) | 一种海上风电异常功率数据自动识别方法及系统 | |
CN117407770A (zh) | 基于神经网络的高压开关柜故障模式分类及预测方法 | |
CN116383747A (zh) | 基于多时间尺度深度卷积生成对抗网络的异常检测方法 | |
CN116680639A (zh) | 一种基于深度学习的深海潜水器传感器数据的异常检测方法 | |
CN109635008B (zh) | 一种基于机器学习的设备故障检测方法 | |
CN117154680A (zh) | 一种基于非平稳Transformer模型的风电功率预测方法 | |
CN115935285A (zh) | 基于掩码图神经网络模型的多元时间序列异常检测方法和系统 | |
CN114925808B (zh) | 一种基于云网端资源中不完整时间序列的异常检测方法 | |
CN115456142A (zh) | 基于对比学习的变化点检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |