Machine learning method and pruning method
In a method of creating a learning model using a controller configured to perform pruning on a neural network, the pruning includes a first pruning process in which a pruning process is performed in units of channels of convolutional layers and a second pruning process in which a pruning process is performed in units of weight parameters.
1 . A method of creating a learning model in which pruning is performed on a neural network, the method executed by a controller and comprising:
the controller performing a first pruning process in which pruning is performed on the neural network in units of channels of convolutional layers; and
the controller performing a second pruning process in which pruning is performed on the neural network in units of weight parameters,
the method further comprising
the controller classifying convolutional layers of the neural network that are linked together by residual connections into a same group and calculating an importance level of the group so that all of the convolutional layers of the group have an identical importance level, and
the controller deciding, according to the importance level that has been calculated, whether to perform the first pruning process in units of channels in the convolutional layers classified into the group.
2 . The method according to claim 1 , wherein further comprising:
the controller performing training using a data set after the first pruning process,
the controller performing the second pruning process after the training, and
the controller performing training using a data set after the second pruning process.
3 . The method according to claim 2 , wherein
the controller performs the first pruning process and the training after the first pruning process continuously a plurality of times.
4 . The method according to claim 3 , wherein
the controller performs the second pruning process and the training after the second pruning process continuously a plurality of times.
5 . A method of pruning a neural network, the method executed by a controller and comprising:
the controller performing a first pruning process in which pruning is performed on the neural network in units of channels of convolutional layers; and
the controller performing a second pruning process in which pruning is performed on the neural network in units of weight parameters,
the method further comprising
the controller classifying convolutional layers of the neural network that are linked together by residual connections into a same group and calculating an importance level of the group so that all of the convolutional layers of the group have an identical importance level, and
the controller deciding, according to the importance level that has been calculated, whether to perform the first pruning process in units of channels in the convolutional layers classified into the group.
6 . A method of machine learning in which pruning is performed on a neural network, the method executed by a controller and comprising:
the controller classifying convolutional layers of the neural network that are linked together by residual connections into a same group and calculating an importance level of the group so that all of the convolutional layers of the group have an identical importance level, and
the controller deciding, according to the importance level that has been calculated, whether to perform the pruning in units of channels in the convolutional layers classified into the group.
7 . The method according to claim 6 , further comprising:
before the classifying, the controller calculating the importance level for each of the convolutional layers that are to be classified into the group, wherein
the calculating the importance level of the group includes calculating an average importance level by averaging the calculated importance levels of the convolutional layers classified into the group, and
the deciding whether to perform the pruning in units of channels in the convolutional layers classified into the group is based on the average importance level calculated for the group.
8 . The method according to claim 6 , further comprising:
the controller calculating, for a each individual convolutional layer of the neural network that is not classified into the group, the importance level of the individual convolutional layer individually, and
the controller deciding, according to the calculated importance level, whether to perform the pruning in units of channels in the individual convolutional layer.
9 . The method according to claim 6 , further comprising:
the controller taking as a target of the pruning a predetermined proportion of the convolutional layers in increasing order of the calculated importance levels, and
for the convolutional layers grouped into the group, the controller using a number of convolutional layers grouped into the group to calculate the predetermined proportion.