嵌入式机器学习:硬件错误、对抗攻击与隐私泄露挑战
1. 引言
近年来,深度神经网络(DNNs)在设计和训练方面取得了重大突破,深度学习(DL)架构如今广泛应用于主流、工业和关键领域,如智能交通系统、自然语言处理、机器人技术和医疗保健等。这得益于超大规模集成电路(VLSI)技术的进步、高性能通信系统的发展以及物联网设备的普及。这些趋势促使不同嵌入式传感器和信息技术系统产生了大量数据,为训练精确的DNN模型提供了必要条件。
由于DNN计算密集的特性,深度模型通常部署在云数据中心或私有数据中心。然而,这种部署方式存在实际限制和缺点:
-
资源与功耗及环境影响
:该方案会产生相当大的开销。数据中心是能耗大户,预计约占全球用电量的1%,对环境影响较大。
-
通信方面
:需要通过无线和有线通信平台将传感器的原始数据发送到服务器。
为克服这些问题,一种更分布式的边缘机器学习计算范式应运而生,成为实现高效节能的近传感器智能系统的有前景的方案。尽管嵌入式和边缘机器学习在功耗与准确性之间提供了良好的权衡,并推动了机器学习模型向可持续、智能系统和城市发展,但仍有一些问题限制了机器学习的可信度。本文将重点关注机器学习可信度的三个方面:对错误的鲁棒性、安全性和隐私性。
2. 机器学习对错误的鲁棒性
在追求高性能设计的背景下,新一代硬件不断缩小晶体管尺寸,导致电路对外部事件的敏感性增加,从而影响其可靠性。现代嵌入式系统中错误的发生主要有两种情况:
-
蓄意故障注入攻击
:如Rowhammer攻击。卷积神经网络(CNNs)的广泛应用催生了复杂的攻击手段,恶意用户可能故意篡改模型参数。
-
可靠性相关事件
:如内存中的单事件翻转(SEU)或组合电路中的单事件瞬态(SET)等软错误,通常由高能粒子撞击电子设备引起。
这些错误会在神经网络中传播,导致准确性下降,甚至可能引发全局系统故障,在某些情况下还会涉及安全和隐私问题。
2.1 方法论
在大多数嵌入式机器学习加速器中,模型参数存储在板载内存中。内存损坏具有持续性和累积性,直到训练并实现新模型才会消除。为了模拟模型在这种威胁下的行为,我们在运行时(推理阶段)向模型的随机参数中注入一定数量的位翻转,模拟内存损坏。然后,针对不同的错误率和位置评估模型的鲁棒性。
我们考虑两种数据表示方式:
-
IEEE - 754单精度32位浮点数
:这是实数的标准表示格式,在CPU和GPU架构中占主导地位。在本文中简称为F。它由符号位、指数位和小数位三部分组成,其规范化格式为:
[val = (-1)^{sign} \times 2^{exp - bias} \times (1.fraction)]
-
定点表示
:使用位宽和小数长度两个参数,负小数长度可用于表示2的幂。在本文中简称为Q。
为评估模型对故障的鲁棒性,我们创建了一个故障注入框架,以训练好的网络作为输入。在推理测试时,以可调的注入率向网络权重中注入位翻转。每次测试后,报告故障注入下的整体准确性。为保证实验的统计代表性,这些测试重复100次。每次运行时,引擎生成一组新的错误并进行注入,最后报告准确性分布,包括平均准确性、最大值、最小值和标准差。
2.2 结果
我们比较了单精度浮点权重和量化权重在不同网络分类准确性方面的表现。结果以top - 1准确性的均值和标准差呈现。
通过比较浮点表示和量化表示,发现量化模型对故障注入的鲁棒性明显高于全精度模型。这一现象在4种不同的CNN模型和不同的故障注入率下均得到了验证。原因在于注入错误后的误差距离,例如,7位小数和1位整数的Q表示与原始值的差异最多为±1,而全精度表示在激活时的误差距离可达(3 \times 10^{38})。因此,由于浮点数字比定点表示对翻转更敏感,量化网络在抗错误方面表现更优,同时还能节省面积和功耗。
3. 机器学习安全性
机器学习系统已广泛应用于各种领域,包括对安全敏感和关键的应用。然而,机器学习模型容易受到多种安全威胁,其中对抗样本是一种精心设计的附加噪声,旨在欺骗机器学习模型。
3.1 对抗攻击
对抗样本是攻击者精心设计的对输入的附加扰动,旨在欺骗模型并使其输出错误标签。如果攻击者成功操纵机器学习分类器的决策,可能会破坏系统的安全性和完整性,在某些应用(如自动驾驶汽车)中甚至会威胁到人们的安全。例如,在停车标志上添加对抗噪声,可能导致自动驾驶汽车将其误分类为限速标志,从而引发事故。实际上,对抗样本在现实环境中也被证明是有效的,即使打印出来的对抗性图像在不同光照条件和方向下也能欺骗分类器。因此,理解和缓解这些攻击对于开发安全可靠的智能系统至关重要。
根据攻击者的知识,攻击DNN模型主要有两种场景:
-
黑盒攻击
:攻击者对目标模型的架构和参数只有部分或完全没有访问权限。攻击者通过查询目标模型的结果来逆向工程分类器,并创建一个替代模型来生成对抗样本。
-
白盒攻击
:攻击者了解目标模型的训练数据、架构和参数。主要的白盒对抗攻击包括快速梯度符号法(FGSM)、投影梯度下降法(PGD)和Carlini & Wagner(C&W)攻击。
攻击者的意图可分为无目标攻击和有目标攻击。无目标攻击旨在使目标模型错误分类源图像,而不针对特定输出;有目标攻击则旨在使模型将图像分类为指定的错误目标类别。
攻击者在生成扰动时,会在最小化扰动幅度以避免被检测的约束下,利用对分类器的了解来导致错误分类。以用于图像分类的CNN为例,生成对抗样本的问题可以表述为一个约束优化问题:
[x^{
} = \arg \min_{x^{
}} D(x, x^{
}), \text{s.t. } f(x^{
}) = l^{
}, l \neq l^{
}]
其中,(D)是用于量化两个图像相似度的距离度量,目标是最小化添加的噪声,通常是为了避免检测到对抗性扰动。
常用的距离度量有(L_0)、(L_2)和(L_{\infty}),它们是(L_p)范数的特殊情况:
[|x|
p = (\sum
{i = 1}^{n} |x_i|^p)^{\frac{1}{p}}]
这些度量关注图像视觉显著性的不同方面,例如,(L_0)评估两个输入中对应位置像素值不同的数量,(L_2)是两个图像的欧几里得距离,(L_{\infty})是两个图像对应位置像素的最大差异。
生成对抗样本的常见方法有:
-
快速梯度符号法(FGSM)
:这是一种基于梯度的单步攻击方法。通过计算输入上损失梯度符号方向的一步梯度更新来生成对抗样本:
[x_{adv} = x + \epsilon \text{sign}(\nabla_x J_{\theta}(x, y))]
其中,(\nabla J)是损失函数(J)的梯度,(\theta)是模型参数,(\epsilon)是扰动幅度预算。
-
投影梯度下降法(PGD)
:是FGSM的迭代变体,自适应地生成对抗噪声:
[x_{adv}^{t + 1} = P_{S_x}(x_{adv}^{t} + \alpha \cdot \text{sign}(\nabla_x L_{\theta}(x_{adv}^{t}, y)))]
其中,(P_{S_x})是将输入投影到可行区域(S_x)的投影算子,(\alpha)是每次迭代添加的噪声。PGD在保持扰动大小低于预算的同时,找到使模型在特定输入上损失最大化的扰动。
-
Carlini & Wagner(C&W)攻击
:根据使用的距离度量有3种变体。通过解决以下优化问题生成对抗样本:
[\min_{\delta} |\delta|
2 + c \cdot l(x + \delta), \text{s.t. } x + \delta \in [0, 1]^n]
其中,(|\delta|_2)是迫使模型错误分类的最小噪声,(l(\cdot))是损失函数:
[l(x) = \max(\max
{i \neq t} {Z(x)
i} - Z(x)_t - \kappa)]
其中,(Z(x))是softmax层之前的输出(logits),(t)是目标标签,(\kappa)是攻击置信度。当(\max
{i \neq t} {Z(x)_i} - Z(x)_t \leq 0)时,对抗样本被认为是成功的。
3.1.1 对抗攻击的防御方法
为保护机器学习模型免受对抗攻击,文献中提出了多种防御技术:
-
对抗训练(AT)
:将对抗噪声融入训练过程,是一种高效的防御方法。其公式为:
[\min_{\theta} E_{(x, y) \sim D} [\max_{\delta \in B(x, \epsilon)} L_{ce}(\theta, x + \delta, y)]]
其中,(\theta)是分类器的参数,(L_{ce})是交叉熵损失,((x, y) \sim D)表示从分布(D)中采样的训练数据,(B(x, \epsilon))是允许的扰动集合。但AT的缺点是与基线训练过程相比,计算强度显著增加,因为公式中的嵌套优化问题需要迭代求解。
-
输入预处理(IP)
:通过对输入进行变换来去除对抗扰动,如平均、中值和高斯低通滤波以及JPEG压缩。然而,这些防御方法容易受到白盒攻击,因为攻击者可以在噪声生成过程中考虑预处理函数。此外,预处理需要计算开销,不适合资源受限的嵌入式系统。
-
梯度掩码(GM)
:利用正则化使模型输出对输入扰动不那么敏感,如防御性蒸馏。但该方法容易受到C&W攻击,且需要重新训练模型,导致时间和能量开销增加。
-
基于随机化的防御
:利用随机性保护系统免受对抗噪声影响。例如,在DNN的第一层添加随机噪声,并通过蒙特卡罗模拟估计输出。但估计模型输出需要大量的在线模型推理运行,在资源受限的情况下难以实现。
这些防御策略要么需要改变DNN结构、修改训练过程,要么仅针对已知的对抗威胁重新训练模型,会导致时间、资源利用和能量消耗方面的大量开销。后续将介绍考虑这些因素的嵌入式系统友好型防御策略。
总结
本文分析了嵌入式机器学习面临的硬件错误、对抗攻击和隐私泄露挑战。在错误鲁棒性方面,量化模型表现出更好的抗错误能力;在安全性方面,介绍了对抗攻击的类型、生成方法和相应的防御策略,但现有防御策略存在计算开销大的问题。未来需要进一步研究和开发更高效、适合嵌入式系统的防御方法,以提高机器学习的可信度和安全性。
流程图
graph TD
A[开始] --> B[选择数据表示方式]
B --> C{是否为IEEE - 754单精度32位浮点数}
C -- 是 --> D[按F格式处理]
C -- 否 --> E[按Q格式处理]
D --> F[注入位翻转模拟内存损坏]
E --> F
F --> G[评估模型鲁棒性]
G --> H[报告准确性分布]
H --> I[结束]
表格
| 攻击类型 | 攻击者知识 | 特点 |
|---|---|---|
| 黑盒攻击 | 部分或无访问目标模型架构和参数 | 通过查询目标逆向工程分类器生成对抗样本 |
| 白盒攻击 | 了解目标模型训练数据、架构和参数 | 包括FGSM、PGD、C&W等攻击方法 |
列表
- 嵌入式机器学习面临硬件错误、对抗攻击和隐私泄露挑战。
- 错误鲁棒性方面,量化模型优于全精度模型。
- 对抗攻击有黑盒和白盒两种场景,生成方法多样。
- 现有防御策略存在计算开销大的问题。
嵌入式机器学习:硬件错误、对抗攻击与隐私泄露挑战
4. 嵌入式系统友好型防御策略
为了克服传统防御策略在嵌入式系统中存在的高开销问题,我们需要探索更适合嵌入式系统的防御方法。以下是几种嵌入式系统友好型防御策略:
4.1 轻量级对抗训练
传统的对抗训练(AT)计算量过大,不适合资源受限的嵌入式系统。轻量级对抗训练通过减少对抗样本的生成数量和复杂度,降低计算开销。例如,可以选择部分关键的训练样本进行对抗训练,而不是对所有样本都进行处理。
操作步骤如下:
1.
样本筛选
:根据样本的重要性或敏感性,选择一部分训练样本作为对抗训练的目标。
2.
对抗样本生成
:使用简化的对抗样本生成方法,如降低扰动幅度或减少迭代次数,为筛选出的样本生成对抗样本。
3.
训练过程
:将生成的对抗样本与原始样本混合,进行模型训练。
4.2 自适应输入预处理
自适应输入预处理可以根据输入数据的特征和当前的攻击情况,动态调整预处理方法。这样可以在保证防御效果的同时,减少不必要的计算开销。
操作步骤如下:
1.
特征分析
:对输入数据进行特征分析,判断是否存在潜在的对抗攻击。
2.
方法选择
:根据特征分析的结果,选择合适的预处理方法,如只对可能受到攻击的数据进行处理。
3.
动态调整
:在训练或推理过程中,根据攻击情况的变化,动态调整预处理方法。
4.3 模型压缩与优化
通过对模型进行压缩和优化,可以减少模型的参数数量和计算复杂度,从而降低防御成本。常见的模型压缩方法包括剪枝、量化和知识蒸馏。
操作步骤如下:
1.
剪枝
:去除模型中不重要的连接或神经元,减少模型的参数数量。
2.
量化
:将模型参数从高精度表示转换为低精度表示,降低计算和存储需求。
3.
知识蒸馏
:使用一个较小的模型(学生模型)学习一个较大模型(教师模型)的知识,提高小模型的性能。
5. 隐私保护
在嵌入式机器学习中,隐私保护也是一个重要的问题。由于数据通常在传感器和服务器之间传输和处理,可能会导致用户隐私泄露。以下是几种常见的隐私保护方法:
5.1 差分隐私
差分隐私通过在数据中添加噪声,使得单个数据记录的存在或缺失不会对查询结果产生显著影响,从而保护用户隐私。
操作步骤如下:
1.
噪声添加
:在数据收集或处理过程中,向数据中添加适当的噪声。
2.
参数调整
:根据隐私保护的需求和数据的特点,调整噪声的幅度和分布。
3.
查询处理
:在进行查询时,考虑噪声的影响,确保查询结果的准确性。
5.2 同态加密
同态加密允许在加密数据上进行计算,而无需解密数据。这样可以在保护数据隐私的同时,进行机器学习模型的训练和推理。
操作步骤如下:
1.
加密数据
:使用同态加密算法对原始数据进行加密。
2.
计算过程
:在加密数据上进行机器学习计算,如模型训练和推理。
3.
解密结果
:在计算完成后,对结果进行解密。
5.3 联邦学习
联邦学习允许在多个设备上进行分布式训练,而无需将原始数据集中到一个服务器上。每个设备在本地训练模型,并将模型更新发送到服务器进行聚合,从而保护用户数据的隐私。
操作步骤如下:
1.
本地训练
:每个设备在本地使用自己的数据训练模型。
2.
模型更新
:设备将本地模型的更新发送到服务器。
3.
模型聚合
:服务器对所有设备的模型更新进行聚合,得到全局模型。
4.
模型分发
:服务器将更新后的全局模型分发给各个设备。
6. 总结与展望
嵌入式机器学习在硬件错误、对抗攻击和隐私泄露方面面临着诸多挑战。通过对模型错误鲁棒性的研究,我们发现量化模型在抗错误方面具有优势;在对抗攻击防御方面,虽然传统方法存在计算开销大的问题,但嵌入式系统友好型防御策略为解决这一问题提供了思路;在隐私保护方面,差分隐私、同态加密和联邦学习等方法可以有效保护用户数据的隐私。
未来,我们需要进一步研究和开发更高效、更安全的嵌入式机器学习技术。例如,探索新的模型架构和算法,提高模型的鲁棒性和安全性;优化防御策略,降低计算开销;加强隐私保护技术的研究,确保用户数据的安全。同时,随着物联网和边缘计算的发展,嵌入式机器学习将在更多领域得到应用,我们需要不断适应新的挑战和需求,推动嵌入式机器学习技术的发展。
流程图
graph TD
A[开始] --> B[选择嵌入式系统友好型防御策略]
B --> C{是否为轻量级对抗训练}
C -- 是 --> D[样本筛选]
C -- 否 --> E{是否为自适应输入预处理}
E -- 是 --> F[特征分析]
E -- 否 --> G[模型压缩与优化]
D --> H[对抗样本生成]
F --> I[方法选择]
H --> J[训练过程]
I --> K[动态调整]
G --> L[剪枝]
G --> M[量化]
G --> N[知识蒸馏]
J --> O[结束]
K --> O
L --> O
M --> O
N --> O
表格
| 隐私保护方法 | 特点 | 操作步骤 |
|---|---|---|
| 差分隐私 | 通过添加噪声保护隐私 | 噪声添加、参数调整、查询处理 |
| 同态加密 | 在加密数据上进行计算 | 加密数据、计算过程、解密结果 |
| 联邦学习 | 分布式训练保护隐私 | 本地训练、模型更新、模型聚合、模型分发 |
列表
- 嵌入式系统友好型防御策略包括轻量级对抗训练、自适应输入预处理和模型压缩与优化。
- 隐私保护方法有差分隐私、同态加密和联邦学习。
- 未来需要进一步研究和开发更高效、更安全的嵌入式机器学习技术。
超级会员免费看

1278

被折叠的 条评论
为什么被折叠?



