Towards a Rigorous Evaluation of Time-series Anomaly Detection综述

news/2024/7/9 23:38:55 标签: 深度学习, 人工智能, 机器学习, 目标检测

原文连接: https://arxiv.org/abs/2109.05257
摘要:近年来,时间序列异常检测(TAD)的研究报告显示,在基准TAD数据集上F1分数较高,给人以TAD明显改善的印象。然而,大多数研究在评分前采用一种特殊的评价方法,称为点调整(PA)。本文从理论上和实验上揭示了PA协议有很大可能高估检测性能;也就是说,即使是一个随机的异常评分也可以很容易地转化为最先进的TAD方法。因此,在应用PA协议后,比较TAD方法会导致误导的排名。此外,我们对现有TAD方法的潜力提出了质疑,证明即使在禁止PA的情况下,未经训练的模型也能获得与现有方法相当的检测性能。基于我们的发现,我们提出了一个新的基线和一个评估方案。我们希望我们的研究有助于对TAD进行严格的评价,并引导未来研究的进一步完善。
1 介绍
随着工业4.0加速系统自动化,系统故障的后果可能会产生重大的社会影响(Baheti and Gill 2011; Lee 2008; Lee, Bagheri, and Kao 2015)。为了防止这种故障,对系统异常状态的检测比以往任何时候都更加重要,人们正在以异常检测(AD)的名义对其进行研究。同时,深度学习在建模从大型系统的众多传感器和执行器收集的多元时间序列数据方面显示了其有效性(Chalapathy和Chawla 2019)。因此,各种时间序列AD (TAD)方法已经广泛采用深度学习,并且每种方法都显示出了自己的优越性,其F1得分都高于之前的方法(Choi et al 2021)。对于一些数据集,报告的F1得分超过0.9,这给了当今时间序列异常检测能力令人鼓舞的印象。
然而,目前大多数TAD方法都是在采用了Xu等人提出的一种名为点调整(PA)的特殊评估协议(Audibert等人2020;Shen, Li, and Kwok 2020;Su等人2019)。PA的工作原理如下:如果连续异常段中至少有一个时刻被检测到异常,则认为整个异常段被正确预测为异常。一般情况下,F1分数采用调整后的预测值(以下简称F1PA)计算。如果计算F1分数时没有PA,则记为F1。PA协议提出的基础是,在异常周期内的单个警报足以采取措施进行系统恢复。它已经成为TAD评价的一个基本步骤,以下一些研究只报道了F1PA而没有F1 (Chen et al2021)。F1PA越高,检测能力越好。
在这里插入图片描述
在这里插入图片描述
然而,PA有很高的可能性高估模型的性能。一个典型的TAD模型产生一个异常评分,告知输入异常的程度,如果该评分高于阈值,则预测异常。使用PA后,随机生成的异常评分的预测结果与经过良好训练的模型预测结果一致,如图1-(a)所示。黑色实线表示两种不同的异常评分;上面的线显示来自一个训练有素的模型的信息分数,而下面的线是随机生成的。阴影区和虚线分别表示真值(GT)异常段和TAD阈值。信息性分数(第一个数据)(上面的 图1)是理想的,因为它们只在GT异常的部分是高的。相比之下,随机生成的异常分数(如下图)在GT段内只越过阈值一次。尽管存在差异,PA后的预测变得难以区分,如红线所示。如果随机异常评分可以产生与熟练检测模型一样高的F1PA,那么很难得出F1PA较高的模型比其他模型表现更好的结论。我们在第5节中的实验结果表明,随机异常评分可以推翻最先进的TAD方法(图1-(b))。
另一个问题是PA是否是TAD方法评估的唯一问题。到目前为止,只有绝对F1的报道,没有任何试图建立一个基线和相对比较与它。如果二进制分类器的准确率是50%,尽管它是一个明显的大数字,但它与随机猜测没有太大的区别。同样,应讨论TAD的适当基线,并应根据与基线相比的改进来评估未来的方法。根据我们的观察,现有的TAD方法似乎并没有在本文提出的基线基础上取得显著改进。此外,有几种方法都无法超越它。我们对其中一个基准数据集的观察总结在图1-(b)的右侧。
在本文中,我们首次提出了对目前声称能带来显著改善的TAD方法是否得到了适当的评价的问题,并为严格评价TAD提出了方向。我们的贡献总结如下:
我们表明,PA作为TAD的一种特殊的评估协议,大大高估了现有方法的检测性能。
我们表明,如果没有PA,现有的方法在基线上没有表现出任何改进(或几乎不显著)。基于我们的研究结果,我们提出了一个新的基线和一个评估方案,以严格评估TAD。

