YOLOR论文翻译+个人理解

论文:《You Only Learn One Representation: Unified Network for Multiple Tasks》
论文地址:https://arxiv.org/pdf/2105.04206.pdf
代码地址:https://github.com/WongKinYiu/yolor


人们通过视觉、听觉、触觉已经过去的经验“理解”世界。人类经验可以通过正常学习(我们称之为显性知识)或潜意识(我们称之为隐性知识)习得。这些通过正常学习或潜意识学到的经验将被编码并存储在大脑中,利用这些丰富的经验作为一个巨大的数据库,人类可以有效地处理数据,即使这些数据是事先没有看到的。在本文中我们提出了一个统一的网络,将隐性知识和显性知识编码在一起,就像人类大脑可以从正常学习和潜意识学习中学习知识一样。统一的网络可以生成统一的表达来同时服务于各种任务,在卷积神经网络中,我们可以利用kernel space alignment, prediction refinement, and multi-task learning(和空间对齐,预测精细化、多任务学习)。研究结果表明,在神经网络中隐性知识有助于提高任务的性能,我们进一步分析从统一网络中学习到的隐性表征,他在捕获不同任务的物理意义方面表现出了良好的能力。

1、Introduction

人类可以从相同的输入中回答不同的问题。我们的目标是训练一个单一的深度神经网络来完成许多任务。
如图1所示,人类可以从不同的角度可以分析相同的数据。然而,经过训练的卷积神经网络(CNN)模型通常只能实现一个目标,一般来说,从训练有素的CNN中提取的特征不适用于其他类型的问题。产生上述问题的主要原因是我们只从神经元中提取特征,没有使用CNN中丰富的隐性知识。当真实的人来大脑在运行时,上述的隐性知识可以有效地协助大脑执行各种任务。
图1:人类可以从相同的输入回答不同的问题。我们的目标是训练一个单一的深度神经网络来完成许多任务。
隐性知识是指在潜意识学习地知识。然而没有系统去定义隐性知识如何运作,如何获得隐性知识。在神经网络定义中,从浅层获得的特征通常称为显性知识,从深层获得的特征称为隐性知识。本文将直接把观察到的知识称为显性知识,模型观察不到、与观察无关的知识称为隐性知识。
作者提出一个统一的网络来融合隐性知识(implicit knowledge)和显性知识(explicit knowledge),确保模型包含一个统一的表征(representation),这个统一的表征允许子表征(sub-representation)也适用于其他任务。
在这里插入图片描述
图2 ©展示了提议的统一网络体系结构。多用途神经网络架构。a)不同的任务有不同的模式;b)共享主干,不同的头用于不同的任务,c)我们提出的统一网络:一种包括显性知识和隐性知识的表示,适用于多个任务。
构建上述统一的网络的方法是压缩感知与深度学习结合,其主要理论基础可以是。证明了扩展字典法重构残差的有效性。在中,使用稀疏编码来重构CNN的特征图,使其更具有鲁棒性。
贡献:

  1. 作者提出了一个统一的网络可以完成各种任务,他将隐性知识和显性知识集成在一起,来学习一种完成各种任务的统一表征,所提出的网络有效地提高了模型的性能,仅增加了千分之一不到的计算成本。
  2. 作者将引用kernel space alignment, prediction refinement, and multi-task
    learning(核空间对齐,预测精细化、多任务学习)(建议:在理解时,不要翻译为中文)引入到隐性知识学习过程中,并验证了其的有效性。
  3. 作者分别讨论利用向量、举证、神经网络、矩阵分解作为隐性知识建模的工具。
  4. 作者确认了所提出的隐性表征学习方法能够准确地对应特定地物理特征,并且以一种视觉的方式呈现出来。还证实了,如果使用符合目标物理意义的算子,它可以用来整合隐性知识和显性知识,具有乘数效应。
  5. 结合最先经的模型,作者提出的统一网络准确率与Scaled-YOLOv4-P7一样,速度提高了88%。**

2、Related work

2.1Explicit deep learning(显示深度学习)

我们阅读了关于这个课题的相关文献,文献主要分为三个方面;

  • 显性深度学习:包括一些介于输入数据自动调整或选择特征的方法。
  • 隐性深度学习:涵盖了相关文献种关于隐性深度知识学习和的隐性衍生。
  • 知识模型:他将列出几种可以用来整合隐性知识和显性知识的方法。

2.2Implicit deep learning(隐性深度学习)

属于隐性深度学习范畴的方法主要有隐性神经表征和深度均衡模型。

  • 隐性神经表征:获取不同任务离散输入连续的参数映射表示。
  • 深度均衡模型:将隐性学习转化为残差神经网络,并在其进行均衡点计算。

2.3Knowledge modeling(知识模型)

属于知识建模范畴的方法主要包括稀疏表示和记忆网络。

  • 稀疏表示:使用范例、完成预先定义、学习字典进行建模。
  • 记忆网络:依赖于结合各种嵌入式形成记忆,并使记忆能够动态添加或改变。

3、How implicit knowledge works?(隐性知识如何工作?)

本研究的主要目的是建立一个能够有效训练隐性知识的统一网络,所以在后续的研究中,首先我们将重点关注如何快速训练隐性知识并进行推理。由于隐式表示zi与观测无关,我们可以把它看作是一个常数张量Z = {z1,z2,…,zk}的集合。在这一节中,我们将介绍隐式知识作为常数张量是如何应用于各种任务的。只需知道隐式表示zi与观测无关,我们可以把它看作是一个常数张量Z = {z1,z2,…,zk}的集合即可。

3.1. Manifold space reduction(流形空间减少)

流形空间减少

作者认为,一个好的代表应该能够在它所属的流形空间中找到一个适当的投影,并促进随后的客观任务取得成功。例如,如图3所示,如果在投影空间中可以通过超平面成功地对目标类别进行分类,那将是最好的结果。在上面的例子中,可以取投影向量与隐式表示的内积,以达到降维流形空间的目的,有效地完成各种任务。

3.2. Kernel space alignment(核空间对齐)

核空间对齐

在多任务多头神经网络中,核空间错位是一个常见问题,图4 (a)给出了多任务多头神经网络中核空间错位的一个例子。为了解决这个问题,可以对输出特征和隐式表示进行加法和乘法运算,使核空间可以进行平移、旋转和缩放,使神经网络的每个输出核空间对齐,如图4 (b)所示。上面的操作模式可广泛应用于不同的领域,如大型对象的功能定位和小对象特征金字塔网络(红外系统)[8],使用蒸馏的知识集成大型模型和小模型和处理zero-shot领域迁移等问题

3.3. More functions(更多功能)

更多功能

除了可以应用于不同任务的功能外,隐性知识还可以扩展到更多的功能。如图5所示。
**

  • 引入加法,可以使神经网络预测中心坐标的偏移。
  • 引入乘法来自动搜索锚的超参数集,这是基于锚的对象检测器经常需要的。
  • 可以分别使用点乘法和拼接来进行多任务特征选择,并为后续计算设置前置条件。**

4、 Implicit knowledge in our unified networks(我们统一网络中的隐性知识)

在本节中,作者将比较传统网络和提出的统一网络的目标函数,并解释为什么引入隐性知识对训练多用途网络是重要的。同时,也将详细阐述本工作中提出的方法。

4.1. Formulation of implicit knowledge(隐性知识的表述)

Conventional Networks:
对于常规网络训练的目标函数,可以用表示为:
在这里插入图片描述

  • x为观测值。
  • θ为神经网络的参数集。
  • fθ为神经网络的操作值。
  • ε为误差项,y为给定任务的目标。

在传统神经网络的训练过程中,通常会将ε使f (x)尽可能接近目标。这意味着我们期望在fθ得到的子空间中,具有相同目标的不同观测是单个点,如图6 (a)所示。换句话说,我们期望得到的解空间仅对当前任务具有判别性,且对任务不变,而对各种潜在任务T \ ti不变,其中T = {t1, t2,…, tn}。
对于通用神经网络,我们希望得到的表征可以服务于所有属于t的任务,我们需要释放ε使每个任务在流形空间上同时求解成为可能,如图6 (b)所示。然而,上述要求使得我们无法使用简单的数学方法,如单热点向量的最大值,或欧氏距离的阈值,来得到ti的解。为了解决这一问题,必须对误差项?查找不同任务的解决方案,如图6所示。

