基于深度生成模型的半监督网络流量分类

关于深度学习的网络流量分类论文整理(二) Paper:End-to-end Encrypted Traffic Classification with One-dimensional Convolution Neural Networks 论文:基于一维CNN的端到端的加密流置分类方法 论文下载:https://ieeexplore.ieee.org/document/8004872 代码下载:https://github.com/echowei/DeepTraffic 数据处理工具包使用方法:https://github.com/yungshen 阅读详情

写在前面:
本文翻译供个人研究学习之用,不保证严谨与准确
github链接:https://github.com/WithHades/network_traffic_classification_paper
本文原文:Li, T., Chen, S., Yao, Z., Chen, X., & Yang, J. (2018). Semi-supervised network traffic classification using deep generative models. 2018 14th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery (ICNC-FSKD), 1282–1288.

基于深度生成模型的半监督网络流量分类

摘要
  网络流量分类在网络管理和安全领域中起着基础性的作用。近年来,机器学习技术被用来对网络流量进行分类。特别半监督学习非常适合实际情况,在这种情况下,很难获得预先标记的训练流。提出了一种基于深度生成模型的半监督网络流量分类方法。具体来说,特征提取模块的目的是在低维特征空间中自动发现原始流量数据的表示特征。然后,利用这些表示特征,利用半监督分类模块训练分离分类器。通过异常检测层、协议层和应用层三个不同层次的数据集对该方法进行了验证。结果表明,该方案不仅可以检测恶意软件流量,而且可以根据恶意软件的协议、应用和攻击类型对流量进行分类。利用整个数据集不到20%的标记流,可以达到95%以上的准确率,与有监督学习方法相比是一个令人满意的值。

  关键词: 网络流量分类,半监督学习,深度生成网络,特征工程学习, 网络攻击检测

I. 介绍

  随着大数据时代的到来,新型的互联网应用应运而生,网络的构成也变得更加复杂。网络管理员应该了解更多关于网络流量的应用程序和协议的信息,以便更好地实现网络调度和攻击防御策略。近几十年来,基于用户行为分析的网络流量分类在优化网络配置、降低网络安全风险、提供更好的服务质量等方面具有不可或缺的价值,引起了人们的广泛关注[1]。
  有三类流量分类方法:基于端口的、基于深度包检查(DPI)的和基于流量统计的方法[1]。传统的基于端口的方法通过将数据包中的端口号映射到已知的应用程序来识别网络应用程序。但随着动态端口业务的增长和网络地址转换的采用,基于端口的分类变得不可靠。基于DPI的方法在IP包的有效负载中搜索应用程序的签名,这有助于避免动态端口问题[2]。目前,它是最实用的方法。然而,基于DPI的方法在处理加密流量时失败了。
  基于统计的方法没有通过匹配预定义的规则来执行流量分类,而是利用一组流量的可观察特征(例如,分组大小的均值和方差以及分组之间的间隔时间)来展示网络流量的不同行为和潜在特性。大多数基于统计的方法可以进一步分为有监督或无监督学习算法。一方面,监督学习主要利用机器学习的方法,从具有一组选择性特征的标记流中提取模式来学习流量分类器。然而,性能取决于在实践中很难获得的预标记流的质量和数量[3]。另一方面,无监督方法通过聚类技术(如Kmeans)对一组未标记流进行分类。然后,通过人工标注的方式,将聚类结果用于构建分类器。然而,准确度远不能令人满意。
  本文在深入生成模型和变分推理理论的基础上,利用密度模型提出了一种半监督网络流量分类方法。我们的方案只需要少量的标记流,但达到了令人满意的90%以上的精度。本文的主要贡献概括如下:

  • 我们使用一个深度生成模型作为特征抽取器来提供原始流的表示特征。相关的流将被聚类到一个潜在的特征空间上,使得分类更加准确。
  • 我们提出了一个半监督方案来解决只有少量标记流的流量分类问题。该方法结合了近年来在深生成模型和变分推理理论领域的成功结果。
  • 我们在三个不同层次的网络流量数据集上进行了实验。结果表明,该方案不仅可以检测恶意软件流量,而且可以根据恶意软件的协议、应用和攻击类型对流量进行分类。

