FaFS (CVPR, 2017)

文章: Fully-adaptive feature sharing in multi-task networks with applications in person attribute classification
作者: Yongxi Lu, Abhishek Kumar, Shuangfei Zhai
备注:

https://blog.csdn.net/cv_family_z/article/details/78224184

Paper Reading Note

URL: http://openaccess.thecvf.com/content_cvpr_2017/papers/Lu_Fully-Adaptive_Feature_Sharing_CVPR_2017_paper.pdf

TL;DR

在进行多任务学习时, 手动设计网络结构是一个繁琐, 低效的过程, 本篇文章提出了一种可以构建紧凑的多任务深度学习体系结构的方法. 主要思想是首先从一个较 “薄” 的网络开始, 然后在训练过程中以贪心的方式动态地扩展这个网络, 通过不断的迭代, 最终会创建出一种类似于树的深层体系结构,类似的任务处在相同的分支上. 作者在行人的多属性识别任务上验证了这种方法的有效性.


Algorithm

首先从一个教 “薄” 的网络开始, 令 thin-w 代表 “瘦身后” 的模型,$w$ 是瘦身因子,瘦身版的模型与原始VGG-16对比为图1所示:

最小化目标函数如下面的公式2所示:

接着作者使用贪心算法 SOMP 找到近似解 $w^* (l)$, 如算法2所示:

网络分割成两个或多个子网络或分支,对于行人属性,每个子网络的预测是sigmoid单元,生成归一化的属性置信度得分。
论文仅在结合点加宽网络,扩展后新增加的矩阵参数与扩展器参数矩阵大小相同,网络在扩展点有多个输出, 具体的过程如图2所示.

在进行任务之间的聚合时, 直观上可以知道, 对于相似度较小的两个任务, 作者应该提前将它们分割, 因为它们之间需要共享的特征较少, 也就是说, 对于相同的特征, 其中一个任务可以较好的识别, 但是另一个任务就无法识别了, 任务之间的关系描述为公式6所示:

两个分支的密切关系为公式 7 和 8 所示:

Experiment Detail

CelebA人脸属性分类和DeepFashion衣物属性分类如表1所示

不同方法之间的 acc, speed, 和 compactness 的比较如表2所示

当将任务组更改为将更多的不同任务分到同一组时,准确度会降低, 如图3所示

表4探究了不同分组所带来的影响:

Thoughts

多任务学习对于行人属性可以提点, 同样的, 对于车辆属性也应该具有类似的效果, 关键在于如何设计合理的多任务学习模型和损失函数, 文中虽然给出了一种基于贪心的自动构建方法, 但是这种方法是否能够方便的扩展到其他模型上, 这一点还有待论证.