乐趣区

关于深度学习:多任务学习中的网络架构和梯度归一化

在计算机视觉中的单任务学习曾经获得了很大的胜利。然而许多事实世界的问题实质上是多模态的。例如为了提供个性化的内容,智能广告零碎应该可能辨认应用的用户并确定他们的性别和年龄,跟踪他们在看什么,等等。多任务学习 (Multi-Task Learning, MTL) 能够实现这样的零碎,其中一个模型在多个工作之间调配权重,并在一次正向传递中产生多个推理。

多任务学习中的优化

因为有多个工作同时运行所以 MTL 的优化过程与个别的单任务模型有所不同,为了防止一项或多项工作对网络权重产生主导影响,应该认真均衡所有工作的联结学习。这里介绍了一种思考工作均衡问题的办法。

MTL 问题中的优化指标能够表述为

这里‘wi’是特定工作的权重,‘Li’是特定的损失函数,应用随机梯度降落来最小化上述指标,共享层“Wsh”中的网络权重更新为:

当工作梯度发生冲突时,或者说当一个工作的梯度幅度远高于其余工作时,网络权重更新可能不是最优的。这就须要在损失中设置针对于不同工作的权重,这样能力保障梯度幅度在各个工作间的绝对均衡。

梯度归一化

有一种称为梯度归一化 (GradNorm)[1] 的优化办法,通过使不同工作的梯度具备类似大小来管制多任务网络训练的办法。这样能够激励网络以雷同的速度学习所有工作。在展现这种办法之前,咱们将介绍相干的符号。

这里也为每个工作 i 定义了不同的训练率:

GradNorm 旨在在多任务网络的训练过程中均衡两个属性:

1、均衡梯度幅度:均匀梯度被用作基线,能够依据该基线计算作业之间的绝对梯度大小。

2、在学习不同工作的速度之间找到一个很好的平衡点:应用了 loss 变化率(inversetrainingrate),工作 i 的梯度幅度应该随着绝对变化率的减少而减少,从而刺激工作更快地训练。GradNorm 通过缩小以下损失来实现这些指标。

其中 α 是已增加到方程中的附加超参数。α 设置“恢复力”的强度,能够使工作复原到一个一般的训练速率。在工作复杂性大导致工作之间的学习动静差别大时,应应用更大的 α 值来确保更好的训练率均衡。当问题更加对称时,须要较低的 α 值。

试验

这里应用了 NYUv2 的两种变体数据集。将每个视频的翻转和附加帧增加到规范 NYUv2 数据集中。咱们额定增加了 90,000 张照片,每张照片都蕴含单目深度预计, 外表法线预计, 关键点定位。这些额定的帧没有分段标签。所以就取得两个数据集:NYUv2+seg 和 NYUv2+kpts。这里将穿插熵用于宰割,将平方损失用于深度预计,将余弦类似度用于法线预计。

上表中看到 GradNorm α = 1.5 进步了所有三个工作绝对于等权基线的性能,并且超过或匹配每个工作的单个网络的最佳性能。

为了展现 GradNorm 如何在更大数据集的状况下执行,还在 NYUv2+kpts 数据集上进行了宽泛的试验。

只管训练损失更高了,但 GradNorm 通过对网络进行速率均衡将深度预计的测试误差缩小 5%。并最终将深度的权重克制到了低于 0.10,并且关键点的误差也呈现了通向的趋势,这就是网络正则化的显著趋势。

试验表明:对于各种网络架构例如回归和分类工作,与单任务网络、固定比例的基线和其余自适应多任务损失均衡技术相比,GradNorm 进步了准确性并缩小了跨多个工作的适度拟合。

深度多任务学习架构

本节将探讨可能同时学习 [2] 多个工作的网络架构。咱们将关注两种类型的深层多任务架构: 以编码器为核心的架构和以解码器为核心的架构。

以编码器为核心的架构在编码阶段共享工作特色,而后用一组独立的特定工作头解决它们。他们在一个解决周期中间接预测来自雷同输出的所有工作输入。

