Controllable dynamic multi-task architectures
Systems and methods for generating a hypernetwork configured to be trained for a plurality of tasks; receiving a task preference vector identifying a hierarchical priority for the plurality of tasks, and a resource constraint as a tuple; finding tree sub-structures and the corresponding modulation of features for every tuple within an N-stream anchor network; optimizing a branching regularized loss function to train an edge hypernet; and training a weight hypernet, keeping the anchor net and the edge hypernet fixed.
1 . A method for building a dynamic multi-task network, comprising:
generating a hypernetwork configured to model tradeoffs among a plurality of competing tasks;
receiving a task preference vector identifying a hierarchical priority for the plurality of competing tasks, and a resource constraint as a tuple;
finding tree sub-structures and the corresponding modulation of features for every tuple within an N-stream anchor network;
optimizing a branching regularized loss function to train an edge hypernet, wherein the branching regularized loss function is based on an active loss L active and an inactive loss, the active loss, L active , is calculated as:
ℒ
active
=
∑
l
=
1
L
∑
i
,
j
∈
𝒜
i
≠
j
L
-
l
L
·
A
(
i
,
j
)
·
P
(
l
,
i
,
j
)
·
v
i
l
-
v
j
l
2
where P(l, i, j)=P use (l, i)>P use (l, j) is the probability that the nodes i and j in layer l are used in the sampled tree structure, and A(i, j) captures the task affinity between tasks, τ i and τ j , and
υ
i
l
and
υ
j
l
are samples, represents active tasks and L represents the total number of layers;
training a weight hypernet, keeping the anchor network and the edge hypernet fixed; and
generating, by the hypernetwork before inference time, an architectural configuration for a main model based on the task preference vector and the resource constraint.
2 . The method as recited in claim 1 , wherein the N-stream anchor network has fixed weights for finding the tree sub-structures.
3 . The method as recited in claim 1 , wherein finding the tree sub-structures includes selecting a parent from every node.
4 . The method as recited in claim 1 , wherein the edge hypernet predicts the branching parameters within the anchor network.
5 . The method as recited in claim 1 , further comprising optimizing a task loss, L task , by taking into account the individual competing task performances without considering a computational cost.
6 . The method as recited in claim 1 , wherein competing tasks with higher preferences have a greater influence.
7 . The method as recited in claim 1 , wherein the active loss is additionally weighted by a cost preference, c, of the resource constraint tuple to enable the control of total computational cost.
8 . A computer system for building a dynamic multi-task network, comprising:
one or more processors;
a memory in communication with the one or more processors; and
a dynamic multi-task network builder stored in the memory, wherein the dynamic multi-task network builder performs;
generate a hypernetwork configured to model tradeoffs among a plurality of competing tasks;
receive a task preference vector identifying a hierarchical priority for the plurality of competing tasks, and a resource constraint as a tuple;
find tree sub-structures and the corresponding modulation of features for every tuple within an N-stream anchor network;
optimize a branching regularized loss function to train an edge hypernet, wherein the branching regularized loss function is based on an active loss L active and an inactive loss, the active loss, L active , is calculated as:
ℒ
active
=
∑
l
=
1
L
∑
i
,
j
∈
𝒜
i
≠
j
L
-
l
L
·
A
(
i
,
j
)
·
P
(
l
,
i
,
j
)
·
v
i
l
-
v
j
l
2
where P(l, i, j)=P use (l, i)·P use (l, j) is the probability that the nodes i and j in layer l are used in the sampled tree structure, and A(i, j) captures the task affinity between tasks, τ i and τ j , and
υ
i
l
and
υ
j
l
are samples, represents active tasks and L represents the total number of layers;
training a weight hypernet, keeping the anchor net and the edge hypernet fixed; and
generating, by the hypernetwork before inference time, an architectural configuration for a main model based on the task preference vector and the resource constraint.
9 . The computer system for building a dynamic multi-task network of claim 8 , wherein the N-stream anchor network has fixed weights for finding the tree sub-structures.
10 . The computer system for building a dynamic multi-task network of claim 8 , wherein finding the tree sub-structures includes selecting a parent from every node.
11 . The computer system for building a dynamic multi-task network of claim 8 , wherein the edge hypernet predicts the branching parameters within the anchor network.
12 . The computer system for building a dynamic multi-task network of claim 8 , further comprising optimizing a task loss, L task , by taking into account the individual competing task performances without considering a computational cost.
13 . The computer system for building a dynamic multi-task network of claim 8 , wherein competing tasks with higher preferences have a greater influence.
14 . The computer system for building a dynamic multi-task network of claim 8 , wherein the active loss is additionally weighted by a cost preference, c, of the resource constraint tuple to enable the control of total computational cost.
15 . A non-transitory computer program product for building a dynamic multi-task network, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising:
generating a hypernetwork configured to model tradeoffs among a plurality of competing tasks;
receiving a task preference vector identifying a hierarchical priority for the plurality of competing tasks, and a resource constraint as a tuple;
finding tree sub-structures and the corresponding modulation of features for every tuple within an N-stream anchor network;
optimizing a branching regularized loss function to train an edge hypernet, wherein the branching regularized loss function is based on an active loss L active and an inactive loss, the active loss, L active , is calculated as:
ℒ
active
=
∑
l
=
1
L
∑
i
,
j
∈
𝒜
i
≠
j
L
-
l
L
·
A
(
i
,
j
)
·
P
(
l
,
i
,
j
)
·
v
i
l
-
v
j
l
2
where P(l, i, j)=P use (l, i)·P use (l,j) is the probability that the nodes i and j in layer l are used in the sampled tree structure, and A(i,j) captures the task affinity between tasks, τ i and τ j , and
υ
i
l
and
υ
j
l
are samples, represents active tasks and L represents the total number of layers;
calculating an active loss and an inactive loss to determine branching within the anchor network
training a weight hypernet, keeping the anchor network and the edge hypernet fixed; and
generating, by the hypernetwork before inference time, an architectural configuration for a main model based on the task preference vector and the resource constraint.
16 . The computer program product as recited in claim 15 , wherein the N-stream anchor network has fixed weights for finding the tree sub-structures.
17 . The computer program product as recited in claim 15 , wherein finding the tree sub-structures includes selecting a parent from every node.
18 . The computer program product as recited in claim 15 , wherein the edge hypernet predicts the branching parameters within the anchor network.
19 . The computer program product as recited in claim 15 , further comprising optimizing a task loss, L task , by taking into account the individual competing task performances without considering a computational cost.
20 . The computer program product as recited in claim 15 , wherein competing tasks with higher preferences have a greater influence.