小样本学习&元学习经典论文整理||持续更新
核心思想
本文提出一种基于数据增强的小样本学习算法,利用一个自动编码器(Auto-Encoder,AE)用于寻找同类别不同样本之间的变形(deformations,本文称其为
Δ
\Delta
Δ),然后在利用其为其他的类别样本生成新样本,最后利用扩充后的数据集训练分类器。
普通的自动编码器AE,是通过最小化重构信号
X
^
\hat{X}
X^和原始信号
X
X
X之间的差异
∥
X
^
−
X
∥
1
\left \| \hat{X}-X\right \|_1
∥∥∥X^−X∥∥∥1,来学习如何重构信号的。其中
X
^
=
D
(
E
(
X
)
)
\hat{X}=D(E(X))
X^=D(E(X)),
D
D
D表示解码器,
E
E
E表示编码器。通常编码器
E
E
E会把原始信号压缩到一个低维空间中得到
E
(
X
)
E(X)
E(X),其表示了
X
X
X中最关键的信息,利用其就可以重构得到非常接近原始信号的重构信号
X
^
\hat{X}
X^。但本文是利用AE来提取同一类别的两个样本之间的变形信息,进而利用这一信息来合成新的样本,处理过程如下图所示。
训练时,将训练集中同一类别的两个样本
X
S
X^S
XS和
Y
S
Y^S
YS输入到编码器
E
E
E中,得到变形信息
Z
=
E
(
X
S
,
Y
S
)
Z=E(X^S,Y^S)
Z=E(XS,YS),然后再将
Z
Z
Z和样本
Y
S
Y^S
YS一起输入到解码器
D
D
D中,用于重构得到
X
^
S
\hat{X}^S
X^S。利用重构损失就可以对AE进行训练了。在测试时,利用训练好的编码器
E
E
E得到训练集中同一类别的两个样本之间的变形信息
Z
=
E
(
X
S
,
Y
S
)
Z=E(X^S,Y^S)
Z=E(XS,YS),而在解码时,则是输入一个新的类别中的样本
Y
u
Y^u
Yu,利用变形信息
Z
Z
Z和样本
Y
u
Y^u
Yu重构得到新的样本
X
^
u
\hat{X}^u
X^u。对于每个类别都重构得到1024个新的合成样本,最后再利用扩充后的数据集去训练一个线性分类器。
实现过程
网络结构
样本在经过AE之前,要通过一个特征提取网络将其转化为特征向量,特征提取网络采用ResNet-18或VGG-16结构。编码器和解码器均采用MLP结构。
创新点
- 利用自动编码器获取同类别两个样本之间的变形信息,并利用其对新类别的样本进行扩充,从而起到数据增强的效果
算法评价
这篇文章的思路是与《Low-shot Visual Recognition by Shrinking and Hallucinating Features》一样,都是学习两个样本之间的变形信息,然后用这个信息去扩充其他类别的样本,这个是基于不同类别样本之间的变形信息是具备可迁移能力的假设之上的,不然学习到的变形信息可能不能有效的扩充其他类别的样本。文中在提到合成新样本时,使用sample这个词,而不用synthesize这个词,我还是感觉有些困惑的。
如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。