承接上一篇博客。该论文思路清晰,实验充分,这里大致写一些比较不错的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的更多相关文章

  1. 论文笔记: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 ...

  2. 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 ...

  3. [CNN] Tool - Deep Visualization

    From: http://www.infoq.com/cn/news/2016/12/depth-neural-network-fake-photos 当时大部分的DNN在识别图像中对象的过程中主要依 ...

  4. Learning Invariant Deep Representation for NIR-VIS Face Recognition

    查找异质图像匹配的过程中,发现几篇某组的论文,都是关于NIR-VIS的识别问题,提到了许多处理异质图像的处理方法,网络结构和idea都很不错,记录其中一篇. 其余两篇: Wasserstein CNN ...

  5. face recognition[翻译][深度人脸识别:综述]

    这里翻译下<Deep face recognition: a survey v4>. 1 引言 由于它的非侵入性和自然特征,人脸识别已经成为身份识别中重要的生物认证技术,也已经应用到许多领 ...

  6. face recognition[variations of softmax][ArcFace]

    本文来自<ArcFace: Additive Angular Margin Loss for Deep Face Recognition>,时间线为2018年1月.是洞见的作品,一作目前在 ...

  7. face recognition[MobileFaceNet]

    本文来自<MobileFaceNets: Efficient CNNs for Accurate Real-Time Face Verification on Mobile Devices> ...

  8. face recognition[MobiFace]

    本文来自<MobiFace: A Lightweight Deep Learning Face Recognition on Mobile Devices>,时间线为2018年11月.是作 ...

  9. Classification / Recognition

    转载 https://handong1587.github.io/deep_learning/2015/10/09/recognition.html#facenet Classification / ...

随机推荐

  1. Java中String和byte[]间的转换浅析

    Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,本文将分析总结常规的byte[]和String间的转换以及十六进制String和byte[]间相互转换的原理及实 ...

  2. bzoj4326 树链剖分 + 线段树 // 二分 lca + 树上差分

    https://www.lydsy.com/JudgeOnline/problem.php?id=4326 题意:N个点的树上给M条树链,问去掉一条边的权值之后所有树链长度和的最大值最小是多少. 首先 ...

  3. stock

    version: 1 disable_existing_loggers: False formatters: simple: format: "%(asctime)s - %(name)s ...

  4. Hadoop生态圈-Ambari控制台功能简介

    Hadoop生态圈-Ambari控制台功能简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在经历一系列安装过程之后(部署过HDP后我终于发现为什么大家喜欢用它了,部署比CDH简 ...

  5. Spring Boot笔记五: Web开发之Webjar和静态资源映射规则

    目录 Webjar /** 访问当前项目的任何资源 欢迎页 标签页图标 Webjar 开始讲到Spring Boot的Web开发了,先介绍Webjar,这个其实就是把一些前端资源以jar包的形式导入到 ...

  6. java io系列18之 CharArrayReader(字符数组输入流)

    从本章开始,我们开始对java io中的“字符流”进行学习.首先,要学习的是CharArrayReader.学习时,我们先对CharArrayReader有个大致了解,然后深入了解一下它的源码,最后通 ...

  7. JAVA核心技术I---JAVA基础知识(常量设计和常量池)

    一:常量---一种不会修改的变量 –Java没有constant关键字 –不能修改,final –不会修改/只读/只要一份,static –方便访问publicJava中的常量 –public sta ...

  8. 032、学容器必须懂bridge网络(2019-02-19 周二)

    参考https://www.cnblogs.com/CloudMan6/p/7066851.html   docker安装时会创建一个名为 docker0 的linuxbridge.如果不指定 --n ...

  9. [Java JNI] [Windows] [Visual Studio] [DLL] [UnsatisfiedLinkError]

    有时候使用 GCC for Windows 生成 DLL 动态链接库时, 由于各种原因, 即使加载了动态链接库, JVM 仍然找不到符号, 从而产生 java.lang.UnsatisfiedLink ...

  10. Redis基础知识 之——发布/订阅

    一.说明: 订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者).而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅 ...