2021-09-18

一、机器学习模型的攻击分类

1、训练阶段的攻击

训练阶段的恶意攻击,主要的目的就是针对模型的参数进行微小的扰动,从让而模型的性能和预期产生偏差。这样的行为主要是通过数据投毒来完成的。

当我们能接触,或间接修改模型训练阶段的输入数据的时候,无论是篡改部分数据的特征样本,亦或是“翻转”样本的标签,也可以是在部分训练数据分布敏感的场景下,都有可能对最后的模型准确性产生影响。
又或者是一些在线的模型训练API,如若没有做好万全的防御措施,则可能会被恶意的攻击者,通过“逆向工程”的方式来解析模型的内部结构,从而导致模型的隐私信息的泄露

2、推理阶段的攻击

我们得到一个模型之后,这个模型就可以看做一个盒子,如果我们对这个盒子中使用的算法是已知的,我们就把它当成是“白盒”模型。如果这个盒子中,我们什么都看不了,不知道它使用的什么算法,我们就把它当成“黑盒”模型。

那么针对白盒和黑盒的进攻手段自然是不同的,但是最终的目的都是希望能对模型的最终结果产生破坏,与预期脱离。其影响力以及攻击的构造粒度也是有所不同的。

具体的攻击手段比较复杂,还搞不定。

二、师兄论文阅读

联邦学习本质上是一种分布式机器学习技术,或机器学习框架。正是因为它分布式的特点,就让攻击者有机会通过子模型实现对全局模型的攻击。
在传统的攻击方法中使用的是标签翻转的方法,既将样本的label换成其他错误的label。而师兄采用的方法,不会对原真实样本数据进行修改,而是利用GAN生成与真实数据相似的恶意样本。

攻击者利用全局模型寻找出错误次数最多的局部样本,然后通过GAN构造恶意样本,恶意样本学习真实数据中的噪音部分,但是使样本的标签和局部样本保持一致,这就是中毒数据,该数据就能降低目标类别的识别率,然后通过该数据来训练局部模型最后提交到全局模型实现攻击。

目前还只是了解了大概的思想,具体的东西还需要进一步学习联邦学习和GAN来深入。

三、其他收获

做了一个小实验,利用逻辑回归实现对信用卡交易数据的分类。学习了一些数据处理方法,在很多时候数据预处理可以极大的提高模型的准确度,当然数据预处理的方法和理论有很多,至于选择哪一个可以进行对比测试来选择效果最好的。

你可能感兴趣的:(机器学习,机器学习,自然语言处理,神经网络)