A Light CNN for Deep Face Representation with Noisy Labels
承接上一篇博客。该论文思路清晰,实验充分,这里大致写一些比较不错的idea。从标题就能看出本文的主要贡献:轻量、鲁棒。利用一个轻量CNN从大规模数据且含大量噪声中来学习一个深度面部表征。 直接谈谈贡献:
- 本文介绍MFM操作,一种特殊的maxout来学习少参数网络。相比于ReLU从数据中学来阈值,MFM采用一种竞争关系来得到更好的泛化能力,适应于不同的数据分布。
- 轻量CNN和MFM一起用来学习一种统一的面部表征。我们按照AlexNet、VGG、ResNet设计了三种轻量网络。所提出的模型在时空复杂度都有很好的表现。
- 通过预训练得到的一种语义自提升方法被设计用来处理大尺度数据中的噪声数据。不连续的数据可以通过概率预测而有效检测出来,然后被移除来训练。
- 所提出的单模型学习到256维深度表征,在各种数据集上:large-scale、video-based、cross-age face recognition、cross-view face recognition等数据集。
相关工作不再赘述,以下是网络结构部分。
1. Max-Feature-Map operation(MFM)
一个规模庞大的数据集通常含有噪声,所以如果噪声不能合适解决,CNN会有偏差。ReLU激活函数通过一个阈值来划分噪声信号和信息信号,这通过相应的激活与抑制来实现。然而这个阈值可能导致尤其是前几个卷积层的信息丢失(视为ReLU的副作用?)。因为这些层类似于Gabor滤波器。为了减轻这个问题,LReLU、PReLU和ELU等被相继提出。考虑到人脑侧抑制等启发,一个卷积层的激活函数应有以下特性:
- 由于大规模数据集通常含有各种类型噪声,我们希望噪声信号和信息信号可被分离。
- 当在图像中有水平的边或线时,对应检测水平信息的神经元应该兴奋而响应垂直信息的神经元应被抑制。
- 神经元的侧抑制是无参的,所以应该不取决于大量数据。
介于此,提出MFM操作,是Maxout activation的拓展。然而其本质不同。Maxout通过大量隐层元来近似一个任意凸函数。更多神经元更好的近似结果。一般来讲Maxout网络要大于ReLU网络。MFM根据max函数来已知一小部分的神经元,所以基于MFM的网络轻量且鲁棒。尽管两者都用max函数,MFM不能视为凸函数估计。我们定义两种MFM操作来获取竞争特征图。下图很清楚:

2. The Light CNN Framework
MMF在CNN中起到类似生物中局部特征选择的角色。MFM在不同的位置挑选不同滤波器学到的最优特征。在反向传播时导致0、1梯度来抑制或激活神经元。伴有MMF的CNN可获得更紧凑的表征,虽然MFM层的梯度是稀疏的。MFM通过激活前面卷积层的特征图的最大值可以获取更多富有竞争力的节点。所以MFM可以实现特征选择并加速生成稀疏连接。
以下是作者按照AlexNet、VGG、ResNet实现的伴有MFM的三个网络,这里直接贴出第二个:因为Network in Network (NIN)可以在卷积层之间做出潜在的特征选择,通过采用小卷积核可以减少网络参数。所以在网络中嵌入NIN和小卷积核的MFM。

值得注意的是作者去掉了BN:因为BN是有域特征的,即当测试数据和训练数据来自不同域时,BN可能导致失败(这就需要IBN的操作了,即搭配IN来减小域影响)。此外利用FC来代替GAP(global average pool),作者认为高级特征图的每个节点都同时包含语义信息和空间信息,然而这有可能被GAP破坏。作者在FC设置了0.7的dropout,卷积层和除了最后一个FC的权重衰减设为5e-4,而最后一个fc不再担任特征提取角色,所以权重衰减设为5e-3来避免过拟合。卷积层和全连接初始化分别为Xavier和Gaussian。此外特征相似性采用cosine similarity。
some results:


3. 网络分析
MFM操作在轻量CNN中意义重大。下图说明了不同激活函数中,对于人脸表征学习人物来说,MFM表现最优。且MFM3/2优于MFM2/1。

为什么MFM效果这么好呢?原因就是MFM利用了竞争关系而非阈值来激活神经元。由于训练和测试集源于不同数据源,所以MFM有更好的泛化能力。MFM3/2 比 MFM2/1的结果更好,表明当利用MFM时,最好只有一小部分神经元被抑制,所以更多信息被保留在下一卷积层中。也就是说输入与输出神经元个数比应在1~2之间。
下图表明了BN在域差异问题上的缺憾:没有BN会更好。

