利用不确定性来衡量多任务学习中的损失函数

Paper link:

CVPR 2018 Open Access Repository​openaccess.thecvf.com

 

Code link:

ranandalon/mtl​github.com图标

Abstract

多任务学习中的多元回归和分类让很多深度学习程序受益,但是多任务网络结构的性能受每一个任务损失函数的权重影响很大,常规的做法是手动调节这些权重参数,毫无疑问,这是一个低效和困难的工作,不同任务损失的尺度差异非常大,导致整体损失被某一个任务所主导,最终导致其他任务的损失无法影响网络共享层的学习过程。这也阻碍了MTL的进一步提升。本文针对多任务学习提出了一种新的策略,即通过考虑每个任务之间的同方差不确定性(homoscedastic uncertainty)来设置不同任务损失函数的权值(关于同方差不确定性的具体含义,我会展开进一步解释)。通过这样的设置,我们就可以同时学习不同单位或者尺度的回归和分类问题。本文将该方法应用于深度回归,语义和实例分割,实验结果表明,这种多任务统一的loss训练优于每一个模型任务单独训练的效果。

 

Introduction

多任务学习的目的是通过学习多个目标之间的共享表示来提升效率,预测精度和泛化能力。场景理解算法必须同时理解某一个场景中物体的几何形状和语义信息。不同物体之间的尺度是不同的,这就涉及到多任务学习中不同单位尺度物体的分类和回归问题的联合学习,将所有的任务融合到一个统一的模型中去有利于减少算力损耗和达到实时的要求。

同时训练多任务的常规方法是将各任务的loss简单相加或者设置统一的loss权重,更进一步,可能会手动的进行权重调整,上述的所有办法都是笨拙和低效的,因为整体的性能表现是高度依赖每一个loss的权重的,而这个权重的设置却是没有依据可循的,这就造成了矛盾和问题。作者认为,每个任务的最优权重依赖于衡量尺度并且最终依赖于任务噪声的大小

因此在这篇文章中,作者提出了新的权重设计原则,利用同方差的不确定性来结合多个任务的loss,同时学习多目标。作者将同方差不确定性解释为任务相关的权重,并且展示了如何推导一个多任务的损失函数,以及在这个过程中如何平衡不同的回归和分类损失。本文探索了有三个子任务的多任务学习网络,如下图所示,分别是语义分割,实例分割和深度估计,这三个网络具体的作用都很简单,在这里就不详细的解释了,这三个网络的训练设计到回归问题和分类问题。

综上,本文的创新点主要有三:

  1. 提出一种新的多任务学习损失函数权重设置方法即利用同方差不确定性同时学习不同尺度和数量的回归和分类问题。
  2. 提出一个用于语义分割,实例分割和深度回归的统一框架。
  3. 说明了不同loss权值设置对最终多任务网络性能的影响,以及与单独训练的模型相比,如何获得更好的性能提升。

Multi Task Learning with Homoscedastic Uncertainty

多任务学习涉及根据多个目标优化模型的问题,本质上是loss的统一化,最原始的做法如下式所示,将不同任务的loss简单线性加权求和:

但是这种loss的计算方法有很多的弊端,如下图所示,不同任务对wi的设置非常敏感,不同wi的设置对性能表现差别很大,而且最后一行的结果也表明,本文的方法设计的权重对于多任务的训练能够比单个任务更胜一筹。

组一:语义分类和深度回归权重-性能对比

组二:实例回归和深度回归权重-性能比较

 

下面就详细介绍怎样用同方差不确定性来确定多任务的权重

(1). Homoscedastic uncertainty as task-dependent uncertainty

在介绍相关知识前,我想先简单说一下"不确定性”应该如何理解,在很多情况下,深度学习领域都有极佳的表现,这种表现依赖于强大的算力和深厚的网络结构,会对问题给出一个特定的结果,比如无人驾驶中的语义分割,商用的语义分割网络是十分成熟的,但是还是出现过无人驾驶发生交通事故致人殒命,究其原因是分割中将车辆判别为背景。这说明,大多数情况下,深度学习会对问题给出一个答案,注意,是一个,不管这个答案在内部有多大的把握,也就是说模型不会给出对自己最终输出的结果有多大的置信度。也许你会想,这个答案是模型在众多候选中找到概率最大的(比如分类问题最后用softmax),但是在极端情况下,如分类A和B但是在测试阶段输入C类的图片,那么分类器大概率会带来无法预知的结果,而这种错误,在容错率极低的行业,如航天,军事等领域,是绝不能容忍的。试想一下,如果面多这种极端情况,在输出结果的同时给出一个极低的对结果的置信度,这个低置信度会带来预警,让人为进行干预,效果会好很多,这种置信度的输出,就要靠贝叶斯建模了。

