- 来源:2024 arXiv(submitted TDSC,CCF-A)
- 作者:Chenqi Kong1, Anwei Luo2, Peijun Bao1, Yi Yu1, Haoliang Li3, Zengwei Zheng4, Shiqi Wang3 and Alex C. Kot1
- 单位:1 新加坡南洋理工大学; 2 中山大学; 3 香港城市大学; 4 浙江大学;
- Paper:https://arxiv.org/pdf/2404.08452
- Code: https://github.com/LoveSiameseCat/MoE-FFD
目录
研究背景
- Deepfakes最近在公众中引发了重大的信任问题和安全问题。与CNN人脸伪造检测器相比,基于ViT的方法利用了Transformers的表现力,实现了卓越的检测性能。然而,这些方法仍然表现出以下局限性:
(1)从ImageNet权重完全微调基于ViT的模型需要大量的计算和存储资源;
(2)基于ViT的方法难以捕捉局部伪造线索,导致模型偏差;
(3)这些方法将其范围限制在一种或少数人脸伪造特征上,导致泛化性较弱。
- 为了应对这些挑战,这项工作引入了用于人脸伪造检测的混合专家模块(MoE-FFD),这是一种通用但参数高效的基于ViT的方法。
(1)MoE-FFD 保持 ViT 骨干网络模型参数冻结,仅更新轻量级低秩适应 (LoRA) 和适配器层,从而实现参数高效训练。
(2)MoE-FFD利用转换器的表现力和CNN的局部先验,同时提取全局和局部伪造线索。
(3)新颖的MoE模块旨在扩展模型的容量,并动态选择最佳的伪造检测专家,进一步提高网络模型性能。(即使用固定激活参数缩放模型的容量)
(4)提出的学习方案可以以即插即用的方式无缝适配到各种Transformer网络模型。
- 大量的实验结果表明,所提方法在显著降低参数开销的情况下,实现了最先进的人脸伪造检测性能。
方法流程
网络结构
与Vision相比,将原有的Layer Norm替换成了MoE LoRA Layer和 MoE Adapter Layer
MoE LoRA Layer
LoRA模块具有不同的秩,它们将输入的token投影到不同的特征空间中。然而,在不受控制的部署环境中,手动预定义不同测试人脸的理想秩是具有挑战性的。
为了应对这一挑战,我们设计了一个 MoE LoRA Layer,该层为每个输入查询学习最佳 LoRA 专家。如图所示,每个 LoRA 专家
E
L
(
⋅
)
i
E_L(·)_i
EL(⋅)i 指定一个秩
r
i
r_i
ri。在这项工作中,我们设计了一种门控机制
G
L
(
⋅
)
G_L(·)
GL(⋅) 来动态选择 Top-k 专家(默认值:k=1)。因此,输出的token可以通过以下方式计算:
x
o
u
t
=
W
q
/
k
/
v
x
i
n
+
∑
i
n
G
L
(
x
i
n
)
i
E
l
(
x
i
n
)
i
E
l
(
x
i
n
)
i
=
x
i
n
W
i
d
o
w
n
W
i
u
p
x_{out} = W_{q/k/v}x_{in}+\sum_{i}^{n}{G_L(x_{in})_iE_l(x_{in})_i} \\ E_l(x_{in})_i = x_{in}W_i^{down}W_i^{up}
xout=Wq/k/vxin+i∑nGL(xin)iEl(xin)iEl(xin)i=xinWidownWiup
其中,
W
i
d
o
w
n
W_i^{down}
Widown 和
W
i
u
p
W_i^{up}
Wiup是两个可训练矩阵
MoE Adapter Layer
先前的研究已经证明了使用局部差异卷积捕捉面部伪造线索的有效性。然而,这些基于CNN的方法只限于一个特定的伪造特征。在我们的研究中,我们引入了MoE适配器层,集成到ViT骨干中。这种设计旨在扩展模型容量,并促进动态选择合适的伪造适配器专家。此外,设计的MoE适配器层动态地将局部伪造先验注入到普通的ViT骨干中。
x
o
u
t
=
M
L
P
(
x
i
n
)
+
∑
j
M
G
A
(
x
i
n
)
j
E
A
(
x
i
n
)
j
E
A
(
x
i
n
)
j
=
C
o
n
v
1
×
1
u
p
(
C
o
n
v
3
×
3
j
(
C
o
n
v
1
×
1
u
p
(
x
i
n
)
)
)
x_{out} = MLP(x_{in})+\sum_{j}^{M}{G_A(x_{in})_jE_A(x_{in})_j} \\ E_A(x_{in})_j = Conv_{1×1}^{up}(Conv_{3×3}^{j}(Conv_{1×1}^{up}(x_{in})))
xout=MLP(xin)+j∑MGA(xin)jEA(xin)jEA(xin)j=Conv1×1up(Conv3×3j(Conv1×1up(xin)))
其中,
C
o
n
v
1
×
1
u
p
Conv_{1×1}^{up}
Conv1×1up和
C
o
n
v
1
×
1
u
p
Conv_{1×1}^{up}
Conv1×1up 是两个 1×1 的卷积层,它们分别对通道进行下采样和上采样。
C
o
n
v
3
×
3
j
Conv_{3×3}^{j}
Conv3×3j指的是不同专家中特定的 3×3 卷积层,具体如下:
Gating Network
采用Top-k噪声门控作为门控机构。设gating scores G ( x ) ∈ R N e G(x) \in R^{N_e} G(x)∈RNe,由值 H ( x ) ∈ R N e H(x) \in R^{N_e} H(x)∈RNe确定,其中 N e N_e Ne 表示专家数。对于给定的输入 x ∈ R N t × d i m x \in R^{N_t ×dim} x∈RNt×dim,首先应用平均池化并将其调整为 x m ∈ R d i m x_m \in R^{dim} xm∈Rdim。然后,我们通过以下公式计算 H ( x ) H(x) H(x):
H
(
x
)
=
x
m
⊗
W
g
a
t
e
+
S
t
a
n
d
a
r
d
N
o
r
m
a
l
(
)
(
S
o
f
t
p
l
u
s
(
x
m
⊗
W
n
o
i
s
e
)
)
G
(
x
)
=
S
o
f
t
m
a
x
(
T
o
p
k
(
H
(
x
)
,
k
)
)
H(x) = x_m \otimes W_{gate} + StandardNormal()(Softplus(x_m \otimes W_{noise})) \\ G(x) = Softmax(Topk(H(x), k))
H(x)=xm⊗Wgate+StandardNormal()(Softplus(xm⊗Wnoise))G(x)=Softmax(Topk(H(x),k))
其中,
W
g
a
t
e
W_{gate}
Wgate 和
W
n
o
i
s
e
W_{noise}
Wnoise是可训练参数,Softplus 是一个激活函数。为了防止门控网络收敛到为相同的少数专家产生大量权重的状态。我们进一步对每个门的批量平均值应用软约束。因此,对于给定的一批数据 X,MoE 损失
L
m
o
e
L_{moe}
Lmoe定义为:
L
m
o
e
=
C
V
(
I
m
p
o
r
t
a
n
c
e
(
X
)
)
2
I
m
p
o
r
t
a
n
c
e
(
X
)
=
∑
x
∈
X
G
(
x
)
C
V
(
I
m
p
o
r
t
a
n
c
e
(
X
)
)
=
M
e
a
n
[
I
m
p
o
r
t
a
n
c
e
(
X
)
]
S
t
d
[
I
m
p
o
r
t
a
n
c
e
(
X
)
]
L_{moe} = CV(Importance(X))^2 \\ Importance(X) = \sum_{x \in X}G(x) \\ CV(Importance(X)) = \frac{Mean[Importance(X)]}{Std[Importance(X)]}
Lmoe=CV(Importance(X))2Importance(X)=x∈X∑G(x)CV(Importance(X))=Std[Importance(X)]Mean[Importance(X)]
损失函数
L = L c e + λ L m o e L=L_{ce}+\lambda L_{moe} L=Lce+λLmoe
其中 L c e L_{ce} Lce 为 交叉熵损失,约束真伪标签。额外的 L m o e L_{moe} Lmoe 损失鼓励所有的专家都具有同等的重要性。
实验结果
跨数据集评估
交叉操纵方式评估
对现实世界扰动的鲁棒性评估
消融实验——各模块的有效性
消融实验——不同backbone的有效性
MoE Learning Scheme的影响
比较了所提出的MoE-FFD与不同级别的LoRA专家的跨数据集检测性能。
MoE v.s. Multi-Experts.
MoE loss 的有效性
可视化效果
知识扩展
Parameter Efficient Fine-Tuning(PEFT,参数高效微调)
PEFT方法来减少计算和存储开销。PEFT 仅更新一小部分模型参数,同时冻结大部分预训练权重。Adapter是一种典型的PEFT方法,包括下采样层和上采样层。低秩自适应(LoRA)层旨在更新两个低秩矩阵,显著减少可训练参数。
具体可参考:http://t.csdnimg.cn/7eA8m
LoRA:Low-Rank Adaptation(低秩适配)
对于一个预训练好的基座模型,保留其原有的权重矩阵W不变,仅微调训练更新部分,且这个更新权重矩阵被分解成A和B两个低秩矩阵。下图中A矩阵初始化为高斯分布矩阵,B矩阵初始化为0矩阵。
数学表达式:
其中,∆W = BA在初始时为0。
Mixture of Experts (MoE,混合专家)
MoE模型旨在在不增加计算费用的情况下增强模型的能力。MoE 由多个子专家组成,并结合了门控机制,以动态选择最相关的 Top-k 专家,从而优化结果。
具体可参考:http://t.csdnimg.cn/tUqLC