IP Library Granted Patent US 11,763,160
Granted Patent B2
US 11,763,160 · App. 16/787,386 · Granted Sep 19, 2023

Machine learning method and system for solving a prediction problem

Inventor: Chiranjib Bhandary (Bangalore, IN)
Assignee: AVANSEUS HOLDINGS PTE. LTD.
G06N3/084G06N3/02G06N3/044
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,763,160
App. No.
16/787,386
Granted
Sep 19, 2023
Kind
B2
Abstract

Embodiments of the invention provide machine learning method and system. The method comprises: generating a group of sub-sequences based on a target sequence including n basic memory depth values, the group of sub-sequences includes at least one subset of composite sequences, and each composite sequence in any subset is generated based on an equal number of consecutive basic memory depth values (BMDV); determining weights of each sub-sequence, wherein initial weights for a composite sequence generated based on m BMDV are determined based on average of weights of at least two sub-sequences each having an equal number of BMDV which is less than and closest to m; determining weights of the target sequence based on an average of weights of at least two sub-sequences each having an equal number of BMDV which is closest to n; and solving the prediction problem based on weights of the target sequence.

Claims (42)

1. A machine learning method for solving a prediction problem, the method comprising:

generating, by a processor in a computer system, a group of sub-sequences based on a target sequence associated with the prediction problem, wherein the target sequence includes n basic memory depth values, n is a positive integer greater than 2, wherein the group of sub-sequences includes at least one subset of composite sequences, and each composite sequence in any subset of composite sequences is generated based on an equal number of consecutive basic memory depth values comprised of zeros and ones located within the target sequence, wherein each zero represents non-failure indicator and each one represents failure indicator;

determining, by the processor, weights of each generated sub-sequence by running a set of recurrent neural networks (RNNs) with backward propagation through time (BPTT) until convergence or a predetermined number of iterations is reached, whichever is earlier, based on initial weights of constituent sub-sequences which are pre-calculated and stored in a data base table and then used for determining weights of a composite sequence generated based on m consecutive basic memory depth values, wherein the initial weights are pre-calculated based on an average of weights of at least two sub-sequences each having an equal number of basic memory depth values which is less than and closest to m, wherein m is a positive integer less than n, and wherein each of the at least two sub-sequences is same as a part of the composite sequence;

determining, by the processor, weights of the target sequence based on an average of weights of at least two sub-sequences each having an equal number of basic memory depth values which is closest to n; and

solving, by the processor, the prediction problem based on the weights determined for the target sequence, wherein each basic memory depth value refers to a number of zeroes between two successive ones;

wherein the step of solving the prediction problem based on the weights determined for the target sequence comprises:

running only one epoch/iteration of a recurrent neural network (RNN) of the set of RNNs, by the processor, to generate state vectors for the target sequence based on the weights determined for the target sequence without further updating the weights determined for the target sequence;

generating, by the processor, a high-dimensional vector with a predetermined dimension corresponding to each state vector using at least one predetermined Gaussian function;

calculating a plurality of distances between each of the high-dimensional vectors and selecting the smallest distance between any two high-dimension vectors as a minimum distance;

calculating, by the processor, a distance of each high-dimensional vector to a current state vector of the target sequence; and

determining, by the processor, a next value of a high-dimensional vector with the minimum distance to the current state vector as a predicted value of the target sequence.

2. The method according to claim 1 , wherein the predetermined dimension is 1000.

3. The method according to claim 1 , wherein the group of the sub-sequences includes n−2 subsets of composite sequences;

wherein the initial weights for determining weights of the composite sequence generated are pre-calculated based on m basic memory depth values based on an average of weights of two sub-sequences each having m−1 basic memory depth values,

wherein the step of determining weights of the target sequence comprises: determining, by the processor, the weights of the target sequence based on an average of weights determined for two sub-sequences each having n−1 basic memory depth values.

4. The method according to claim 1 , wherein the group of sub-sequences further includes a subset of elementary sequences, and each elementary sequence in the subset of elementary sequences is generated based on a single basic memory depth value in the target sequence.

5. The method according to claim 1 , wherein the predetermined number of iterations is 500.

6. The machine learning method according to claim 1 , wherein the step of determining weights of each generated sub-sequence comprises:

retrieving, by the processor, weights of at least one sub-sequence from the pre-stored data base table which includes a plurality of mappings wherein each mapping associates a set of predetermined weights to an elementary sequence or a composite sequence.

7. The method according to claim 1 , wherein the step of determining weights of the target sequence comprises:

determining, by the processor, the weights of the target sequence by running only one epoch/iteration of a recurrent neural network (RNN) of the set of RNNs using a predetermined number of neurons.

8. The method according to claim 7 , wherein the predetermined number of neurons is 60 if the prediction problem involves a long temporal dependency with a memory depth value up to 100, or 120 if the prediction problem involves a long temporal dependency with a memory depth value up to 3000.

