Learning to Learn: Model Regression Networks for Easy Small Sample Learning 论文笔记



  • 概述:

    响应zkjj的号召,来阅读一些前沿论文,本期第一次为zkjj推荐的Learning to learn在图像分类中的应用。

    https://www.ri.cmu.edu/pub_files/2016/10/yuxiongw_eccv16_learntolearn.pdf

    目标

    通过之前分类器中的经验,使用小数据集完成新类别图像分类操作。

    论文观点

    • There exsits a generic category agnostic transformation from model learned from few samples to models learned from large enough sample sets.
    • Such a transformation could be effectively learned by high-capacity regression network.

    论文附图一张,这个图画的还算是,emmmm比较难以理解!!!
    0_1524212042446_c505870d-9138-4939-9c55-347793cf4d55-image.png

    人话解释论文观点:

    • 从小数据集中学习到的网络模型可以映射到从大数据集中学习到的网络模型:也就是说,有一个神奇的T函数,之前我们需要从大数据集中学习到一个网络的参数Θ_large,那么现在我们从小数据集中学习到一个网络参数Θ_little,然后我们Θ_large = T(Θ_little),是不是就比较神奇了,那我们就可以小样本学习了。
    • T函数可以通过一个高容量回归网络从模型对中学习到:这里几个东西解释下
      • 回归网络,之前我们的网络都是分类用的,这里任务为调整网络参数,所以变成了回归任务,就叫回归网络了,回归任务可以参考object detection里面的regression操作。
      • 模型对:一个大数据集获得的模型,一个小数据集获得的模型,拿这两个model pair来训练T函数,是不是突然感觉很合理了。
    • 实验的评估基于现有大数据样本的分类进行

    PS:相比于之前transfer learning只迁移网络参数来说,这个思路确实有那么点learn to learn的思想在里面了,这一点论文中也给出了相应的证明,在测评上效果要优于transfer learning

    看了这个图,应该就对整体的流程有所了解了吧~
    0_1524212100176_656c4690-6e79-4719-ba7a-a25ebac7d376-image.png

    如何生成模型对(Generation of Model Pairs)

    PS:这里的分类器都是svm的二分类器,输入特征来自于CNN网络的特征图(后面有具体介绍)
    C个类别的训练集,每个类分别选取model pair,选取的方式如下:
    Lc个正样本M个负样本,训练一个w的参数,作为大样本模型的参数,
    正样本选N个(N<<Lc)负样本M个训练一个w0的参数,作为小样本模型的参数,S次抽样。
    最终生成Sx C个model pair(w0,w
    )
    (选取思路没毛病)

    回归网络(Regression Network)

    回归网络这里只是稍微简单介绍一下,论文提到,为了稳定性,把regression loss + preformance loss放一起。
    0_1524216326627_13a6161e-c30e-499f-9a2b-2d59db15c080-image.png

    实现网络细节(Implementation Details)

    • SVM的输入:Caffe Alexnet convolutional neural network (CNN) feature pre-trained on ILSVRC 2012,从fc6抽取了一个4096维度的特征向量。
    • SVM训练:对于w*使用了10-fold交叉验证来训练,选取了不同的N,不同的正则系数,来做数据增强以模拟不同变化的w0。
    • 每类700model pair,685训练,15验证。

    新类学习方法(Learning Target Models for Novel Categories)

    1. 初始化,使用小样本学习一个w0。
    2. 使用T(W0,Θ)模拟w*
    3. 再训练(敲重点,敲重点,敲重点,这个在训练没在我预料之中,测试表明这个再训练过程很重要,可能是transform还是太粗糙了)
        0_1524216876156_dd0d55be-961e-4662-94b0-7563dcebba3d-image.png

    实验评估(Experimental Evaluation)

    想要看具体测试数据和测试方式的去看原文!
    第一测:小数据集上测评,绿色为直接在小数据集上测试,蓝色是论文结果,红色是大数据集上测试结果。提升效果还是不错的,算法有效,yeah~
    0_1524216981270_6ad38bcf-3e24-463e-a972-3da8ba1cb50d-image.png
    第二测:各种方案对比,当然本文方法最好啦,其他的思路也都是想用经验,不过没用好,model parameter就是之前提到的transfer learning,明显被踩了一脚。
    0_1524217081908_34a6583b-1f32-40a5-90d7-30be5fd04a64-image.png
    第三测:不同数据集上新类的小数据测评,效果也不错。绿色线再次踩transfer learning.
    0_1524217164107_04c8cce1-887c-498e-becd-5e61834947e4-image.png
    第四测:不同特征空间测评,证明该思想和特征没有绝对关系,通用性ok
    0_1524217271871_43ab49d0-a400-4011-a6cf-1dfd066777af-image.png
    第五测:不同分类器测评,证明该思想和分类器没有多大关系,在lr上进行测试,通用性ok ok
    0_1524217303188_a4803771-bdb3-4a28-8450-7305298a776e-image.png

    小结

    总得来说。不错的一篇文章,行为逻辑清晰,方法较为通用,并且on the level of model!

    ok 翻译结束~励志做个高产up主


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待