Learning apparatus and learning method
A learning apparatus performs a first assignment in which M tasks that are different from each other are assigned to N neural networks (where N<M) and perform learning processing that is related to the M tasks in parallel; and determines, based on learning results of the respective M tasks, whether to assign, in subsequent learning processing, the respective M tasks to the same neural networks as in the first assignment or to neural networks different from those of the first assignment.
1 . A learning apparatus comprising one or more memories storing instructions and one or more processors that execute the instructions to:
perform a first assignment in which M tasks that are different from each other are assigned to N neural networks (where N<M) and perform learning processing that is related to the M tasks in parallel; and
determine, based on learning results of the respective M tasks, whether to assign, in subsequent learning processing, the respective M tasks to the same neural networks as in the first assignment or to neural networks different from those of the first assignment.
2 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
perform a predetermined number of times of learning processing for the first assignment in which the M tasks are assigned to the N neural networks; and
determine, by comparing results of learning in the first assignment, whether to assign, in a second assignment in which the M tasks are assigned to the N neural networks in subsequent learning processing, a first task and a second task, which have been assigned to the same neural network in the first assignment, to the same neural network or to different neural networks.
3 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
assign, in an initial state in which the learning processing is started, the M tasks to the N networks in an approximately even manner.
4 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
assign, in an initial state in which the learning processing is started, the M tasks to one network.
5 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
determine an assignment of the M tasks to the N neural networks in subsequent learning processing, using information that is related to losses at the time of learning, the losses being calculated as the learning results.
6 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
calculate performance values of weight coefficients of learned neural networks, using the weight coefficients and evaluation data that includes evaluation images and ground truth information; and
determine an assignment of the M tasks to the N neural networks in subsequent learning processing, using the performance values that have been calculated as learning results.
7 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
manage history of assignment that has been determined and in which the M tasks are assigned to the N neural networks; and
determine, based on the learning results and the managed history of assignment, an assignment of the M tasks to the N neural networks in subsequent learning processing.
8 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
manage the history of assignment and a learning result of each task for when a plurality of tasks are combined.
9 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
change a configuration of at least one neural network when a predetermined condition is satisfied, wherein
the predetermined condition is that learning processing is performed a predetermined maximum number of times and that the number of tasks for which a value of calculated loss at the time of learning is less than or equal to a target value is greater than or equal to a predetermined number.
10 . The learning apparatus according to claim 1 , wherein the one or more processors execute the instructions to:
perform learning processing using a plurality of learning parameters; and
determine, based on an integrated learning result for which a plurality of learning results according to the plurality of learning parameters have been integrated, an assignment of the M tasks to the N neural network in subsequent learning processing.
11 . The learning apparatus according to claim 1 , wherein
the N neural networks include a shared layer that is shared by the M tasks.
12 . A learning method comprising:
performing a first assignment in which M tasks that are different from each other are assigned to N neural networks (where N<M) and perform learning processing that is related to the M tasks in parallel; and
determining, based on learning results of the respective M tasks, whether to assign, in subsequent learning processing, the respective M tasks to the same neural networks as in the first assignment or to neural networks different from those of the first assignment.
13 . A non-transitory computer-readable recording medium storing a program that, when executed by a computer, causes the computer to perform a learning method comprising:
performing a first assignment in which M tasks that are different from each other are assigned to N neural networks (where N<M) and perform learning processing that is related to the M tasks in parallel; and
determining, based on learning results of the respective M tasks, whether to assign, in subsequent learning processing, the respective M tasks to the same neural networks as in the first assignment or to neural networks different from those of the first assignment.