摘要
当任务相关性较低时,经典的多任务神经网络的准确性可能会显着下降。但手动调优的方法是不可扩展的,软参数共享模型要么不够灵活要么计算成本高。因此论文提出了一种称为子网络路由 (SNR) 的新框架,以实现更灵活的参数共享,同时保持经典多任务神经网络模型的计算优势。SNR 将共享的低级隐藏层模块化为多层子网络,并控制子网络与可学习的潜在变量的连接,以实现灵活的参数共享。
方法
子网模块化
将整个神经网络模型拆分成某种形式的子网络,允许不同的任务利用不同的子网络。提出了图1中的两种分子网及互相routing的方式,被称为SNR-Trans和SNR-Aver。
图1
首先,SNR会把shared bottom部分分割中上下两个子网络(sub-networks),两个子网络之间通过二进制编码变量(binary coding variable,取值非0即1)连接,SNR-Trans和SNR-Aver的不同,就体现在连接方式的不同。假设第一层子网络有三个,输出是
u
1
,
u
2
,
u
3
u_1,u_2,u_3
u1,u2,u3,第二层子网络有两个,输入是
v
1
,
v
2
v_1,v_2
v1,v2,SNR-Trans通过神经网络的矩阵运算转换连接两个子网络,SNR-Trans公式表达如下:
其中,
W
i
j
W_{ij}
Wij表示从
u
j
,
v
i
u_j,v_i
uj,vi的转换矩阵,
z
i
j
z_{ij}
zij是二进制编码变量。SNR-Aver通过加权平均(weighted average),公式表达如下:
其中,
I
i
j
I_{ij}
Iij表示从
u
j
u_j
uj到
v
i
v_i
vi的单位矩阵。
手动调优和NAS
手动调优网络架构相当于手动设置编码变量 z。但当任务变多时则该方法非常低效。因此可以采用NAS来自动学习。
优化目标:
E
1
N
Σ
i
=
1
N
L
(
f
(
x
i
;
W
,
g
(
s
)
)
,
y
i
)
+
λ
Σ
j
=
1
∣
z
∣
(
1
−
Q
(
s
j
<
0
)
)
E\frac{1}{N} \Sigma_{i=1}^{N} L(f(x_i;W,g(s)),y_i)+\lambda \Sigma_{j=1}^{|z|}\big(1-Q(s_j<0)\big)
EN1Σi=1NL(f(xi;W,g(s)),yi)+λΣj=1∣z∣(1−Q(sj<0))。
λ
\lambda
λ是超参数。
在推断的过程中,使用公式来求z:
z
=
m
i
n
(
1
,
m
a
x
(
0
,
s
i
g
m
o
i
d
(
l
o
g
(
α
)
)
(
ζ
−
γ
)
+
γ
)
)
)
z=min(1,max(0,sigmoid(log(α))(ζ−γ)+γ)))
z=min(1,max(0,sigmoid(log(α))(ζ−γ)+γ)))
实验
使用 YouTube8M (Abu -El-Haija et al. 2016)作为基准数据集来评估亲的有效性提出的方法。
使用平均平均精度(MAP)作为每个预测准确度的度量任务,具体使用 MAP@10 。
图2 最佳调整模型的准确性。 条形图显示了验证性能选择的前 10 个模型的平均测试性能。 误差条表示平均测试性能的标准误差。
图3 宏观平均 - MAP@10 与模型大小。 y 轴是 Macro Average-MAP@10 上的测试性能。x 轴是训练时模型参数的总数。 每个模型中第一个共享层的总隐藏大小固定为 2048,第二个共享层的总隐藏大小变化以获得不同的模型大小。
如图2所示,SNR-Trans 和 SNR-Aver 优于形成所有基线模型。
图3意味着由 L0 规则消除的模型参数SNR模型中的larization也被计算在内。这个结果表明SNR方法可以训练更大的模型优于基线方法。
图4 不同模型大小和 L0 正则化参数的 SNR-Trans 模型的 Macro Average-MAP@10
图5 表现最佳的 SNR-Trans 模型中任务的平均子网利用率
图4表示在保持相同的精度下,可以将模型大小减小的比例多达11%。
图5表示在模型中,模型将学习分配更多的容量给具有更多数据的任务。