Low-Shot Learning from Imaginary Data论文简要解读

    xiaoxiao2022-07-02  94

    Low-Shot Learning from Imaginary Data

    论文摘要论文要点end-to-end训练Learned HallucinationImplementation details最终效果疑问点

    论文摘要

    本文主要提出了通过生成模型生成虚拟数据来扩充样本的多样性,并结合当前比较先进的元学习方法,通过end-to-end 训练两生成模型和分类算法,从而实现更好的low-shot learning。

    论文要点

    end-to-end训练

    作者认为单纯通过生成模型生成的数据有可能会造成模型崩溃,又或者未必会对最终的分类目标起到好的作用。所以这里提出了通过将生成模型和分类模型看为整体,实现端到端的元学习训练优化,从而保障生成的虚拟图像会对分类任务本身是有用的。此外,本模型可以套用任何元学习模型,具有灵活性。且不需要单独对生成模型进行精准的设计从而将或者额外的标注属性等数据等。

    Learned Hallucination

    生成虚拟数据的原因:通过将图像共享的变化模型,如拍照姿态改变,光照改变,位置迁移等,迁移到新的样本上,从而生成具有不同变化的新样本图像,实现数据的扩充。生成公式: x n e w = G ( x , z ; w G ) xnew = G(x, z; wG) xnew=G(x,z;wG),其中z表示为输入噪声,x为seed样本,从而生成新的数据,然后与原有数据一起放入分类算法来优化h。meta-training时,将生成模型G和分类算法h看成整体实现元学习,采用后向传播的方式更新参数。meta-testing时,对训练数据同上操作,但此时生成模型的参数是固定的,这时只更新分类算法h的参数,最后对测试数据进行测试。

    Implementation details

    使用高分辨率图像,且涉及数百个类别在base class先训练出用于特征提取的CNN,然后把这些预先训练好的特征作为输入,再进行元学习。meta-learner的结果用了三种:prototypical networks(PN), matching networks (MN), and prototype matching networks (PMN)【作者提出的】生成器采用的是3层的MLP,ReLU为激活函数,并初始化权重为block diagonal identity matrices.

    最终效果

    加入生成的虚拟数据后,novel class上均有显著增长。在all classes上也同样,当提供类别在base class还是novel class的先验概率,并通过交叉验证来校正固有偏差时,增幅明显下降,说明虚拟数据在一定程度上与这种先验校正有着相似的效果,可以校正固有的偏差。 从t-SNE可视化可以看出,基于高斯噪声的数据扩充会倾向于远离分界线,相互之间集中。而基于本文中方式生成的虚拟数据更倾向于散落在分界线附近。原因可能在于生成模型所依据的是共享模型,包含的分类特性太少,所以生成数据之间具有极高的相似性。但也看得出生成的数据并不是只学到了一种模式(不然的话,生成的数据之间应该会集中)。

    疑问点

    如果是通过base class生成的CNN,那在novel class上进行训练和测试时,这个CNN是否要更新呢,如果不更新的话,按原有分类方式生成的特征会不会有点问题如果把生成的概率对生成模型做一个反馈,会不会使生成数据离分界线更远一些呢?
    最新回复(0)