链接: https://arxiv.org/abs/1911.12287v1
项目地址: https://github.com/giannisdaras/ylg
解读: https://www.leiphone.com/news/201912/FBZsLSCZSgyD5fIq.html
相关的工作
SAGAN [26] 是一个添加了自注意力的 GAN, SAGAN 中的注意力层是密集的, 它有一些缺点, 首先是计算复杂度非常大, 其次密集注意力层需要大量的样本来进行训练.
改进
为了解决密集注意力层 (Dense attention) 的计算问题, 本文提出一种稀疏的注意力层. 它利用 attention heads [25] 并将注意力特征图稀疏化, 从而既能够并行运算, 加快运算速度, 同时利用全信息有向图生成的稀疏注意力特征图, 能够保留密集注意力层所需的特征.
在 SAGAN 中, 注意力图的计算为
X
′
=
σ
(
X
Q
⋅
Y
K
T
)
⋅
Y
V
.
X^{\prime}=\sigma\left(X_{Q} \cdot Y_{K}^{T}\right) \cdot Y_{V}.
X′=σ(XQ⋅YKT)⋅YV.
其中
X
K
=
X
⋅
W
K
Y
Q
=
X
⋅
W
Q
Y
V
=
X
⋅
W
V
\begin{aligned} X_{K}=X \cdot W_{K} \\ Y_{Q}=X \cdot W_{Q} \\ Y_{V}=X \cdot W_{V} \\ \end{aligned}
XK=X⋅WKYQ=X⋅WQYV=X⋅WV
稀疏化注意力层.
记
A
X
,
Y
=
X
Q
⋅
Y
K
T
,
∈
R
N
X
×
N
Y
A_{X, Y}=X_{Q} \cdot Y_{K}^{T}, \in \mathbb{R}^{N_{X} \times N_{Y}}
AX,Y=XQ⋅YKT,∈RNX×NY, 由
A
X
,
Y
A_{X,Y}
AX,Y 计算注意力层是耗时的. 为了解决这个问题, 本文将
A
X
,
Y
A_{X,Y}
AX,Y 稀疏化, 并将注意力层分成多个部分, 即注意力头[25]. 稀疏化通过掩码矩阵
M
i
∈
{
0
,
1
}
N
X
×
N
Y
M_{i} \in\{0,1\}^{N_{X} \times N_{Y}}
Mi∈{0,1}NX×NY 进行的. 经过步数
i
i
i 处理后, 得到稀疏化的矩阵
A
X
,
Y
i
A^i_{X,Y}
AX,Yi 定义为
A
X
,
Y
i
[
a
,
b
]
=
{
A
X
,
Y
[
a
,
b
]
,
M
i
[
a
,
b
]
=
1
−
∞
,
M
i
[
a
,
b
]
=
0
A_{X, Y}^{i}[a, b]=\left\{\begin{array}{l} A_{X, Y}[a, b], \quad M^{i}[a, b]=1 \\ -\infty, \quad \quad \quad M^{i}[a, b]=0 \\ \end{array}\right.
AX,Yi[a,b]={AX,Y[a,b],Mi[a,b]=1−∞,Mi[a,b]=0
本文使用信息流图来生成
M
M
M.
参考
- [25] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention Is All You Need. arXiv e-prints, page arXiv:1706.03762, Jun 2017. 1, 2, 5
- [26] Han Zhang, Ian Goodfellow, Dimitris Metaxas, and Augustus Odena. Self-Attention Generative Adversarial Networks. arXiv e-prints, page arXiv:1805.08318, May 2018. 1, 2, 3, 8, 11
补充
自注意力机制: https://www.jiqizhixin.com/articles/100902
注意力机制能够捕获相距较远的两部分之间的联系.
自注意力机制的 GAN 首先在 Self-Attention Generative Adversarial Networks 中提出, 点击查看解读.
Big GAN 进一步发展了注意力机制.