Detailed Action
Claims 1-20 are presently pending.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement (IDS) is submitted on 06/25/2024. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Objections
Claim 19 is objected to because of the following informalities: ”and in response and executing the ML model on a plurality of validation samples” in line 3 should read ”and in response, [[and]] executing the ML model on a plurality of validation samples”. Appropriate correction is required.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-2, 4, 8-9, 11, 15-16 and 18 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Mixter (US 20210150364 A1, hereinafter ‘Mixter’)
Regarding claim 1, Mixter teaches:
A computer-implemented method comprising:
storing a validation function and a training set comprising a plurality of training samples; ([Mixter, 0024]-[0025] discloses storing, encoding, or carrying data structures and instructions required to perform the method and functions. [0017]-[0018] shows that multiple sets of input data are utilized and [0016]-[0017] shows that the threshold is set to running average of the differences (validation function). These paragraphs indicate that the input dataset and the threshold are stored in a storage device)
executing a machine learning (ML) model on the plurality of training samples using a software application during an epoch of a multi-epoch training process performed by the software application, wherein the executing comprises: ([Mixter, 0021] After operations 345 and 365, the input data are received at 315 if further input data (next training sample) is available. This indicates that it is a multi-epoch training process trained with a plurality of training samples. [Mixter, 0012] and [0027] Engines may be hardware including processors and machine readable media)
retrieving a training sample from the training set; ([Mixter, Fig. 3] and [0019] At 315, input data are received into the artificial neural network)
executing the ML model on the training sample to generate a model prediction for the training sample; ([Mixter, Fig. 3] and [0019] At 320, the input data are forward-propagated through the artificial neural network, and the output values are identified)
determining an accuracy of the ML model for the training sample based on the model prediction, an expected output, and the validation function; ([Mixter, Fig. 3] and [0019] The differences between the layer perceptrons are measured to determine whether the artificial neural network can make a prediction. The prediction is based on the differences between the actual results based on the input data and the expected results for the input data. The difference is the validation function (instant spec [0076]). The difference indicates the accuracy of the output because if the difference between the two largest outputs of the input data are not large enough, the network cannot make a prediction about the input data (e.g., the network cannot be certain if the input data represented a “3” or an “8”) and the network should be re-trained or backpropagated)
skipping a back propagation process of the ML model for the training sample based on the accuracy exceeding a pre-determined threshold value; and ([0017] and [0020]-[0021] If the output difference (accuracy) exceeds the threshold, then as indicated at 266, the artificial neural network is not backpropagated and the current value of the threshold is saved and used in the next backpropagation of the artificial neural network)
retrieving a next training sample from the training set based on the skipping. ([0021] After operations 345 and 365, the input data are received at 315 if further input data (next training sample) is available).
Regarding claim 2, Mixter teaches:
The computer-implemented method of claim 1, wherein the skipping comprises skipping execution of a loss function on the model prediction of the training sample to compute a loss for the ML model and skipping updating weights of the ML model based on the loss. ([Mixter, 0003] discloses the training, also known as back-propagation, the derivative of the activation functions along with the multiplied inputs and weights, and the resulting accumulated sums, are used to determine the perceptron output error (i.e., loss function). It is this error that is used to adjust perceptron input weights (i.e., updating weights of the ML model) allowing the network to be trained. [0017] and [0020]-[0021] If the output difference (accuracy) exceeds the threshold, then as indicated at 266, the artificial neural network is not backpropagated and the current value of the threshold is saved and used in the next backpropagation of the artificial neural network)
Regarding claim 4, Mixter teaches:
The computer-implemented method of claim 1, further comprising: executing the ML model on the next training sample to generate a next model prediction for the next training sample; ([Mixter, 0021] After operations 345 and 365, the input data are received at 315 if further input data (next training sample) is available)
determining an additional accuracy of the ML model based on the next model prediction, an expected model output of the next model prediction, and the validation function; and ([Mixter, 0021] After operations 345 and 365, the input data are received at 315 if further input data (next training sample) is available. [Mixter, Fig. 3] and [0019] The differences (i.e., accuracy) between the layer perceptrons are measured to determine whether the artificial neural network can make a prediction. The prediction is based on the differences between the actual results based on the input data and the expected results for the input data. The difference is the validation function (instant spec [0076]). The difference indicates the accuracy of the output because if the difference between the two largest outputs of the input data are not large enough, the network cannot make a prediction about the input data (e.g., the network cannot be certain if the input data represented a “3” or an “8”) and the network should be re-trained or backpropagated)
executing the back propagation process of the ML model for the next training sample based on the additional accuracy not exceeding the pre-determined threshold value. ([Mixter, Fig. 3] and [0020] If the output difference does not transgress the threshold, then the artificial neural network is backpropagated 335. [Mixter, 0021] After operations 345 and 365, the input data are received at 315 if further input data (next training sample) is available)
Regarding claim 8, Mixter teaches:
A computer system comprising: a processor set; a set of one or more computer-readable storage media; and program instructions, stored in the set of one or more storage media, that cause the processor set to perform computer operations to: ([Mixter, 0012] and [0027] Engines may be hardware including processors and machine readable media)
Claim 8 is a system claim which recites the same features as method claim 1 and is rejected at least for the same reasons.
Claim 9 is a system claim which recites the same features as method claim 2 and is rejected at least for the same reasons.
Claim 11 is a system claim which recites the same features as method claim 4 and is rejected at least for the same reasons.
Regarding claim 15, Mixter teaches:
A computer program product comprising: a set of one or more computer-readable storage media; and program instructions, stored in the set of one or more computer-readable storage media, for causing a processor set to perform computer operations comprising: ([Mixter, 0012] and [0027] Engines may be hardware including processors and machine readable media)
Claim 15 is a product claim which recites the same features as method claim 1 and is rejected at least for the same reasons.
Claim 16 is a product claim which recites the same features as method claim 2 and is rejected at least for the same reasons.
Claim 18 is a product claim which recites the same features as method claim 4 and is rejected at least for the same reasons.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 3, 5, 10, 12, 17 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Mixter in view of Courville et al. (US 20220036189 A1, hereinafter ‘Courville’).
Regarding claim 3, Mixter teaches:
The computer-implemented method of claim 1.
However, Mixter does not specifically disclose:
further comprises executing the ML model on a validation set during a previous epoch of the multi-epoch training process to determine the validation function.
Courville teaches:
further comprises executing the ML model on a validation set during a previous epoch of the multi-epoch training process to determine the validation function. ([Courville, Fig. 5; 0119]-[0120] At 512, the number of training data batches left are determined. If the last batch of training data, then move to 524 and 526 to validate the neural network. [0130] discloses validating the trained convolutional neural network and measuring a performance metric (i.e., validation function) by applying it to the inference data generated by the network. [0116]-[0117] The value of epoch is checked, and if at least one training epoch remains to be executed, the method proceed to 510 to perform the additional model predictions based on [0130] validation data from the training dataset)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to use the method of validating the machine learning model using a validation set different from a training set of Courville to implement the selective back-propagation method of the present invention. The suggestion and/or motivation for doing so is to improve the accuracy of the machine learning model because applying validation set helps the machine learning model to detect overfitting early.
Regarding claim 5, Mixter teaches:
The computer-implemented method of claim 4 … determining a mean validation error of the ML model based on the additional model predictions and expected outputs of the plurality of validation samples, and updating the validation function using the determined mean validation error. ([Mixter, 0021] The threshold is set to a running average of the differences between the two largest classifier level outputs for each set of input data. The running average is the mean validation error of the ML model based on additional model predictions (each set of input data) and expected output as disclosed in [0019])
However, Mixter does not specifically disclose:
further comprising determining the next training sample is a last training sample in the training set, and in response, executing the ML model on a plurality of validation samples in a validation set to generate additional model predictions for the plurality of validation samples
Courville teaches:
further comprising determining the next training sample is a last training sample in the training set, and in response, executing the ML model on a plurality of validation samples in a validation set to generate additional model predictions for the plurality of validation samples. ([Courville, Fig. 5; 0119]-[0120] At 512, the number of training data batches left are determined. If the last batch of training data, then move to 524 and 526 to validate the neural network. [0130] discloses validating the trained convolutional neural network and measuring a performance metric (i.e., validation function) by applying it to the inference data generated by the network. [0116]-[0117] The value of epoch is checked, and if at least one training epoch remains to be executed, the method proceed to 510 to perform the additional model predictions based on [0130] validation data from the training dataset)
Claim 10 is a system claim which recites the same features as method claim 3 and is rejected at least for the same reasons.
Claim 12 is a system claim which recites the same features as method claim 5 and is rejected at least for the same reasons.
Claim 17 is a product claim which recites the same features as method claim 3 and is rejected at least for the same reasons.
Claim 19 is a product claim which recites the same features as method claim 5 and is rejected at least for the same reasons.
Claims 6, 13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Mixter in view of Kallianpur et al. (US 20220230024 A1, hereinafter ‘Kallianpur’)
Regarding claim 6, Mixter teaches:
The computer-implemented method of claim 1.
However, Mixter does not specifically disclose:
further comprising determining a similarity value based on a comparison of the training sample and the next training sample, and in response to the similarity value being less than a threshold similarity value, additionally skipping executing of the ML model on the next training sample based on the similarity and retrieving a second next training sample from the training set based on the additionally skipping.
Kallianpur teaches:
further comprising determining a similarity value based on a comparison of the training sample and the next training sample, and in response to the similarity value being less than a threshold similarity value, additionally skipping executing of the ML model on the next training sample based on the similarity and retrieving a second next training sample from the training set based on the additionally skipping. ([Kallianpur, Fig. 4], [0052], [0072] discloses comparing the new data set received with the existing data set. [0073]-[0074] If the similarity value exceeds threshold 422, the system skips the new model generation process (training process) and reuse existing model. [0075]-[0076] If the similarity value is less than the threshold, the system trains a new model 426 and update model data store 427)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to use the method of skipping the backpropagation when the previous training data and the current training data are similar of Kallianpur to implement the selective back-propagation method of the present invention. The suggestion and/or motivation for doing so is to improve the efficiency and training speed of the machine learning model by avoiding reusing similar training data multiple times which is not expected to make a significant difference to the trained model.
Claim 13 is a system claim which recites the same features as method claim 6 and is rejected at least for the same reasons.
Claim 20 is a product claim which recites the same features as method claim 6 and is rejected at least for the same reasons.
Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Mixter in view of Saxena et al. (US 20230419130 A1, hereinafter ‘Saxena’)
Regarding claim 7, Mixter teaches:
The computer-implemented method of claim 1.
However, Mixter does not specifically disclose:
further comprising presenting a notification on a computer, wherein the notification indicates that the back propagation process is being skipped.
Saxena teaches:
further comprising presenting a notification on a computer, wherein the notification indicates that the back propagation process is being skipped. ([Saxena, 0025] and [0026] At block 125, based on the data quality score, the data quality framework controls the ML pipeline 105 by either allowing the data to proceed or prohibits (backpropagation is being skipped) the data. [0029] The approved data is used to train the ML model. [0050], [0134] and [0137] discloses showing the alert notification on the user interface when the input dataset is determined to have poor data quality, and generating a report 600 for a filtered dataset)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to use the method of notifying users about a skipped backpropagation process of Saxena to implement the selective back-propagation method of the present invention. The suggestion and/or motivation for doing so is to assist users to check the current status of the training process thereby allowing the users to catch training failures such as overfitting.
Claim 14 is a system claim which recites the same features as method claim 7 and is rejected at least for the same reasons.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 20220383152 A1 (This prior art is pertinent because it discloses skipping a back-propagation of a subset of training dataset based on a threshold)
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JUN KWON whose telephone number is (571)272-2072. The examiner can normally be reached Monday – Friday 8:00AM – 5:00PM ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Abdullah Kawsar can be reached at (571)270-3169. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/JUN KWON/Examiner, Art Unit 2127
/ABDULLAH AL KAWSAR/Supervisory Patent Examiner, Art Unit 2127