一、数据集处理

处理数据集是一个文件夹 一个文件夹处理的,将原网络流数据集 放入一个文件夹 处理转换成 Json文件。(数据预处理)然后将这些文件处理成目标文件格式 再分割成训练集和测试集。每次运行只会处理一个文件夹。

  • 运行train.py 导入训练集训练模型,训练完之后进行保存模型参数。e2a33e73d1f34589b845bb82fa103850.png
  • 运行test.py 导入测试集测试模型,因此我们需要使用模型参数保存代码。

如果我们需要将数据集4倍交叉验证分为4个部分,3个训练集,一个测试集。那就相当于运行三次train.py分别运行导入不同的三个训练集即可。如果每个部分都需要当做一次测试集,那就重复4次就行。

a6bd5d0e88cd44339ce8782532a06fa9.png

二、后门攻击训练

为了进行有监督训练,我们需要带有标签的数据集。

我们认为数据集是带有标签的,

训练这里分为几个步骤:

将训练集每64个网络流当做一个批次。

(1)选择一个投毒目标yt,在当前训练集批次中随机选择20%个投毒目标,进行以下处理:

  • 上一次网络流+当前网络流生成 触发器掩码m
  • 当前网络流 与 掩码的m[n+1,2n]相加,训练模型分类为目标类别yt

(2)对于不投毒的训练集,用正常标签训练。

 

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