热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【论文阅读】DeepMixtureofDiverseExpertsforLargeScaleVisualRecognition

导读:本文为论文《DeepMixtureofDiverseExpertsforLarge-ScaleVisualRecognition》的阅读总结。目的是做大规模图像

导读:

  本文为论文《Deep Mixture of Diverse Experts for Large-Scale Visual Recognition》的阅读总结。目的是做大规模图像分类(>1000类),方法是混合多个小深度网络实现更多类的分类。本文从以下五个方面来对论文做个简要整理:

  背景:简要介绍与本文方法提出的背景和独特性。

  方法:介绍论文使用的大体方法。

  细节:介绍论文中方法涉及到的问题及解决方案。

  实验:实验结果和简要分析。

  总结:论文主要特色和个人体会。

一、背景

  1.目标:大规模图像分类(>1000),以往做图像分类最多为1000类的分类,更多的类的区分难度比较大,也鲜有方法,以往对此问题的解决方案包括下面三种:

  1)设计更复杂的网络

  此类方法专门针对大规模图像分类设计深度网络,但是该方法可操作性不强,原因是网络结构设计的未知性、大量资源消耗、数据量不够大导致过拟合等。

  2)网络转换

  此类方法是指将在其他数据集上训练好的网络模型移植到新的数据上使用&#xff0c;但该方法一般是从在多类数据集上训练好的模型迁移到少类上&#xff0c;而以往训练的模型&#xff08;<1000&#xff09;类别数比较少&#xff0c;移植到类别大的数据集上往往效果不够好。

  3&#xff09;多个小CNN结合

  此类方法是指&#xff0c;学习多个少类的神经网络&#xff0c;然后将多个少类神经网络结合起来&#xff0c;实现对多类分类的效果&#xff0c;该方法可以达到以更少资源取得更多分类的效果。

  本文采用的分类方法为第三种多个小CNN结合的方法。

  2.特色

  1&#xff09;与分层树区别

  分层树是自顶而下的分类&#xff0c;且高层分类时需同时使用所有类别。

  本文方法是自下而上的分类&#xff0c;每次训练时只需使用大类的一个子集即可。

  2&#xff09;与单任务多网络区别

  以往也有将多个网络结合起来做混合预测的方法&#xff0c;但此种单任务多网络方法的每个任务空间是相同的&#xff0c;只是起到特征间相互弥补的作用。而本文方法的每个子网络都有自己的任务空间&#xff0c;有任务重叠但不重合。

  因此&#xff0c;本文方法是独特的&#xff0c;即鲜有人使用的。

二、方法

  1.概述&#xff1a;本文采用的方法大体流程如下图

  1&#xff09;按语义相似度构建两层架构&#xff0c;同时允许组内有重叠。

  2&#xff09;组内用单个CNN学习分类网络以及类间相关性&#xff08;称为多任务&#xff09;。

  3&#xff09;多个组的CNN输出相结合形成混合网络并得到最终输出。

  

  2.挑战

  1&#xff09;组的产生&#xff1a;随机分组将导致相似&#xff08;学习复杂度相同&#xff09;的类不在一组将难以区分。

  本文的解决方法是&#xff0c;将相似度高的分为一组&#xff0c;且相似度按高低排列&#xff0c;从左到右依此产生组&#xff0c;并允许组间有重叠。

  2&#xff09;类间可区分性&#xff1a;同一组的类别相似度往往比较高&#xff0c;更难区分。

  本文的解决方法是&#xff0c;多任务学习&#xff0c;即在学习分类网络的同时&#xff0c;学习类间的相似度&#xff0c;以增强可分性。

  3&#xff09;预测输出可比性&#xff1a;如果多个子网络间没有信息交流&#xff0c;那么产生的输出就没有可比性&#xff0c;也就不能得到最终的分类结果&#xff0c;而且有重叠的情况下多个组的预测结果可能产生冲突。

  本文的解决方法是&#xff0c;在每个子网络的输出中&#xff0c;增加not-in-group项&#xff0c;即不在该子网络里的类别对应的gt为not-in-group&#xff0c;同时组间有重叠&#xff0c;从而使组间的信息可以交流。

