文章目录

  • 基于GAN模型的异常检测
    • AnoGAN
      • 基本思想
      • 工作流程
      • 在迭代z时的损失函数
      • 问题
    • Conditional GAN
      • 简单回顾。
    • Info GAN
      • 基本思想
      • 网络结构
      • 实验结果
    • VAE-GAN
      • 基本思想
      • 网络结构
      • 训练算法
      • 在异常检测中的应用
    • BiGAN
      • 基本思想
      • 网络结构
      • 训练算法
      • 实验效果
    • EGBAD
    • GANomaly
      • 基本思想
      • 网络结构
      • 训练算法
      • 测试算法
      • 对比
    • f-AnoGAN
      • 基本思想
      • 网络结构
      • 缺陷检测

基于GAN模型的异常检测

AnoGAN

This paper aims to find a point z in the latent space that corresponds to an image G(z) that is visually most similar to query image x and that is located on the manifold X.

基本思想

gan可以做z->image的正向映射,但是不能做image->z的逆向映射,anogan的思想是训练出一个只产生无异常样本的GAN网络。继而,在给出测试图片Img时,试图找到能产生最接近Img分布的z,由于不能逆向映射,所以依靠迭代的方式找寻z,使得loss(G(z),Img)最小。我们假定train期间,GAN已被优化到理想情况,即产生的分布能且仅能sample出无异常样本,此时:假如Img为无异常图片,那么必能找出一个z,使得loss(G(z),Img)=0(近似);假如Img为异常图片,那么即使是最贴近Img的G(z),也会很“不像”,即loss(G(z),Img)很大(超过阈值)。由此可以判别一个图像是否异常,也可以通过计算残差的方式来得到异常区域。

工作流程

  1. Train DCGAN with solely on image data of healthy cases with the aim to model the variety of healthy appearance.
  2. Map new images to the latent space and find the most similar image G(z) via applying backpropagation iteratively.
  3. Compute Anomaly score A(x) which is a weighted sum of residual loss and discrimination loss.

在迭代z时的损失函数

Anomaly_Score = (1-lambda) * Residual Loss + lambda * Discrimination_Loss

Residual loss:图片Img和G(z)的pixel值的L1范数。

Discriminator loss:test Img和G(z)输入D后的某一层feature值的L1范数。(Enforces the generated image to lie on the manifold by using the trained discriminator not as classifier, but as a feature extractor)即从特征层上欺骗过D。

两者求加权和,得到loss值,反向传递优化z。

问题

AnoGAN提出的方法,导致test时,也需要大量的时间做gradient descent来找到隐变量z,不理想。根本原因在于G的z->image的映射不可逆。

Conditional GAN

简单回顾。

在conditional gan中:
min ⁡ G max ⁡ D E x ∼ P d a t a ( x ) , m a t c h [ l o g D ( x ∣ c ) ] + E x ∼ P d a t a ( x ) , d i s m a t c h [ 1 − l o g D ( x ∣ c ) ] + E z ∼ P z ( z ) [ 1 − l o g ( G ( z ∣ c ) ∣ c ) ] 也可以不考虑真实图片 + 不匹配 c o n d i t i o n 的情况 ( 原论文提出的 ) ,但是效果不如对上者。 min ⁡ G max ⁡ D E x ∼ P d a t a [ l o g D ( x ∣ c ) ] + E z ∼ P z [ l o g ( 1 − D ( G ( z ∣ c ) ∣ c ) ) ] \min\limits_{G} \max\limits_{D} E_{x\sim Pdata(x),match}[logD(x|c)]\\+E_{x\sim Pdata(x),dismatch}[1-logD(x|c)]+E_{z\sim Pz(z)}[1-log(G(z|c)|c)]\\ 也可以不考虑真实图片+不匹配condition的情况(原论文提出的),但是效果不如对上者。\\ \min\limits_{G}\max\limits_{D}E_{x\sim Pdata}[logD(x|c)]+E_{z\sim Pz}[log(1-D(G(z|c)|c))]\\ GminDmaxExPdata(x),match[logD(xc)]+ExPdata(x),dismatch[1logD(xc)]+EzPz(z)[1log(G(zc)c)]也可以不考虑真实图片+不匹配condition的情况(原论文提出的),但是效果不如对上者。GminDmaxExPdata[logD(xc)]+EzPz[log(1D(G(zc)c))]
训练过程见Conditional GAN部分。

最终可以得到,生成的分布与c值对应。

Condition GAN的训练数据需要是成pair的,也就是必须要有标签label:c,那么是否可以在没有标签的情况下,也做出控制生成分布的效果呢?InfoGAN提出了想法。

Info GAN

基本思想

既然没有外部condition label,那么是否可以从内部下手?即采样的z的某些维度上的值,控制着最终图片的结果?

注意:CGAN是通过加condition label的手段,有目的性的去生成一个【可以通过Condition来控制生成的分布】的一个model,而InfoGAN则是一种“找规律”,寄希望于z的一些维度可以【表征些有用的信息】,要区分二者的“方法”。

但实质上,并不是z的某个维度恰好控制着生成图像的一个属性,比如z[0]控制粗细,z[1]控制rotation。比如下图中的"Actually"。

网络结构

将z划分为{c,z’},Generator输出的X不仅需要过Discriminator来确保X符合Pdata的分布,并且需要经过Classifier,来得到c。

目的在于:原本的Z的各个维度的取值对X的影响是不确定的,而加上classifier后,Generator不仅要保证X尽可能符合Pdata,而且需要从X中提取出信息“C”,也就是c必须对x的取值有着明确的influence,并且是每个维度都需要有influence,比如c[0]代表显示内容,c[1]表示角度,c[2]表示明暗,等等。

但是不能把整个z都当作c,因为我们仍需要一部分的数值并不是有规律的控制x的产生,而是联合起来无规则的随机控制(如同上述的Actually中所画)。

注意:C并不是因为它代表着X中的某些特性而被划分为C;而是因为被划分为C,在经过infogan这样的架构训练下,才使得该分部的数值可以对应影响着X的某些特性。 具体是什么特性,也需要实验才能得出,所以这就是它和CGAN的不同点。

实验结果

第一维度控制显示的是数字几,第二维度没有明显意义,第三维度控制rotation,第四维度控制笔画粗细。

VAE-GAN

基本思想

VAE+GAN,前半部分是VAE,后半部分是GAN。

  • 对于整体而言,不仅需要做到产生一个尽可能与input X相近的图片,并且这张图片需要让Discriminator认为是尽量realistic。即融合了VAE和GAN的作用。

  • 分开来看,对于VAE而言,本来只能够做到minimize reconstruction loss,但是仅仅重构损失减少导致的问题是,对于输入的“异常图片”,由于vae的z是随机变量,所以隐空间覆盖面积大,vae模型泛化能力强,很容易对“异常图片”也【完美的】重建为“异常图片”本身,并没有对异常区域进行【修复】,可以去联想VAE可以产生的“满月”与“缺月”之间的“半月”图片。但如果换了AE,也不好,VAE起码对没见过的图片能够重构,虽然“没有修复”,但是AE的隐空间有很大的空缺部分,连重构都做不到,会非常模糊。但有了Discriminator,就相当于用Pata对生成的X进行了限制,能且只能产生正常图片的distribution的sample。并且,单纯的VAE产生的图片比较模糊,加上Discriminator后更清晰了,更realistic。

  • 从GAN的角度来看,在训练Generator时,理想状态时,随机给出z,有G(z)~Pdata(X),但是对于给定的X,无法反向推导出z,这导致对于异常检测而言,test Image不知道应该如何寻找【能生成最像test Image的隐变量z】。这里对GAN的优化属于【在GAN的输入阶段做优化】(详见2022年的survey论文),VAE的出现,使得X可以逆向推出z。模型训练好后,使得隐空间的z与X出现了一一映射。给出X,便可以立即给出其在隐空间对应的的z,并且这个z就是能【尽可能令output X最和input X相似的z】。这样,相当于省却了AnoGAN中反向迭代寻找隐变量z的过程。

二者相辅相成,是对AnoGAN的优化。

网络结构

训练算法

  • 输入input X 图片,训练Encoder的压缩能力和Decoder的重建能力。

    VAE部分训练好了,才能更好地完成图像重建工作。训练时让Output X和Input X越来越像,测试图片时才可以相信,encoder得到的z就是能够产生【最像test Img】的那个embedding值,decoder产生的output Img也是最佳【修补】后的图片。(最佳修补指的是,仅对异常部分进行修复)

  • 输入随机向量Z,训练Generator的生成能力和Discriminator的判别能力。

    GAN部分训练好了,才能更好地对异常图片进行修补。确保Generator产生的Output Img是符合分布Pdata(x)的。

  1. Initialize Encoder,Decoder(Generator),Discriminator

  2. Sample z from prior Pz(z):
    Z P z = { z 1 , z 2 , z 3 , z 4 . . . z m } Z_{Pz}=\{z_1,z_2,z_3,z_4...z_m\} ZPz={z1,z2,z3,z4...zm}

  3. Generate m images from decoder:
    生成样本: G ( Z P z ) = { G ( z 1 ) , G ( z 2 ) , G ( z 3 ) , G ( z 4 ) . . . . . G ( z m ) } 生成样本:G(Z_{Pz})=\{G(z_1),G(z_2),G(z_3),G(z_4).....G(z_m)\} 生成样本:G(ZPz)={G(z1),G(z2),G(z3),G(z4).....G(zm)}

  4. Sample images from Pdata(X):
    真实样本: X P d a t a = { X 1 , X 2 , X 3 , X 4 . . . . . X m } 真实样本:X_{Pdata}=\{X_1,X_2,X_3,X_4.....X_m\} 真实样本:XPdata={X1,X2,X3,X4.....Xm}

  5. Encode the Images to latent space:
    Z E n ( X ) = { E n ( X 1 ) , E n ( X 2 ) , E n ( X 3 ) , E n ( X 4 ) . . . . . E n ( X m ) } Z_{En(X)}=\{En(X_1),En(X_2),En(X_3),En(X_4).....En(X_m)\} ZEn(X)={En(X1),En(X2),En(X3),En(X4).....En(Xm)}

  6. Decode the Image’s embedding to Image space:
    重建样本: G ( Z E n ( x ) ) = { G ( E n ( X 1 ) ) , G ( E n ( X 2 ) ) , G ( E n ( X 3 ) ) , G ( E n ( X 4 ) ) . . . . . G ( E n ( X m ) ) } 重建样本:G(Z_{En(x)})=\{G(En(X_1)),G(En(X_2)),G(En(X_3)),G(En(X_4)).....G(En(X_m))\} 重建样本:G(ZEn(x))={G(En(X1)),G(En(X2)),G(En(X3)),G(En(X4)).....G(En(Xm))}

  7. Updata Discriminator to increase Dis(真实样本),decrease Dis(生成样本),decrease Dis(重建样本)

  8. Updata Generator to increase Dis(生成样本),increase Dis(重建样本),decrease |重建样本-真实样本|

  9. Updata Encoder to decrease KL(P(z|x)||P(z)),decrease |重建样本-真实样本|.

    注意,上述算法中认为,由于Encoder由于不在GAN范围内,所以不需要优化Encoder使得increase Dis(重建样本)

    decrease KL(P(z|x)||P(z))就是VAE中需要限制encoder embedding(X)后的隐空间分布P(z|x)趋近于先验分布P(z)。P(z)可以是正态分布,也可以是均匀分布,不限制。

原Algorithm如下图所示

在异常检测中的应用

VAE-GAN的目标在于三点:

  1. decoder生成的分布趋同于Pdata(X)
  2. encoder生成的分布趋同于先验分布P(z)
  3. VAE产生的output趋同于input

《Deep_Learning_for_Unsupervised_Anomaly_Localization_in_Industrial_Images_A_Survey》中的Improving the input of generator G提到如下网络,其中的A(1)就是一个典型的VAE-GAN

BiGAN

基本思想

