前缀和和差分
一维差分
举例
原始数据 a[]: 2 4 5 9 3
差分 p[]: 2 2 1 4 -6 -3
p[i] = a[i]-a[i-1]
如果a[2]~a[4]均加1
p[2] +1 , p[5]-1
差分 p[]: 2 2 2 4 -6 -2
原始数据 a[]: 2 4 6 10 4
a[i]=p[i]+a[i-1]
二维差分
举例
原始数据 a[]:
2 4 5
2 1 7
1 3 2
差分 p[]:
2 2 1
0 -3 5
-1 3 -7
p[i][j] = a[i][j] - a[i-1][j] - a[i][j-1] + a[i-1][j];
如果a[1][1] ~a[2][2] 均加1
p[x1][y1] += 1;
p[x2+1][y1] -= 1;
p[x1][y2+1] -= 1;
p[x2+1][y2+1] += 1;
差分 p[]:
3 2 0
0 -3 5
-2 3 -6
原始数据 a[]:
3 5 5
3 2 7
1 3 2
p[i][j] = p[i][j] + p[i-1][j] + p[i][j-1] - p[i-1][j-1];
论文
Dual-Mode Method for Generating Adversarial Examples to Attack Deep Neural Networks
生成对抗样本需要满足两个条件:
- 失真度最小
- 分类错误
双模式
mode1:考虑失真程度
mode0:不考虑失真程度,快速生成对抗样本
F
p
=
g
∗
l
o
s
s
D
(
x
,
x
∗
)
+
c
∗
l
o
s
s
A
(
x
∗
)
F_p = g * loss_D(x,x^*)+c*loss_A(x^*)
Fp=g∗lossD(x,x∗)+c∗lossA(x∗)
l
o
s
s
D
loss_D
lossD:是失真函数
l
o
s
s
A
loss_A
lossA:是攻击的损失函数
g
g
g:控制双模,0或1
c
c
c:相对权重,使用二分搜索,增加
c
c
c的值,使成功攻击率达到100%