ICLR 2023 | 具有防御机制的鲁棒时序预测模型
在这个数字化时代,时间序列数据被广泛应用于各个领域,例如金融、医疗、电子商务等。对于这些领域的决策来说,准确的时间序列预测非常重要。因此,保护时间序列预测模型免受攻击是很多厂家所关注的问题。过去,许多研究人员关注于防御策略,例如使用统计方法、检测异常值等方法。但是,这些方法在防御效果上可能存在局限性。
最近,来自 AWS 和华盛顿大学的研究者们关注了在时间序列预测中,特别是使用深度学习模型下的攻击和防御问题。研究者们研究如何通过攻击和防御策略来提高模型的预测精度。他们使用了一个基于深度学习的非线性预测模型(Informer)和一个包含真实观测值的模拟时间序列作为攻击目标,并研究了攻击对模型的影响以及如何通过不同的防御策略来减轻攻击的影响。具体来说,论文研究了以下问题:
- 攻击的影响 :在给定序模型的真实观测值上进行攻击,会对模型的预测精度产生多大的影响?
- 防御策略 :什么样的防御策略可以减轻攻击对模型的影响,并提高模型的预测精度?
- 攻击和防御的平衡 :在防御策略和攻击之间的平衡是什么?什么是最有效的防御策略?
最近该工作被深度学习领域顶级会议 ICLR 2023 收录。那么,具体方法是什么样?本文将为大家简要介绍。
论文地址 :https://openreview.net/forum?id=ctmLBs8lITa
论文源码: https://github.com/awslabs/gluonts
模型攻击
模型攻击是指对模型进行修改,以破坏模型的预测能力,从而使模型无法准确预测未来的数据。常见的模型攻击包括:
- 模型的输入数据 :攻击者可能会对模型的输入数据进行修改,例如通过添加噪声、改变数据类型或删除数据点等,从而破坏模型的预测能力。
- 模型的结构 :攻击者可能会对模型的结构进行修改,例如通过添加模块、删除模块或修改模块的参数,从而破坏模型的预测能力。
- 模型的超参数 :攻击者可能会对模型的超参数进行修改,例如改变学习率、激活函数或使用不同的优化算法等,从而破坏模型的预测能力。
- 模型的训练数据 :攻击者可能会对模型的训练数据进行修改,例如通过添加噪声、改变数据类型或删除数据点等,从而破坏模型的预测能力。
这些攻击可能会对模型的预测能力产生很大的影响,因此,在模型中,防御措施非常重要,例如使用数据增强、添加正则项、使用不同的优化算法等。
如上图所示,攻击者通过间接地误导时间序列 TS1 生成预测攻击 TS5。可以看到攻击使得预测发生了不利的更改。具体来说,如果攻击者能够生成足够多的有效攻击样本,那么攻击者就能够通过生成的样本来对模型进行欺骗,从而破坏模型的预测能力,导致模型预测的精度下降。
然而,攻击的影响通常是暂时的,并且取决于攻击者的能力和攻击类型。如果攻击者无法生成足够多的有效攻击样本,或者攻击类型的样本不够具有代表性,那么对模型的预测精度的影响通常会较小。
另外,在实际应用中,对序模型的攻击通常是通过对模型的参数的修改来实现的。攻击者可能会通过修改模型参数、调整超参数等手段来影响模型的预测能力。因此,在实际应用中,对模型的攻击测试和防御测试非常重要,以确保模型在受到攻击时能够保持良好的预测能力。
模型防御
防御策略是指在模型受到攻击时,采取的一系列措施,以保护模型的预测能力,常见的防御策略包括:
- 模型的异常检测:通过检测系统,以检测模型是否受到攻击。
- 模型的数据增强:通过对模型的输入数据进行增强,增加模型的鲁棒性。
- 模型的正则化:通过对模型的超参数进行正则化,降低模型的方差,从而提高模型的预测能力。
- 模型的迁移学习:通过将模型的参数和知识迁移到其他模型上,来提高模型的预测能力。
- 模型的一阶矩估计:通过对模型的输出数据进行一阶矩估计,来提高模型的预测能力。
- 模型的特征选择:通过对模型的特征进行选择,来提高模型的预测能力。
研究者们针对深度学习模型,提出的模型防御策略是使用随机化(randomization)和基于对抗梯度训练的防御策略(gradient-based defense strategy)来应对这种 对抗攻击 。如下图伪代码所示:
防御策略基于两个主要思想: 随机化 和 对抗梯度优化 。
首先,为了减轻攻击对模型的影响,作者使用随机化技术来重新分布攻击的概率分布。具体来说,作者对每个样本所属的类别进行随机化,然后使用新的概率分布来表示攻击后每个样本的概率。这样,模型的防御策略变得更加鲁棒,因为攻击的影响被分散到了多个样本上,从而降低了每个样本受到攻击的概率。
其次,为了提高模型的防御能力,作者使用基于对抗梯度的防御策略来优化防御参数。具体来说,作者对每个样本,使用基于梯度的损失函数:
来计算样本到目标和实际目标之间的差距,然后使用梯度下降算法更新模型参数,以最小化损失函数。通过这种方式,模型能够通过参数的优化来提高防御能力,从而更好地应对复杂的攻击。
实验研究
该论文的实验分为两部分:
- 梯度爆炸情况下,使用基于梯度的防御策略进行防御,比较不同梯度爆炸对模型性能的影响。
- 使用随机化方法,对梯度分布进行随机化处理,评估随机化对模型性能的影响。