2 背景
2.1 时间序列信号中的异常类型
TAD数据集中存在各种类型的异常(Choi et al2021)。上下文异常表示与正常信号形状不同的信号。集体异常是指在一段时间内累积的少量噪声。点异常是指由于信号值的快速增加或减少而导致的对预期范围的暂时和显著的偏离。点异常是目前TAD数据集中最主要的异常类型。
2.2 无监督的TAD
典型的AD设置假设在训练期间只能访问正常数据。因此,无监督方法是TAD最合适的方法之一,它训练模型只在正常信号中学习共享模式。最后的目标是根据输入的异常程度为其分配不同的异常分数,即正常输入和异常输入分别获得低和高的异常分数。基于重构的AD方法训练模型使正常输入和重构之间的距离最小化。由于测试时的输入异常,导致测试距离大,难以重构。这个距离,或者说重建误差,作为异常值。基于预测的方法训练一个模型来预测正常输入后的信号,并将地面真实值与预测信号之间的距离作为异常值。请参阅附录以了解每个类别的详细示例。
2.3 对TAD评估的评价
有几种方法可以指出目前TAD评估的缺陷。(Wu和Keogh 2021)提出了基准TAD数据集的局限性,并表明对一些数据集来说,所谓的一行程序的简单检测器就足够了。他们还提供了一些合成数据集。(Lai et al 2021)为异常类型建立了一种新的分类法。点与模式),并引入了在新标准下合成的新数据集。相比之下,我们提出了TAD评估的陷阱:PA高估的风险和缺乏基线的风险及解决方案。如果这些缺陷没有得到解决,即使使用上述论文提出的更好的数据集,也不可能评估TAD方法的改进是否显著。
3 TAD评估的缺陷
3.1 问题公式化
首先,我们将时间T期间从N个传感器观察到的时间序列信号表示为X = {x1,…, xT}, xT∈RN。与传统方法一样,它是规范化的,并被分割成一系列窗口W = {w1,…, wT−τ+1}以步长为1进行窗口划分,其中wt = {xt,…, xt+τ−1},窗口大小尺寸为τ。真值二进制标签yt∈{0,1},表示信号是否是异常(1)或非异常(0),仅针对测试数据集给出。TAD的目标是为测试数据集中的所有窗口预测异常标签yt估.标签是通过比较异常评分A (wt)和TAD阈值δ进行比较:如果得到的异常评分大于异常阈值,则把对应y估的值设置为1,否则的话设置为0.
在这里插入图片描述
A (wt)的一个例子是原始输入与其重构版本之间的均方误差(MSE),定义如下:
在这里插入图片描述
其中,wt估 = fθ (wt)表示用θ参数化的重建模型fθ的输出。标记完成后,计算评价的精度§、召回率®、F1得分如下:
在这里插入图片描述
其中TP、FP和FN分别为真阳性、假阳性和假阴性的数量。
TAD测试数据集可能包含多个持续几个时间步长的异常段。我们将S表示为M个异常段的集合;即S = {S1,…SM}其中,Sm= {tms,…,tme};tms和tme分别表示Sm的开始时间和结束时间。如果异常评分在Sm中至少有一次高于δ,PA将所有t∈Sm调整为1。有了PA后,公式1的标注方案变化如下:
在这里插入图片描述
F1PA表示调整标签计算的F1分数。
3.2 随机异常评分with high F1PA
在本节中,我们将演示PA协议高估了检测能力。我们从对Eq. 3的P和R的抽象分析入手,从数学上证明了随机生成的A (wt)(异常评分值)可以获得接近于1的高F1PA值。根据Eq. 3,由于F1分数是P和R的调和平均值,它也取决于TP, FN和FP。如式4所示,PA增加TP,减少FN,同时保持FP。因此,PA之后,P、R和F1分数只会增加。
接下来,我们证明了F1PA可以很容易地接近1。首先,将R重新表示为条件概率,如下所示:
在这里插入图片描述
让我们假设A (wt)来自均匀分布U(0,1)。我们用0 ≤ δ’ ≤1表示这一假设的TAD阈值。如果只有一个异常段存在,即
在这里插入图片描述
在这里插入图片描述
更一般化的证明,请参阅附录。数据集的异常比率γ通常在0到0.2之间;te−ts(某个异常段的开始和结束)也由数据集决定,在基准数据集中一般在100到5000之间。图2描述了当γ(异常比率)固定为0.05时,不同te−ts(异常段开始和结束)下F1PA随δ’变化的情况。如图所示,除了异常段长度较短的情况外,通过改变δ’总是可以得到接近1的F1PA。
3.3 未训练的模型,F1比较高 f1相对较高的未训练模型
本节表明,从未经训练的模型中得到的异常值具有一定的信息量。深度神经网络的初始化一般采用高斯分布N( 0,σ2), σ通常比1小得多。在没有训练的情况下,模型的输出接近于零,因为它们也遵循零均值高斯分布。基于重构或基于预测的方法的异常评分通常定义为输入与输出之间的欧氏距离,在上述情况下,该距离与输入窗口的值成正比:
在这里插入图片描述
在点异常的情况下,特定传感器值突然增加。这导致了比正常窗口更大的||wt||2量级,对真值异常来说,这直接与高A (wt)有关。第5节的实验结果表明,由公式8的A (wt)计算出的F1与目前TAD方法的结果相当。结果还表明,当窗口大小变长时,F1增加得更多。
4 对TAD进行严格的评价
4.1 TAD的新基线
对于分类任务,基线精度通常定义为随机猜测的精度。可以说,只有当分类精度超过这一基线时,才会有改善。同样,TAD不仅需要与现有方法进行比较,还需要与基线检测性能进行比较。因此,基于3.3节的研究结果,我们建议使用从简单架构的随机初始化重构模型的预测中测量的F1建立一个新的基线,例如由单层LSTM组成的未经训练的自动编码器。或者,可以将异常分数定义为输入本身,这是Eq. 8的极端情况,即无论输入如何,模型始终输出0。如果新的TAD模型的性能没有超过这一基线,则应该重新检查该模型的有效性。
4.2 新的评估协议PA%K
在前一节中,我们演示了PA有很大可能高估检测性能。没有PA的F1可以立即解决高估问题。在这种情况下,建议像4.1节中介绍的那样设置一个基线。然而,根据测试数据分布的不同,F1可能会意外低估检测能力。事实上,由于测试集标记不完全,一些标记为异常的信号与正常信号共享更多的统计信息。即使在一段时间内间歇性插入异常,在这段时间内所有t的yt = 1。
我们使用t分布随机邻域嵌入(t-SNE)进一步研究了这个问题(V an der Maaten和Hinton 2008),如图3所示。t-SNE由安全水处理(SWaT)的测试数据集生成。
在这里插入图片描述
蓝色和橙色分别表示正常和异常样品。大多数异常形成了一个独特的簇,位于远离正常数据分布的地方。但是,有些异常窗口比异常窗口更接近正常数据。绿点和红点对应的信号可视化分别见(b)和©。尽管这两个样本都被注释为GT异常,(b)与(a)的正常数据相比©共享更多的模式。仅因为无法检测(b)等信号,就得出模型的性能不足的结论,可能导致对检测能力的低估。

