IP Library Granted Patent US 11,934,944
Granted Patent B2
US 11,934,944 · App. 16/151,648 · Granted Mar 19, 2024

Neural networks using intra-loop data augmentation during network training

Inventors: Takuya Goto (Tokyo, JP); Masaharu Sakamoto (Kanagawa, JP); Hiroki Nakano (Shiga, JP)
Assignee: International Business Machines Corporation
G06N3/08G06F18/214G06N3/044G06V10/772G06V10/82
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,934,944
App. No.
16/151,648
Granted
Mar 19, 2024
Kind
B2
Abstract

Methods and systems are provided for training a neural network with augmented data. A dataset comprising a plurality of classes is obtained for training a neural network. Prior to initiation of training, the dataset may be augmented by performing affine transformations of the data in the dataset, wherein the amount of augmentation is determined by a data augmentation variable. The neural network is trained with the augmented dataset. A training loss and a difference of class accuracy for each class is determined. The data augmentation variable is updated based on the total loss and class accuracy for each class. The dataset is augmented by performing affine transformations of the data in the dataset according to the updated data augmentation variable, and the neural network is trained with the augmented dataset.

Claims (44)

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.

2. The method of claim 1 , wherein when the total loss is smaller than a predetermined threshold of loss and the difference of class accuracy is larger than a predetermined threshold of difference of class accuracy, iteratively performing updating, augmenting according to the updated data augmentation variable and training with the augmented dataset produced according to the updated data augmentation variable.

3. The method of claim 1 , wherein the neural network exhibits a performance improvement as compared to a same neural network trained only with augmentation data prior to initiation of training.

4. The method of claim 1 , wherein the affine transformations include rotating, blurring or translating the data.

5. The method of claim 1 , wherein a magnitude of the data augmentation variable is initialized based on a size of a class.

6. The method of claim 1 , wherein an epoch value determining a number of times that the augmented dataset trains the neural network is greater than one.

7. A system for training a neural network with augmented data comprising at least one processor configured to:

obtain a dataset for a plurality of classes for training the neural network;

augment, 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;

train the neural network for the plurality of classes with the augmented dataset produced according to the data augmentation variable;

determine 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;

determine 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;

update the data augmentation variable based on the total loss and class accuracy for each class;

augment 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

train 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.

8. The system of claim 7 , wherein when the total loss is smaller than a predetermined threshold of loss and the difference of class accuracy is larger than a predetermined threshold of difference of class accuracy, the at least one processor is further configured to iteratively perform updating, augmenting according to the updated data augmentation variable and training with the augmented dataset produced according to the updated data augmentation variable.

9. The system of claim 7 , wherein the neural network exhibits a performance improvement as compared to a same neural network trained only with augmentation data prior to initiation of training.

10. The system of claim 7 , wherein the affine transformations include rotating, blurring, or translating the data.

11. The system of claim 7 , wherein a magnitude of the data augmentation variable is initialized based on a size of a class.

12. A computer program product for training a neural network with augmented data, the computer program product comprising one or more computer readable storage media collectively having program instructions embodied therewith, the program instructions executable by a processor to:

obtain a dataset for a plurality of classes for training the neural network;

augment, 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;

train the neural network for the plurality of classes with the augmented dataset produced according to the data augmentation variable;

determine 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;

determine 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;

update the data augmentation variable based on the total loss and class accuracy for each class;

augment 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

train 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.

13. The computer program product of claim 12 , wherein when the total loss is smaller than a predetermined threshold of loss and the difference of class accuracy is larger than a predetermined threshold of difference of class accuracy, the program instructions are executable to iteratively perform updating, augmenting according to the updated data augmentation variable and training with the augmented dataset produced according to the updated data augmentation variable.

14. The computer program product of claim 12 , wherein a magnitude of the data augmentation variable is initialized based on a size of a class.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2018
From: GOTO, TAKUYA; SAKAMOTO, MASAHARU; NAKANO, HIROKI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047068/0715 →
Continuity (1)
Related Publication 20200110994A1 · Apr 9, 2020
Cited By (1)
US 12,254,983