zoukankan      html  css  js  c++  java
  • Learning Discriminative Features with Class Encoder

    近来论文看了许多,但没多少时间总结下来。今天暂时记录一篇比较旧的论文,选择理由是 Discriminative features

    做图像说白了就是希望有足够有判别性的特征,这样在分类或者匹配、检索的时候才能有较好的精度。

    一. 综述

    这篇论文思想很简单。如何称之为有判别性特征?作者利用编码器的思想,对于同一ID的图形的特征,如果编码后仍可以较好的解码为同一ID的特征,那么我们就说这个特征有判别力。这里有个点值得注意:编码器是针对图像特征,非图像本身。好的特征表示大概有2个衡量标准:可以很好的重构出输入数据、对输入数据一定程度下的扰动具有不变性。普通的autoencoder、sparse autoencoder、stacked autoencoder则主要符合第一个标准,而deniose autoencoder和contractive autoencoder则主要体现在第二个。在一些分类任务中,第二个标准显得更加重要。

    二. 摘要

    编码器一般用在非监督领域,这里将编码器加在监督学习里,为了学得的特征有好的判别性。这里利用编解码器来重建同一label的个体的特征。这样做是为了最小化类内方差。

    三. 介绍

    有许多重建模型算法:DAE(denoising auto-encoder)、CAE(contractive auto-encoder)。但这些算法都是在非监督领域,为了获得更有判别性的特征还得是监督学习。所以作者将编码器思想与监督学习(softmax传统监督分类)结合到了一起。此外作者指出AE对于图像变换不够鲁棒。传统AE限于小图、对齐的简单图像。作者提出class-encoder作为softmax classifier的一个限制项(辅助),从而优于纯softmax。

    结构如下:

     

    x为输入数据(特征),h为隐层,xhat为重构(同一label的特征)。那么最小化重构损失即可

    所以整体模型即为两支路:利用编码器优化特征、利用softmax分类:

    同样,作者验证隐层一层就够好,但是隐层神经元数目不同结果也不同:

    最终实验验证了加上编码器的softmax要优于纯softmax。有个点是:作者采取了一层卷积和两层局部连接层 two locally-connected layers,类似于卷积,但是层间不共享参数。因此它适用于提取一组有规律的图像:例如人脸

    四. 结论

    该模型只用到了类内的对,也就是正样本对,没有用到任何不匹配对。而其他算法(DeepID2)同时利用了正负对,这说明负对的贡献在训练中是比较小的。类内重建是有助于学习鲁棒、有判别性的特征。在特征层面上的策略很好解决了FC net的上的尺寸以及变换问题。

    附:特征向量feature embedding:每列为同一ID:

  • 相关阅读:
    Azure 3月新公布(二)
    亲,「广撒网」的营销方式你还没厌倦吗?
    Azure进阶攻略 | 下载还是在浏览器直接打开,MIME说了算!
    5步玩转Power BI Embedded,老司机全程带路解析
    手握不同媒体的数据,接下来该干些什么?
    cmake教程
    翻译Lanlet2
    pugixml 1.9 manual解读(部分)
    U盘无法拔出的解决办法
    Function Pointers in C
  • 原文地址:https://www.cnblogs.com/king-lps/p/9766726.html
Copyright © 2011-2022 走看看