近来论文看了许多,但没多少时间总结下来。今天暂时记录一篇比较旧的论文,选择理由是 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:

Learning Discriminative Features with Class Encoder的更多相关文章

  1. Paper-[arXiv 1710.03144]Island Loss for Learning Discriminative Features in Facial Expression

    [arXiv 1710.03144]Island Loss for Learning Discriminative Features in Facial Expression ABSTRACT 作者在 ...

  2. Machine Learning : Pre-processing features

    from:http://analyticsbot.ml/2016/10/machine-learning-pre-processing-features/ Machine Learning : Pre ...

  3. 【DeepLearning】Exercise:Learning color features with Sparse Autoencoders

    Exercise:Learning color features with Sparse Autoencoders 习题链接:Exercise:Learning color features with ...

  4. 【Discriminative Localization】Learning Deep Features for Discriminative Localization 论文解析(转)

    文章翻译: 翻译 以下文章来源: 链接

  5. Wasserstein CNN: Learning Invariant Features for NIR-VIS Face Recognition

    承接上上篇博客,在其基础上,加入了Wasserstein distance和correlation prior .其他相关工作.网络细节(maxout operator).训练方式和数据处理等基本和前 ...

  6. Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation

    1.主要完成的任务是能够将英文转译为法文,使用了一个encoder-decoder模型,在encoder的RNN模型中是将序列转化为一个向量.在decoder中是将向量转化为输出序列,使用encode ...

  7. 论文笔记:Learning Region Features for Object Detection

    中心思想 继Relation Network实现可学习的nms之后,MSRA的大佬们觉得目标检测器依然不够fully learnable,这篇文章类似之前的Deformable ROI Pooling ...

  8. Learning Rich Features from RGB-D Images for Object Detection and Segmentation论文笔记

    相关工作: 将R-CNN推广到RGB-D图像,引入一种新的编码方式来捕获图像中像素的地心姿态,并且这种新的编码方式比单纯使用深度通道有了明显的改进. 我们建议在每个像素上用三个通道编码深度图像:水平视 ...

  9. Learning Discriminative and Transformation Covariant Local Feature Detectors实验环境搭建详细过程

    依赖项: Python 3.4.3 tensorflow>1.0.0, tqdm, cv2, exifread, skimage, glob 1.安装tensorflow:https://www ...

随机推荐

  1. 《Apache Kafka实战》读书笔记-调优Kafka集群

    <Apache Kafka实战>读书笔记-调优Kafka集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.确定调优目标 1>.常见的非功能性要求 一.性能( ...

  2. [JUC-2]AbstractQueuedSynchronizer源码分析

    AbstactQueuedSynchronizer的基本数据结构 AbstractQueuedSynchronizer的基本数据结构为Node,关于Node,JDK作者写了详细的注释,这里我大致总结几 ...

  3. C# Selenium学习

    https://blog.csdn.net/hjkl950217/article/details/54314760 https://www.cnblogs.com/vaevvaev/p/7041842 ...

  4. minio golang client使用

    初始化 var ( endpoint = "127.0.0.1:8888" accessKeyID = "YXU5IXETKKPX171K4Z6O" secre ...

  5. css的几个小技巧

    本文收录css设置样式的一些小技巧 1. 设置文字在块级标签居中(包括水平居中和垂直居中) 水平居中 方法一:使用text-align text-align:center 方法二:目标标签的父级标签设 ...

  6. 使用js修改url地址参数

    该方法可以修改url的参数. 例如将 www.baidu.com 修改为 www.baidu.com?name=123 操作为: window.location.href = changeURLArg ...

  7. List<string>序列化与反序列化一个小坑

    Newtonsoft序列化与反序列化有两个重载方法,带<T>和不带<T>的 如果将一个List<String>序列化为jsonStr后,再反序列化,会变成JArra ...

  8. 微信小程序开发(6) SSL证书及HTTPS服务器

    1. 域名 在万网购买,略 2. 云服务器 阿里云购买,略 3. 安装lnmp 使用lnmp.org程序,略 4. 申请证书 阿里云-管理控制台-安全(云盾)-证书服务-购买证书证书类型: 免费型DV ...

  9. H5网页适配 iPhoneX,就是这么简单

    iPhoneX 取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题.对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可( ...

  10. python3.x与2.x区别

    1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比Py2 ...