【论文精读】时序逻辑推理之无监督的异常检测 Anomaly Detection in Cyber-Physical Systems: A Formal Methods Approach

前言:这是上一篇文章Temporal logic inference for classification and prediction from data的姊妹篇,出自于同一课题组的研究人员,文章比较短,重复的部分比较多,就顺便读掉了。

主要参考文献:
A. Jones, Z. Kong and C. Belta, “Anomaly detection in cyber-physical systems: A formal methods approach,” 53rd IEEE Conference on Decision and Control, 2014, pp. 848-853, doi: 10.1109/CDC.2014.7039487.


概览

本文对前文进行了扩展,提出了不基于因果形式的iPSTL结构,不仅支持了非监督异常检测场景,并把时序逻辑公式拓展到了在线监督场景。


流水账笔记

1 Introduction

本文自称是首篇将形式化方法应用于异常检测领域的文献,提出了一种model-free的无监督学习算法,得出的公式同样可以用于在线监控场景。

2 Mathematical Preliminaries

  • iSTL(iPSTL)
    参考rSTL(rPSTL)但不要求一定要有因果形式,即" ⇒ \Rightarrow "。
  • 其他
    参考上一篇文献

3 Problem Formulation

这里将正常系统记作 S N \mathcal{S}_N SN,有安全隐患的系统记作 S T \mathcal{S}_T ST。俗话说的好,“幸福的人生是相似的,不幸的人生各有各的不幸”,所以可以理解 L ( S N ) ⊂ L ( S T ) L(\mathcal{S}_N) \subset L(\mathcal{S}_T) L(SN)L(ST),有安全隐患的系统可以产生正常信号,也能在受到攻击时产生各种各样奇奇怪怪的异常信号。

那么怎么直到系统又没有收到攻击呢?最简单的把所有的正常行为描述出来,满足不了的就是异常行为。要描述正常的行为,在这里也就是得到时序逻辑公式,使其误分类率更低。

4 Solution

单类SVM (OCSVM)

单类支持向量机是异常检测领域的经典算法,处理的是没有立群样本的非监督的情景。单类SVM将单类分类问题是为一个特殊的二类分类问题,在特征空间中找一个超平面 w T ϕ ( x ) − ρ = 0 w^T\phi(x)-\rho=0 wTϕ(x)ρ=0最大化样本点和原点之间的距离 ρ ∣ ∣ w ∣ ∣ \frac{\rho}{||w||} wρ
在这里插入图片描述

为了提高鲁棒性(允许部分样本在划分范围外),引入松弛变量 ζ \zeta ζ,最大化问题就转化为了以下优化问题:

min ⁡ w , ρ , ζ ( 1 2 ∣ ∣ w ∣ ∣ 2 + 1 v n ∑ i = 1 n ζ i − ρ ) s . t . ( w ⋅ ϕ ( x i ) ) ≥ ρ − ζ i   a n d   ζ i ≤ 0   ∀ i \min\limits_{w,\rho,\zeta}(\frac{1}{2}||w||^2+\frac{1}{vn}\sum\limits_{i=1}^{n}\zeta_i-\rho)\\ s.t. (w\cdot\phi(x_i))\geq\rho-\zeta_i \ and\ \zeta_i\leq0 \ \forall i w,ρ,ζmin(21w2+vn1i=1nζiρ)s.t.(wϕ(xi))ρζi and ζi0 i
那么上面这个优化函数是怎么来的呢?

想要 ρ ∣ ∣ w ∣ ∣ \frac{\rho}{||w||} wρ尽量大,那么 ∣ ∣ w ∣ ∣ ||w|| w就要尽量小, ρ \rho ρ尽量大,为了方便后面的拉格朗日法的求导步骤,这里用 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2代替了 ∣ ∣ w ∣ ∣ ||w|| w。其中, v ∈ ( 0 , 1 ] v\in(0,1] v(0,1]是预先知道的参数,表示边界支持向量率的上限,也就是异常样本点的数量上限。最终,单类SVM返回一个决策函数,决策函数大于0则为正常样本,否则为一场样本。

模改版OCSVM