4. 结论
受神经元侧抑制和maxout activation的启发,提出一个Max-Feature-Map(MFM)操作,可得到压缩的低维面部表征。卷积层的小核尺寸,Network in Network层、残差块等实现用来缩减参数空间并提高性能。本文的网络结构更小更快。

附:MFM示意图(参考:博客)

根据上面的MFM示意图,可以看到灰度图像(单通道)输入到两个相同结构的卷积层中,MFM比较两个卷积层中对应的通道,取最大值

A Light CNN for Deep Face Representation with Noisy Labels的更多相关文章
- 论文笔记:Improving Deep Visual Representation for Person Re-identification by Global and Local Image-language Association
Improving Deep Visual Representation for Person Re-identification by Global and Local Image-language ...
- Deep High-Resolution Representation Learning for Human Pose Estimation
Deep High-Resolution Representation Learning for Human Pose Estimation 2019-08-30 22:05:59 Paper: CV ...
- [CNN] Tool - Deep Visualization
From: http://www.infoq.com/cn/news/2016/12/depth-neural-network-fake-photos 当时大部分的DNN在识别图像中对象的过程中主要依 ...
- Learning Invariant Deep Representation for NIR-VIS Face Recognition
查找异质图像匹配的过程中,发现几篇某组的论文,都是关于NIR-VIS的识别问题,提到了许多处理异质图像的处理方法,网络结构和idea都很不错,记录其中一篇. 其余两篇: Wasserstein CNN ...
- face recognition[翻译][深度人脸识别:综述]
这里翻译下<Deep face recognition: a survey v4>. 1 引言 由于它的非侵入性和自然特征,人脸识别已经成为身份识别中重要的生物认证技术,也已经应用到许多领 ...
- face recognition[variations of softmax][ArcFace]
本文来自<ArcFace: Additive Angular Margin Loss for Deep Face Recognition>,时间线为2018年1月.是洞见的作品,一作目前在 ...
- face recognition[MobileFaceNet]
本文来自<MobileFaceNets: Efficient CNNs for Accurate Real-Time Face Verification on Mobile Devices> ...
- face recognition[MobiFace]
本文来自<MobiFace: A Lightweight Deep Learning Face Recognition on Mobile Devices>,时间线为2018年11月.是作 ...
- Classification / Recognition
转载 https://handong1587.github.io/deep_learning/2015/10/09/recognition.html#facenet Classification / ...
随机推荐
- Linux基础-兄弟连Linux
Linux基础增强与辅助知识梳理... ------------ Linux学习基础需要学习那些知识 学习Linux对于程序开发的好处 怎样开始学习Linux Linux的学习方法参考 Linux系统 ...
- Elastic Stack之FileBeat使用实战
Elastic Stack之FileBeat使用实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客数据流走向:FileBeat ===>logstash == ...
- Linux 有用工具
``` 小问题,在此记录一下,有时在shell下执行命令重定向到文件时提示无权限-bash: temp_20181015.log: Permission denied,而且加sudo执行依提示无权限, ...
- oldboy s21day04
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.简述解释型语言和编译型语言的区别?"""1.解释型语言:Python,PH ...
- weblogic安装错误记录
问题1:/opt/oraInventory路径无效(无法读取/写入/执行) 查看目录权限,发现此目录属于dba,如果用这个目录的话,可能会覆盖掉Oracle数据库相关的东西 再参照weblogic静默 ...
- Xampp PHPStorm XDebug配置
(1)https://xdebug.org/download.php 下载当前Xampp对应的XDebug版本. (2)将该dll放入C:\xampp\php\ext (3)修改Control Pan ...
- spring注解第01课 @Configuration、@Bean
一.原始的 xml配置方式 1.Spring pom 依赖 <dependency> <groupId>org.springframework</groupId> ...
- instanceof 操作符实现原理解析
本文会介绍ES6规范中 instanceof 操作符的实现,以及自定义 instanceof 操作符行为的几个方法. 文中涉及的规范相关的代码皆为伪代码,为了便于理解,其中可能会省略一些参数判断逻辑或 ...
- jQuery漏洞
1.使用jQuery.append().jQuery.html()方法时,如果其中内容包含<script>脚本而没有经过任何处理的话,会执行它. 2.版本低于1.7的jQuery过滤用户输 ...
- floyd求最小环
;i<=n;i++) ;j<=n;j++) g[i][j]=g[j][i]=dis[i][j]=dis[j][i]=inf; ;i<=m;i++){ int u,v,w;scanf( ...