IP Library Granted Patent US 11,620,511
Granted Patent B2
US 11,620,511 · App. 16/486,576 · Granted Apr 4, 2023

Solution for training a neural network system

Inventor: Harri Valpola (Helsinki, FI)
Assignee: Canary Capital LLC
G06N3/08G06N3/0454
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,620,511
App. No.
16/486,576
Granted
Apr 4, 2023
Kind
B2
Abstract

Disclosed is a computer-implemented method for training a neural network system including an original neural network and a label generator. The method is based on an idea that the neural network system is trained by a sequence of training steps where at each training step at least one of a plurality of operations is performed and each of the operations gets performed at least once during training of the neural network system. Also disclosed are a neural network system and a computer program product.

Claims (40)

1. A computer-implemented method for training a neural network system comprising an original neural network and a label generator, the method comprises:

obtaining a number of training cases comprising input data and wherein at least one training case is labeled; and

training the neural network system by a sequence of training steps where at each training step at least one of the following operations is performed:

training the original network by processing a subset of the labeled training cases with labels,

generating a label with the label generator for a subset of the training cases and training the original network with the generated label, or

updating weights of the label generator based on its current weights and weights of the original network in response to an outcome of the training of the original network, wherein updating the weights of the label generator based on its current weights and the weights of the original network in response to an outcome of the training of the original network comprises determining each of the weights of the label generator as a weighted average of a corresponding one of the current weights of the label generator and a corresponding one of the weights of the original network,

wherein each of the operations gets performed at least once during training of the neural network system.

2. The computer-implemented method of claim 1 , wherein training the original network comprises minimizing a combination of a classification cost between a predicted label by the original network and the original label and a consistency cost between the predicted label by the original network and the generated label by the label generator.

3. The computer-implemented method of claim 2 , wherein the combination of the classification cost and the consistency cost is a weighted average of the classification cost and the consistency cost.

4. The computer-implemented method of claim 1 , wherein the qweighted average is determined using a smoothing coefficient.

5. The computer-implemented method of claim 1 , wherein the updating the weights of the label generator based on its current weights and the weights of the original network in response to an outcome of the training of the original network comprises updating the weights of the label generator based only on the current values of the weights of the label generator and corresponding ones of the weights of the original network.

6. The computer-implemented method of claim 1 , wherein the weights of the label generator are initialized to match the weights of the original network.

7. The computer implemented method of claim 1 , wherein generating a label with the label generator comprises mutating at least some outputs of intermediate layers of the label generator.

8. A neural network system comprising one or more computers and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform:

obtaining a number of training cases comprising input data and wherein at least one training case is labeled; and

training the neural network system by a sequence of training steps where at each training step at least one of the following operations is performed:

training the original network by processing a subset of the labeled training cases with labels,

generating a label with the label generator for a subset of the training cases and training the original network with the generated label, or

updating weights of the label generator based on its current weights and weights of the original network in response to an outcome of the training of the original network, wherein updating the weights of the label generator based on its current weights and the weights of the original network in response to an outcome of the training of the original network comprises determining each of the weights of the label generator as a weighted average of a corresponding one of the current weights of the label generator and a corresponding one of the weights of the original network,

wherein each of the operations gets performed at least once during training of the neural network system.

9. The neural network system of claim 8 , wherein

training the original network comprises minimizing a combination of a classification cost between a predicted label by the original network and the original label and a consistency cost between the predicted label by the original network and the generated label by the label generator.

10. The neural network system of claim 9 , wherein the combination of the classification cost and the consistency cost is a weighted average of the classification cost and the consistency cost.

11. The neural network system of claim 8 , wherein the weighted average is determined using a smoothing coefficient.

12. The neural network system of claim 8 , wherein the updating the weights of the label generator based on its current weights and the weights of the original network in response to an outcome of the training of the original network comprises updating the weights of the label generator based only on the current values of the weights of the label generator and corresponding ones of the weights of the original network.

13. The neural network system of claim 8 , wherein the weights of the label generator are initialized to match the weights of the original network.

14. The neural network system of claim 8 , wherein generating a label with the label generator comprises mutating at least some outputs of intermediate layers of the label generator.

15. A non-transitory computer-readable storage device including program instructions executable by one or more processors that, when executed, cause the one or more processors to perform operations comprising:

obtaining a number of training cases comprising input data and wherein at least one training case is labeled; and

training the neural network system by a sequence of training steps where at each training step at least one of the following operations is performed:

training the original network by processing a subset of the labeled training cases with labels,

generating a label with the label generator for a subset of the training cases and training the original network with the generated label, or

updating weights of the label generator based on its current weights and weights of the original network in response to an outcome of the training of the original network, wherein updating the weights of the label generator based on its current weights and the weights of the original network in response to an outcome of the training of the original network comprises determining each of the weights of the label generator as a weighted average of a corresponding one of the current weights of the label generator and a corresponding one of the weights of the original network,

wherein each of the operations gets performed at least once during training of the neural network system.

16. The non-transitory computer-readable storage device of claim 15 , wherein training the original network comprises minimizing a combination of a classification cost between a predicted label by the original network and the original label and a consistency cost between the predicted label by the original network and the generated label by the label generator.

17. The non-transitory computer-readable storage device of claim 16 , wherein the combination of the classification cost and the consistency cost is a weighted average of the classification cost and the consistency cost.

18. The non-transitory computer-readable storage device of claim 15 , wherein the weighted average is determined using a smoothing coefficient.

19. The non-transitory computer-readable storage device of claim 15 , wherein the updating the weights of the label generator based on its current weights and the weights of the original network in response to an outcome of the training of the original network comprises updating the weights of the label generator based only on the current values of the weights of the label generator and corresponding ones of the weights of the original network.

20. The non-transitory computer-readable storage device of claim 15 , wherein the weights of the label generator are initialized to match the weights of the original network.

21. The non-transitory computer-readable storage device of claim 15 , wherein generating a label with the label generator comprises mutating at least some outputs of intermediate layers of the label generator.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2020
From: CURIOUS AI OY
To: CANARY CAPITAL LLC
Reel/Frame 054434/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2019
From: VALPOLA, HARRI
To: CURIOUS AI OY
Reel/Frame 050076/0517 →
Priority Claims (1)
FI 20175142 · Feb 17, 2017 · national
Continuity (1)
Related Publication 20200234116A1 · Jul 23, 2020