回到我们的文章,这里想要求解的是最佳的参数组合,希望得到的决策函数就是完整的STL。
min ⁡ ϕ θ , ϵ d ( ϕ θ ) + 1 v N ∑ i = 1 N μ i − ϵ s . t .   ∀ i    μ i = { 0   r ( y i , ϕ θ ) > ϵ 2 ϵ 2 − r ( y i , ϕ θ )   e l s e \min\limits_{\phi_\theta,\epsilon}d(\phi_\theta)+\frac{1}{vN}\sum\limits_{i=1}^{N} \mu_i-\epsilon \\ s.t. \ \forall i\ \ \mu_i=\left\{ \begin{aligned} 0 &\ & r(y_i,\phi_\theta)\gt \frac{\epsilon}{2}\\ \frac{\epsilon}{2}-r(y_i,\phi_\theta) &\ & else \end{aligned}\right. ϕθ,ϵmind(ϕθ)+vN1i=1Nμiϵs.t. i  μi=02ϵr(yi,ϕθ)  r(yi,ϕθ)>2ϵelse

那么是要得到一条最inclusive的STL公式(包含的样本点尽量的多),因此tightness要尽量的小;但也不能过于inclusive,导致所有的点都包含到公式里去,所以添加一条要求:分类后的正负样本间距离(也就是SVM中的软间隔)要尽量的大。

  • d ( ϕ θ ) d(\phi_\theta) d(ϕθ) 指的是tightness函数,指代公式的exclusiveness,最小化它的值表示找到的正样本要尽可能多
  • μ \mu μ是非负的松弛变量,其正值在目标函数是要被惩罚的,最小化它的值表示找到的异常样本要尽量的少。
  • ϵ \epsilon ϵ是软间隔,表示正负样本间的距离,最大话它的值表示正负样本要尽量分开。

求解方法

同上一篇文章差不多,结构学习还是靠分层遍历,使用优化方法来进行参数学习。参数学习用的是OCSVM的优化函数,所以两篇文章唯一的不同就在于ParameterEstimation的算法。OCSVM算法一般是用拉格朗日法求导求解,但是这里给的Tightness Function应该怎么求导呢?一看Case Study,原来和上一篇文章一样,用的还是模拟退火。

最后的决策函数是robustness degree,大于0则为正例,反之为负例。

5 Case Studies

A. Linear System

系统描述

这里用一个含有噪声的线性微分方程描述了一个系统。

效果评估

用100条信号进行训练,其中包含4条异常数据;100条信号进行测试,其中包含7条异常数据。模拟退火周期数为3,每周期处理15条数据。耗时130s。

文中给出了正常条件下和异常条件下的两种完全不一样的dynamic,相当于先给了标签,但是训练过程中并没有使用。最后评估算法效果的时候再用标签来计算误分类率(MCR),得到结果时训练集MCR=0,测试集MCR=0.0018,不是很高,效果还可以。对于误分类样本单独分析,这条信号相对于公式的Robustness Degree为0.0018,说明差一点点就可以分对了。

在线监督

所谓在线监督,就是把刚才得到的 ϕ \phi ϕ变成随时间变化的 ϕ ( t ) \phi(t) ϕ(t),也就是把时间参数的最大值改成t:
ϕ = □ [ 0 , 3.0 ) ( ⋄ [ 0.5 , 2.0 ) ( y > 0.9634 ) ) ⇓ ϕ ( t ) = □ [ 0 , t ) ( ⋄ [ 0.5 , m i n ( t , 2.0 ) ) ( y > 0.9634 ) ) \phi=\square_{[0,3.0)}(\diamond_{[0.5,2.0)}(y>0.9634)) \\ \Downarrow \\ \phi(t)=\square_{[0,t)}(\diamond_{[0.5,min(t,2.0))}(y>0.9634)) ϕ=[0,3.0)([0.5,2.0)(y>0.9634))ϕ(t)=[0,t)([0.5,min(t,2.0))(y>0.9634))
上式可以看作目前收集到得信号有没有违背公式要求。

B. Braked Train

系统描述

描述了一个混合自动机系统(hybrid automation system),一辆火车有3个刹车子系统,每个子系统可以在5种状态间进行切换;还有1个速度控制系统,可以在3种状态间进行切换。

效果评估

用50条信号进行训练,其中包含7条异常数据;没有用测试集进行测试。误分类率为0。模拟退火周期数为15,每周期处理15条数据。耗时154s。

在线监督

在线监督的时候发现一个问题,即使是正常信号,在前期也出现了robustness为负的情况,随着时间推移robustness才逐渐增加,正常信号才被标记为正例。也就是说,在时间窗长度变化的情况下,STL的有效性不能得到保证。(如果用这个公式来做报警器,那保安室的员工可能要疯。)

6 Conclusion

本文得创新点在于:

  • 选取了更适合异常监督领域的代价函数
  • 拓展了在线监督应用

思考与记录

  • 文中考虑的attack种类单一,异常状态分布过于集中,不符合异常检测的目标。
  • 直接更改时间窗上限的在线监督算法不靠谱,太容易误触警报。
  • 无监督算法的评价指标单一,且实际工程中可能根本拿不到标签,因此可以尝试其他不基于标签的评价方式
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值