Unified Networks:
为了训练所提出的统一网络,我们将显式和隐式知识结合起来对误差项进行建模,然后用它来指导多目标网络的训练过程。对应的训练方程为:
在这里插入图片描述

  • εex:是来自建模观察x的显性误差。
  • εim:来自隐藏编码z的隐性误差。
  • gφ:这是一个特定于任务的操作,用于从显性知识和隐性知识中组合或选择信息。

已有一些方法将显式知识集成到fθ中,因此可以将(2)改写为(3)。
在这里插入图片描述

  • *:一些可以融合fθ和gφ的操作,相加,相乘,concat(一些可能的算子);
    将误差项的推导过程扩展到处理多个任务,可得:
    在这里插入图片描述
    其中Z = {z1,z2,…,zT}是T个不同任务的隐式潜码集合。
  • Φ:是可用于从Z.生成隐式表示的参数。
  • Ψ:是用于从显式表示和隐式表示的不同组合计算最终输出参数。
  • Z:是一个用于不同任务T的隐性编码几何

对于不同的任务,我们可以使用下面的公式得到对所有z∈z的预测。
在这里插入图片描述
对于所有的任务,我们从一个统一的表示fθ(x)开始,经过任务特定的隐式表示gΦ(z),最后使用任务特定的鉴别器dΨ完成不同的任务。

  • fθ(x):一个所以任务开始共同的表征。
  • gΦ(z):基于特定任务的隐性表达。
  • dΨ:最后用于不同任务和特殊任务的判别器
    在这里插入图片描述
    作者提出了三种不同的建模方法。顶部的行显示了这三种不同建模方法的形成,底部的行显示了它们相应的数学属性。(a) V矢量:基座单一,各尺寸相互独立;(b)神经网络:单个或多个基,每个维度依赖于另一个维度;©矩阵分解:多个基,每个维度与另一个维度是独立的。

4.2. Modeling implicit knowledge(隐性知识建模)

作者提出的隐性知识可以通过以下方式建模
Vector / Matrix / Tensor(向量/矩阵/张量):

  • Z

用向量z直接作为隐知识的先验,直接作为隐知识的表示。此时,必须假定每个维度都是相互独立的。
Neural Network(神经网络):

  • Wz

利用向量z作为隐式知识的先验,然后利用权值矩阵W进行线性组合或非线性化,得到隐式知识表示。此时,必须假定每个维度都是相互依赖的。我们也可以使用更复杂的神经网络来生成隐式表示。或者用马尔可夫链来模拟不同任务之间隐式表示的相关性。

Matrix Factorization(矩阵分解):
在这里插入图片描述
利用多个向量作为隐性知识的先验,这些隐性先验基于Z和系数c构成隐表示。还可以进一步对c进行稀疏约束,并将其转换为稀疏表示形式。此外,我们还可以对Z和c施加非负约束,将它们转化为非负矩阵分解(NMF)形式。

4.3. Training(训练)

假设我们的模型一开始没有任何先验的隐式知识,也就是说,它对f (x)的显式表示没有任何影响。什么时候合并运算符☆∈{加法,拼接},初始隐先验z ~ N(0, σ),当梳理算子☆是乘法,z ~ N(1, σ)。这里,σ是一个非常小的值,接近于零。对于z和φ,在训练过程中都使用了反向传播算法进行训练

4.4. Inference(推理)

由于隐式知识与观测x无关,无论隐式模型gφ多么复杂,在执行推断阶段之前,都可以将其简化为一组常数张量。换句话说,隐式信息的形成对算法的计算复杂度几乎没有影响。另外,当上面的算子是乘法时,如果后面的一层是卷积层,则用下面(9)积分。当遇到加法运算符时,如果前一层是卷积层且没有激活功能,则使用(10)如下所示进行积分。
在这里插入图片描述

https://blog.csdn.net/Q1u1NG/article/details/117023368?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163100860116780262575816%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163100860116780262575816&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v29_ecpm-10-117023368.first_rank_v2_pc_rank_v29&utm_term=YOLOR&spm=1018.2226.3001.4187

《You Only Learn One Representation: Unified Network for Multiple Tasks》

实验部分请看论文

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值