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:

Learning Discriminative Features with Class Encoder的更多相关文章
- 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 作者在 ...
- Machine Learning : Pre-processing features
from:http://analyticsbot.ml/2016/10/machine-learning-pre-processing-features/ Machine Learning : Pre ...
- 【DeepLearning】Exercise:Learning color features with Sparse Autoencoders
Exercise:Learning color features with Sparse Autoencoders 习题链接:Exercise:Learning color features with ...
- 【Discriminative Localization】Learning Deep Features for Discriminative Localization 论文解析(转)
文章翻译: 翻译 以下文章来源: 链接
- Wasserstein CNN: Learning Invariant Features for NIR-VIS Face Recognition
承接上上篇博客,在其基础上,加入了Wasserstein distance和correlation prior .其他相关工作.网络细节(maxout operator).训练方式和数据处理等基本和前 ...
- Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
1.主要完成的任务是能够将英文转译为法文,使用了一个encoder-decoder模型,在encoder的RNN模型中是将序列转化为一个向量.在decoder中是将向量转化为输出序列,使用encode ...
- 论文笔记:Learning Region Features for Object Detection
中心思想 继Relation Network实现可学习的nms之后,MSRA的大佬们觉得目标检测器依然不够fully learnable,这篇文章类似之前的Deformable ROI Pooling ...
- Learning Rich Features from RGB-D Images for Object Detection and Segmentation论文笔记
相关工作: 将R-CNN推广到RGB-D图像,引入一种新的编码方式来捕获图像中像素的地心姿态,并且这种新的编码方式比单纯使用深度通道有了明显的改进. 我们建议在每个像素上用三个通道编码深度图像:水平视 ...
- 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 ...
随机推荐
- as依赖解决报错
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.suppor ...
- Spring Cloud构建微服务架构(六)高可用服务注册中心
http://blog.didispace.com/springcloud6/ https://www.jianshu.com/p/df9393755a05 http://www.ityouknow. ...
- ResourceBundle读取properties配置文件
package cn.rocker.readProperties; import java.util.ResourceBundle; import org.junit.Test; /** * @Cla ...
- flask flash消息
请求完成,让用户知道状态发生了变化,可以使用flash确认消息 示例: xx.py from flask import Flask,render_template,request,redirect,u ...
- Python的基础详情
Python的基础信息 Python是一种动态解释性高级语言 Python即可面向对象,也可以面向过程 解释行语言 无需编译 程序以'行'为单位进行执行 执行速度慢 开发效率快 可跨平台 编译型语言 ...
- /etc/fstab 文件挂载配置文件
(1)/etc/fstab 每行定义一个要挂载的文件系统 mount -a 自动挂载/etc/fstab文件没有挂载的设备,不管已挂载过的设备 如果想刷新修改过已挂载的设备,mount -o remo ...
- SpringBoot笔记十六:ElasticSearch
目录 ElasticSearch官方文档 ElasticSearch安装 ElasticSearch简介 ElasticSearch操作数据,RESTful风格 存储 检查是否存在 删除 查询 更新 ...
- sql递归查询 根据Id查所有子结点
Declare @Id Int Set @Id = 0; ---在此修改父节点 With RootNodeCTE(D_ID,D_FatherID,D_Name,lv) As ( Select D_ID ...
- Web项目发布的一些设置
比如我们有个项目想要发布到互联网上,我们首先需要购买域名以及主机,主机的话,推荐云主机(本人推荐西部数码或者阿里云),性能好: 我们先在云主机上搭建环境,比如Mysql,Jdk,Tomcat: 然后我 ...
- 学习总结:CSS(一)定义方式、选择器、选择器权重
一.CSS的定义方式 1.内部样式:<style></style> 2.行间样式:<div style="width:100px;height:100px;&q ...