在贝叶斯模型中,有两种主要类型的不确定性可以建模:

  • 认知不确定性(Epistemic uncertainty):是模型中的固有不确定性,由于训练数据量的不足,导致对于模型没见过的数据会有很低的置信度,认知不确定性测量的,是我们的输入是够存在于已经见过的数据的分布之中。认知不确定性解释了模型参数的不确定性。我们并不确定哪种模型权重能够最好地描述数据,但是拥有更多的数据却能降低这种不确定性。这种不确定性在高风险应用和处理小型稀疏数据时非常重要。认知不确定性可以通过增加训练数据消除。

 

  • 偶然不确定性(Aleatoric uncertainty):举一个例子,在数据标注时如果出现比较大的标注误差,这个误差不是模型带入的,而是数据本身就存在的,数据集里的bias越大,偶然不确定性就越大。

其中,偶然不确定性可以细分为两类:

(1)数据依赖型或异方差不确定性(Data-dependent or Heteroscedastic uncertainty):这种不确定性取决于输入的数据,并且预测结果作为模型的输出

(2)任务依赖型或同方差不确定性(Task-dependent or Homoscedastic uncertainty):不依赖于输入数据,也不会是模型输出结果,而是对所有输入数据相同的常量,对不同任务不同的变量,基于这个特性,叫做任务依赖型不确定性

因为在多任务学习中,任务的不确定性表明了任务键的相对置信度,反映了回归和分类问题中固有的不确定性。因此本文提出把同方差不确定性作为噪声来对多任务学习中的权重进行优化。

(2). Multi-task likelihoods

本小节主要推导一个多任务损失函数,这个损失函数利用同方差不确定性来最大化高斯似然估计。首先定义一个概率模型:

这是对于回归问题的概率模型定义,fw(x)是神经网络的输出,x是输入数据,W是权重

对于分类问题,通常会将输出压入sigmoid中,如下式所示:

接下来,定义多任务的似然函数:

其中,yi是多任务中每个子任务的输出

那么,极大似然估计就可以表示下式,(5)式也表明,该极大似然估计与右边成正比,其中,σ是高斯分布的标准差,也是作为模型的噪声,接下来的任务就是根据W和σ最大化似然分布

以两个输出y1和y2为例:得到如(6)式高斯分布:

则此时的极大似然估计为(7)式:

可以看到,最后一步中用损失函数替换了y和f的距离计算,即:

同理可知L2

继续分析(7)式子可得,我们的任务是最小化这个极大似然估计,所以,当σ(噪声)增大时,相对应的权重就会降低;另一方面,随着噪声σ减小,相对应的权重就要增加

接下来,将分类问题也考虑上,分类问题一般加一层softmax,如(8)式所示:

那么softmax似然估计为:

接下来考虑这种情况:模型的两个输出,一个是连续型y1,另一个是独立型y2,分别用高斯分布和softmax分布建模,可得(10)式:

同理,

L2(W)替换为:

Experiments

本文实验的数据集是CitySpaces,一个丰富的道路场景数据集,链接如下

Semantic Understanding of Urban Street Scenes​www.cityscapes-dataset.com图标

下表清晰的对比了三个任务单独学习的性能和通过多任务训练loss的性能提升

 

So

文章首先提出了神经网络中需要对不确定性加以重视,本文着重探讨的是偶然不确定性中的任务依赖型又称同方差不确定性,在输出结果的同时需要计算结果置信度,优化极大似然分布,实现动态规划不同任务之间的权值。

参考文章

What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?​papers.nips.cc

 

https://blog.csdn.net/zengxiantao1994/article/details/72787849​blog.csdn.net

 

模型可解释性差?你考虑了各种不确定性了吗? | 雷锋网​www.leiphone.com图标

 