因此,我们提出了一种替代的评估方案PA%K,它可以减轻F1PA的高估效应和F1被低估的可能性。请注意,它不建议取代现有的TAD指标,而是与它们一起使用。PA%K的思想是仅当Sm(某个异常段)中正确检测到的异常数量与其长度的比值超过了PA%K阈值K时,才将PA应用于Sm。PA%K修改公式4如下:
在这里插入图片描述
其中| |表示Sm(即tme−tms)的大小,K可以根据先验知识在0到100之间手动选择。例如,如果测试集标签是可靠的,则允许使用更大的K。如果用户想要消除对K的依赖性,建议测量K从0增加到100得到的F1PA%K曲线下的面积。
5 实验结果
5.1 基准TAD数据集
在本节中,我们将介绍五个最广泛使用的TAD基准数据集,如下所示:
安全水处理(SWaT) (Goh等人,2016年):SWaT数据集从一个由51个传感器组成的缩小水处理试验台收集超过11天(Mathur和Tippenhauer, 2016年)。在最后4天内,通过不同的攻击方法注入了41个异常,而在前7天内仅生成了正常数据。
水分配试验台(W ADI) (Ahmed, Palleti,和Mathur 2017): W ADI数据集来自一个精简的城市水分配系统,该系统有123个传感器和执行器,运行了16天。前14天数据正常,其余2天数据异常。测试数据集共有15个异常段。
服务器机器数据集(SMD) (Su et al 2019): SMD数据集从28台具有38个传感器的服务器机器收集,为期10天;前5天出现正常数据,后5天间歇性注入异常数据。SMD数据集的结果是每台机器的28个不同模型的平均值。
火星科学实验室(MSL)和土壤水分主动被动(SMAP) (Hundman等人,2018年):火星科学实验室和SMAP数据集是从NASA的航天器收集的真实世界数据集。这些异常数据来自一个航天器监测系统的意外异常(ISA)报告。与其他数据集不同的是,训练数据中包含未标记的异常,这使得训练非常困难。统计数据汇总见表1。N为输入特征的维数。
在这里插入图片描述
5.2 评估方法
下面,我们将介绍最近提出的7种具有代表性的TAD方法和第3节中调查的3个案例。
USAD (Audibert et al 2020)代表无监督异常检测,它在两阶段训练方案下训练两个由一个共享编码器和两个独立解码器组成的自动编码器:自动编码器训练阶段和对抗训练阶段。
DAGMM (Zong et al 2018)表示深度自编码高斯混合模型,该模型采用自编码器生成表示向量并将其提供给高斯混合模型。它使用估计的样本能量作为重构误差;能量高表示异常程度高。
LSTM-V AE (Park, Hoshi, and Kemp 2018)是一种基于lstm的变分自编码器,采用变分推理进行重构。
OmniAnomaly (Su et al 2019)应用V AE将时间序列信号建模为随机表示,如果给定输入的重构可能性低于阈值,则该表示将预测异常。将个体特征的重构概率定义为归因分数,量化了其可解释性。
MSCRED (Zhang et al 2019)代表了一种多尺度卷积循环编码器-解码器,包括卷积lstm,用于重构表征多个系统级别的输入矩阵,而不是输入本身。
THOC (Shen, Li, and Kwok 2020)是一种时态分层单类网络,是一种多层扩张递归神经网络,是一种分层深度支持向量数据描述。
GDN (Deng and Hooi 2021)表示一种图偏差网络,它学习传感器关系图,从学习到的模式中检测异常的偏差。
案例1。随机异常评分对应3.2节描述的情况。F1分数是用从均匀分布U中随机生成的异常分数来衡量的,即A(wt) ~ U(0,1)。
案例2。输入本身作为异常分数表示假设fθ(wt)(表示用参数化重建模型的输出) = 0的情况,而不管wt如何。这等于Eq. 8(公式8)的一个极端情况。因此,A (wt) = ||wt||2。
在这里插入图片描述
案例3。随机化模型的异常评分对应于公式8,其中η表示随机化模型的小输出。初始化高斯分布N(0,0.02)后,参数固定。
5.3 F1PA与F1的相关性
F1是检测性能最保守的指标。因此,如果F1PA可靠地表示检测能力,那么它至少应该与F1有一定的相关性。图4 SWaT和WADI的F1PA和F1图(在两个数据集上F1PA和F1的相关性,KRC表示肯德尔等级相关,PCC表示皮尔逊系数),由USAD、DAGMM、LSTMV AE、OmniAnomaly和GDN的原始研究报道。图中还包括Case 1-3的结果。值得注意的是,由于只有数据集和方法的一个子集同时报告了F1PA和F1,我们只绘制了它们。SWaT的Pearson相关系数(PCC)和Kendall等级相关系数(KRC)分别为-0.59和0.07。WADI的PCC和KRC分别为0.41和0.43。然而,这些数字不足以确保相关性的存在,并证实比较仅使用F1PA的方法的优越性可能存在对检测性能评价不当的风险。
在这里插入图片描述
5.4 比较结果
在这里,我们将AD方法的结果与案例1-3进行比较。需要注意的是,对于Case 1和Case 2,不需要进行模型推理,直接生成异常评分。对于案例3,我们采用了最简单的带有LSTM层的编码器-解码器体系结构。情况2和3的窗口大小τ设置为120。对于包含随机性的实验,如案例1和案例3,我们用五种不同的种子重复它们,并报告平均值。对于现有的方法,我们使用了原始论文中报告的最佳数字和官方复制的结果(Choi et al 2021);如果没有可用的分数,我们参考官方提供的代码进行复制。请注意,我们没有应用任何预处理,如早期时间步骤删除或下采样。在以前的论文中没有提供MSL、SMAP和SMD的F1;因此它们都被复制了。值得注意的是,我们在论文中搜索了建议范围内的最优超参数,并没有应用下采样。所有的阈值都是从那些获得最好分数的阈值中获得的。实现的进一步细节载于附录。结果如表2所示。复制的结果被标记为†。粗体和下划线的数字分别表示最佳和次最佳结果。上箭头(↑)显示以下情况的结果:(1)F1PA高于Case2, (2) F1高于Case2或cas3,取两者中较大的值。
在这里插入图片描述
显然,随机生成的异常评分(案例1)不能检测异常,因为它没有反映输入中的异常。相应的,F1值很低,明显显示出检测能力的不足。然而,当应用PA协议时,Case 1产生的最先进的F1PA远远超过现有方法(SMD除外)。如果只使用PA提供结果,就像MSL、SMAP和SMD的情况一样,区分该方法是成功检测到异常,还是仅仅输出与输入无关的随机异常评分是不可能的。特别是MSL和SMAP的F1值较低;这意味着建模它们很困难,因为它们都是真实世界的数据集,而训练数据包含异常。然而,F1PA似乎相当高,这造成了一种错觉,即这些数据集可以很好地检测到异常。
在这里插入图片描述
在这里插入图片描述
SMD的Case 1的F1比其他数据集的F1要低,已有方法超越了它。这可能归因于SMD测试数据集的组成。根据公式6和7,F1PA随三个参数的变化而变化:测试数据集中的异常比例(γ)、异常段长度(te - ts)和TAD阈值(δ)。与其他数据集不同,SMD的异常率非常低,如表1所示。异常段长度较短;28台机器的平均长度是90,不像其他数据集从数百到数千。这与图2中最低的情况类似,这表明在这种情况下可达到的最大F1PA仅约为0.8。因此,我们可以得出结论,PA的高估效应取决于测试数据集的分布,且在异常段较短的情况下,其影响不太明显。
在所有的数据集中,现有方法的F1大多低于情况2和情况3,这意味着目前提出的方法可能在基线的基础上获得了边际甚至没有进步。只有GDN始终超过所有数据集的基线。情况2和3中的F1取决于输入窗口的长度。随着窗口的延长,F1基线变得更大。我们在案例2中尝试了从1到250的不同窗口长度,并在图5中描述了结果。对于SWaT、W ADI和SMAP, F1随着τ的增加在短暂下降后开始增加。出现这种增加是因为较长的窗口更可能包含更多的点异常,导致窗口的高异常评分。如果τ变得太大,F1就饱和或退化,这可能是因为过去只包含正常信号的窗口意外地包含了异常信号。
在这里插入图片描述
在这里插入图片描述
5.5 PA%K协议的效果
为了检验PA%K如何缓解PA的高估效应和F1的低估倾向,我们观察到F1PA%K随PA%K阈值K的变化情况。图6显示了当K从0到100增加10时,Case 1中的SWaT和经过充分训练的编码器的F1PA%K。K = 0和K = 100时的F1PA%K值分别等于原来的F1PA和F1。一个训练良好的模型的F1PA%K被期望显示恒定的结果,而不管K的值如何。相应地,训练好的编码器-解码器(橙色)的F1PA%K显示出一贯高的F1PA%K。相反,情况1(蓝色)的F1PA%K随着K的增加而迅速下降。我们还提出了测量曲线下面积(area under the curve, AUC)以减少对k的依赖。在这种情况下,训练过的编码器和情况1的AUC分别为0.88和0.41;这表明,无论K如何,PA%K都清楚地区分了前者和后者。
6 讨论
通过本文,我们证明了目前TAD的评价存在两个方面的缺陷:(1)由于PA高估了检测性能,我们不能保证具有较高F1PA的方法确实具有更好的检测能力;(2)结果只与现有的方法进行了比较,而没有与基线进行比较。对现有的成果进行适当的评估,可以开发出更好的异常检测器。在本节中,我们提出了未来TAD评估的几个方向。
PA的动机,即第一个陷阱的来源,源于测试数据集标记过程的不完全性,如4.2节所述。一种消除性的解决方案是开发一个新的基准数据集,以更细粒度的方式进行注释,以便按时间步划分的标签变得可靠。由于细粒度注释需要大量的资源,所以F1PA%K通常是不可用的,它可以在不需要任何额外数据集修改的情况下减轻过度估计。请注意,PA%K是一个评估协议,可以应用于F1分数以外的各种指标。对于第二个问题,重要的是设置一个基线作为案例2和3中未经训练的模型的性能,并根据它衡量相对的改进。如5.4节所述,应通过考虑其对基线的影响来仔细确定窗口大小。
此外,在不访问任何测试数据集的情况下预先定义TAD阈值在现实世界中通常是不切实际的。相应地,许多视觉领域的AD方法使用接收器工作特征(AUROC)曲线下的面积(Yi and Yoon 2020)来评估自己。相比之下,现有的TAD方法在调查测试数据集后设置阈值,或直接使用产生最佳F1的最佳阈值。因此,检测结果明显依赖于阈值的选择。另外一些相关性较低的指标,如AUROC或AUPR曲线下的面积,将有助于进行严格的评估。即使在这种情况下,提出的基线选择方法也是有效的。由于PA%K是一个协议,它也可以用于以上指标。
7 结论
在本文中,我们首次证明了应用PA会严重高估TAD模型的能力,这可能不能反映真实的建模性能。我们还提出了TAD的新基线,并表明只有少数方法在这方面取得了显著进展。为了减少PA的高估,我们提出了一种新的PA%K协议,可以应用于现有的度量。最后,我们提出了严格评价TAD方法的几个方向,包括基线选择。我们希望我们的研究有助于阐明目前TAD方法的潜力,并在未来引导TAD的改进。


http://www.niftyadmin.cn/n/164239.html

相关文章

JavaWeb——Servlet案例用户登录和用户注册和sqllsessionfactory工具类

用户登录 流程步骤 项目文件结构 环境准备 数据库建表语句如下 -- 创建用户表 CREATE TABLE tb_user(id int primary key auto_increment,username varchar(20) unique,password varchar(32) );-- 添加数据 INSERT INTO tb_user(username,password) values(zhangsan,123),…

(待完善)selenium 实现知乎自动登录(第三方登录+需要扫二维码)+指定用户的信息相关搜集(2023.3)

叠甲:本文写作目的仅为本人学习参考、实现功能为课程实验要求、本文写作过程处于作者对于爬虫技术学习的过程,部分代码编写时水平还不够,出现的错误比较多、部分变量名字又臭又长,水平有限,请各位给我的作业汇报留条活…

JUC高级二: Java锁(上篇)

JUC高级二: Java锁(上篇) 1. 乐观锁和悲观锁 synchronized关键字和Lock的实现类都是悲观锁 悲观锁: 认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。 适合写操作多的场景,先加锁可以保证…

import 声明和 export 声明

import 声明 import "mod"; //引入一个模块 import v from "mod"; //把模块默认的导出值放入变量v 直接 import 一个模块,只是保证了这个模块代码被执行,引用它的模块是无法获得它的任何信息的。带 from 的 import 意思是引入模块…