VAE-GAN的目标在于三点:

  1. decoder生成的分布趋同于Pdata(X)
  2. encoder生成的分布趋同于先验分布P(z)
  3. VAE产生的output趋同于input

BiGAN用另外的架构实现相同的效果

网络结构

Encoder输入是Pdata的sample,为真实图片,输出是latent space的code z

Decoder输入是从隐空间先验分布Pz sample出来的code z,输出是生成的图片。

Discriminator负责区分(Image+code)是由Encoder产生还是Decoder产生。

也就是整个BiGAN做的是最小化联合分布P(joint distribution of Encoder’s inputs and outputs)和联合分布Q(joint distribution of Decoder’s input and output)的散度。
min ⁡ G J S ( P E n ( i m a g e , z ) ∣ ∣ Q D e ( i m a g e , z ) ) \min\limits_{G}JS(P_{En}(image,z)||Q_{De}(image,z)) GminJS(PEn(image,z)∣∣QDe(image,z))
理想状态下,可以达到【基本思想】中的三条准则,即便BiGAN中的encoder和decoder没有链接。

  • 联合分布完全一致

P E n ( i m a g e , z ) = Q D e ( i m a g e , z ) 从而有 D e ( E n ( x ) ) = x E n ( D e ( z ) ) = z P_{En}(image,z)=Q_{De}(image,z)\\ 从而有\\ De(En(x))=x\\ En(De(z))=z\\ PEn(image,z)=QDe(image,z)从而有De(En(x))=xEn(De(z))=z

  • 边缘分布完全一致

P E n ( i m a g e ) = Q D e ( i m a g e ) , 从而有 d e c o d e r 生成的分布趋同于 P d a t a ( X ) ; P E n ( z ) = Q D e ( z ) , 从而有, e n c o d e r 生成的分布趋同于先验分布 P ( z ) P_{En}(image)=Q_{De}(image),\\从而有decoder生成的分布趋同于Pdata(X);\\ P_{En}(z)=Q_{De}(z),\\从而有,encoder生成的分布趋同于先验分布P(z) PEn(image)=QDe(image),从而有decoder生成的分布趋同于Pdata(X);PEn(z)=QDe(z),从而有,encoder生成的分布趋同于先验分布P(z)

训练算法

  1. Initialize Encoder En , Decoder De , Discriminator Dis

  2. sample M images from database
    X P d a t a = { x 1 , x 2 , x 3 , . . . x m } X_{Pdata}=\{x_1,x_2,x_3,...x_m\} XPdata={x1,x2,x3,...xm}

  3. generate M codes from encoder
    Z P ( z ∣ x ) = { E n ( x 1 ) , E n ( x 2 ) , E n ( x 3 ) , . . . E n ( x m ) } Z_{P(z|x)}=\{En(x_1),En(x_2),En(x_3),...En(x_m)\} ZP(zx)={En(x1),En(x2),En(x3),...En(xm)}

  4. sample M codes from prior Pz
    Z P z = { z 1 , z 2 , z 3 , . . . z m } Z_{Pz}=\{z_1,z_2,z_3,...z_m\} ZPz={z1,z2,z3,...zm}

  5. generate M images from decoder
    X P g = { D e ( z 1 ) , D e ( z 2 ) , D e ( z 3 ) , . . . D e ( z m ) } X_{Pg}=\{De(z_1),De(z_2),De(z_3),...De(z_m)\} XPg={De(z1),De(z2),De(z3),...De(zm)}

  6. update Dis to distinguish Encoder joint distribution P and Decoder joint distribution Q
    i n c r e a s e D i s ( X P d a t a , Z P ( z ∣ x ) ) d e c r e a s e D i s ( X P g , Z P z ) increase \;Dis(X_{Pdata},Z_{P(z|x)})\\ decrease \;Dis(X_{Pg},Z_{Pz}) increaseDis(XPdata,ZP(zx))decreaseDis(XPg,ZPz)

  7. update En and De to make the two distributions closer.
    d e c r e a s e D i s ( X P d a t a , Z P ( z ∣ x ) ) i n c r e a s e D i s ( X P g , Z P z ) decrease \;Dis(X_{Pdata},Z_{P(z|x)})\\ increase \;Dis(X_{Pg},Z_{Pz}) decreaseDis(XPdata,ZP(zx))increaseDis(XPg,ZPz)

