概
通过data augments来对数据进行扩充, 可以有效提高网络的泛化性.
但是这些transformers通常只有一些旋转, 剪切等较为简单的变换, 想要施加更为复杂的语义不变变换(如切换背景), 可能就需要GAN等引入额外的网络来进行.
本文提出的ISDA算法是基于特征的变化进行的, 技能进行语义层面的变换, 又没有GAN等方法的计算昂贵的缺点.
主要内容
作者认为, 在最后的特征层, 通过增加一定的平移对应不同的语义上的变换.
但是, 作者也指明了, 并非所有的方向都是一个有意义的方向, 比如这个方向可能是戴上眼镜, 这个方向对于人来说是有意义的, 但是对于汽车飞机就没有意义了.
所以我们需要从一个有意义的分布中采样, 作者假设该分布是一个零均值的正态分布, 即
N
(
0
,
Σ
)
.
\mathcal{N}(0, \Sigma).
N(0,Σ).
于是乎, 现在的问题就是如何选择这个协方差矩阵
Σ
\Sigma
Σ.
就像之前讲的, 有些方向是否有意义与类别有关系, 所以不同的类别的样本会从不同的正态分布
N
(
0
,
Σ
i
)
,
\mathcal{N}(0, \Sigma_i),
N(0,Σi),
中采样.
对于每一个协方差矩阵, 作者采用online的更新方式更新:
上图是式子就是普通的协方差估计式子
1
n
∑
i
=
1
n
(
x
i
−
μ
)
(
x
i
−
μ
)
T
,
\frac{1}{n}\sum_{i=1}^n (x_i-\mu)(x_i - \mu)^T,
n1i=1∑n(xi−μ)(xi−μ)T,
的online更新版本.
如果假设样本
x
x
x经过encoder之后的特征为
a
a
a, 则其变换后的版本
a
′
∼
N
(
a
,
Σ
y
)
,
a' \sim \mathcal{N}(a, \Sigma_y),
a′∼N(a,Σy),
其中
y
y
y为
x
x
x的类别标签. 于是一般的对应的损失函数即为
L
M
(
M
,
b
,
Θ
)
=
1
N
∑
i
=
1
N
1
M
∑
m
=
1
M
−
log
(
e
w
y
i
T
a
i
m
+
b
y
i
∑
j
=
1
C
e
w
j
T
a
i
m
+
b
j
)
,
\mathcal{L}_{M}(M, b, \Theta) = \frac{1}{N}\sum_{i=1}^N\frac{1}{M}\sum_{m=1}^M - \log (\frac{e^{w_{y_i}^Ta_i^m+b_{y_i}}}{\sum_{j=1}^Ce^{w_{j}^Ta_i^m+b_{j}}}),
LM(M,b,Θ)=N1i=1∑NM1m=1∑M−log(∑j=1CewjTaim+bjewyiTaim+byi),
当我们令
M
M
M趋于无穷大的时候,
L
M
(
M
,
b
,
Θ
)
=
1
N
∑
i
=
1
N
E
a
i
−
log
(
e
w
y
i
T
a
i
+
b
y
i
∑
j
=
1
C
e
w
j
T
a
i
+
b
j
)
.
\mathcal{L}_{M}(M, b, \Theta) = \frac{1}{N}\sum_{i=1}^N\mathbb{E}_{a_i}- \log (\frac{e^{w_{y_i}^Ta_i+b_{y_i}}}{\sum_{j=1}^Ce^{w_{j}^Ta_i+b_{j}}}).
LM(M,b,Θ)=N1i=1∑NEai−log(∑j=1CewjTai+bjewyiTai+byi).
这个式子没有显示解, 故作者退而求其次, 最小化其上界.
这个证明不难, 这里就练习一下
E
[
e
t
X
]
=
e
t
μ
+
1
2
σ
2
t
2
,
X
∼
N
(
μ
,
σ
2
)
.
\mathbb{E}[e^{tX}]=e^{t\mu + \frac{1}{2}\sigma^2t^2}, \quad X \sim \mathcal{N}(\mu, \sigma^2).
E[etX]=etμ+21σ2t2,X∼N(μ,σ2).
既然
E
[
e
t
X
]
=
e
(
t
σ
2
+
μ
)
2
−
μ
2
2
σ
2
.
\mathbb{E}[e^{tX}] = e^{\frac{(t\sigma^2+\mu)^2-\mu^2}{2\sigma^2}}.
E[etX]=e2σ2(tσ2+μ)2−μ2.