欺骗机器学习模型

 欺骗机器学习,使其产生错误判断。

机器学习:是一种通过学习型的算法来解决一些无法直接用编程解决的问题,需要让程序自动进行学习优化来解决。

     比如识别图片中的某件物体,机器通过大量获取图片和标签来帮助机器积累出判断图片的规则。这些图片和标签就是训练样本,训练样本越多,识别的模型越准确。

1。样本训练过程:首先从样本中提取特征维度,由此引入权重(weight),如大象的长鼻子权重高,其翅膀的权重低,机器学习就是不断调整权重等参数使网络产生更好的输出。

2。对抗样本攻击:让输入图像朝着让类别置信度降低的方向上移动一个在各个维度上都偏移一小步,使模型的识别判断错误样本。

3。机器学习面临的攻击场景:1)在训练样本中注入恶意样本; 2)构造对抗样本欺骗训练好的模型

4。简单干扰情况:利用squeezenet模型进行基本的图像识别同时使用一个幅度为1的噪声降低模型预测的置信度

运行结果

在程序后指定特定的结果,分别给定1,2,6,18的噪音幅度,例如制定成lion,结果如下


分析可得,只有选择合适的幅度,结果才越接近

以下想将老鹰的图片欺骗成狮子


由于老鹰和狮子相似的地方不多,欺骗并未成功。需要多次的迭代修改图像

5。使用迭代生成更好的样本:迭代19次的结果


多次迭代可优化噪音干扰的结果。

6。对抗样本的防御

1)对抗训练:生成针对的对抗样本,明确的训练模型不要识别这些样本

2)梯度掩盖:攻击者通过在图像上的微小调整对最终结果置信度的影响来生成对抗样本,如果一个微小的调整后,结果识别只有图片物体,而没有任何位置心信息,这样就能为模型提供一定的防御。


猜你喜欢

转载自blog.csdn.net/khxlldy_0409/article/details/79836075
今日推荐