9. The machine learning method of claim 1 employing a non-transitory computer readable medium comprising computer program code for solving a prediction problem, wherein the computer program code, when executed, is configured to cause a processor in a computer system to perform a machine learning method for solving a prediction problem.

10. A machine learning system for solving a prediction problem, the system comprising: a computer system having a processor and a memory communicably coupled thereto, wherein the memory is configured to store data to be executed by the processor, wherein the processor is configured to

generate a group of sub-sequences based on a target sequence associated with the prediction problem, wherein the target sequence includes n basic memory depth values, n is a positive integer greater than 2, wherein the group of sub-sequences includes at least one subset of composite sequences, and each composite sequence in any subset of composite sequences is generated based on an equal number of consecutive basic memory depth values comprising of zeros and ones located within the target sequence, wherein each zero represents non-failure indicator and each one represents failure indicator;

determine weights of each generated sub-sequence by running a set of recurrent neural networks (RNNs) with backward propagation through time (BPTT) until convergence or a predetermined number of iterations is reached, whichever is earlier, based on initial weights of constituent sub-sequences which are pre-calculated and stored in a data base table and then used for determining weights of a composite sequence generated based on m consecutive basic memory depth values, wherein the initial weights are pre-calculated based on an average of weights of at least two sub-sequences each having an equal number of basic memory depth values which is less than and closest to m, wherein m is a positive integer less than n, and wherein each of the at least two sub-sequences is same as a part of the composite sequence;

determine weights of the target sequence based on an average of weights of at least two sub-sequences each having an equal number of basic memory depth values which is closest to n; and

solve the prediction problem based on the weights determined for the target sequence, wherein each basic memory depth value refers to a number of the zeroes between two successive instances of the ones;

wherein the processor is further configured to solve the prediction problem based on the weights determined for the target sequence by

running only one epoch/iteration of a recurrent neural network (RNN) of the set of RNNs to generate state vectors for the target sequence based on the weights determined for the target sequence without further updating the weights determined for the target sequence;

generating a high-dimensional vector with a predetermined dimension corresponding to each state vector using a predetermined Gaussian function;

calculating a distance of each high-dimensional vector to a current state vector of the target sequence; and

determining a next value of a high-dimensional vector with the minimum distance to the current state vector as a predicted value of the target sequence.

11. The system according to claim 10 , wherein the processor is further configured to generate a high-dimensional vector with a predetermined dimension of 10000 corresponding to each state vector using a pre-determined Gaussian function.

12. The system according to claim 10 , wherein the processor is further configured to generate n−2 subsets of composite sequences based on the target sequence;

determine the weights of the target sequence based on an average of weights determined for two sub-sequences each having n−1 basic memory depth values,

wherein the initial weights for determining weights of a composite sequence generated based on m basic memory depth values are pre-calculated based on an average of weights of two sub-sequences each having m−1 basic memory depth values.

13. The system according to claim 10 , wherein the processor is further configured to generate a subset of elementary sequences, wherein each elementary sequence in the subset of elementary sequences is generated based on a single basic memory depth value in the target sequence.

14. The system according to claim 10 , wherein the processor is further configured to run the set of recurrent neural networks (RNNs) with backward propagation through time (BPTT) until convergence or 500 iterations is reached, whichever is earlier, based on the initial weights.

15. The system according to claim 10 , wherein the processor is further configured to retrieve weights of at least one sub-sequence from the pre-stored data base table which includes a plurality of mappings wherein each mapping associates a set of predetermined weights to an elementary sequence or a composite sequence.

16. The system according to claim 10 , wherein the processor is further configured to determine the weights of the target sequence by running only one epoch/iteration of an RNN of the set of RNNs using a predetermined number of neurons.

17. The system according to claim 16 , wherein the processor is further configured to determine the weights of the target sequence by running only one epoch/iteration of an RNN of the set of RNNs using 60 neurons if the prediction problem involves a long temporal dependency with a memory depth value up to 100, or 120 if the prediction problem involves a long temporal dependency with a memory depth value up to 3000.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2026
From: AVANSEUS HOLDINGS PTE. LTD.
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 075662/0702 →
CHANGE OF APPLICANT'S ADDRESS Recorded Jun 18, 2021
From: AVANSEUS HOLDINGS PTE. LTD.
To: AVANSEUS HOLDINGS PTE. LTD.
Reel/Frame 057318/0810 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2020
From: BHANDARY, CHIRANJIB
To: AVANSEUS HOLDINGS PTE. LTD.
Reel/Frame 051783/0414 →
Priority Claims (1)
IN 202011001918 · Jan 16, 2020 · national
Continuity (1)
Related Publication 20210224657A1 · Jul 22, 2021