实验效果

BiGAN的理想状态和同时训练如下2个AE是一样的。但是在实操中,由于不可能达到optimum,他们的error surface不同,所以还是有区别的。

相比于普通的VAE,由于加入了Discrim inator控制Decoder产生图片的分布,所以使得产生的图片更清晰,更realistic。但是BiGAN的reconstruction的效果不好,因为纯靠联合分布控制,不如直接用L1 Loss控制的AE的重构效果。也就是说,假如输入了一张bird图片,产生的可能是另外一种bird(重构不好),但是图片质量优于VAE。实际上揭示了,GAN读取语义信息的能力更强,更能拟合真实的分布,图像更清晰,但是VAE的重构能力更强。

EGBAD

基于BiGAN的思想建模网络。

GANomaly

基本思想

基于VAE-GAN的思想,通过重构隐空间的features,进一步对隐空间的编码施加了constraints。

设计了encoder-decoder-encoder三层架构,同时运用对抗。

网络结构

该方法不仅对生成的图片外观(图片->图片)做了的约束,也对图片内容(图片编码->图片编码)做了约束。另外,该方法还引入了生成对抗网络(GAN)中的对抗训练思想。推理阶段,该方法也不同于一般的基于自编码器的异常检测方法。**最后用于推断异常的不是原图和重建图的差异,而是第一部分编码器产生的隐空间特征(原图的编码)和第二部分编码器产生的隐空间特征(重建图的编码)的差异。**这种方法更关注图片实质内容的差异,对图片中的微小变化不敏感,因而能解决自编码器中易受噪声影响的问题,鲁棒性更好。

GANomaly目标:

  1. d e c o d e r decoder decoder生成的分布趋同于 P d a t a P_{data} Pdata——用GAN来约束,记作: L a d v L_{adv} Ladv【论文中仅做了“重构图像”+“真实图像”的对抗训练,没有将”随机z的生成图像“加入到考虑中,这是与VAE-GAN算法的不同之处】
  2. d e c o d e r decoder decoder产生的output趋同于 e n c o d e r 1 encoder_1 encoder1的input——用reconstruction error(L1范数)来约束,记作: L c o n L_{con} Lcon
  3. 相比于VAE-GAN,不考虑 e n c o d e r 1 encoder_1 encoder1产生的code z z z趋同于先验分布P(z),因为采用的是AE结构。
  4. e n c o d e r 2 encoder_2 encoder2产生的code z ^ \hat{z} z^ 趋同于 e n c o d e r 1 encoder_1 encoder1产生的code z z z ——用L2范数损失来约束,记作: L e n c L_{enc} Lenc

训练算法

L = w a d v L a d v + w c o n L c o n + w e n c L e n c L = w_{adv}L_{adv} + w_{con}L_{con} + w_{enc}L_{enc}\\ L=wadvLadv+wconLcon+wencLenc

在论文中给出的 w c o n = 50 , w a d v = w e n c = 1 w_{con}=50,w_{adv}=w_{enc}=1 wcon=50,wadv=wenc=1

测试算法

在测试阶段,该模型使用 L e n c L_{enc} Lenc对给定图像的异常进行评分。
A ( x ^ ) = ∣ ∣ G E ( x ^ ) − E ( G ( x ^ ) ) ∣ ∣ A(\hat{x}) = ||G_E(\hat{x}) − E(G(\hat{x}))|| A(x^)=∣∣GE(x^)E(G(x^))∣∣

对比

AnoGAN, EGBAD, GANomaly

f-AnoGAN

基本思想

回顾VAE-GAN的结构,通过加入了Encoder,来做到 i m a g e − > z image->z image>z的映射 ,避免了AnoGAN中的迭代z的步骤。

VAE-GAN的对于各个构件的目标如下:

  1. Encoder要保证 K L ( P z ∣ ∣ P z ∣ x ) = 0 , L r e c o n s = 0 KL(P_z||P_{z|x})=0, L_{recons}=0 KL(Pz∣∣Pzx)=0,Lrecons=0
  2. Decoder要保证 L r e c o n s = 0 , J S ( P g ∣ ∣ P d a t a ) = 0 , J S ( P r e c o n s ∣ ∣ P d a t a ) = 0 L_{recons}=0,JS(P_g||P_{data})=0,JS(P_{recons}||P_{data})=0 Lrecons=0,JS(Pg∣∣Pdata)=0,JS(Precons∣∣Pdata)=0
  3. Discriminator要尽量区分 P g 和 P d a t a P_g和P_{data} PgPdataP r e c o n s 和 P d a t a P_{recons}和P_{data} PreconsPdata

回顾GANomaly,通过加入了 E n c o d e r 2 Encoder_2 Encoder2引入了对隐变量重构误差的constraint ,但是目的是用于计算Anomaly Score判断是否异常.

VAE-GAN中,偏向以VAE为主体,因为Decoder和Discriminator都需要处理 P r e c o n s P_{recons} Precons的问题,而Encoder却不需要考虑adversarial的问题。f-AnoGAN中,对GAN的G和D进行了锁定,后续仅训练Encoder,使得训练更加稳定。

网络结构

训练主要分两步进行,第一步是训练一个生成对抗网络,第二步利用第一步生成对抗网络的权重,训练一个encoder编码器。注意,在训练Encoder时,GAN结构里的参数将被固定,这一点和VAE-GAN不同。

为了更好的训练Encoder,让Encoder成为Generator的逆运算,论文中给出了三种训练Encoder的结构,分别为ziz结构,izi结构和izif结构

  1. ziz结构:
    L z i z = 1 d ∣ ∣ z − E ( G ( z ) ) ∣ ∣ 2 = M S E ( z , E ( G ( z ) ) ) L_{ziz}=\frac{1}{d}||z−E(G(z))||_2=MSE(z,E(G(z))) Lziz=d1∣∣zE(G(z))2=MSE(z,E(G(z)))

  2. izi结构:
    L i z i = 1 p i x e l n u m ∣ ∣ x − G ( E ( x ) ) ∣ ∣ 2 = M S E ( x , G ( E ( x ) ) ) L_{izi}=\frac{1}{pixel\;num}||x-G(E(x))||_2=MSE(x,G(E(x))) Lizi=pixelnum1∣∣xG(E(x))2=MSE(x,G(E(x)))

  3. izif结构:

L i z i f = L i z i + L D = M S E ( x , G ( E ( x ) ) ) + k ∗ 1 n ∣ ∣ f ( x ) − f ( G ( E ( x ) ) ∣ ∣ 2 L_{izif}=L_{izi}+L_{D}=MSE(x,G(E(x)))+k*\frac{1}{n}||f(x)-f(G(E(x))||_2 Lizif=Lizi+LD=MSE(x,G(E(x)))+kn1∣∣f(x)f(G(E(x))2

其中,k为两个损失函数的权重参数,代码中k=1。 f ( ⋅ ) f(\cdot) f()表示判别器中间层的输出,n表示判别器中间输出层的维度。

缺陷检测

缺陷检测时,使用 L i z i f L_{izif} Lizif 作为异常评分。
A ( x ) = A R ( x ) + k ∗ A D ( x ) A R 为重构损失 L i z i , A D 为判别损失 L D A(x)=A_R(x)+k*A_D(x)\\A_R为重构损失L_{izi},A_D为判别损失L_{D} A(x)=AR(x)+kAD(x)AR为重构损失LiziAD为判别损失LD

【轩说AI】基于GAN模型的异常检测相关推荐

  1. 基于GAN模型的生成人脸重构、返老还童、看见前世今生(Age Progression/Regression)

    基于GAN模型的生成人脸重构.返老还童.看见前世今生(Age Progression/Regression) 看见前世今生(Age Progression/Regression) GAN的优势是直接可 ...

  2. cnn 一维时序数据_蚂蚁集团智能监控的时序异常检测:基于 CNN 神经网络的异常检测...

    1 背景在蚂蚁集团智能监控领域,时序异常检测是极重要一环,异常检测落地中,业务方参考业界标准输出 Metrics 指标数据,监控不同业务.应用.接口.集群的各项指标,包含 Metrics 指标(总量. ...

  3. 基于机器学习的web异常检测(转)

    阿里聚安全 Web防火墙是信息安全的第一道防线.随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战.传统web入侵检测技术通过维护规则集对入侵访问进行拦截.一方面,硬规则在灵活 ...

  4. 基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否...

    基于机器学习的web异常检测 from: https://jaq.alibaba.com/community/art/show?articleid=746 Web防火墙是信息安全的第一道防线.随着网络 ...

  5. 基于机器学习的web异常检测

    Web防火墙是信息安全的第一道防线.随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战.传统web入侵检测技术通过维护规则集对入侵访问进行拦截.一方面,硬规则在灵活的黑客面前, ...

  6. 论文阅读_基于深度学习的异常检测综述

    英文题目:Deep Learning for Anomaly Detection: A Review 中文题目:基于深度学习的异常检测综述 论文地址:https://arxiv.org/pdf/200 ...

  7. 基于系统日志分析进行异常检测

    日志解析:https://github.com/logpai/logparser 异常检测:https://github.com/logpai/loglizer 预备知识:需要对逻辑回归.决策树.SV ...

  8. 基于GAN的小目标检测算法总结(1)——Perpetual GAN

    基于GAN的小目标检测算法总结(1)--Perpetual GAN 1.前言  这是一个系列文章,对基于GAN的小目标检测算法进行总结.目前基于GAN的小目标检测算法不多,比较有名的有3篇(好总结嘛) ...

  9. 论文笔记-基于BiLSTM 模型的漏洞检测

    一.摘要 ​ 首先从源代码中提取方法体,形成方法集:为方法集中的每个方法构建抽象语法树,借助抽象语法树抽取方法中的语句,形成语句集:替换语句集中程序员自定义的变量名.方法名及字符串,并为每条语句分配一 ...

最新文章

  1. Ubuntu 16.04重启输入法
  2. pytorch 查看gpu cuda版本
  3. 【皇甫】☀一本好书 你值得浏览
  4. 使用test BSP application CRM_THTMLB_TEST
  5. 如何找到是哪一个进程占用了某个端口号
  6. 安卓拒绝服务漏洞分析及漏洞检测
  7. ML.NET Cookbook:(16)什么是规范化?为什么我需要关心?
  8. dcom配置_spring cloud 二代架构依赖组件 全配置放送
  9. webview 调用java_Android中在WebView里实现Javascript调用Java类的方法
  10. css-适配布局类型-流式布局-响应式布局
  11. 使用anaconda
  12. sql oltp_SQL Server中的内存中OLTP的快速概述
  13. Android 使用RxJava实现一个发布/订阅事件总线
  14. 大一微积分笔记整理_大一高等数学学习方法
  15. signature=45f2913b66c5b2ae668a6622be005d65,国开大《商务英语4》自测试题及答案
  16. Win11怎么减少笔记本耗电?解决Win11耗电快的方法
  17. 二叉树的遍历 中序线索二叉树
  18. 3、Maven核心程序解压与配置
  19. windows窗口分析,父窗口,子窗口,所有者窗口
  20. 关于高通QPST平台功能和选项的一些简单说明

热门文章

  1. 3M与惠普公司合作开发标识模板,支持大众保持社交距离
  2. 2018.10.23 第2周的第1次小组讨论
  3. Table合并单元格,表格居中,内容居中显示
  4. 学PHP最快要多久? 学习路线?要不要报培训班?
  5. Java最强最新知识体系总结(2021版)
  6. Keras【极简】seq2seq
  7. C语言课程设计:打字母游戏
  8. 匿名上位机使用方法分享--高级收码
  9. Ubuntu 18.04换国内源 中科大源 阿里源 163源 清华源
  10. Causal Inference