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 .
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 4–6, 15–16, and 20 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding claims 4–6, 16, and 20:
These claims recite “a Light Gradient Boosting Machine (LightGBM) model.” LightGBM is a framework that supports many different underlying algorithms. The structure and implementation of this framework changes over time. Therefore what is, or is not, a LightGBM model changes over time, and the phrase does not allow a person having ordinary skill in the art to determine the metes and bounds of the claims.
Regarding claims 5 and 15:
Claims 5 and 15 recite “a plug-and-play model.” Examiner finds that while the term “plug-and-play” is known in the computing field, ascribed to computing hardware and software that is easy to set up for use, the term is subjective and a person having ordinary skill in the art would be unable to determine a definite standard by which a model can be judged to be “plug-and-play” and thereby determine the metes and bounds of the claims.
Claim Rejections - 35 USC § 102
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–5, 11–15, and 18–19 rejected under 35 U.S.C. 102(a) (1) as being anticipated by Kamkar et al., US Pre-Grant Publication No. 2023/0105547 (hereafter Kamkar).
Regarding claim 1:
Kamkar teaches:
“A method, comprising”: Kamkar, Abstract, “Methods [A method], systems, and apparatus, including computer programs encoded on computer-storage media, for machine learning model fairness and explainability.”
“accessing, from a plurality of sources, data features pertaining to a plurality of users”: Kamkar, Abstract, “In some implementations, a method includes obtaining data relating to a plurality of potential borrowers [accessing … data features pertaining to a plurality of users]; providing the data to the trained machine learning model”; Kamkar, paragraph 0059, “The input device functions to receive user input. In some variations, the input device includes at least one of buttons and a touch screen input device (e.g., a capacitive touch input device) [a plurality of sources].”
“inputting the data features into a predictive model”: Kamkar, Abstract, “In some implementations, a method includes obtaining data relating to a plurality of potential borrowers; providing the data to the trained machine learning model [inputting the data features into a predictive model].”
“generating an output via the predictive model”: Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model trained to generate predictions [generating an output via the predictive model]. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary, reducing undesirable outcomes while also maintaining accuracy.”
“inputting the output of the predictive model into a plurality of adversarial models, wherein the plurality of adversarial models include different types of protected attributes, wherein at least one or more of the protected attributes are non-binary”: Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model [inputting the output of the predictive model into a … adversarial models] trained to generate predictions. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary, reducing undesirable outcomes while also maintaining accuracy”; Kamkar, paragraph 0111, “In some variations, the adversarial classifier is an ensemble of classifiers, including at least one classifier for each protected status or sensitive attribute [a plurality of adversarial models, wherein the plurality of adversarial models include different types of protected attributes]”; Kamkar, paragraph 0053, “A sensitive attribute can be a feature that identifies a class of individuals ( e.g., a class based on race, ethnicity, age, sex, national origin, sexual orientation, demographics [wherein at least one or more of the protected attributes are non-binary], military status, etc.), a manufacturer of a product, or any type of information that should not affect output ( e.g., a prediction) generated by the model.”
“introducing noise to the predictive model via each of the adversarial models of the plurality of adversarial models”: Kamkar, paragraph 0152, “In some implementations, when protected class information is probabilistic, observations can be assigned a binary class label based on the likelihood assigned by the probabilistic protected class estimation method (e.g., the race/ethnicity probabilities assigned by BISG). At each XGBoost boosting round, for each observation, a stochastic binary protected class assignment can occur [introducing noise to the predictive model via each of the adversarial models of the plurality of adversarial models], such that the proportion of binary assignments reflects the probabilistic class assignments”; Kamkar, paragraph 0156, “The table above demonstrates the sampling process used in some implementations simply reflects the underlying protected status label assignment probabilities. To compute these values empirically, a uniform random number generator [noise] along with cutoffs based on the exact assignment probabilities can be used.”
“updating the output of the predictive model after the noise has been introduced to the predictive model”: Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model trained to generate predictions. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary [updating the output of the predictive model after the noise has been introduced to the predictive model], reducing undesirable outcomes while also maintaining accuracy.”
“generating, at least in part via the updated output of the predictive model, one or more decisions involving at least one of the plurality of users”: Kamkar, paragraph 0011, “These methods may be used, for example, with respect to classification models that provide information relating to predictions as to whether a potential borrower might default on a loan, and can be used to de-bias decision-making related to whether to offer the loan to the borrower [generating, at least in part via the updated output of the predictive model, one or more decisions involving at least one of the plurality of users].”
Regarding claim 2:
Kamkar teaches “[t]he method of claim 1.”
Kamkar further teaches “identifying, at least in part via a feature-identification module, one or more of the data features that contribute to a bias in the predictive model”: Kamkar, paragraph 0108, “In a seventh example, the initial model (e.g., 111a) is an ensemble (E), and generating the new model (e.g., 111e) includes learning a new model F(E(x), x) that maximizes the AUC (area under the curve) of F while minimizing the accuracy of the adversarial classifier 112. In embodiments, 111e includes learning a new model F that minimizes mean-squared error while also minimizing the accuracy of the adversarial classifier 112. (Recall that if the adversarial classifier is accurate, the adversarial classifier is detecting bias in the results, so it is advantageous the minimize the accuracy of the adversarial classifier [identifying, at least in part via a feature-identification module, one or more of the data features that contribute to a bias in the predictive model].”
Regarding claim 3:
Kamkar teaches “[t]he method of claim 2.”
Kamkar further teaches “deprioritizing the identified one or more of the data features in an execution of the predictive model”: Kamkar, paragraph 0048, “In some implementations, the training set selector removes attributes from the training set based on information received from the adversarial classifier ( e.g., information identifying a prediction accuracy of the adversarial classifier for the removed attribute). In some implementations, the training set selector includes one or more rules that are used by the training selector to remove attributes from the training data sets based on the information received from the adversarial classifier. For example, if the adversarial classifier can accurately predict a value of a sensitive attribute from an output generated by the model, the model training system can remove the sensitive attribute from the training data used to train the model (e.g., 111) [deprioritizing the identified one or more of the data features in an execution of the predictive model].”
Regarding claim 4:
Kamkar teaches “[t]he method of claim 1.”
Kamkar further teaches “wherein the predictive model comprises a Light Gradient Boosting Machine (LightGBM) model that includes a plurality of trees on a chain”: Kamkar, paragraph 0078, “In embodiments, S210 includes training a pre-existing regression model (M). In other embodiments, S210 includes training at least one alternative regression model (F). In some embodiments M and F are neural network regressors. In other embodiments M and F are gradient boosting models such as XGBoost and lightGBM [comprises a Light Gradient Boosting Machine (LightGBM) model that includes a plurality of trees on a chain] regressors.”
Regarding claim 5:
Kamkar teaches “[t]he method of claim 4.”
Kamkar further teaches “wherein at least one the plurality of adversarial models is a plug-and-play model that is configured to interact at least with the LightGBM model”: Kamkar, paragraph 0044, “In some variations, the system functions to train a model to reduce impact of one or more identified model attributes (inputs) on output values generated by the model (and optionally use the trained model). In some variations, the system can re-train the model based on information computed by using an adversarial classifier ( e.g., adversarial classifier prediction loss information) [wherein at least one the plurality of adversarial models is a plug-and-play model, plug-and-play interpreted as a model with an interaction with a second model involving passing data and not a direct modification to the model]”; Kamkar, paragraph 0162, “Next a tree-based predictive model can be trained by using a fairness-enabled tree-based boosting module. Such a fairness-enabled tree-based boosting module can include a boosting module (e.g., AdaBoost, XGBoost, Catboost, LightGBM, etc.) that includes a custom loss function module, that is constructed to train tree-based models to incorporate a fairness metric that considers outcomes for at least one value of a sensitive attribute and the predictive performance (loss, as characterized by mean squared-error, log loss, and the like) with respect to known outcomes for the model's predictive target (e.g., delinquent for 90 days, charge-off, etc.). The custom loss function module can include at least one adversarial model [configured to interact at least with the LightGBM] that attempts to predict the value of at least one sensitive attribute value based on a fairness-enabled model output.”
Regarding claim 11:
Kamkar teaches “[t]he method of claim 1.”
Kamkar further teaches “wherein the output of the predictive model comprises a predicted probability of an occurrence of an event, and wherein the one or more decisions are generated based on the predicted probability of the occurrence of the event”: Kamkar, paragraph 0011, “These methods may be used, for example, with respect to classification models that provide information relating to predictions as to whether a potential borrower might default on a loan [wherein the output of the predictive model comprises a predicted probability of an occurrence of an event], and can be used to de-bias decision-making related to whether to offer the loan to the borrower [wherein the one or more decisions are generated based on the predicted probability of the occurrence of the event].”
Regarding claim 12:
Kamkar teaches:
“A system comprising: a processor; and a non-transitory computer-readable medium having stored thereon instructions that are executable by the processor to cause the system to perform operations comprising”: Kamkar, paragraph 0033, “In some variations, one or more of the components of the system [system] are implemented as a hardware device that includes one or more of a processor [a processor] ( e.g., a CPU ( central processing unit), GPU (graphics processing unit), NPU (neural processing unit), etc.), a display device, a memory, a storage device, an audible output device, an input device, an output device, and a communication interface. In some variations, one or more components included in hardware device are communicatively coupled via a bus. In some variations, one or more components included in the hardware system are communicatively coupled to an external system (e.g., an operator device 120) via the communication interface”; Kamkar, Abstract, “Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for machine learning model fairness and explainability [a non-transitory computer-readable medium having stored thereon instructions that are executable by the processor to cause the system to perform operations comprising].”
“accessing, from a plurality of sources, data features pertaining to a plurality of users having a plurality of attributes”: Kamkar, Abstract, “In some implementations, a method includes obtaining data relating to a plurality of potential borrowers [accessing … data features pertaining to a plurality of users having a plurality of attributes]; providing the data to the trained machine learning model”; Kamkar, paragraph 0059, “The input device functions to receive user input. In some variations, the input device includes at least one of buttons and a touch screen input device (e.g., a capacitive touch input device) [a plurality of sources].”
“wherein at least a subset of the attributes each meets a specified classification”: Kamkar, paragraph 0008, “It is particularly important that lending decisions be fair with respect to race and ethnicity, gender, age, and other protected attributes [wherein at least a subset of the attributes each meets a specified classification], and these techniques can be employed to mitigate bias and ensure fairness in credit decisions.”
“inputting the data features into a predictive model”: Kamkar, Abstract, “In some implementations, a method includes obtaining data relating to a plurality of potential borrowers; providing the data to the trained machine learning model [inputting the data features into a predictive model].”
“generating an output via the predictive model, the output comprising a predicted probability of an occurrence of an event associated with the plurality of users”: Kamkar, paragraph 0011, “These methods may be used, for example, with respect to classification models that provide information relating to predictions as to whether a potential borrower might default on a loan [generating an output via the predictive model, the output comprising a predicted probability of an occurrence of an event associated with the plurality of users], and can be used to de-bias decision-making related to whether to offer the loan to the borrower.”
“inputting the output of the predictive model into a plurality of adversarial models in parallel”: Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model [inputting the output of the predictive model into a plurality of adversarial models] trained to generate predictions. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary, reducing undesirable outcomes while also maintaining accuracy”; Kamkar, paragraph 0111, “In some variations, the adversarial classifier is an ensemble of classifiers, including at least one classifier for each protected status or sensitive attribute [into a plurality of adversarial models in parallel, interpreted as a group of models acting as one logical model].”
“wherein each of the adversarial models is configured to introduce noise with respect to a different one of the attributes in the subset of the attributes”: Kamkar, paragraph 0152, “In some implementations, when protected class information is probabilistic, observations can be assigned a binary class label based on the likelihood assigned by the probabilistic protected class estimation method (e.g., the race/ethnicity probabilities assigned by BISG). At each XGBoost boosting round, for each observation, a stochastic binary protected class assignment can occur [each of the adversarial models is configured to introduce noise], such that the proportion of binary assignments reflects the probabilistic class assignments”; Kamkar, paragraph 0156, “The table above demonstrates the sampling process used in some implementations simply reflects the underlying protected status label assignment probabilities. To compute these values empirically, a uniform random number generator [noise] along with cutoffs based on the exact assignment probabilities can be used”; Kamkar, paragraph 0111, “In some variations, the adversarial classifier is an ensemble of classifiers, including at least one classifier for each protected status or sensitive attribute [with respect to a different one of the attributes in the subset of the attributes]”;
“revising the predictive model based on the noise introduced by the adversarial models”: Kamkar, paragraph 0152, “In some implementations, when protected class information is probabilistic, observations can be assigned a binary class label based on the likelihood assigned by the probabilistic protected class estimation method (e.g., the race/ethnicity probabilities assigned by BISG). At each XGBoost boosting round, for each observation, a stochastic binary protected class assignment can occur [noise introduced by the adversarial models], such that the proportion of binary assignments reflects the probabilistic class assignments”; Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model trained to generate predictions. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary [revising the predictive model based on the noise introduced by the adversarial models], reducing undesirable outcomes while also maintaining accuracy.”
“updating the output via the revised predictive model, wherein the updated output is less influenced by the subset of the attributes”: Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model trained to generate predictions. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary, reducing undesirable outcomes while also maintaining accuracy [updating the output via the revised predictive model, wherein the updated output is less influenced by the subset of the attributes]”; Kamkar, paragraph 0008, “However, and as described in more detail below, machine learning models in lending and other contexts can be adversarially trained to reduce inequitable outcomes when processing data, and can be used in conjunction with techniques for automatically identifying and explaining factors involved in adverse actions.”
“and generating, via the updated output, one or more decisions involving one or more of the plurality of users”: Kamkar, paragraph 0011, “These methods may be used, for example, with respect to classification models that provide information relating to predictions as to whether a potential borrower might default on a loan, and can be used to de-bias decision-making related to whether to offer the loan to the borrower [generating, via the updated output, one or more decisions involving one or more of the plurality of users].”
Regarding claim 13:
Kamkar teaches “[t]he system of claim 12.”
Kamkar further teaches “wherein at least some of the attributes in the subset of the attributes are non-binary”: Kamkar, paragraph 0053, “A sensitive attribute can be a feature that identifies a class of individuals ( e.g., a class based on race, ethnicity, age, sex, national origin, sexual orientation, demographics [wherein at least some of the attributes in the subset of the attributes are non-binary], military status, etc.), a manufacturer of a product, or any type of information that should not affect output ( e.g., a prediction) generated by the model.”
Regarding claim 14:
Kamkar teaches “[t]he system of claim 12.”
Kamkar further teaches “identifying one or more of the data features that are associated with the subset of the attributes; and deprioritizing the identified one or more of the data features in an execution of the predictive model”: Kamkar, paragraph 0048, “In some implementations, the training set selector removes attributes from the training set based on information received from the adversarial classifier ( e.g., information identifying a prediction accuracy of the adversarial classifier for the removed attribute). In some implementations, the training set selector includes one or more rules that are used by the training selector to remove attributes from the training data sets based on the information received from the adversarial classifier. For example, if the adversarial classifier can accurately predict a value of a sensitive attribute from an output generated by the model, the model training system can remove the sensitive attribute from the training data used to train the model (e.g., 111) [identifying one or more of the data features that are associated with the subset of the attributes; and deprioritizing the identified one or more of the data features in an execution of the predictive model].”
Regarding claim 15:
Kamkar teaches “[t]he system of claim 12.”
Kamkar further teaches “wherein at least one the plurality of adversarial models is a plug-and-play model that does not require a modification to an original computer code of the predictive model”: Kamkar, paragraph 0044, “In some variations, the system functions to train a model to reduce impact of one or more identified model attributes (inputs) on output values generated by the model (and optionally use the trained model). In some variations, the system can re-train the model based on information computed by using an adversarial classifier ( e.g., adversarial classifier prediction loss information) [wherein at least one the plurality of adversarial models is a plug-and-play model that does not require a modification to an original computer code of the predictive model, plug-and-play interpreted as a model with an interaction with a second model involving passing data and not a direct modification to the model]”;
Regarding claim 18:
Kamkar teaches:
“A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising”: Kamkar, Abstract, “Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for machine learning model fairness and explainability.”
“accessing, from a plurality of sources, data features pertaining to a plurality of users”: Kamkar, Abstract, “In some implementations, a method includes obtaining data relating to a plurality of potential borrowers [accessing … data features pertaining to a plurality of users]; providing the data to the trained machine learning model”; Kamkar, paragraph 0059, “The input device functions to receive user input. In some variations, the input device includes at least one of buttons and a touch screen input device (e.g., a capacitive touch input device) [a plurality of sources].”
“inputting the data features into a predictive model”: Kamkar, Abstract, “In some implementations, a method includes obtaining data relating to a plurality of potential borrowers; providing the data to the trained machine learning model [inputting the data features into a predictive model].”
“executing a plurality of de-biasing cycles, wherein the executing of each of the de-biasing cycles comprises”: Kamkar, paragraph 0046, “In some variations, one or more of the model and the adversarial classifier can be trained (e.g., at S262 and S261, respectively) by iteratively [executing a plurality of de-biasing cycles] calculating a gradient of an objective function and reducing a value of at least one parameter of the model by an amount proportional to the calculated gradient (e.g., by performing a gradient decent process, or any other suitable process).”
“inputting an output of the predictive model into a plurality of adversarial models, wherein the adversarial models include different types of attributes of the plurality of users, wherein at least some of the attributes are non-binary”: Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model [inputting the output of the predictive model into a … adversarial models] trained to generate predictions. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary, reducing undesirable outcomes while also maintaining accuracy”; Kamkar, paragraph 0111, “In some variations, the adversarial classifier is an ensemble of classifiers, including at least one classifier for each protected status or sensitive attribute [a plurality of adversarial models, wherein the adversarial models include different types of attributes of the plurality of users]”; Kamkar, paragraph 0053, “A sensitive attribute can be a feature that identifies a class of individuals ( e.g., a class based on race, ethnicity, age, sex, national origin, sexual orientation, demographics [wherein at least some of the attributes are non-binary], military status, etc.), a manufacturer of a product, or any type of information that should not affect output ( e.g., a prediction) generated by the model.”
“generating noise via the plurality of adversarial models”: Kamkar, paragraph 0152, “In some implementations, when protected class information is probabilistic, observations can be assigned a binary class label based on the likelihood assigned by the probabilistic protected class estimation method (e.g., the race/ethnicity probabilities assigned by BISG). At each XGBoost boosting round, for each observation, a stochastic binary protected class assignment can occur [generating noise via the plurality of adversarial models], such that the proportion of binary assignments reflects the probabilistic class assignments”; Kamkar, paragraph 0154, “This approach can be understood as follows. Applicant 1 is most likely White (non-Hispanic), and so during the training process, Applicant 1 should often be labeled as White (non-Hispanic). Applicant 2 is equally likely to be White (non-Hispanic), African American, or Hispanic, and so Applicant 2 will be labeled as White, non-Hispanic, African American, and Hispanic with equal frequency during the adversarial training process [as part of a process that includes adversarial models, hence, via the plurality of adversarial models]. By assigning binary labels with frequencies that reflect the probabilistic labels, probabilistic class assignments can be transformed into binary class assignments”; Kamkar, paragraph 0156, “The table above demonstrates the sampling process used in some implementations simply reflects the underlying protected status label assignment probabilities. To compute these values empirically, a uniform random number generator [noise] along with cutoffs based on the exact assignment probabilities can be used.”
“and updating the predictive model based on the generated noise”: Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model trained to generate predictions. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary [updating the output of the predictive model after the noise has been introduced to the predictive model], reducing undesirable outcomes while also maintaining accuracy.”
“predicting, via the predictive model after the plurality of de-biasing cycles have been executed, a likelihood of an occurrence of an event associated with at least a subset of the plurality of users”: Kamkar, paragraph 0011, “These methods may be used, for example, with respect to classification models that provide information relating to predictions as to whether a potential borrower might default on a loan [predicting, via the predictive model after the plurality of de-biasing cycles have been executed, a likelihood of an occurrence of an event associated with at least a subset of the plurality of users], and can be used to de-bias decision-making related to whether to offer the loan to the borrower.”
“and generating, at least in part based on the predicting, one or more decisions involving at least the subset of the plurality of users”: Kamkar, paragraph 0011, “These methods may be used, for example, with respect to classification models that provide information relating to predictions as to whether a potential borrower might default on a loan, and can be used to de-bias decision-making related to whether to offer the loan to the borrower [generating, at least in part based on the predicting, one or more decisions involving at least the subset of the plurality of users].”
Regarding claim 19:
Kamkar teaches “[t]he non-transitory machine-readable medium of claim 18.”
Kamkar further teaches “identifying one or more of the data features that contribute to a bias against one or more of the different types of attributes in the predictive model before the plurality of de-biasing cycles have been executed; and deprioritizing the identified one or more of the data features in an execution of the updated predictive model”: Kamkar, paragraph 0048, “In some implementations, the training set selector removes attributes from the training set based on information received from the adversarial classifier ( e.g., information identifying a prediction accuracy of the adversarial classifier for the removed attribute). In some implementations, the training set selector includes one or more rules that are used by the training selector to remove attributes from the training data sets based on the information received from the adversarial classifier. For example, if the adversarial classifier can accurately predict a value of a sensitive attribute from an output generated by the model, the model training system can remove the sensitive attribute from the training data used to train the model (e.g., 111) [identifying one or more of the data features that contribute to a bias against one or more of the different types of attributes in the predictive model before the plurality of de-biasing cycles have been executed, interpreted as occurring before training has completed] [deprioritizing the identified one or more of the data features in an execution of the updated predictive model].”
Claim Rejections - 35 USC § 103
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 6, 16, and 20 rejected under 35 U.S.C. 103 over Kamkar in view of Li et al., US Patent No. 11,809,976 (hereafter Li).
Regarding claim 6:
Kamkar teaches “[t]he method of claim 4.”
Kamkar further teaches (bold only) “the output of the predictive model inputted into the plurality of adversarial models includes an output from a preceding tree on the chain; and the noise is introduced by the plurality of adversarial models to a subsequent tree on the chain, the subsequent tree being subsequent to the preceding tree”: Kamkar, paragraph 0111, “In some variations, the adversarial classifier is an ensemble of classifiers, including at least one classifier for each protected status or sensitive attribute [plurality of adversarial models].”
Kamkar does not explicitly teach (bold only) “the output of the predictive model inputted into the plurality of adversarial models includes an output from a preceding tree on the chain; and the noise is introduced by the plurality of adversarial models to a subsequent tree on the chain, the subsequent tree being subsequent to the preceding tree.”
Li teaches (bold only) “the output of the predictive model inputted into the plurality of adversarial models includes an output from a preceding tree on the chain; and the noise is introduced by the plurality of adversarial models to a subsequent tree on the chain, the subsequent tree being subsequent to the preceding tree”: Li, col. 11, line 48–col. 12, line 6, “The set H of weak learners may consist of shallow decision trees, which partition the feature space into disjoint regions called leaves. The final GBDT model may be a sum of at least a portion of the decision trees in H with the parameters of the full model being denoted as a single variable 0 (as used above). With the GBDT model being a binary classification model in the example and the ensemble to have different GBDT model instances with different Θ, generating the ensemble may include iteratively adding one or more of the shallow decision trees in the set H assuming the parameters of such decision trees still comply with Θ being in the posterior distribution [the output of the predictive model inputted into the plurality of … models includes an output from a preceding tree on the chain]. To enable a GBDT model to generate a predictive uncertainty, the Stochastic Gradient Langevin Boosting (SGLB) algorithm may be used. As such, the GBDT model may be configured to use SGLD with gradient boosting to be configured to generate a binary classification and an uncertainty metric corresponding to the binary classification. In general, the SGLB algorithm combines gradient boosting with stochastic gradient Langevin dynamics (SGLD). In comparing the SGLB algorithm to Stochastic Gradient Boosting (SGB), the SGLB algorithm differs from SGB in two main areas: (1) the SGLB algorithm introduces Gaussian noise into gradients of SGB [each model in the ensemble chain has Gaussian noise injected into its gradient, hence, the noise is introduced by the plurality of … models to a subsequent tree on the chain, the subsequent tree being subsequent to the preceding tree] and (2) the adjustment or update stage of SGB is modified to include a regularization term/hyperparameter (referred to as ß).”
Li and Kamkar are analogous arts as they are both related to model ensembles. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have combined the noise injection of Li with the teachings of Kamkar to arrive at the present invention, in order to generate an uncertainty measure, as stated in Li, col. 11, lines 61–65, “As such, the GBDT model may be configured to use SGLD with gradient boosting to be configured to generate a binary classification and an uncertainty metric corresponding to the binary classification.”
Regarding claim 16:
Kamkar teaches “[t]he system of claim 12.”
Kamkar further teaches “the predictive model comprises a Light Gradient Boosting Machine (LightGBM) model that includes a plurality of trees on a chain”: Kamkar, paragraph 0078, “In embodiments, S210 includes training a pre-existing regression model (M). In other embodiments, S210 includes training at least one alternative regression model (F). In some embodiments M and F are neural network regressors. In other embodiments M and F are gradient boosting models such as XGBoost and lightGBM [the predictive model comprises a Light Gradient Boosting Machine (LightGBM) model that includes a plurality of trees on a chain] regressors.”
Kamkar does not explicitly teach “the output of the predictive model inputted into the plurality of adversarial models includes an output from a preceding tree on the chain; and the noise is introduced by the plurality of adversarial models to a subsequent tree on the chain, the subsequent tree being subsequent to the preceding tree.”
Li teaches “the output of the predictive model inputted into the plurality of adversarial models includes an output from a preceding tree on the chain; and the noise is introduced by the plurality of adversarial models to a subsequent tree on the chain, the subsequent tree being subsequent to the preceding tree”: Li, col. 11, line 48–col. 12, line 6, “The set H of weak learners may consist of shallow decision trees, which partition the feature space into disjoint regions called leaves. The final GBDT model may be a sum of at least a portion of the decision trees in H with the parameters of the full model being denoted as a single variable 0 (as used above). With the GBDT model being a binary classification model in the example and the ensemble to have different GBDT model instances with different Θ, generating the ensemble may include iteratively adding one or more of the shallow decision trees in the set H assuming the parameters of such decision trees still comply with Θ being in the posterior distribution [the output of the predictive model inputted into the plurality of adversarial models includes an output from a preceding tree on the chain]. To enable a GBDT model to generate a predictive uncertainty, the Stochastic Gradient Langevin Boosting (SGLB) algorithm may be used. As such, the GBDT model may be configured to use SGLD with gradient boosting to be configured to generate a binary classification and an uncertainty metric corresponding to the binary classification. In general, the SGLB algorithm combines gradient boosting with stochastic gradient Langevin dynamics (SGLD). In comparing the SGLB algorithm to Stochastic Gradient Boosting (SGB), the SGLB algorithm differs from SGB in two main areas: (1) the SGLB algorithm introduces Gaussian noise into gradients of SGB [each model in the ensemble chain has Gaussian noise injected into its gradient, hence, the noise is introduced by the plurality of adversarial models to a subsequent tree on the chain, the subsequent tree being subsequent to the preceding tree] and (2) the adjustment or update stage of SGB is modified to include a regularization term/hyperparameter (referred to as ß).”
Li and Kamkar are analogous arts as they are both related to model ensembles. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have combined the noise injection of Li with the teachings of Kamkar to arrive at the present invention, in order to generate an uncertainty measure, as stated in Li, col. 11, lines 61–65, “As such, the GBDT model may be configured to use SGLD with gradient boosting to be configured to generate a binary classification and an uncertainty metric corresponding to the binary classification.”
Regarding claim 20:
Kamkar teaches “[t]he non-transitory machine-readable medium of claim 18.”
Kamkar further teaches:
“the predictive model comprises a Light Gradient Boosting Machine (LightGBM) model that includes a plurality of trees on a chain”: Kamkar, paragraph 0078, “In embodiments, S210 includes training a pre-existing regression model (M). In other embodiments, S210 includes training at least one alternative regression model (F). In some embodiments M and F are neural network regressors. In other embodiments M and F are gradient boosting models such as XGBoost and lightGBM [the predictive model comprises a Light Gradient Boosting Machine (LightGBM) model that includes a plurality of trees on a chain] regressors.”
“the predictive model is updated by adding a new tree after the last tree on the tree”: Kamkar, paragraph 0113, “In some implementations, the model is a tree ensemble, and executing the training function ( e.g., "xgboost.train()" ) includes performing a tree boosting training process ( e.g., a gradient tree boosting training process) that includes iteratively adding tree sub-models to a tree ensemble [the predictive model is updated by adding a new tree after the last tree on the tree] until output generated by the tree ensemble for each of a plurality of training data rows satisfies training stopping criteria.”
(bold only) “the new tree containing the noise generated by the plurality of adversarial models”: Kamkar, paragraph 0154, “This approach can be understood as follows. Applicant 1 is most likely White (non-Hispanic), and so during the training process, Applicant 1 should often be labeled as White (non-Hispanic). Applicant 2 is equally likely to be White (non-Hispanic), African American, or Hispanic, and so Applicant 2 will be labeled as White, non-Hispanic, African American, and Hispanic with equal frequency during the adversarial training process [as part of a process that includes adversarial models, hence, containing the noise generated by the plurality of adversarial models]. By assigning binary labels with frequencies that reflect the probabilistic labels, probabilistic class assignments can be transformed into binary class assignments.”;
Kamkar does not explicitly teach (bold only) “the output of the predictive model inputted into the plurality of adversarial models includes an output from a last tree on the chain, and the predictive model is updated by adding a new tree after the last tree on the tree, the new tree containing the noise generated by the plurality of adversarial models.”
Li teaches (bold only) “the output of the predictive model inputted into the plurality of adversarial models includes an output from a last tree on the chain, and the predictive model is updated by adding a new tree after the last tree on the tree, the new tree containing the noise generated by the plurality of adversarial models”: Li, col. 11, line 48–col. 12, line 6, “The set H of weak learners may consist of shallow decision trees, which partition the feature space into disjoint regions called leaves. The final GBDT model may be a sum of at least a portion of the decision trees in H with the parameters of the full model being denoted as a single variable 0 (as used above). With the GBDT model being a binary classification model in the example and the ensemble to have different GBDT model instances with different Θ, generating the ensemble may include iteratively adding one or more of the shallow decision trees in the set H assuming the parameters of such decision trees still comply with Θ being in the posterior distribution [the output of the predictive model inputted into the plurality of adversarial models includes an output from a last tree on the chain]. To enable a GBDT model to generate a predictive uncertainty, the Stochastic Gradient Langevin Boosting (SGLB) algorithm may be used. As such, the GBDT model may be configured to use SGLD with gradient boosting to be configured to generate a binary classification and an uncertainty metric corresponding to the binary classification. In general, the SGLB algorithm combines gradient boosting with stochastic gradient Langevin dynamics (SGLD). In comparing the SGLB algorithm to Stochastic Gradient Boosting (SGB), the SGLB algorithm differs from SGB in two main areas: (1) the SGLB algorithm introduces Gaussian noise into gradients of SGB [each model in the ensemble chain has Gaussian noise injected into its gradient, hence, the new tree containing the noise generated by the … models] and (2) the adjustment or update stage of SGB is modified to include a regularization term/hyperparameter (referred to as ß).”
Li and Kamkar are analogous arts as they are both related to model ensembles. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have combined the noise injection of Li with the teachings of Kamkar to arrive at the present invention, in order to generate an uncertainty measure, as stated in Li, col. 11, lines 61–65, “As such, the GBDT model may be configured to use SGLD with gradient boosting to be configured to generate a binary classification and an uncertainty metric corresponding to the binary classification.”
Claims 7–8 rejected under 35 U.S.C. 103 over Kamkar in view of Audhkhasi et al., US Pre-Grant Publication No. US 2016/0034814 (hereafter Audhkhasi).
Regarding claim 7:
Kamkar teaches “[t]he method of claim 1.”
Kamkar does not explicitly teach “wherein the introducing the noise further comprises determining a decay function for the introduced noise.”
Audhkhasi teaches “wherein the introducing the noise further comprises determining a decay function for the introduced noise”: Audhkhasi, paragraph 0041, “The Noisy Expectation-Maximization (NEM) algorithm [A. P. Dempster, N. M. Laird, and D. B. Rubin, "Maximum likelihood from incomplete data via the EM algorithm," Journal of the Royal Statistical Society. Series B (Methodological), pp. 1-38, 1977; G. J. McLachlan and T. Krishnan, The EM algorithm and extensions. Wiley-Interscience, 2007, vol. 382] modifies the EM scheme and achieves faster convergence times on average. The NEM algorithm injects noise into the data at each EM iteration. The noise decays with the iteration count [wherein the introducing the noise further comprises determining a decay function for the introduced noise] to guarantee convergence to the optimal parameters of the original data model. The additive noise must also satisfy the NEM condition below that guarantees that the NEM parameter estimates will climb faster up the likelihood surface on average.”
Audhkhasi and Kamkar are analogous arts as they are both related to model training. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have combined the decaying noise injection of Audhkhasi with the teachings of Kamkar to arrive at the present invention, in order to improve model convergence, as stated in Audhkhasi, paragraph 0041, “The noise decays with the iteration count to guarantee convergence to the optimal parameters of the original data model. The additive noise must also satisfy the NEM condition below that guarantees that the NEM parameter estimates will climb faster up the likelihood surface on average.”
Regarding claim 8:
Kamkar teaches “[t]he method of claim 7.”
Audhkhasi further teaches “wherein the decay function is performed by ramping down the introduced noise after a predefined number of iterations of noise-introduction has been executed”: Audhkhasi, paragraph 0041, “The Noisy Expectation-Maximization (NEM) algorithm [A. P. Dempster, N. M. Laird, and D. B. Rubin, "Maximum likelihood from incomplete data via the EM algorithm," Journal of the Royal Statistical Society. Series B (Methodological), pp. 1-38, 1977; G. J. McLachlan and T. Krishnan, The EM algorithm and extensions. Wiley-Interscience, 2007, vol. 382] modifies the EM scheme and achieves faster convergence times on average. The NEM algorithm injects noise into the data at each EM iteration. The noise decays with the iteration count [the decay function is performed by ramping down the introduced noise after a predefined number of iterations of noise-introduction has been executed] to guarantee convergence to the optimal parameters of the original data model. The additive noise must also satisfy the NEM condition below that guarantees that the NEM parameter estimates will climb faster up the likelihood surface on average.”
Audhkhasi and Kamkar are combinable for the rationale given under claim 7.
Claims 9 and 17 rejected under 35 U.S.C. 103 over Kamkar as modified by Audhkhasi in view of Castiglione, US Pre-Grant Publication No. 2022/0382880 (hereafter Castiglione).
Regarding claim 9:
Kamkar teaches “[t]he method of claim 7.”
Kamkar further teaches (bold only) “wherein a different decay function is customized to each adversarial model of the plurality of adversarial models”: Kamkar, paragraph 0111, “In some variations, the adversarial classifier is an ensemble of classifiers, including at least one classifier for each protected status or sensitive attribute [adversarial model of the plurality of adversarial models].”
Audhkhasi further teaches (bold only) “wherein a different decay function is customized to each adversarial model of the plurality of adversarial models”: paragraph 0041, “The Noisy Expectation-Maximization (NEM) algorithm [A. P. Dempster, N. M. Laird, and D. B. Rubin, "Maximum likelihood from incomplete data via the EM algorithm," Journal of the Royal Statistical Society. Series B (Methodological), pp. 1-38, 1977; G. J. McLachlan and T. Krishnan, The EM algorithm and extensions. Wiley-Interscience, 2007, vol. 382] modifies the EM scheme and achieves faster convergence times on average. The NEM algorithm injects noise into the data at each EM iteration. The noise decays with the iteration count [decay function] to guarantee convergence to the optimal parameters of the original data model. The additive noise must also satisfy the NEM condition below that guarantees that the NEM parameter estimates will climb faster up the likelihood surface on average.”
Audhkhasi and Kamkar are combinable for the rationale given under claim 7.
Kamkar as modified by Audhkhasi does not explicitly teach (bold only) “wherein a different decay function is customized to each adversarial model of the plurality of adversarial models.”
Castiglione teaches (bold only) “wherein a different decay function is customized to each adversarial model of the plurality of adversarial models”: Castiglione, paragraph 0009, “The proposed approach smooths the tree ensembles, for example, through temperature-controlled sigmoid functions which enables gradient descent-based adversarial attacks. In some embodiments, different variations of the smoothed model can be established based on different temperature hyperparameters [wherein a different … function is customized to each adversarial model of the plurality of adversarial models], and analysis can be run on an ensemble of different smoothed models, or in another embodiment, an optimized temperature hyperparameter can be determined first prior to analysis. In yet another embodiment, the temperature hyperparameter can be incrementally increased by the tool to determine a minimum epsilon that yields vulnerabilities to adversarial examples.”
Castiglione and Kamkar as modified by Audhkhasi are analogous arts as they are both related to adversarial modelling. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have combined the custom model hyperparameters of Castiglione with the teachings of Kamkar as modified by Audhkhasi to arrive at the present invention, in order to improve adversarial modelling, as stated in Castiglione, paragraph 0012, “The experimental results show the proposed approach can 1) successfully reveal the adversarial vulnerability of tree ensemble models without causing computational pressure for testing and 2) flexibly balance the search performance and time complexity to meet various practical testing criteria and computational constraints.”
Regarding claim 17:
Kamkar teaches “[t]he system of claim 12.”
Kamkar further teaches (bold only) “the one or more decay functions are customized to each adversarial model of the plurality of adversarial models”: Kamkar, paragraph 0111, “In some variations, the adversarial classifier is an ensemble of classifiers, including at least one classifier for each protected status or sensitive attribute [each adversarial model of the plurality of adversarial models].”
Kamkar does not explicitly teach:
“wherein: an amount of noise introduced is specified by one or more decay functions”
(bold only) “the one or more decay functions are customized to each adversarial model of the plurality of adversarial models”
Audhkhasi teaches “wherein: an amount of noise introduced is specified by one or more decay functions” and (bold only) “the one or more decay functions are customized to each adversarial model of the plurality of adversarial models”: Audhkhasi, paragraph 0041, “The Noisy Expectation-Maximization (NEM) algorithm [A. P. Dempster, N. M. Laird, and D. B. Rubin, "Maximum likelihood from incomplete data via the EM algorithm," Journal of the Royal Statistical Society. Series B (Methodological), pp. 1-38, 1977; G. J. McLachlan and T. Krishnan, The EM algorithm and extensions. Wiley-Interscience, 2007, vol. 382] modifies the EM scheme and achieves faster convergence times on average. The NEM algorithm injects noise into the data at each EM iteration. The noise decays with the iteration count [decay functions][an amount of noise introduced is specified by one or more decay functions] to guarantee convergence to the optimal parameters of the original data model. The additive noise must also satisfy the NEM condition below that guarantees that the NEM parameter estimates will climb faster up the likelihood surface on average.”
Audhkhasi and Kamkar are analogous arts as they are both related to model training. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have combined the decaying noise injection of Audhkhasi with the teachings of Kamkar to arrive at the present invention, in order to improve model convergence, as stated in Audhkhasi, paragraph 0041, “The noise decays with the iteration count to guarantee convergence to the optimal parameters of the original data model. The additive noise must also satisfy the NEM condition below that guarantees that the NEM parameter estimates will climb faster up the likelihood surface on average.”
Castiglione teaches (bold only) “the one or more decay functions are customized to each adversarial model of the plurality of adversarial models”: Castiglione, paragraph 0009, “The proposed approach smooths the tree ensembles, for example, through temperature-controlled sigmoid functions which enables gradient descent-based adversarial attacks. In some embodiments, different variations of the smoothed model can be established based on different temperature hyperparameters [the one or more … functions are customized to each adversarial model of the plurality of adversarial models], and analysis can be run on an ensemble of different smoothed models, or in another embodiment, an optimized temperature hyperparameter can be determined first prior to analysis. In yet another embodiment, the temperature hyperparameter can be incrementally increased by the tool to determine a minimum epsilon that yields vulnerabilities to adversarial examples.”
Castiglione and Kamkar as modified by Audhkhasi are analogous arts as they are both related to adversarial modelling. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have combined the custom model hyperparameters of Castiglione with the teachings of Kamkar as modified by Audhkhasi to arrive at the present invention, in order to improve adversarial modelling, as stated in Castiglione, paragraph 0012, “The experimental results show the proposed approach can 1) successfully reveal the adversarial vulnerability of tree ensemble models without causing computational pressure for testing and 2) flexibly balance the search performance and time complexity to meet various practical testing criteria and computational constraints.”
Claim 10 rejected under 35 U.S.C. 103 over Kamkar in view of Nadamuni Raghavan et al., US Pre-Grant Publication No. 2024/0062042 (hereafter Raghavan).
Kamkar teaches “[t]he method of claim 1.”
Kamkar further teaches:
“wherein the output of the predictive model is inputted into the plurality of adversarial models in parallel with one another”: Kamkar, paragraph 0007, “For instance, statistical analyses may be applied using an adversarial model operating on the output of a primary model [output of the predictive model is inputted into the plurality of adversarial models] trained to generate predictions. The adversarial model may be trained to predict an undesirable outcome from the predictions of the primary model ( e.g., a regression model, a classification model, among others), and may be used during training operations, such as backpropagation or gradient boosting, to update the weights and parameters of the primary model based on the predictions of the adversary, reducing undesirable outcomes while also maintaining accuracy”; Kamkar, paragraph 0111, “In some variations, the adversarial classifier is an ensemble of classifiers, including at least one classifier for each protected status or sensitive attribute [the plurality of adversarial models in parallel with one another, interpreted as a group of models acting as one logical model].”
(bold only) “and wherein the noise is introduced to the predictive model in parallel with one another via each of the adversarial models”: Kamkar, paragraph 0152, “In some implementations, when protected class information is probabilistic, observations can be assigned a binary class label based on the likelihood assigned by the probabilistic protected class estimation method (e.g., the race/ethnicity probabilities assigned by BISG). At each XGBoost boosting round, for each observation, a stochastic binary protected class assignment can occur [the noise is introduced to the predictive model … via … the adversarial models], such that the proportion of binary assignments reflects the probabilistic class assignments.”
Kamkar does not explicitly teach (bold only) “and wherein the noise is introduced to the predictive model in parallel with one another via each of the adversarial models.”
Raghavan teaches (bold only) “and wherein the noise is introduced to the predictive model in parallel with one another via each of the adversarial models”: Raghavan, paragraph 0006, “In general, the disclosure describes techniques for training a set of diverse ensemble models using information theory. Deep ensembles are currently created by one of the following methods: training a number of Deep Neural Networks (DNNs) in parallel from different random initialization of parameters, randomized smoothing that adds noise and smoothing to DNN inputs alone, ensemble generators that train a hypernetwork that then subsequently generate DNNs, or Bayesian DNNs that model the posterior distribution over weights. In contrast to conventional approaches, the techniques disclosed herein involve training a single DNN, but sampling as many DNNs as needed to make ensembles of arbitrary size. Diversity of the sampled ensembled is quantified and optimized during training in a theoretically justified manner. In an aspect, noise may be added to two (or more) DNN layer outputs and/or DNN
weights beyond the input layer [wherein the noise is introduced … via each of the … models]. Since this approach involves training only one first DNN and sampling multiple DNNs from the first DNN, there is no need to generate different weights of any fixed sized DNN ensemble.”
Raghavan and Kamkar are analogous arts as they are both related to noise injection in modelling. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have combined the parallel noise injection of Raghavan with the teachings of Kamkar to arrive at the present invention, in order to improve adversarial robustness, as stated in Raghavan, paragraph 0006, “The disclosed diverse ensemble models are found to be nevertheless robust to adversarial perturbations and corruptions by an external attacker.”
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Khiari et al., US Pre-Grant Publication No. 2019/0303795, discloses a method of ensemble learning in which training data is divided into subsets to which noise is individually applied.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to VINCENT SPRAUL whose telephone number is (703) 756-1511. The examiner can normally be reached M-F 9:00 am - 5:00 pm.
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, MICHAEL HUNTLEY can be reached at (303) 297-4307. 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.
/VAS/Examiner, Art Unit 2129
/SCHYLER S SANKS/Primary Examiner, Art Unit 2129