热门标签 | 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



推荐阅读
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 如何在C#中配置组合框的背景颜色? ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
    本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ... [详细]
  • 持续集成持续部署持续交付今天,我将谈论开发人员的一个误解:持续集成是关于运行自动化集成管道的…什么是持续集成(CI) ... [详细]
  • WCF类型共享的最佳实践
    在使用WCF服务时,经常会遇到同一个实体类型在不同服务中被生成为不同版本的问题。本文将介绍几种有效的类型共享方法,以解决这一常见问题。 ... [详细]
  • Visual Studio 2019 安装指南
    作为一名拥有三年经验的程序员,由于长期专注于C语言,我意识到自己的技术栈过于单一。在转型为Android驱动开发工程师后,这种局限性更加明显。本文将介绍如何安装Visual Studio 2019,并配置C++开发环境,以帮助读者拓宽技术视野。 ... [详细]
  • 三角测量计算三维坐标的代码_双目三维重建——层次化重建思考
    双目三维重建——层次化重建思考FesianXu2020.7.22atANTFINANCIALintern前言本文是笔者阅读[1]第10章内容的笔记,本文从宏观的角度阐 ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
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社区 版权所有