深度模型的应用已经参与到人们生活的各个方面,同时如后门攻击、投毒攻击等对模型的篡改攻击也给人工智能带来众多风险问题。脆弱水印作为一种有效的检测方法,可以用于定期或不定期的模型检查,确保其可靠部署运行。完整性检验也是众多模型遭受攻击后恢复模型的前置条件,即检测出异常,而现有防御工作往往忽略了这关键一环。
1. 深度模型脆弱水印指标
敏感性:敏感性是深度模型脆弱水印最重要的性能指标,与鲁棒认证水印相反,深度模型脆弱水印目的在于尽可能的检测到模型中最细微的变化。此前的工作常采用微调、剪枝、量化或后门植入等方法来修改模型,并使用脆弱水印来检查模型是否已被更改,测试方法在不同的工作中略有不同。
在黑盒检测的过程中,方法有有如下三种:重复实验N次,成功检测到标签变化发生的次数;测试N个敏感样本,检查样本在模型调整下对应输出标签改变的数量;持续微调,观察敏感样本是否能够敏感地识别(观察过程),并说明它们的敏感性的稳健性。
在白盒检测的过程中,在修改模型后,从参数中提取水印信息并与预期水印进行比较。
效率:嵌入水印以及检测水印的时间或空间消耗,例如嵌入水印时间开销、嵌入水印后网络推理时间。
保真度:保真度是指模型在添加水印后模型原始任务的性能,例如在分类网络中分类任务的准确性。
篡改定位:在篡改模型后利用模型脆弱水印信息定位篡改的权重位置。
篡改恢复:在篡改定位的基础上,恢复被篡改的模型权重以恢复模型性能。