JS运行环境、包管理、打包工具总结

🌳JS运行环境-node.js 运行环境就是代码解析和执行的程序,比如jvm等虚拟机,他们的主要工作就是根据设定的语法规则解析编译代码,然后运行代码。 js的语法规则遵循ES规范。 🍁node.js Node.Js官网 Node.js是一种基于Ch…

【C语言】一篇让你彻底吃透(结构体与结构体位段)

本章重点 主要讲解结构体和位移动的使用和定义与声明,并且结构体和位段在内存中是如何存储的。 文章目录结构体结构体类型的声明结构体特殊的声明结构体变量的定义和初始化结构体成员的访问结构的自引用结构体内存对齐结构体传参位段什么是位段位段的内存分配位段的…

AI_Papers周刊:第六期

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 2023.03.13—2023.03.19 文摘词云 Top Papers Subjects: cs.CL 1.UPRISE: Universal Prompt Retrieval for Improving Zero-Shot Evaluation 标题:UPRISE:改进零样本评估…

Linux-0.11 kernel目录进程管理signal.c详解

Linux-0.11 kernel目录进程管理signal.c详解 signal.c主要涉及的是进程的信号处理。该章节中最难理解的是do_signal函数。 sys_sgetmask int sys_ssetmask(int newmask)该函数的作用是设置信号的屏蔽图,即进程对哪些信号可以不做处理。 代码很简单,就…