You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Really nice work! I have a question from the forward() function in EXAMPLES.md.
y, meta, actions = self._initialization(y, tasks=tasks)
y, meta, task_actions = self._per_task_assignment(y, meta, actions)
y, meta, routing_actions_1 = self._decision_1(y, meta, task_actions)
y, meta, _ = self._selection_1(y, meta, routing_actions_1)
What is the difference between the contents of actions returned by the init layer, task_actions from PerTaskAssignment, and routing_actions from the decision layers? Why do we pass task_actions to each decision layer and routing_actions to each selection layer? Furthermore, why do we throw away the _ actions returned by the selection layers?
Could you help me understand, please? Thanks!
The text was updated successfully, but these errors were encountered:
Thanks for that question. The example is slightly misleading, as actions is None anyways. Here's the full explanation as to what the different actions are:
actions, is None, and is just a placeholder so that all of the different modules (including initialization) have the same return signature. I'll update the example and replace it with _, or some other variable name that emphasizes this.
task_actions and routing_actions are two different hierarchies of actions. In the paper, and more importantly in this tech report, we investigate hierarchical routing actions. In the original paper, the higher hierarchy was given by the task labels, as these de facto act as hardcoded actions. In the dispatching paper, the higher hierarchy is also learned.
Thus, task_actions are used to select one of the agents implementing decision_1. routing_actions, in turn, then select the actual module.
More intuitively, the network implemented in that example assigns a separate agent to each task. The task_actions assign a sample to the agent corresponding to the task (this happens in _decision_1). That particular subagent selected by that task label, in turn, selects the routing_actions, which are then used to select the module.
Hi Mr. Rosenbaum,
Really nice work! I have a question from the forward() function in EXAMPLES.md.
What is the difference between the contents of
actions
returned by the init layer,task_actions
from PerTaskAssignment, androuting_actions
from the decision layers? Why do we passtask_actions
to each decision layer androuting_actions
to each selection layer? Furthermore, why do we throw away the_
actions returned by the selection layers?Could you help me understand, please? Thanks!
The text was updated successfully, but these errors were encountered: