首页 > 其他分享 >使用GAN进行异常检测——可以进行网络流量的自学习哇,哥哥,人家是半监督,无监督的话,还是要VAE,SAE。

使用GAN进行异常检测——可以进行网络流量的自学习哇,哥哥,人家是半监督,无监督的话,还是要VAE,SAE。

时间:2023-06-02 23:07:37浏览次数:50  
标签:inputs fc1 outputs conv1 SAE 网络流量 conv2 监督 model

实验了效果,下面的还是图像的异常检测居多。

https://github.com/LeeDoYup/AnoGAN

https://github.com/tkwoo/anogan-keras

看了下,本质上是半监督学习,一开始是有分类模型的。代码如下,生产模型和判别模型:

### generator model define
def generator_model():
    inputs = Input((10,))
    fc1 = Dense(input_dim=10, units=128*7*7)(inputs)
    fc1 = BatchNormalization()(fc1)
    fc1 = LeakyReLU(0.2)(fc1)
    fc2 = Reshape((7, 7, 128), input_shape=(128*7*7,))(fc1)
    up1 = Conv2DTranspose(64, (2, 2), strides=(2, 2), padding='same')(fc2)
    conv1 = Conv2D(64, (3, 3), padding='same')(up1)
    conv1 = BatchNormalization()(conv1)
    conv1 = Activation('relu')(conv1)
    up2 = Conv2DTranspose(64, (2, 2), strides=(2, 2), padding='same')(conv1)
    conv2 = Conv2D(1, (5, 5), padding='same')(up2)
    outputs = Activation('tanh')(conv2)
    
    model = Model(inputs=[inputs], outputs=[outputs])
    return model

### discriminator model define
def discriminator_model():
    inputs = Input((28, 28, 1))
    conv1 = Conv2D(64, (5, 5), padding='same')(inputs)
    conv1 = LeakyReLU(0.2)(conv1)
    pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
    conv2 = Conv2D(128, (5, 5), padding='same')(pool1)
    conv2 = LeakyReLU(0.2)(conv2)
    pool2 = MaxPooling2D(pool_size=(2, 2))(conv2)
    fc1 = Flatten()(pool2)
    fc1 = Dense(1)(fc1)
    outputs = Activation('sigmoid')(fc1)
    
    model = Model(inputs=[inputs], outputs=[outputs])
    return model

 对于无监督GAN就搞不定了!

 

https://zhuanlan.zhihu.com/p/32505627

https://arxiv.org/pdf/1805.06725.pdf

https://www.ctolib.com/tkwoo-anogan-keras.html

https://github.com/trigrass2/wgan-gp-anomaly/tree/master/models

标签:inputs,fc1,outputs,conv1,SAE,网络流量,conv2,监督,model
From: https://blog.51cto.com/u_11908275/6405423

相关文章

  • 非监督异常点检测算法总结——没有想到矩阵分解和编码解码器也是一种思路
    非监督异常点检测算法总结 一、基于密度1) d(p,o):两点p和o之间的距离;2)k-distance:第k距离 对于点p的第k距离dk(p)定义如下:p的第k距离,也就是距离p第k远的点的距离,如图。  3)k-distanceneighborhoodofp:第k距离邻域 点p的第k距离邻域Nk(p),就是p的第k距离即以内的所有点,包括......
  • 0002.有监督学习之k-近邻算法
    一、概述k-近邻算法(k-NearestNeighbouralgorithm),又称为KNN算法,是数据挖掘技术中原理最简单的算法。KNN的工作原理:给定一个已知标签类别的训练数据集,输入没有标签的新数据后,在训练数据集中找到与新数据最邻近的k个实例,如果这k个实例的多数属于某个类别,那么新数据就属于这个类别......
  • 斯坦福大学李飞飞团队新作:孪生掩码自编码器SiamMAE,刷榜视觉自监督方法
    前言 只需一个简单操作扩展MAE,即可实现自监督学习新sota!本文转载自新智元仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】CV全栈指......
  • 自然语言处理(NLP) - 前预训练时代的自监督学习
    前预训练时代的自监督学习自回归、自编码预训练的前世神经网络(NeuralNetwork,NN)损失函数,度量神经网络的预测结果和真实结果相差多少平方差损失(欧式距离角度)预测概率分部和实际标签概率的欧式距离交叉熵损失(信息量角度)预测概率分部和真实概率分部的差异,指导神经网络学......
  • 什么是非监督学习
    非监督学习(UnsupervisedLearning)是一种机器学习任务,其中算法从未标记的数据中学习模式、结构和关系,以发现数据中的隐藏信息和有意义的结构。与监督学习不同,非监督学习中没有标签或输出变量来指导学习过程,算法需要自行发现数据的内在模式。在非监督学习中,算法的目标是对数据进行......
  • 什么是监督学习
    监督学习(SupervisedLearning)是一种机器学习任务,其中算法通过从标记的训练数据中学习模式和关系,以进行预测或分类。在监督学习中,算法的目标是通过输入特征与其相应的标签之间的关联性,构建一个能够准确预测新数据标签的模型。在监督学习中,训练数据包含输入特征和相应的标签或输出......
  • 以高度的精度提高无监督领域适应的有效性
    文章的主要内容同时,提出了一种改进的主动学习查询策略,以准确选择目标域中新增加的健康类别样本来辅助模型训练,解决标签域扩展的问题。近年来,一些研究人员利用样本选择算法在目标域中提取信息量大的样本来辅助模型训练,用于提高无监督模型的诊断性能。该方法首先利用UDA模型学习领......
  • 2023CVPR_Learning a Simple Low-light Image Enhancer from Paired Low-light Instan
    一.motivation以前的大多数LIE算法使用单个输入图像和几个手工制作的先验来调整照明。然而,由于单幅图像信息有限,手工先验的适应性较差,这些解决方案往往无法揭示图像细节。二.contribution1.提出一个成对低光图像输入(相同内容,不同的曝光度)2.在输入之前进行了一个去噪操作,再......
  • 网络流量测试捕获与发送
    https://xeldax.top/article/suricata_notes针对开源IDSSURICATA的实践和超大流量高性能压测针对开源IDSsuricata的实践和超大流量高性能压测suricata介绍pfringebpf和xdp基于pfring的suricata编译最佳实践基于xdp的suricata编译最佳实践如何引入大流量trex初探最......
  • 实用的网络流量监控脚本
     #!/bin/bashif[-n"$1"];theneth_name=$1elseeth_name="eth0"fii=0send_o=`/sbin/ifconfig$eth_name|grepbytes|awk'{print$6}'|awk-F:'{print$2}'`recv_o=`/sbin/ifconfig$eth......