多任务之间的任务亲密度MTI-Net

论文《MTI-Net: Multi-Scale Task Interaction Networks for Multi-Task Learning》提出了任务亲密度的概念。MIT-Net 核心立足点是:和通常大家认为的不同,两个任务在某一个尺度上关系很密切(可以互相帮助),并不代表它们在别的尺度上也同样密切;反过来也成立。

一、任务亲密度

任务亲密度,tast affinity 是指任务如果使用同类型的特征,则任务亲密度高,如何不同任务使用完全不同的特征,则任务亲密度低。

例如:对于如下类型的图片,图片内容是一辆车停在路边

任务A分割: 找到car/ road/ sky

任务B轮廓: 找到物体边界

  • 在高分辨率尺度(浅层特征),类似FPN的P2/P3特征,可以看到轮胎边缘、车窗边界、车身轮廓,把任务B比较关系,哪里亮度变化大,哪里就有边界;任务A也同样需要物体边界,否则车和背景会混在一起,所以这个时候两个任务高度一致,所以task affinity 比较高,共享feature 很有帮助;
  • 在低分辨率尺度(高层特征),类似FPN的P4/P5,例如原图是512x512,变成了16x16,很多细节都没有了,车辆边缘早就模糊成一团,任务A分割关系的是,这个区域像不像car,那块区域想不想road,所以需要global semantics 和 scene contex 特征;
  • 这里延伸理解下,global semantics和scene contex特征,global semantics是模型理解整张图的大概语义,例如看到一张图:马路、汽车、天空、建筑,形成高层理解:这是街景。所以global semantics需要类别信息,例如car, person, road, dog,场景类型:indoor, outdoor, street, kitchen, railawy, 整体结构,所以这些信息一般出现在深层feature,例如P5,因为感受野大;
  • 再说下scene contex特征,场景上下文,不是问:图里是什么,而是问:这个东西通常出现在什么环境里,比如看到一个模糊小块,红色矩形,很难判断,但周围有马路,车辆,路口,于是模型推断是traffic sign,这就是scene contex,利用的是co-occurrence prior共现规律,例如人通常在哪里,船通常在哪里,天空通常在图像的哪里,所以这个特征也是在高层。

二、之前多任务结构的问题

  • 之前比较经典的多任务结构,输入,共享编码,然后每个任务每个头,有几个任务,就有几个头,这种结构,默认,每个任务在所有层都适合共享,例如P2到P5都共享,共享程度100%。
  • 还有一种结构,是在固定某个层分叉,例如在P4层分叉,然后开始每个任务每个头;
  • UberNet的问题是,虽然这个结构每个任务都有自己的decoder,但是每个任务都共享C1到C5,这种共享就是任务的冲突点,C5是高层语义的主要冲突点,因为C5通常编码目标语义,场景理解和比较大的感受野,但是不同任务对高层语义要求不同,这就容易冲突。
  • C5是高层语义瓶颈,分割希望C5保留空间信息,分类希望C5压缩空间信息,边缘检测希望C5突出边界信息,所以C5会出现多个任务的冲突

三、量化像素亲密度

一中说是理论上的不一致,MIT-NET论文中量化了这种像素亲密度

  • 每个任务在标签空间计算局部像素亲密度,例如选择核3x3大小,在标签空间,比较中心点像素i和每个path内像素j的标签是否一直,如果一直,为,不一致,为0;核在整张图片上滑动,可以得到整张图片中,像素对pair(i,j)的亲密值;
  • 改 dilation,扩大 receptive field,再重新统计,3x3核大小不变,开始dilation=1,2,3,4.。。。;
  • 跨任务比较同一个 pixel pair 的 affinity 是否一致,对于同一个 pixel pair (i,j),看不同任务是否给出同样判断,例如A_seg(i,j)=1,A_depth(i,j)=1,两个任务在pair(i,j)上match。

四、进一步思考

因为最近也在做多任务,但是我的这个多任务和MIT-net中的不太一样,MIT-NET中的多任务是分割、深度估计、边缘识别,这三种任务都是像素级别的,所以这三个任务都关系的是dense prediction ,就是每个像素都要输出结果,语义分割(semantic segmentation):每个像素预测类别,深度估计(depth estimation):每个像素预测距离,边缘检测(edge detection):每个像素预测是不是边缘。但是我的多任务,一个任务A是车轮检测,这个任务B需要位置和局部纹理,一个任务是是否有车,这任务需要全局语义,所以三种的像素亲密度的计算,不适合我这个多任务的评估。

我的任务A和任务B是天然相关的。

相关推荐
问天_观心11 小时前
零基础在windows环境下的WSL使用llamafactory(二)
人工智能·神经网络·语言模型·github·模型蒸馏
LaughingZhu16 小时前
Product Hunt 每日热榜 | 2026-08-18
人工智能·经验分享·深度学习·神经网络·产品运营
木棉知行者18 小时前
【第8篇】OverLock(CVPR2025):新型卷积神经网络OverLoCK,通用的即插即用Backbone!
人工智能·深度学习·神经网络·cnn
程序猿编码20 小时前
不用PyTorch,我用C++手写了一个能认手写数字的神经网络
c++·pytorch·神经网络·大模型
闻道且行之21 小时前
图片处理助手|C++ 手搓离线 AI 抠图工具,U2Net 原理到落地一次讲透
开发语言·c++·人工智能·神经网络·opencv·计算机视觉
问天_观心2 天前
零基础在windows环境下的WSL使用llamafactory(一)
人工智能·windows·python·神经网络·语言模型·github·模型蒸馏
TonyLee0173 天前
神经网络门控机制探讨
人工智能·深度学习·神经网络
头发够用的程序员4 天前
Nsight Systems 零基础入门:Trace采集与基础操作
人工智能·深度学习·神经网络·计算机视觉·边缘计算·分析工具
XLYcmy4 天前
京东 算法实习一面 上
rnn·神经网络·llm·微调·transformer·训练·对齐
就是一顿骚操作5 天前
VGG:用小卷积块把 CNN 做深的经典解读
人工智能·深度学习·神经网络·cnn·论文解读