多任务之间的任务亲密度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是天然相关的。

相关推荐
田里的水稻9 小时前
PyTorch_Dataloader\TensorBoard---数据加载与可视化
人工智能·pytorch·python·神经网络·机器学习
田里的水稻9 小时前
FA_CNN卷积神经网络三---非线性激活函数PyTorch
人工智能·pytorch·神经网络·机器学习·cnn
老鱼说AI11 小时前
脉冲神经网络:神经网络发展历史背景
人工智能·深度学习·神经网络·机器学习·自然语言处理·学习方法
小星星_ios13 小时前
从 3Blue1Brown 到 NumPy:手写一个神经网络训练 MNIST
人工智能·python·神经网络
在所不辞兄14 小时前
为什么残差连接能够缓解深层神经网络的退化问题,而不仅仅是改善梯度传播?
人工智能·深度学习·神经网络·机器学习
在所不辞兄2 天前
为什么神经网络对对抗扰动和分布偏移往往比较脆弱,而人类感知相对更鲁棒?
人工智能·深度学习·神经网络·机器学习
在所不辞兄2 天前
【神经网络干货】把指数级计算拆成四条一维路径:可分离 PI-DeepONet 如何破解高维 PDE
人工智能·深度学习·神经网络·机器学习
a puppy slide 葱2 天前
ENAS | 基于参数共享的高效神经网络架构搜索
论文阅读·人工智能·深度学习·神经网络·机器学习·计算机视觉·神经网络架构搜索
漂流瓶jz3 天前
【AI】大模型参数训练原理:Softmax/损失函数交叉熵/反向传播/梯度下降优化器/学习率调度器/训练数据划分
人工智能·神经网络·llm
茗创科技3 天前
静息态fMRI预处理没有一刀切:RESTplus参数选择与常见误区
神经网络·数据分析·脑网络·神经科学