II. 相关工作

  基于端口和基于DPI的流量分类方法在实际应用中有着广泛的应用。Finsterbusch等人[6]综述了目前基于DPI的流量分类方法。相关工作主要集中在如何准确地确定映射规则,减少有效载荷检测的时间消耗,提高性能等方面。
  由于基于规则的方法面临着动态端口和加密流量的问题,近年来的研究主要集中在如何将基于流量统计的方法与机器学习技术结合起来。Nguyen和Armitage[2]对几种机器学习方法处理网络流量分类的性能进行了比较。在训练数据集完全标记的情况下,利用监督学习算法对分类器进行训练。例如,Naive Bayes[9]、支持向量机(SVM)[7]和决策树[8]已经使用选择性流特征对此问题进行了评估。随着人工智能(AI)的发展,除了上述传统的机器学习方法外,还应用了深度学习技术来构建分类器。Javaid等人[10]提出了一种基于稀疏自动编码器(SAE)的网络入侵检测方案。Wang等人[11]提出了一种基于一维卷积神经网络的加密流量分类方法。采用长-短期记忆网络(LSTM)[12]学习时间流特征,提高分类精度。
  一些无监督的学习方法,如K-均值[13]和期望最大化(EM)[14]被用来对流量进行自动聚类。乔纳斯等人[3]提出了一种基于神经自动编码器的无监督学习流量分类算法。半监督学习是一种将大量未标记流和少量标记流输入分类器的混合学习方法。Erman等人[13]首先在聚类过程中使用K-Means算法,然后利用标记流对聚类结果进行分类应用。
  在本文中,我们的方法也是半监督的,但它是一个端到端的分类模型,而不是一个单独的两步过程。标记流和未标记流用于同时训练模型,这比以前的“特征-簇-标签”方案更高效、更自动。同时,所选择的特征在反映流行为方面起着重要的作用。因此,我们没有使用手工制作的流程统计,例如[9]中提出的248个统计特征集,而是使用了先进的深生成模型。具体地说,变分自动编码器(VAE)[4]通过将原始流嵌入低维潜在特征空间来表示原始流的特征。

III. 半监督网络流量分类的深生成模型

  在这一部分中,我们提出了一个半监督方案来处理网络流量分类问题。该框架主要包括两个模块:特征提取模块和半监督分类模块。图1显示了整个框架。特征提取模块需要预先训练,目的是在无监督的情况下自动发现原始流的表示特征。然后,利用表示特征,利用半监督分类模块训练分离分类器。在该模块中,我们提出了一个概率模型来描述除了一些潜在变量之外,由特定的流量类型生成的流量。

图1 半监督流量分类框架

A. 特征提取

  使用变分自动编码器(VAE)学习原始流(n字节网络包序列)的表示特征。在图2中,使用VAE,我们可以获得低维空间中的表示特征。这些低维特征比原始流更容易分离,因为具有相似特征的流聚集在潜在特征空间上。我们将流量数据建模为对: ( x , y ) = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } (x, y) = \{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\} (x,y)={(x1​,y1​),(x2​,y2​),...,(xN​,yN​)},其中 x i ∈ R D x_i \in R^D xi​∈RD表示第i个原始流, y i ∈ { 1 , . . . , L } y_i \in \{1, ..., L\} yi​∈{1,...,L}是它的类标签。每个原始流 x i x_i xi​都有相应的表示特性 z i z_i zi​。

  如图2所示,我们将 q ∅ ( z ∣ x ) q_{\emptyset}(z | x) q∅​(z∣x)称为概率编码器,因为给定原始流x,它可以在表示特征z上产生后验分布,我们将其表示为“表示特征分布”。具体来说,我们用来推断表示特征的编码器是高斯网络:
q ∅ ( z ∣ x ) = N ( z ∣ μ ∅ ( x ) , d i a g ( σ 2 ( x ) ) ) (1) q_{\emptyset}(z|x) = N(z|\mu_\emptyset(x), diag(\sigma^2(x)))\tag{1} q∅​(z∣x)=N(z∣μ∅​(x),diag(σ2(x)))(1)
  编码器以深度神经网络的形式构造。这个表示分布的均值和方差 q ∅ ( z ∣ x ) q_{\emptyset}(z|x) q∅​(z∣x)是编码器的输出。这里,函数 μ ∅ ( x ) \mu_\emptyset(x) μ∅​(x), σ 2 ( x ) \sigma^2(x) σ2(x)表示为多层感知器(MLPs)。
  我们还将 q ∅ ( z ∣ x ) q_{\emptyset}(z|x) q∅​(z∣x)称为概率解码器,因为给定流表示特性z,它会产生原始流x的可能值上的分布。我们用于重建流的解码器是:
p ( z ) = N ( z ∣ 0 , I ) ; p θ ( x ∣ z ) = f ( x ; z , θ ) (2) p(z) = N(z|0,I);p_\theta(x|z) = f(x;z,\theta)\tag{2} p(z)=N(z∣0,I);pθ​(x∣z)=f(x;z,θ)(2)
  其中 f ( x ; z , θ ) f(x;z,\theta) f(x;z,θ)是一个是一个似然函数,其概率由参数 θ \theta θ的深神经网络和一组表示特征z构成。
  变分自动编码器使我们能够通过推理网络 q ∅ ( z ∣ x ) q_{\emptyset}(z | x) q∅​(z∣x)获得每个原始流x的表示特征z。应该注意的是,这个程序是完全无监督的。

B. 半监督分类

  在半监督分类情况下,只有一小部分流具有已知的类标签。为了解决标签丢失的问题,我们提出了另一种生成模型,即VAE变形模型。该模型描述了由潜在类变量y和其他潜在变量 z ′ z^{'} z′生成的流。图3和图4显示了结构细节:

图3 标签数据的半监督分类模块
图4 未标记数据的半监督分类模块

  分类被集成到推理过程中。与特征提取模块不同,对于分类模块中的编码器,我们使用高斯网络来推断潜在变量 z ′ z^{'} z′和y为:

q ∅ ( z ′ ∣ z ) = N ( z ∣ μ ∅ ( z ) , d i a g ( σ 2 ( z ) ) ) q_{\emptyset}(z^{'}|z) = N(z|\mu_\emptyset(z), diag(\sigma^2(z))) q∅​(z′∣z)=N(z∣μ∅​(z),diag(σ2(z)))
q ∅ ( y ∣ z ) = C a t ( y ∣ π ∅ ( z ) ) (3) q_{\emptyset}(y|z) = Cat(y|\pi_\emptyset(z))\tag{3} q∅​(y∣z)=Cat(y∣π∅​(z))(3)
   C a t ( y ∣ π ) Cat(y|\pi) Cat(y∣π)是多项式分布。如果之前没有流的类标签,则类标签y将被视为需要推断的潜在变量。函数 μ ∅ ( z ) , σ 2 ( z ) , π ∅ ( z ) \mu_\emptyset(z),\sigma^2(z),\pi_\emptyset(z) μ∅​(z),σ2(z),π∅​(z)表示为MLPs。我们用来重建特征的分类模块中的解码器是:

p ( y ) = C a t ( y ∣ π ) ; p ( z ′ ) = N ( z ′ ∣ 0 , I ) p(y) = Cat(y|\pi);p(z^{'}) = N(z^{'}|0,I) p(y)=Cat(y∣π);p(z′)=N(z′∣0,I)
p θ ( z ′ ∣ y , z ) = f ( z ; y , z ′ , θ ) (4) p_\theta(z^{'}|y,z) = f(z;y,z^{'},\theta)\tag{4} pθ​(z′∣y,z)=f(z;y,z′,θ)(4)
  同样的, f ( z ; y , z ′ , θ ) f(z;y,z^{'},\theta) f(z;y,z′,θ)是一个似然函数,其概率由参数 θ \theta θ的深神经网络和潜在变量y和 z ′ z^{'} z′构成。
  现在可以使用推理网络 q ∅ ( y ∣ z ) q_{\emptyset}(y|z) q∅​(y∣z)作为分类器,从中我们可以得到任何缺少标签的流的预测。

C. 目标函数与优化

  对于特征提取模块,目标函数是VAE模型的变分界[4],可以写成:
L ( θ , ∅ ; x ( i ) ) = D K L ( q ∅ ( z ∣ x ( i ) ) ∣ ∣ p θ ( z ) ) + E q ∅ ( z ∣ x ( i ) ) [ l o g p θ ( x ( i ) ∣ z ) ] (5) L(\theta,\emptyset;x^{(i)}) = D_{KL}(q_\emptyset(z|x^{(i)})||p_\theta(z))+E_{q_\emptyset(z|x^{(i)})}[logp_\theta(x^{(i)}|z)]\tag{5} L(θ,∅;x(i))=DKL​(q∅​(z∣x(i))∣∣pθ​(z))+Eq∅​(z∣x(i))​[logpθ​(x(i)∣z)](5)
  对于半监督分类模块,我们有两种情况需要考虑[15]:
(1)考虑到标记流,如图3所示,变分边界是等式(5)的一个扩展:
L ( z ( i ) , y ) = D K L ( q ∅ ( z ′ ∣ z ( i ) ) ∣ ∣ p θ ( z ′ ) ) + E q ∅ ( z ′ ∣ z ( i ) ) [ l o g p θ ( z ( i ) ∣ y , z ′ ) ] = E q ∅ ( z ′ ∣ z ( i ) , y ) [ l o g p θ ( z ( i ) ∣ y , z ′ ) + l o g p θ ( z ′ ) + l o g p θ ( y ) − l o g q ∅ ( z ′ ∣ z ( i ) ) ] (6) L(z^{(i)},y)\\ = D_{KL}(q_\emptyset(z^{'}|z^{(i)})||p_\theta(z^{'})) + E_{q_\emptyset(z^{'}|z^{(i)})}[logp_\theta(z^{(i)}|y,z^{'})]\\ = E_{q_\emptyset(z^{'}|z^{(i)}, y)}[logp_\theta(z^{(i)}|y,z^{'}) + logp_\theta(z^{'}) + logp_\theta(y)-logq_\emptyset(z^{'}|z^{(i)})] \tag{6} L(z(i),y)=DKL​(q∅​(z′∣z(i))∣∣pθ​(z′))+Eq∅​(z′∣z(i))​[logpθ​(z(i)∣y,z′)]=Eq∅​(z′∣z(i),y)​[logpθ​(z(i)∣y,z′)+logpθ​(z′)+logpθ​(y)−logq∅​(z′∣z(i))](6)
(2)对于未标记的流,如图4所示,类标签y被视为分布上的一个潜在变量,因此带有未知标签的流的变化范围为:
U ( z ( i ) ) = D K L ( q ∅ ( y , z ′ ∣ z ( i ) ) ∣ ∣ p θ ( z ′ , y ) ) + E q ∅ ( y , z ′ ∣ z ( i ) ) [ l o g p θ ( z ( i ) ∣ y , z ′ ) ] = ∑ y q ∅ ( y ∣ z ( i ) ) ( − L ( z ( i ) , y ) ) + H ( q ∅ ( y ∣ z ( i ) ) ) (7) U(z^{(i)})\\ = D_{KL}(q_\emptyset(y, z^{'}|z^{(i)})||p_\theta(z^{'},y)) + E_{q_\emptyset(y, z^{'}|z^{(i)})}[logp_\theta(z^{(i)}|y,z^{'})]\\ = \sum_yq_\emptyset(y|z^{(i)})(-L(z^{(i)},y)) + H(q_\emptyset(y|z^{(i)})) \tag{7} U(z(i))=DKL​(q∅​(y,z′∣z(i))∣∣pθ​(z′,y))+Eq∅​(y,z′∣z(i))​[logpθ​(z(i)∣y,z′)]=y∑​q∅​(y∣z(i))(−L(z(i),y))+H(q∅​(y∣z(i)))(7)
则整个数据集的变分界限为:

我们还添加了标记流的分类损失,总体目标函数是:
式(5)和式(9)分别为特征提取模块和半监督分类模块的优化提供了目标函数。利用随机梯度变分Bayes(SGVB)[5]方法,编码器和解码器的参数和都可以优化。 同样的计算策略可用于计算公式(9)的梯度。由于KL项可以解析计算,并且可以使用过程等式(11)估计重建误差项的梯度。

IV. 实验

  在这一部分中,我们在公共ISCxVPN流量数据集[16]和USTC-TFC2016数据集[17]上进行了各种实验,以评估所提出的半监督分类方法的性能。这些实验有以下目的:

  • 评估特征提取模块的性能
      评估标记流的数量对半监督分类模块性能的影响;
      评估半监督分类方法在不同级别数据集上的性能:异常检测级别:检测来自网络流量的恶意软件流。协议级:根据协议类型对流进行分类;应用级:根据应用/攻击类型对流进行分类。

A. 实验实现

1. 数据集

  目前大多数的公共流量数据都是基于流量统计的。但由于我们必须展示模型提取潜在流量特征的能力,因此我们选择以下三个包含原始流量数据而不是统计数据的数据集:
(1)ISCxVPN数据集:包括6种常规加密协议流量。
(2)USTC-TFC2016数据集:Wang等人[19]发布的数据集由两部分组成:恶意软件流量部分包含10种恶意软件流量;正常流量部分包含10种正常流量,由网络流量模拟设备采集。
(3)USTC异常检测数据集:为了进一步挖掘模型的异常检测能力,USTCTF2016中的每个流都根据其类型标记为正常或恶意软件,以构建2类数据集。
  四个数据集的流量组成见表1。

表1 数据集的流组成

B. 实验评估

1. 评价指标

  四个评价指标[2]被用来显示我们的方法的性能:精确性(A)、精确性(PR)、召回率(RC)和f1值(f1)。我们使用精确度来评估分类器的整体性能。另外三个指标(PR、RC、F1)被用来评价数据集中每一类的分类结果。利用上述指标,我们可以在训练后判断分类器的性能。

2. 实验结果
    A. 特征表示
图5 网络流的二维潜在特征

  图5中的(a)和(c)分别对应于USTC异常检测数据集和ISCxVPN数据集。它们显示了由基于VAE的特征提取模块获得的2D表示特征;(b)和(d)显示了通过对两个数据集执行PCA(主成分分析)方法获得的降维结果。与二维平面上的性能相比,VAE处理后的数据具有更好的聚类效果。这意味着同一类型的业务具有相似的内部特征,经过这种低维的嵌入后,原始业务流更容易在表示特征空间中分离。

    B. 半监督分类器性能

  首先,为了评估标记流对分类性能的影响,我们选择了不同数量的标记流,并比较了评价指标的变化趋势。我们将n_labels(每个流量类别的标记流量)设置为20、50、100、200,分别占USTC恶意软件流量数据集的0.31%、0.78%、1.56%和3.12%;USTC正常流量数据集的0.31%、0.77%、1.55%和3.10%;ISCX VPN数据集的1.77%、4.43%、10.0%和20%;USTC异常检测数据集的0.15%、0.39%、0.78%和1.56%。与传统的监督学习方法相比,该方法只使用最小标记流,通常将标记的训练集设置为整个数据集的70~80%。图6分别显示了四个数据集的不同n_labels的评估度量。我们还在表2中列出了USTC恶意软件流量数据集分类度量的具体值。

图6 四个数据集的度量值
表2 USTC恶意软件流量数据集的精度、召回率和F1值

  如图6所示,虽然每个类只有20个标记流,但四个数据集的精度值都在85%以上,特别是USTC异常检测数据集的精度达到了100%。当标记流增加到每个类50时,四个数据集的精度、召回率和f1值都超过90%。当标签数量增加到每类200个时,度量值达到约95%。
  在四个数据集中,该方法对USTC异常检测数据集的性能最好(评价指标达到100%)。这意味着正常流和恶意流在流特性上有很大的差异,所以它们很容易被分离。在协议级和应用级分类方面,该方法的性能略有下降。可能的原因是,属于不同业务类别的应用程序可能具有一定程度的相似性,从而导致一些错误分类。例如,图7显示了USTC恶意软件流量数据集的混淆矩阵,每个类有50个标记流。对角线颜色的深度表示相应类别的分类精度。我们可以看到大多数的类都被准确地分类了,只有Neris和Virut的性能不能令人满意。

图7 USTC恶意软件数据集的混淆矩阵(n_labels=50)

  图8显示了带有不同数量标记流的四个数据集的准确性。

图8 不同标记流的精度

  我们可以看到,随着标记流的数量增加,精确度也在增加。具体来说,该方法在USTC异常检测数据集上的准确率最高,达到100%,整个数据集只有0.15%的标记流。在其他三个数据集上,每个类20个标记流的准确率达到80%以上,而50个标记流的准确率则提高到90%以上。对于每类200个标记流,与监督分类方法相比,准确率达到95%,是一个令人满意的值,但我们只使用了不到20%的整个数据集的标记流。与我们的方法类似,[3]使用神经自动编码器对流进行聚类,并从先前标记的数据中为该聚类分配最相似的标签。该方法的平均准确率为80%,召回率为75%,f1得分为76%。

V. 总结

  本文讨论了当整个数据集的标签无法获取时的网络流量分类问题。我们提出的方法去除了手工特征,但使用变分自动编码器以无监督的方式从原始流量中提取潜在特征。然后利用表示特征,将大量未标记流和少量标记流混合训练成基于深度生成模型的流量分类器。我们对四个不同级别的数据集进行了评估。
  在今后的工作中,还有一些问题需要进一步研究。首先,利用卷积神经网络(CNN)等深层学习技术来提高特征的表示能力和分类性能,并且,由于统计流特征被证明对网络分类有用,我们将把统计特征与原始的流量数据结合起来进行分类进一步探索。

深度生成模型(Deep Generative Models, DGMs) 深度生成模型是一类基于深度学习的模型,旨在学习数据分布并生成与训练数据相似的新样本。与判别模型(如分类器)不同,生成模型的目标是建模数据的联合概率分布。 阅读详情

相关推荐

基于半监督深度学习的网络恶意加密流量识别方法

对于每一个无标签样本,采用弱增强得到一幅图像,将该图像传递给模型,得到一个预测结果,该模型会设定一个阈值,如果这个预测结果最高的类别的置信度高于阈值,那么,该类别就会作为这张图片的标签。本文采用 RandAugment方法进行数据强增强,规定从 RandAugment 给定的数据增强方法列表N中随机选择增强方法,从 1 到 10 之间随机选择一个数据增强幅度上限M,使得这 N 个数据增强方法的幅度不能超过给定的幅度上限 M。将数据集打乱后,设定 0.2 为拆分阈值,选取 20% 做测试集,剩下的为训练集。

罗伯特技术屋 1325

半监督学习在网络流量分类中的应用

1.背景介绍 网络流量分类是一项重要的网络管理和监控技术,它可以帮助网络管理人员更好地了解网络流量的特征,从而进行更有效的网络资源分配和安全保护。传统的网络流量分类方法主要包括规则匹配、基于协议的分类和基于特征的分类等。然而,这些方法在处理大规模、高速变化的网络流量时,存在一定的局限性。 半监督学习是一种机器学习方法,它在有限的标签数据和大量的无标签数据的情况下进行学习。在网络流量分类中,半监...

AI天才研究院 692

风险监控的智能化:AI与机器学习的应用

本文系统解析AI与机器学习驱动的智能化风险监控体系,覆盖从理论基础到工程实践的全生命周期。通过第一性原理推导(不确定性量化→预测→决策闭环)、多层次技术架构(数据感知→模型推理→动态调优)、典型场景验证(金融反欺诈/工业设备预测性维护/网络安全威胁检测),揭示智能化风险监控的核心技术要素。重点阐述机器学习模型在非稳态风险场景下的适应性设计,以及可解释性、隐私保护等关键挑战的解决路径,为企业构建智能风控系统提供技术路线图。风险感知:多源异构数据(结构化/非结构化/时序)的融合与特征提取;风险建模。

项目管理的博客 1405

基于半监督学习的加密流量分类模型CLGAN

本文提出了一种基于生成对抗网络(GAN)的半监督加密流量分类模型CLGAN,旨在解决传统方法在特征提取和标注数据需求方面的不足。该模型结合CNN和LSTM网络,通过生成器与鉴别器的对抗训练,利用少量标记数据和大量未标记数据实现高效分类。实验在ISCXVPN-nonVPN和USTC-TFC2016数据集上进行,结果显示CLGAN在标记数据较少时性能显著优于对比模型(准确率提升3-4%),且对数据量的敏感性更低。

汉斯出版社旗下编辑,定期更新计算机前沿论文 1413

【信息科学与工程学】【人工智能】第一篇 人工智能算法知识库01

编号格式说明示例数量分配​8位数字,前2位主类,中间2位子类,后4位序号99,999,999个。

weixin_49199313的博客 1873

nips14-ssl:NIPS 2014 论文“Semi-Supervised Learning with Deep Generative Models”结果复现代码

NIPS'14-SSL 使用深度生成模型重现我们的 NIPS 2014 论文关于半监督学习 (SSL) 的一些关键结果的代码。 DP Kingma、DJ Rezende、S. Mohamed、M. Welling 具有深度生成模型的半监督学习神经信息处理系统的进展 27 ( NIPS 2014 ),蒙特利尔 使用此代码进行研究时,请引用本文。 警告:此代码远未完全注释。 对于问题和错误报告,请发送电子邮件至dpkingma[at]gmail.com 。 先决条件 确保安装了以下最新版本: Python(2.7 或更高版本) Numpy(例如pip install numpy ) Theano(例如pip install Theano ) 在 Theano 配置的[global]部分(通常是~/.theanorc )中设置floatX = float32 。 或者,您可以在

Traffic-Classification 开源项目教程

Traffic-Classification 开源项目教程 项目介绍 Traffic-Classification 是一个用于网络流量分类的开源项目。该项目旨在通过自动化过程,根据各种参数(如端口号或协议)将计算机网络流量分类为多个流量类别。每个流量类别可以被不同地处理,以区分对数据生成者或消费者的服务。 该项目支持多种分类方法,包括基于端口号的分类、深度数据包检测(DPI)和统计分类。它适用于需...

gitblog_00622的博客 1095

【GPT】Coze使用开放平台接口-【7】Dify 比较篇

coze 用于社交,dify 用来内部构建。抛开工作流,机器人,工具,coze 最大的区别在于可以直接发布到社交媒体上。所以,coze 对操作体验上也花了不少功夫,而 dify 就专注在帮助使用者打磨工作流。coze 各个大模块之前可以联动的机制也比较多,所以侧重点各不相同。

非晓为骁的博客 7612

异常检测概述

异常检测是解决“大海捞针”问题的关键技术,其方法从传统统计模型发展到深度生成模型,应用场景覆盖工业、医疗、金融等核心领域。未来需进一步解决动态环境适应、可解释性及小样本学习等挑战,同时结合因果推理、自监督学习等前沿方向提升鲁棒性。异常检测是机器学习与深度学习中的重要研究课题,旨在识别数据中与大多数样本显著偏离的异常样本(离群点)。

分享python,大模型,人工智能,机器学习相关的内容 989

从零到一:在Ubuntu 20.04上搭建ROS1与PX4无人机开发环境

本文详细指导如何在Ubuntu 20.04系统上搭建完整的ROS1与PX4无人机开发环境。内容涵盖ROS Noetic安装、PX4固件源码编译、MAVROS通信桥接以及QGroundControl地面站的配置,并通过Gazebo仿真完成全链路联调测试,为无人机算法开发与验证提供稳定可靠的基础平台。

weixin_29292431的博客 166

【AI概念】迁移学习 vs. 域自适应 vs. 域泛化|定义、核心原理、数学表达、易混淆点与工程选择建议|实际案例、工程实现细节、未来研究趋势、实际应用场景

大家好,我是爱酱。本篇将会详细梳理迁移学习(Transfer Learning)、域自适应(Domain Adaptation)、域泛化(Domain Generalization)三大常被混淆的核心概念,结合数学公式、典型算法与实际应用场景,帮助你厘清它们的本质区别、联系与工程意义。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 2465

协同漂移:多意图故障预测与根因消歧技术解析

在分布式系统和云原生架构中,服务间的复杂依赖关系常常导致多个应用或服务同时出现性能劣化,这种现象被称为协同漂移。协同漂移的本质是多个意图指标在相近时间窗口内发生系统性、关联性的偏离,其背后往往存在一个共同的根因。传统基于阈值的监控方法在面对协同漂移时容易产生告警风暴,难以定位根本问题。通过结合多元时间序列分析、因果推断和图神经网络等技术,可以实现对协同漂移的主动预测与精准根因定位。这项技术是构建自驱动网络和实现智能运维的关键能力,能够显著提升云原生环境下的系统可观测性和故障恢复效率。

weixin_34320724的博客 320

深入STM32 USB OTG FS:从官方MSC例程到实战双存储设备移植全记录

本文详细解析了STM32 USB OTG FS在双存储设备开发中的实战应用,从协议栈底层机制到SD卡/SPI Flash同步挂载的实现。通过优化SDIO接口和SPI Flash驱动,结合USB MSC类的关键实现,提供了完整的解决方案和性能优化策略,适合嵌入式开发者参考。

weixin_28366475的博客 367

半监督学习

半监督学习笔记

dugudaibo的博客 2万+

基于STM32设计的物联网疫苗冷链物流监测系统

本设计基于物联网技术,开发了一套疫苗冷链物流环境监测系统。系统采用STM32F103C8T6作为主控芯片,集成SHT30温湿度传感器、震动传感器、GPS定位模块和4G通信模块,实现对运输环境的温度、湿度及震动状况的实时监测与控制。通过继电器驱动半导体制冷模块和加湿器,系统能够自动调节环境温湿度,保障疫苗运输的安全性。采集的环境数据通过MQTT协议上传至华为云物联网平台,配套开发的Android手机APP和Windows上位机软件基于Qt平台设计,支持远程实时查看环境数据和车辆定位,提升了疫苗冷链运输的智能化

862

【Bug已解决】Codex App returns 401 Missing bearer/basic authentication after login on multiple Windows la

原始报错:Codex App returns 401 Missing bearer/basic authentication after login on multiple Windows laptops场景:用户在 Windows 笔记本上登录应用成功了,但随后每个业务请求都返回 401,提示"Missing bearer/basic authentication"。登录态像是"假的"——明明登了,请求却没带任何认证信息。多台 Windows 设备都能复现。

一键难忘的博客 592

[论文阅读] (03) 清华张超老师 - GreyOne: Discover Vulnerabilities with Data Flow Sensitive Fuzzing

《秀璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。模糊测试近年来成为安全研究人员的必备的漏洞挖掘工具,是近年来漏洞披露数量爆发的重要推手。然而,模糊测试工具在种子生成、选择、变异、测试、评估、反馈等多个环节都存在一定的盲目性和随机性,其漏洞挖掘效率存在较大提升空间。我们通过分析经典模糊测试工具AFL的实现原理,找到了若干个制约其效率的瓶颈所在,包括数据流不敏感等,并针对性地提出了改进方案GreyOne(USENIX Sec'20)。本次报告将与大家探讨这一方案。

杨秀璋的专栏 1万+

ZYNQ PL通过EMIO ETHE1外接PHY由GMII转RGMII

1,设置EMIO方式引出ETHE1 2,从GMII过度到RGMII GMII: 发送 gmii_tx_clk gmii_tx_d[7:0] gmii_tx_en gmii_tx_er 接收 gmii_rx_clk gmii_rx_d[7:0] gmii_rx_dv gmii_rx_er RGMII: 发送 tx_clk tx_d[3:0] tx_ctrl 接收 rx_clk rx_d[3:0] rx_ctrl 首先数据总线从时钟单边沿采样8bit转变为了双边沿采样4bit,从88E1

wangjie36的博客 1万+

机器学习---半监督学习(生成式方法)

事实上,未标记样本虽未直接包含标记信息,但若它们与有标记样本是从同样的数据源独立同分布采样而来,则它们所包含的关于数据分布的信息对建立模型将大有裨益.图13.1给出了一个直观的例示.若仅基于图中的一个正例和一个反例,则由于待判别样本恰位于两者正中间,大体上只能随机猜测;若能观察到图中的未标记样本,则将很有把握地判别为正例,“十”?“-待判别样本观察到未标记样本十图13.1未标记样本效用的例示.右边的灰色,点表示未标记样本。助大的瓜,则只需询问瓜农比较少的瓜就能构建出比较强的模型,从而大幅降低标记成本。

weixin_43961909的博客 2326

Openclaw错误排查及解决方案之:Something went wrong while processing your request. Please try again.

Openclaw错误排查及解决方案之:Something went wrong while processing your request. Please try again.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 3783

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

一文看遍半监督学习模型(Semi-Supervised Learning)

一个模型对于同一个未标记图像,在图像添加额外噪声前后的预测值应该保持一致。添加噪声的方法,如图像增强(空间维度增强、像素维度增强)。同样,Dropout可在模型结构中引入噪声。

qq_43456016的博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【EXata】1.2 EXata 协议栈

EXata 使用一个类似于 TCP/IP 网络协议栈的分层架构。在该架构中,数据在相邻层之间移动。EXata的协议栈从上到下包括应用层、传输层、网络层、链接(MAC)和物理层。

汤姆lazy的优快云博客 1128

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

李宏毅ML笔记12:半监督

半监督学习(semi-supervised learning)主要有几个方式: 生成式模型(Generative Model), 低密度分离假设(Low-density Separation Assumption), 平滑假设(Smoothness Assumption) 有监督生成式模型 半监督生成式模型 低密度分离假设 Self Training与generative model对比 基于熵的正则化 Entropy-based Regularization公式 半监督SVM 平滑假设

越开源越幸运 1725

【机器学习chp12】半监督学习(自我训练+协同训练多视角学习+生成模型+半监督SVM+基于图的半监督算法+半监督聚类)

半监督学习的定义和基本思想半监督学习(Semi-Supervised Learning,SSL)结合了监督学习和无监督学习的特点。它的基本思想是使用少量的标注数据和大量的无标注数据进行学习。标注数据相对较贵且稀缺,而无标注数据通常可以轻松获得,因此半监督学习能够在实际应用中发挥巨大作用。监督学习:依赖大量标注数据,通过标注数据训练模型进行分类或回归任务。无监督学习:使用未标注数据进行训练,主要用于聚类或数据表示学习,不依赖标签。

m0_56997192的博客 2491

读论文:ByteSGAN: A semi-supervised Generative Adversarial Network for encrypted traffic classification

主要贡献:(1)ByteSGAN可以充分利用少量标记流量样本和大量未标记流量样本来实现良好的性能(2)ByteSGAN不仅可以处理常规流量,也可以处理加密流量(3)ByteSGAN是轻量级分类器,只能消耗SDN-EGW较少计算资源GAN提供了一种无需大量注释的训练数据即可学习深度表示的有前途的方法。他们通过涉及一对网络的竞争过程导出反向传播信号来实现这一目标。首先,本文作者说将ByteSGAN嵌入到网关,但是文中并没有涉及到将SGAN嵌入到SDN edge网关中。

qq_45655136的博客 534
上一篇: 网络流量分类中的多任务学习
下一篇: 某软件OTP算法分析
袁赛因不花
博客等级 码龄10年 82粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值