真实世界中的开集识别问题(Open-Set Recognition Problem)——Walter J. Scheirer研究是最深的,安全里已经有研究了,但是感觉只是触及了皮毛而已
https://recodbr.files.wordpress.com/2016/09/2016-icip-tutorial-open-set-light.pdf 里面有EVT理论 是目前看到的关于开集识别写得最全最深的文章了!!!
https://www.ic.unicamp.br/~rocha/pub/2015-wifs/wifs2015-tutorial-open-set.pdf 这里面有代码 https://github.com/ljain2/libsvm-openset
https://www.researchgate.net/publication/236916472_Toward_Open_Set_Recognition/link/5662fb3208ae4931cd5ecdee/download 作者的一些文章 由于是先驱者 所以值得一看
闭集与开集分类问题
闭集分类问题(closed-set problem),即测试和训练的每个类别都有具体的标签,不包含未知的类别(unknown category or unseen category); 如著名的MNIST和ImageNet数据集,里面包含的每个类别为确定的。以MNIST(字符分类)为例,里面包含了0~9的数字类别,测试时也是0~9的类别,并不包含如字母A~Z等的未知类别,闭集分类问题即:区分这10个类别
开集分类问题(open-set problem)不仅仅包含0~9的数字类别,还包含其他如A~Z等等的未知类别,但是这些未知的类别并没有标签,分类器无法知道这些未知类别里面图像的具体类别,如:是否是A,这些许许多多的不同类别图像共同构成了一个类别:未知类别,在检测里面我们叫做背景类别(background),而开集分类问题即:区分这10个类别且拒绝其他未知类别 [1-3]
更形式化,可定义为
闭集分类问题:集合S包含N个有限类别,且该N个类别有具体标签,闭集分类问题即划分这N个类别
开集分类问题:集合S包含N个有具体标签的有限类别,且S包含K个有限或无限未知类别,开集分类问题即划分这N个类别且拒绝这K个未知类别
人脸的开集识别问题
人脸识别,现在已经成为了被广泛使用的技术,我们所使用的电脑,手机几乎都具备这样的基础功能。通常我们使用的人脸识别技术本身就是open-set problem,即人脸识别的训练集和测试集可能是非常不同的,而闭集测试对于普通的人脸识别商用意义有限,这里就存在测试集的Identities(ID)或不同人(或类别)远远超过训练集的问题; 以微软的开放数据集MS-Celeb-1M为例,它仅仅包含约100K的ID数量,和中国人的ID数相比差了4个数量级; 那么这个数据集这么小是否就没用的呢?并不是,但是从目前来看ID数量已经成为限制人脸识别精度的主要影响因素,也就是说数据集主要影响的是精度从而影响商用范围(不同的应用要求精度有差别,如社区门禁模型要求在1 0 − 4 10^{-4}10
−4
FPR下 99%的 TPR 应该说就足够了)
从人脸识别的pipline来看(检测-对齐-识别),人脸识别有两个地方会涉及到open-set问题,第一个就是人脸检测,人脸检测直接面对的就是开放世界的场景,各种各样的物体; 第二个即识别,识别面对的物体要比检测单一,即各种不同ID的人脸
如果没有检测这一步,人脸识别将会更加困难,这个时候人脸特征失效会非常严重,你无法想象,放一张猫脸或者其他乱七八糟的图片会发生什么(当然识别模型有部分outlier detection能力,但是很弱)。从人脸识别的整个pipline来看,是先拒绝了非人脸,然后再拒绝非注册ID,本质还是拒绝非注册ID,并区分注册ID; 而非注册ID本身可能是人脸且不是其他非人脸的物体,所以从定义上说和open-set problem是一致的,这里涉及到粗粒度分类和细粒度分类问题,遵循先粗后细的原则
特征完备性
目前人脸识别的识别这个过程包含:特征提取(如上图是由metric learning所学习到的,各种loss,包括center loss,sphere loss,arcface loss等等),特征比对(距离度量,包括cosine similarity,L k L_kL
k
distance等等)。特征提取模型的特征涉及到特征完备性问题,假设模型能完备的编码了所有人的人脸ID为独有的特征,即任意两个人如果能被区分,则其人脸特征能被以接近0的误差区分
如果训练的人脸ID足够多到模型所提取的特征接近或已经达到特征完备性,那么实际所需要的训练ID数将存在一个上界。换句话说,如果你的ID数据多到可以达到或接近特征完备性,开集测试和闭集测试将不存在显著差别。
但是这里其实忽略了一个问题,即两个人真的能被区分吗?假设我们任选一个人脸为注册ID,在足够大的ID集合中,总会存在某人脸ID与该注册ID的相似度接近于100%,意味着不管你的模型有多好,是否是特征完备的,只要在一个足够大的ID集合中去搜索总会存在不能被识别的ID(世界上没有完全相同的两片树叶,但是却有两片相似度足够高的树叶),这里的足够大可以衍生为很大的ID集合,如一个市,一个国家等等,所以人脸识别并不总是靠谱的,还需要其他特征,如:地理位置,人体姿态,日常穿着等等来缩小我们的待搜索ID集合,减小识别的不确定性; 这也是为什么我们做大规模人脸识别检索要使用TopK的原因
普通物体的开集识别问题
普通物体的开集识别问题和人脸识别雷同,其实完全可以按照相同的pipline来做,区别是普通物体本身包含了许许多多的粗粒度分类问题和细粒度分类问题,如注册类别为3只不同ID的猫和5只不同ID的狗,可以用2个pipline来识别,甚至还有不同品种的狗和猫等等这个pipline就会长一些,其他关于Hard Samples的问题可参考本人的另一篇文章 Online Hard Sample Mining
参考
Open Set Recognition
Toward Open Set Recognition
Towards Open Set Deep Networks
Open Set Face Recognition Using Transduction
Deep Learning Face Representation from Predicting 10,000 Classes
FaceNet: A Unified Embedding for Face Recognition and Clustering[Triplet Loss]
A Discriminative Feature Learning Approach for Deep Face Recognition[Center Loss]
DeepID3: Face Recognition with Very Deep Neural Networks
CosFace: Large Margin Cosine Loss for Deep Face Recognition
SphereFace: Deep Hypersphere Embedding for Face Recognition
ArcFace: Additive Angular Margin Loss for Deep Face Recognition
————————————————
版权声明:本文为CSDN博主「_pinnacle_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010165147/article/details/97490500
《Unknown Network Attack Detection Based on Open Set 》
入侵检测技术能够识别异常流量,主要集中在封闭集检测。对于一个真正开放的网络环境,当发生未知攻击时,现有的检测系统无法正确识别,将严重威胁到网络安全。为了解决这一问题,本文研究了极值理论( EVT )在未知网络攻击检测系统中的应用,提出了一种基于开放集识别的网络入侵检测方法。通过将已知类的后识别激活拟合到威布尔分布中,我们建立了Open-CNN模型,在倒数第二级重新计算每个激活,然后根据已知类的激活分数估计未知类的伪概率。实现未知攻击的检测目的。我们对具有不同类型和特征分布的多个数据集进行实验。这些方法都获得了较高的检测精度,证明了该方法的有效性。
intrusion detection technologies can identify abnormal traffic, they are mostly focused on detecting in closed sets. For a real open network environment, when an unknown attack occurs, the existing detection system cannot recognize it correctly, which will severely threaten network security. In order to solve this problem, this paper investigates how the Extreme Value Theory (EVT) is applied to unknown network attack detection system and proposes a network intrusion detection method based on open set recognition. By fitting the known classes’ post recognition activations to a Weibull distribution, we build the Open-CNN model to recalculate each activation at the penultimate level, then the pseudo probability of unknown classes can be estimated from the activation scores of known classes, realizing the detection purpose of unknown attacks. We perform experiments on multiple datasets with different types and feature distributions. All of them obtain high detection accuracy, which proves the effectiveness
目前,深度学习算法在图像未知类识别方面取得了突破性进展
识别【7,8】,在【9】中,提出了一种用于深度网络的开放集识别方法。通过引入新模型
层, OpenMax,元识别概念【10】应用于
实现网络未知输入概率估计的模型。考虑到
恶意样本,我们将开放集理论应用于网络安全领域,解决未知问题
网络攻击检测。本文的主要贡献如下:
●首次采用深度学习方法构建开放环境下的网络未知攻击检测
网络环境,解决了传统封闭集不能有效识别未知的问题
攻击。
本文提出一种新的Open-CNN模型,利用极值组合来检测未知网络攻击。
理论。该方法实现了对未知类的精确检测。
在多个数据集上进行了实验,以评估模型的性能。相比于
原CNN模型,本模型在各项指标上取得了最佳性能。
对于9种未知网络攻击,余弦距离优于
欧几里得距离达到更高的精度。
4.结论和今后的工作
未知网络攻击的新颖性使得传统的封闭集检测向开放集识别过渡。
在未来的研究中,我们将深入研究如何解决未知的多分类问题
类。
https://arxiv.org/pdf/1802.04365.pdf 这个文章里也提出使用开集识别解决恶意软件分类问题 使用的CNN表征学习 然后计算距离
开集问题综述:我们可以把现有的开放集识别系统大致分为两类。?e ?rst类型提供了区分已知类实例和未知类实例的机制。然而,这些系统不能区分已知的类,因为已知的类不止一个。[7, 8, 22]等研究工作属于这一类。Scheiler等人。[22]形式化了开放集识别的概念,并提出了基于1-vs集二进制支持向量机的方法。Bodesheim等人。[8]提出KNFST用于同时对多个已知类执行开放集识别。在【7】中,通过考虑样本的局部性,进一步扩展了KNFST的概念。第二种开放集识别系统,除了识别未知类实例之外,还提供识别已知类的能力。诸如【5、6、10、12、16】等研究工作属于这一类。例如,PI-SVM [16]使用一组二进制SVM分类器,每个类一个,每个类的分数为威布尔分布。?is方法允许PI-SVM既可以识别未知类实例,也可以在已知类实例之间进行分类。Bendale和Boult [5]提出了一个扩展最近类均值( NCM )的方法,以执行开放集识别,并增加了能够进行增量学习的优点。[6, 9, 12]中提出了基于神经网络的开放集识别方法。Openmax [6](一种最先进的算法)通过重新分配激活向量(i)来修改神经网络的常规So?max层。.e.作为Somax函数的输入给出的神经网络层的值,用于解释未知类。神经网络首先使用正常So?max层训练,以最小化交叉熵损失。然后计算每个训练实例的激活向量;并且使用这些激活向量计算激活向量(MAV)的每类平均数。计算每个训练实例与班级MAV的距离,并且每个班的独立威布尔分布在最大距离的一定数量上。最后,基于威布尔分布的概率重新分配激活向量的值,并将重新分配值求和以表示未知类激活值。然后利用新的重分布激活向量上的So?max计算类概率(现在包括未知类)。使用MAV距离的挑战是,常规损失函数,如交叉熵,不能直接激励MAV周围的投射类实例。除此之外,由于在训练期间不使用测试期间使用的距离函数,它不一定是该空间的正确距离函数。我们在建议的方法中处理了这一局限性。Ge等人。[12]将Openmax和GANs[13]组合起来用于开放集识别。?e网络用于他们的方法是针对已知类实例以及使用DCGAN[19]生成的合成实例进行训练的。在恶意软件分类领域, K. Rieck等人【20】提出了恶意软件聚类方法和相关的离群值评分。虽然作者没有提出他们的工作开放集识别,但他们的离群得分可用于无监督的开放集识别。Rudd等人。[21]概述了扩展开放集方案现有封闭集入侵检测方法的方法。
我们提出了一种学习基于神经网络的表示方法,该表示方法将同一类的实例投射得更近,同时将不同类的实例投射得更远。我们的经验评价表明,这两个性质导致未知类实例占用较大的类间空间,从而促进了开放集的识别。我们比较了我们提出的方法与训练有素的基线网络,以尽量减少交叉熵损失,并与Openmax(基于最先进的神经网络的开放集识别方法)进行了比较。我们评估了针对恶意软件样本和图像数据集的方法,并观察到我们提出的方法能够实现统计不能明显改善。我们提出了一个简单的阈值估计技术,第3.3.1节。然而,还有空间探索一种更稳健的方法来估计阈值。我们把这件事留到以后的工作。
极值理论(Extreme Value Theory)
MrMathematica节译自《25 Big Ideas》,ISBN 1-85168-391-7,原作者Robert Matthews
简述
每过一段时间,小概率事件就会发生,比如巨大的台风,或者跳高纪录被打破。但是到底这样的事件有多极端?极值理论(Extreme Value Theory)可以回答这个问题。利用以往的记录,比如说500年来的洪水记录,极值理论就可以预测将来发生更大的洪水的可能性。
极值理论19世纪20年代被数学家发明。长久以来,因为其魔法般预测从未发生过事件的能力,它往往受到人们的质疑。但是现在EVT正在获得越来越广泛的应用,从金融风险评估到海事安全等等,也越来越受到人们的信任。一个重要的应用领域是保险行业,EVT被用来计算重大灾难发生的可能性,并由此来确保必要时有足够的赔付资金。
正文
EVT的发展最早可以追溯到十八世纪的瑞士数学家Nicolas Bernoulli(尼古拉·伯努利),但是直到20世纪20年代,预测新纪录的想法才真正吸引了人们的注意。EVT的中心思想是概率分布,即给出事件发生概率的数学公式。比如说,人的身高服从高斯分布,所以大部分人的身高都距离平均身高不远。而高斯分布长而窄的两个“尾巴”表示有些人特别的高,或者特别的矮。
高斯分布是一种非常常见的分布,许多现象都服从高斯分布。所以早期的数学家使用高斯分布来计算极端事件发生的可能性。但是在1920年代,数学家们感觉到高斯分布的“尾巴”不能很好的预测小概率事件。1928年,剑桥数学家R.A.Fisher和同事L.H.C.Tipper发表了他们著名的关于EVT的论文,表明小概率事件服从另一种概率分布。同高斯分布一样,如果事件越极端,其发生的概率就越低。如果要计算具体的发生概率,只要使用以往该极端事件的发生情况拟合曲线就行了。比如说,使用往年某沿海地区海浪最高高度的数据,就可以预测将来该地海浪的最高高度,包括创纪录的新海浪高度的可能性。
尽管EVT可以应用在很多领域,但是人们始终对其存有怀疑。直到1940年代,情况才改观,一是因为苏联数学家Boris Gnedenko在数学上严格地证明了EVT所使用的公式,二是因为德裔美国科学家Emil Gumbel将EVT应用于预测洪水并取得了巨大的成功。
1953年2月,一次巨大的风暴冲垮了荷兰海堤,冲毁了47,000间建筑,超过1800人遇难。人们需要防止此类事件的发生。一群专家被召来研究以往的洪水记录。他们发现,1953年的洪水并不是史上最大的。1570年11月1日,包括荷兰在内的数个欧洲国家被超过4米高的海浪淹没——至少比1953年的洪水还要高15厘米——估计有400,000人因此丧命。
专家组面临的问题是,到底防护海堤要造到多高,既不至于过高——造成不必要的成本支出,又不至于过低——以至于洪水没顶。最后的结论是,5米高的海堤可以保护荷兰数千年。这个结论有多可靠呢?由鹿特丹伊拉斯谟大学Laurens de Haan领导的小组使用EVT对专家组的建议进行验算。使用历史记录和EVT分布,他们的计算显示5米高的海堤可以保护荷兰许多个世纪。
现在EVT被广泛应用于计算堤坝的高度。但是有时候错误也会发生。1996年,兰开斯特大学的数学家们发现在使用EVT设计英国800公里长的海堤时出现了错误,导致某些地段的堤坝比设计需要低了整整两米。
不出意外的,最早使用EVT的一个领域就是保险行业。许多年来,精算师们使用各种各样的经验公式来估计灾难事件发生的可能性,比如“20—80”公式,也就是百分之20的极端事件会导致百分之80的理赔。1990年代中期,苏黎世联邦理工学院的金融数学家Paul Embrechts和同事们决定使用EVT来检查这类经验公式的准确度。他们发现,“20—80”公式在很多领域都是准确的,但是在某些情况下,却完全不成立。比如说,EVT表明飓风造成的损失符合“0.1—95”公式,也就是说,千分之一的风暴会导致百分之95的理赔。这类研究对于保险行业起了很大的帮助,保险公司以及投保客户都受益与足够的理赔准备金。
与此同时,一系列金融危机事件的发生也促进了EVT在定量分析领域的应用。1995年2月,世纪著名商业银行巴林银行其新加坡分行一名交易员Nick Leeson(尼克.李森)的交易就成了将近九亿美元的损失。几个月后,日本大和银行发现其一流氓交易员Toshihide Iguchi(井口俊英)就造成了七亿美元的亏损。正是这类事件的连续发生促使美联储主席Alan Greenspan(艾伦·格林斯潘)建议在金融风险领域运用EVT。
如果这一建议得到实施,一个更大的金融灾难就可以被避免。1998年夏,俄罗斯发生金融风。俄政府作出了一个无法想象的决定:拖欠国债的偿还。这一决定是如此的出人意外,以至于美国长期资本管理公司(Long-Term Capital Management)——一家主要从事定息债务工具套利活动的对冲基金——出现了一千亿美元的亏损。最终美林、摩根等大银行出资收购接管了LTCM。但是最为惊人的是,LTCM公司准备不足:其预计的最坏情况下损失只有实际损失的60%。
因为这一事件,人们开始研究金融基金经理是如何估计风险的,却发现LTCM一直使用高斯分布来估算损益。但是早在70年前,数学家就指出,在极端的情况下,基金的损益遵从另一种概率分布——而且使用高斯分布往往会导致低估风险。如果LTCM接受格林斯潘的建议,使用EVT方法估算损益,有可能事情不至于发展到这么坏!
现在,越来越多的行业开始意识到EVT的有效应用,包括人类生物学和航海工程。在鹿特丹伊拉斯谟大学,Laurens de Haan领导的小组还使用EVT来估计人类生命的极限。分析历史上最长寿的人的记录,他们发现人类寿命的极限是124岁。(译者注:再次说明某些号称人类寿命可以再翻一倍之类的说法有多荒谬。)到目前为止,这看起来是真的:目前有确切纪录的最长寿的人是法国人JeanneCalment(雅娜·卡尔芒),1997年逝世,终年122岁。
1980年,日本巨型散装船Derbyshire(德比郡号)在一次台风中沉没,44名船员失踪。由此造成了长久的争议,到底该船是因为设计失误而沉没,还是因为船员操作不当?1997年的调查报告认为是后者。但是三年后,新的调查报告断定船员无罪:兰开斯特大学的EVT专家Jonathan Tawn教授和Janet Heffernan博士帮助找出了事故的真正原因:一个异常波浪(freak wave)打穿了船的前舱。该研究还建议船只大幅度加强前舱的强度,以防止类似事件再次发生。
结果,高深的数学理论EVT再一次帮助人类——这一次是提高海员们的人身安全。
插曲:当事情开起来不像是真的
每隔四年,运动员们就会在奥林匹克赛场上争取打破世界纪录。但是有时候,世界纪录不仅仅是被打破——而是被彻底的刷新。但问题是,这样的纪录可信吗?极值理论可以回答这个问题。
以九十年代中国中长跑运动员王军霞为例,在1993年北京全运会上,她只用8分6秒就跑完了三千米——比原来的世界纪录整整快了17秒。这是一个真实的成绩吗?药检的结果是阴性,但是至今很多人还是不相信王军霞是清白的。兰开斯特大学的数学家Michael Robinson和Jonathan Tawn决定使用EVT来分析。使用以往(1993年之前)的纪录,他们的计算表明,最终的世界纪录——也就是人类能够达到的最好成绩——为8分3秒。也就是说,尽管王军霞的成绩非常惊人,但是还是比人类极限要慢上3秒。
开集识别(open-set)算法(1)
IMWTJ 2019-08-31 15:44:51 4281 收藏 20
分类专栏: 开集识别 文章标签: HRRP 开集识别算法
版权
所有内容基于目标识别
一、开集识别
对于一个特定的识别问题,常用的识别方法是闭集识别(支持向量机分类器(SVM)、K-近邻分类器(KNN)、最大相关系数分类器(MCC)以及自适应高斯分类器(AGC)),即假定输入的待测样本一定属于已知的数据库。
但在实际作战环境中,测试样本中常常含有未知样本,如果继续使用闭集识别系统,系统将错误地将来自未知类的测试样本识别为属于已知闭合集类之一,正确率下降。为解决这个问题引入开集识别。开集识别的目标识正确划分类别且正确拒绝其他未知类别。
二、目前先进的开集识别算法
OpenMax:利用来自预训练的深度神经网络的倒数第二层的激活矢量。使用EVT从每个类的平均值建模这些激活矢量的距离,生成更新的倒数第二矢量(称为OpenMax),这个更新的矢量产生了更好的模型,用于识别未知的类测试样本。即以前的CNN中倒数第二层使用SoftMax概率描述,但是并没有产生开集识别的良好模型,为适应开放式环境,更新倒数第二层矢量。
(EVT:极值理论,能够处理小概率事件,预测极端事件的概率。本文使用EVT的原因:使用EVT建模技术对来自网络的重构误差分布进行建模,从而进一步提高性能。)
G-OpenMax:该算法是将OpenMax与使用GAN生成的数据增强相结合。使用GAN从已知的类数据生成未知样本,然后将它们用于训练CNN以及已知类。这种数据增强技术被证明可以改善未知的类别识别。
(GAN:生成式对抗网络是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型和判别模型的互相博弈学习产生相当好的输出。)
CROSR:训练网络以进行输入数据的联合分类和重建。这增强了学习的表示,以便保存未知和已知数据的信息,以及区分已知类别的信息。我们用于开集识别的新型分类-重建学习(CROSR),能够在不损害已知分类准确度的情况下实现稳健的未知检测。大量实验表明,此方法在多个标准数据集中优于现有的深度开集分类器,并且对各种异常具有鲁棒性。
三、一种的开集识别算法——MLOSR
基于CNN的深度开放式识别多任务学习——MLOSR
原理:通过将自动编码器和分类结合起来可以有效通过多任务提高open-set的表现。
系统架构由四个模块组成:如下图所示
特征提取器(或编码器)
解码器
分类器
极值模型(Pevt)
特征提取器(或编码器)网络由CNN架构建模,该架构将输入图像映射到潜在空间上表示。 另一个CNN和分类器模拟的解码器,由完全连接的神经网络建模,将这种潜在的代表作为输入,并分别产生重建的图像及其标记作为输出。 解码器网络和分类器网络共享特征提取器模块。 在训练模型F,G和C之后,使用EVT对重建误差进行建模。训练过程以学习参数(Θf,Θg,Θc)并使用EVT讨论识别分数分析。
特征提取器网络获取任何输入图像(X)并产生潜在表示(z)。 分类器(C)和解码器(G)使用该潜在表示来分别预测类标签和重建输入(X)。 训练这些网络以在多任务框架中执行分类和重建任务。 使用EVT对重建误差分布的尾部建模。在测试期间使用分类分数和EVT重建误差概率来执行开集识别。
————————————————
版权声明:本文为CSDN博主「IMWTJ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/IMWTJ123/article/details/100173169