然而以编码器为核心的架构无奈捕获工作之间的共性和差别,最近的一些钻研工作发现:首先应用多任务网络来进行初始工作预测,而后利用这些初始预测的个性来进一步改良每个工作的输入。这些 MTL 办法也在解码阶段共享或替换信息,这里将它们称为以解码器为核心的体系结构。

试验

这里应用两个数据集(NYUD-v2 数据集和 PASCAL 数据集)对不同多任务架构的性能进行试验。

NYUD-v2 数据集思考了室内场景了解。这里专一于语义宰割和深度预计工作,mIoU (mean intersection over union)和 rmse (root mean square error)来别离评估语义宰割和深度预计工作。

PASCAL 数据集是密集预测工作的风行基准。F-measure (odsF) 用于评估边缘检测工作。语义宰割、和人体局部宰割工作应用 mIoU (mean intersection over union)进行评估。应用预测角度中的平均误差 (mErr) 来评估外表法线。

将多任务性能 ΔMTL 定义为每个工作的均匀性能降落:

li = 1,如果值越低意味着度量 Mi 的性能越好。

后果如下:

单任务与多任务:首先,将专一于编码器和专一于解码器的 MTL 模型与它们在 NYUD-v2 和 PASCAL 上的单任务对应进行比拟。绝对于单任务学习,MTL 能够提供几个长处,即更小的内存占用、缩小的计算次数和更高的性能。

在 NYUD-v2 上,MTL 证实了一种联结解决宰割和深度预计是无效策略。并且大多数 MTL 模型优于单任务网络集。

在 PASCAL 上,应用 MTL 基线时解决效率更高,但性能也会降落。大多数模型在 PASCAL 上的体现都没有优于它们的单任务模型,这是可能因为多任务的相关性的影响。在 NYUD-v2 上是语义宰割和深度预计的工作,这对工作密切相关的,语义宰割和深度预计都揭示了场景的类似特色,例如布局和对象形态或边界。然而 PASCAL 蕴含一个更大、更多样化的工作类型。

在比拟以编码器和以解码器为核心的模型时,咱们发现以解码器为核心的架构通常优于以编码器为核心的架构。咱们认为这是因为每种架构范式都有不同的用处。以编码器为核心的架构旨在通过在编码过程中共享信息来学习更丰盛的图像特色示意。以解码器为核心的那些专一于通过跨工作交互重复细化预测来改良密集预测工作。因为交互产生在网络输入左近,因而它们能够更好地对齐常见的跨工作模式,并大大晋升性能。

以编码器为核心和以解码器为核心都具备劣势。所以在将来,咱们能够尝试将这两种范式整合在一起。

深入研究

第一篇论文探讨了应用 GradNorm 进行自适应损失均衡以进步深度多任务网络的性能。不同的工作有不同的训练率和数据规模。Normal 办法可能会导致梯度不均衡,并主动专一于某一项工作而疏忽其余工作。论文提出的一种梯度归一化,用于深度多任务网络中的自适应损失均衡来解决这个问题。

第二篇论文比拟了编码器和解码器架构在不同数据集中的性能。结果表明,相干工作比应用多任务学习的不相干工作执行得更好,并且以解码器为核心的架构通常优于以编码器为核心的架构。

从这两篇论文中,咱们能够看到:应用多任务学习,相干工作比不相干工作体现更好;以解码器为核心的架构通常优于以编码器为核心的架构;这些论文关注的是 MTL 模型的优化器,而不是损失函数的定义。

总之,多任务学习有助于进步 AUC 分数的性能并缩小损失,对于不同类型的工作,特定的 MTL 模型会体现得更好。因而为特定的工作场景抉择或构建模型可能是目前最好的抉择。

援用

[1] GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks, arxiv 1711.02257

[2] Multi-Task Learning for Dense Prediction Tasks: A Survey, arxiv 2004.13379

https://www.overfit.cn/post/5a90e7982e254a0580ab3eeeec728714

作者:Huaizhi Ge

退出移动版