US 11,934,944 B2
Neural networks using intra-loop data augmentation during network training
Takuya Goto, Tokyo (JP); Masaharu Sakamoto, Kanagawa (JP); and Hiroki Nakano, Shiga (JP)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Oct. 4, 2018, as Appl. No. 16/151,648.
Prior Publication US 2020/0110994 A1, Apr. 9, 2020
Int. Cl. G06N 3/08 (2023.01); G06F 18/214 (2023.01); G06N 3/044 (2023.01); G06V 10/772 (2022.01); G06V 10/82 (2022.01)
CPC G06N 3/08 (2013.01) [G06F 18/214 (2023.01); G06N 3/044 (2023.01); G06V 10/772 (2022.01); G06V 10/82 (2022.01)] 14 Claims
OG exemplary drawing
 
1. A method for training a neural network with augmented data comprising:
obtaining a dataset for a plurality of classes for training the neural network;
augmenting, prior to initiation of training, the dataset by performing affine transformations of data in the dataset, wherein an amount of augmented data generated is determined by a data augmentation variable;
training the neural network for the plurality of classes with the augmented dataset produced according to the data augmentation variable;
determining an accuracy for each class based on results of training the neural network, wherein the accuracy for a corresponding class is determined as a ratio of correct predictions for the corresponding class over data from the augmented dataset for the corresponding class;
determining a total loss and a difference of class accuracy for each class based on results of training the neural network, wherein the difference of class accuracy is a difference between the determined accuracy of different classes;
updating the data augmentation variable based on the total loss and class accuracy for each class;
augmenting the dataset by performing affine transformations of the data in the dataset according to the updated data augmentation variable, wherein augmenting the dataset according to the updated data augmentation variable includes:
comparing the difference of class accuracy for a first class with greater accuracy and a second class with less accuracy to a threshold; and
reducing a number of training samples for the neural network for the first class with greater accuracy and increasing the number of training samples for the neural network for the second class with less accuracy in response to the difference of class accuracy for the first and second classes being greater than the threshold; and
training the neural network with the augmented dataset produced according to the updated data augmentation variable, wherein operations of updating, augmenting according to the updated data augmentation variable, and training with the augmented dataset produced according to the updated data augmentation variable are performed until a ratio of a first number of augmented samples over a second number of augmented samples is equal to or larger than a ratio threshold, and wherein the first number of augmented samples includes a number of augmented samples of a class with a maximum number of augmented samples among the plurality of classes and the second number of augmented samples includes a number of augmented samples of a class with a minimum number of augmented samples among the plurality of classes.