本文主要是介绍论文阅读笔记《Generative Adversarial Residual Pairwise Networks for One Shot Learning 》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
小样本学习&元学习经典论文整理||持续更新
核心思想
本文提出一种基于度量学习的小样本学习算法(SRPN),作者提出了两个观点,一、使用可学习的神经网络用于距离计算效果优于固定的距离度量函数;二、损失函数上引入强力的正则化项能够有效的改善分类效果。针对第一个观点,作者提出了Skip Residual Pairwise Network (SRPN)用于取欧氏距离或余弦距离等固定的距离度量函数,网络的结构如下图所示
支持集样本 x t x_t xt和查询集样本 x x x首先经过一个ResNet构成的特征提取网络 f 1 f_1 f1得到对应的特征图 f 1 ( x t ) f_1(x_t) f1(xt)和 f 1 ( x ) f_1(x) f1(x),然后特征图进入一个由多个残差块构成的网络中,特别的是特征图通过跳跃连接的形式进行融合,而不是简单的进行级联或者相加,这样保证了两组特征图能够在中间环节充分融合。最后通过一个全局平均池化和全连接层输出查询集样本和支持集样本之间的相似程度。针对第二个观点,作者引入了GAN网络,利用生成器 G θ G_{\theta} Gθ损失和辨别器 D ϕ D_{\phi} Dϕ损失作为正则化项,来增强相似性匹配任务,网络的算法流程如下图所示
如图所示,生成器的作用是根据支持集样本 x t x_t xt生成一个假的查询集样本 x ~ \tilde{x} x~(为了方便区分我使用 x ~ \tilde{x} x~表示生成器输出的样本,上图中用的是 x x x),为了防止生成器直接复制支持集样本,因此对输入的支持集样本进行了随机的“破坏”(Corruption)。辨别器的输入由三个部分组成:经过变形(Transform)后的支持集样本 x t x_t xt,生成器输出的假查询集样本 x ~ \tilde{x} x~,和从真实数据集中采样得到的查询集样本 x ∼ p d a t a x\sim p_{data} x∼pdata。辨别器不仅要能够区分输入的样本是不是真正的查询集样本,如果是真的查询集样本,还要评估他与对应的支持集样本是否相似。生成器损失和判别器损失会作为正则化项,添加到分类损失之后。
实现过程
网络结构
特征提取器 f 1 f_1 f1的结构没有具体介绍,只是说采用了Residual Blocks;相似性度量采用了本文设计的SRPN网络,主要由带有跳跃连接的残差块构成;生成器是一个编码解码器结构,辨别器无具体介绍。
损失函数
在交叉熵分类损失函数之外,增加了生成器损失 L g e n \mathcal{L}_{gen} Lgen和分类器损失 L d i s \mathcal{L}_{dis} Ldis,计算公式如下
创新点
- 设计了SRPN网络,取代固定的距离度量函数,并通过跳跃连接实现了中间特征图的充分融合
- 引入了GAN网络,并将生成器损失和辨别器损失作为正则化项
算法评价
从时间上来看这篇文章似乎要早于Relation Network 提出了使用可学习的神经网络直接计算相似程度以取代固定的距离度量函数,但这篇文章并没有产生很大的影响力,似乎也没有被会议和期刊录用,我认为主要是因为文章的论述过于混乱。作者提出了两点改进SRPN和GR(Generative Regularization),并且两个网络似乎是并行进行处理的,也就是类似于一个多任务的网络。但作者并没有理清二者之间的关系,而且对于这两个改进的作用和目的,作者也只是泛泛而谈,缺少具体的逻辑推理过程。但从结果来看,本文与同期的其他算法相比,其效果的确是不错的。
如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。
这篇关于论文阅读笔记《Generative Adversarial Residual Pairwise Networks for One Shot Learning 》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!