https://blog.csdn.net/weixin_43864473/article/details/86545019​blog.csdn.net

 

 

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
相信现在年轻一代,找不到一个不接触网络的人。网络虽然是一个虚拟的世界,但是它可以很容易就让你各种各样的信息暴露,甚至威胁到你的人身或财产安全!所以,学习掌握一些网络安全知识对我们来说也是很必要的! 准确地说,关于信息安全或者信息保障主要有两个要素:首先,正确配置系统和网络并且保持这种正确配置,因为这一点很难做到完美;第二个要素就是清楚知道进出网络的流量。这样的话,当发生严重的问题时,你就能检测出问题错在。因此,网络安全的主要任务主要包括以下三方面: 保护,我们应该尽可能正确地配置我们的系统和网络 检测,我们需要确认配置是否被更改,或者某些网络流量出现问题 反应,在确认问题后,我们应该立即解决问题,尽快让系统和网络回到安全的状态 纵深防御 必须知道的网络安全知识全文共8页,当前为第1页。因为我们并不能实现绝对的安全,所以我们需要接受一定级别的风险。风险的定义就是系统漏洞带来威胁的可能性,风险是很难计算的,不过我们可以通过分析已知的攻击面、可能被攻击者获取或者利用的漏洞等因素来确定大概的风险级别。漏洞扫描器或者渗透测试可以帮助我们衡量或者定义攻击面,可以帮助我们降低风险以及改进系统安全状况的方法就是采用多层防御措施,主要有五种基本因素来建立纵深防御: 必须知道的网络安全知识全文共8页,当前为第1页。 纵深防御保护方法一般都会采用防火墙将内部可信区域与外部互联网分离,大多数安全部署都会在服务器和计算机的邮件存储和发送进行防病毒检测,这意味着所有的内部主机都受到计算机网络基础设施的相同级别的保护。这是最常见且最容易部署的安全措施,但是从实现高水准信息安全保障的角度来看,这也是实用率最低的方式,因为所有计算机包含的信息资产对于企业并不是相等重要的。 受保护的领域,这意味着将内部网络分成若干个子区域,这样网络就不是一个没有内部保护的大区域。这可以通过防火墙、、、VLAN和网络访问控制来实现。 必须知道的网络安全知识全文共8页,当前为第2页。信息心 必须知道的网络安全知识全文共8页,当前为第2页。 一位早期著名的计算研究员Adm.GraceHopper曾表示,"将来,在企业资产负债表上的大部分条目都会出现'信息'这两个字,信息将会比处理信息的硬件更加重要。"我们必须理解并且能够帮助其他人理解信息的价值。除了非常重要的知识产权信息如专利、商标、版权等外,企业记录数据也越来越重要。想要建立一个信息为心的纵深防御架构,我们必须确定关键的有价值的信息的存储位置,并且必须确保部署了适当的保护。从过去来看,这是非常昂贵的并且通常被企业忽视这方面的保护,不过根据法律法规的修改,很多企业必须建立定位和标记所有信息的程序。 威胁矢量分析纵深防御与信息为心很类似,它要求我们首先确定我们想要保护的资产按照优先权的顺序,对威胁可能用于利用漏洞的路径进行分析确认,并且找出如何对矢量部署控制以预防威胁利用漏洞的方法。 必须知道的网络安全知识全文共8页,当前为第3页。基于角色的访问控制RBAC是一种访问权限控制方法,企业部署这种控制主要是为了确保只有授权用户才能访问指定数据。与其他访问权限控制方法不同的是,基于角色的访问控制为用户分配了具体的角色,并且根据用户的工作要求为每种角色设置了权限。可以给用户分配任何角色类型以帮助用户完成每日工作任务。例如,用户可能需要开发者角色以及分析师角色等。每个角色都会定义不同的权限以访问不同的对象。有了网络访问控制,我们可以将这种控制方法从系统组群扩大到整个企业,这需要更高的配置以及更好的保护。 必须知道的网络安全知识全文共8页,当前为第3页。 加密 必须知道的网络安全知识全文共8页,当前为第4页。当纵深防御措施失效的时候,对于数据的保护就只能靠加密了。加密功能可以是非常强大的:如果企业使用的是现代算法,且加密信息得到了非常强大的保护,那么加密数据就不会被攻击。但是,我们用于管理加密的程序可能被攻击,而这使与密钥管理相关的程序变得非常重要。例如,很多企业购买了全盘加密解决方案,但是如果没有密钥的话,就无法修改加密程序。不过位于普林斯顿的研?ahref='//'target='_blank'>咳嗽苯?昭芯砍隽舜?ahref='//'target='_blank'>内存获取密钥的方法,这也使很多厂商的产品受到威胁。主要有三种类型的加密算法:秘密密钥、公钥和hash函数。与私钥和公钥算法不同的是,hash函数也被称为信息摘要或者单向加密没有密钥。固定长度的hash值是基于纯文本可以涵盖纯文本的内容或者长度来计算的。在加密学Hash函数的主要应用应用就是信息完整性,hash值为信息内容提供了一个数字指纹,这能够确保信息不会被攻击者、病毒或者其他对象所修改。因为两种不同的文本产生相同的hash值的可能性是非常低的,这也使hash算法

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值