三、细节

  1.两层架构&#xff1a;本文方法的第一步为构建两层架构&#xff0c;该步骤的方法是&#xff1a;

  1&#xff09;按下面公式计算相似度矩阵并用谱聚类方法得到大类&#xff08;category&#xff09;

  

  其中&#xff0c;ψi,j表示小类&#xff08;class&#xff09;i和j的相似度&#xff0c;D&#xff08;ci,cj&#xff09;表示在WordNet上从类i到j所需要经过的节点数&#xff0c;H表示WordNet上从根草最深类节点经过的节点数&#xff0c;

  2&#xff09;按相似度排列大类&#xff08;category&#xff09;形成圈。即大类间越相似&#xff0c;排列后的位置越靠近。

  3&#xff09;以一定顺序依此每次取M个小类&#xff08;class&#xff09;形成组&#xff08;group&#xff09;。

  得到的组即为我们要得到的东西&#xff0c;即两层架构&#xff0c;步骤中的大类&#xff08;category&#xff09;仅在形成组时有用到&#xff0c;后续不再使用。形成组的过程如图&#xff1a;

  

  2.单个CNN的学习&#xff1a;本文方法的第二步为单个CNN的学习&#xff0c;即组分类器的学习&#xff0c;其中涉及到的几个关键因素如下&#xff1a;

  1&#xff09;base CNN&#xff1a;本文采用的基础神经网络为预训练好的Alexnet。

  2&#xff09;优化目标&#xff1a;

  

  上式中&#xff0c;R和M分别为每类训练集的图像数和组内的类别数&#xff0c;ξlj表示训练错误率&#xff0c;符号定义为

  

  W表示网络参数&#xff0c;x表示深度特征&#xff0c;L表示类间相似度矩阵S的拉普拉斯矩阵&#xff0c;相似度矩阵S定义为

  

  3&#xff09;Loss:将上述定义带入&#xff08;2&#xff09;中的优化目标可导到损失函数

  

  3.融合预测&#xff1a;本文方法的第三步为多个组预测结果的融合&#xff0c;其中包括以下两步

  1&#xff09;获得第j组第i类的输出分数为pj(ci)

  

  2&#xff09;组内预测调整

  

  上式中&#xff0c;Υ(ci)表示融合后的向量中&#xff0c;第i类的分数&#xff0c;Λj (ci)是第i个原子类在第j组的指示子&#xff0c;在为1不在为0&#xff0c;φj为第j组中not-in-group的预测分数&#xff0c;用于调整同组其余预测分数。即&#xff0c;预测为not-in-group的分数越大&#xff0c;那么是其他类的分数就应该越小。

  在分数融合之后得到M维的向量&#xff0c;经过softmax层得到最终的预测输出&#xff0c;此处总的Loss为

  

  该Loss的梯度不仅用于更新融合前后网络的参数&#xff0c;也用于更新基础网络的参数。

四、实验

  

  上图的第2项表示直接将Alexnet的输出层节点增加到M个&#xff0c;第3项表示不采用本文构建视觉树的方法直接随机分组&#xff0c;第4项表示采用其他论文视觉树构建方法&#xff0c;第5项表示预测融合时修改not-in-group对同组其他类分数的影响得到的结果。

  从上图可以看出本文方法得到的结果最好。

  

  上图表示多任务学习、有没有not-in-group项、有没有overlap对本文方法的影响。

  

  上图表示有没有多任务学习对结果的影响还是比较大的。

  

  上图表示&#xff0c;组内重叠率越大结果越好。

  

  上图第1种方法表示本文采用的将FC8层预测结果融合的方法&#xff0c;第2种表示将FC7层特征融合的方法。

  

  上图表示采用不同基础网络对实验结果的影响。

五、总结

  1.本文的任务是创新的&#xff1a;以小网络解决大任。务

  2.在组内Loss中加入类间相似度矩阵学习项提高可分性。

  3.组内预测输出加入not-in-group项&#xff0c;使得组间信息可比。

  4.文章最后提出组内多个基础网络融合更能提高识别结果。

  5.本文方法理论简单&#xff0c;可操作性较强。

本文对应论文和ppt下载地址&#xff1a;网盘地址

转:https://www.cnblogs.com/EstherLjy/p/10133364.html



推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • vivo Y5s配备了联发科Helio P65八核处理器,这款处理器采用12纳米工艺制造,具备两颗高性能Cortex-A75核心和六颗高效能Cortex-A55核心。此外,它还集成了先进的图像处理单元和语音唤醒功能,为用户提供卓越的性能体验。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有