DETAILED ACTION
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 .
Status of Claims
This Office Action is in response to the communication filed on 19 Jul 2023.
Claims 1-5,7-12,14,17-19,21-24 and 28 are being considered on the merits.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 20 Jul 2023 has been considered. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, initialed and dated copies of Applicant's IDS form 1499 is attached to the instant Office action.
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 7 and 21 recite:
"The first training parameter" in the first line and 3rd to last of line the last claim limitations
“The second training parameter” in the first line and penultimate line of the last claim limitations
Claims 8 and 22 recite:
"The method of claim 6" in the first line of the claims
“The first set of model parameters” in the second line of the claims
“The aggregated set of model parameters” in the last line of the claims
There is insufficient antecedent bases for these limitations in the claim.
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 1-5,7-10, 12,14,17-19,21-24 and 28 are rejected under 35 U.S.C. 103 as being unpatentable over Jain, et. al. (US 2023/0351252 A1; hereinafter, “Jain”) and G. Wang, C. X. Dang and Z. Zhou ("Measure Contribution of Participants in Federated Learning," 2019 IEEE International Conference on Big Data (Big Data), Los Angeles, CA, USA, 2019, pp. 2597-2604, doi: 10.1109/BigData47090.2019.9006179; hereinafter, “Wang”).
Regarding claims 1 and 17, Jain teaches a method or system for:
determining a respective relative contribution of a first training dataset and a second training dataset (Jain, paras. 150 and 152: “Feature weights for the aggregated model are determined from feature weights received from the multiple clients.” “For example, client system 311 may comprise a client training set 310, e.g., in a client training set storage” Examiner notes Jain teaches multiple clients each having a client training set, including at least a first and a second client) having been used to train an initial model to respectively obtain a first trained model and a second trained model for performing a common prediction task, (Jain, para. 0152: “ For example, evaluation unit 332 may use model parameters 320 to apply the model on a set of feature values. For example, the evaluation unit 332 may be used for the purposes of the client. For example, the evaluation unit 332 may be used to predict CVD risk for clients of a hospital.” Examiner notes Jain teaches predicting CVD risk for hospital clients).
the method being executed by at least one main processing device, the at least one main processing device being operatively connected to at least one first processing device and at least one second processing device, the method comprising: (Jain, para. 0219: “A processor circuit may be implemented in a distributed fashion, e.g., as multiple sub-processor circuits. A storage may be distributed over multiple distributed sub-storages. Part or all of the memory may be an electronic memory, magnetic memory, etc.”)
obtaining, from the at least one first processing device: a first training parameter indicative of a level of predictive uncertainty of the first trained model, the first trained model having been generated by training the initial model for performing the prediction task on the first training dataset; (Jain, para. 0094: “The clients train the base model on the data that they have available locally. It is not needed that the clients use the same features. If a client does not have data for a particular feature, then that feature is not used at that client. A model update is sent from a client to the server system. The model update may comprise information on how the base model should be modified to improve its prediction for the local data. For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty).
obtaining, from the at least one second processing device: a second training parameter indicative of a level of predictive uncertainty of the second trained model, the second trained model having been generated by training the initial model for performing the prediction task on the second training dataset; and (Jain, para. 0094: “The clients train the base model on the data that they have available locally. It is not needed that the clients use the same features. If a client does not have data for a particular feature, then that feature is not used at that client. A model update is sent from a client to the server system. The model update may comprise information on how the base model should be modified to improve its prediction for the local data. For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches multiple clients i.e. at least two clients).
determining, using the first training parameter and the second training parameter, the respective relative contribution of the first training dataset and the second training dataset to an aggregated trained model to be generated using the first trained model, the second trained model, the first training parameter and the second training parameter. (Wang, sec. V: “We developed the algorithms for calculating multi-party contribution as derived in Section 3 and 4. In this section, we test our algorithm by training a machine learning model on the Cervical cancer (Risk Factors) Data Set [10] and experimenting by calculating the participant contributions on both horizontal and vertical FML setups.” Examiner notes Wang teaches determining respective relative contribution via computation of each participant contribution).
It would have obvious to one of ordinary skill in the art before the effective filing date of the present application to combine the teachings of Wang into Jain. Jain teaches federated learning via aggregating model updates of multiple clients; Wang teaches techniques to fairly calculate the contributions of multiple parties in FML. One of ordinary skill would have been motivated to combine the teachings of Wang into Jain in order to enable a credit allocation and rewarding mechanism that is crucial for the incentives current and potential participants of Federated Learning (Wang, sec. I).
Regarding claim 2, Jain as modified teaches:
The method of claim 1, further comprising: obtaining, from the at least one first processing device, at least a portion of the first trained model; (Jain, para. 0094: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model)
obtaining, from the at least one second processing device, at least a portion of the second trained model; and (Jain, para. 0094: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model; examiner further notes Jain teaches multiple clients i.e. at least two clients)
combining, using the respective relative contribution of the first training dataset and the respective relative contribution of the second training dataset, at least the portion of the first trained model and at least the portion of the second trained model to thereby obtain the aggregated trained model. (Jain, para. 0094 and 0017: “The clients train the base model on the data that they have available locally. It is not needed that the clients use the same features. If a client does not have data for a particular feature, then that feature is not used at that client. A model update is sent from a client to the server system. The model update may comprise information on how the base model should be modified to improve its prediction for the local data.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes the Jain teaches multiple clients, i.e. at least two, to train a base model wherein the clients send an update to the server).
Regarding claim 3, Jain teaches:
A method for providing an aggregated trained model for performing a prediction task (Jain, para 0108: “For example, model communication 213 may comprise distributing a trained base model from the server system to the multiple client devices, receiving at server system 200 multiple model updates from the multiple client devices, and distributing the aggregated model to the multiple client devices.”), the method being executed by at least one main processing device, the at least one main processing device being operatively connected to at least one first processing device and at least one second processing device, the method comprising: (Jain, para. 0237: “While device 1140 is shown as including one of each described component, the various components may be duplicated in various embodiments. For example, the processor 1120 may include multiple microprocessors that are configured to independently execute the methods described herein or are configured to perform steps or subroutines of the methods described herein such that the multiple processors cooperate to achieve the functionality described herein. Further, where the device 1140 is implemented in a cloud computing system, the various hardware components may belong to separate physical systems. For example, the processor 1120 may include a first processor in a first server and a second processor in a second server.”)
obtaining, from the at least one first processing device: at least a portion of a first trained model having been generated by training an initial model for performing the prediction task on a first training dataset, and a first training parameter indicative of a level of predictive uncertainty of the first trained model; (Jain, para. 0094 and 0017: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model; Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches iteration wherein a trained model is at least trained on a first training dataset and then trained again).
obtaining, from the at least one second processing device: at least a portion of a second trained model having been generated by training the initial model for performing the prediction task on a second training dataset, and a second training parameter indicative of a level of predictive uncertainty of the second trained model; (Jain, para. 0094 and 0017: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update, i.e. a portion of a trained model, of multiple clients i.e. at least two; Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches iteration wherein a trained model is at least trained on a first and second training dataset and then trained again).
combining, using the first training parameter and the second training parameter, at least the portion of the first trained model and at least the portion of the second trained model to thereby obtain the aggregated trained model; and (Jain, para. 0094, 0017 and 0127-0128: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” “The model updates may comprise the difference between the client model parameters and the previous iteration of the model, e.g., the base model…In an embodiment, server 211 is configured to obtain feature weights for the features used by the aggregated model. The feature weights represent the relative importance of the multiple features for the aggregated model's output. There are at least two ways to obtain feature weights, which can also be combined.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model; Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches at least an aggregated model with combined feature weights).
providing the aggregated trained model. (Jain, para. 0140: “For example, in an embodiment, an aggregated model is distributed to the client systems.”)
Regarding claim 12, Jain as modified teaches:
The method of claim 3, further comprising: transmitting, to the at least one first processing device and the at least one second processing device respectively, the aggregated trained model for further training thereof; (Jain, para. 0094 and 0017: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model; examiner further notes Jain teaches iteration wherein a trained model is at least trained on a first training dataset and then trained again).
obtaining, from the at least one first processing device: an updated first trained model having been generated by training the aggregated trained model on a third training dataset, and an updated first training parameter indicative of a level of predictive uncertainty of the updated first trained model; (Jain, para. 0094 and 0017: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model; Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches iteration wherein a trained model is at least trained on a first training dataset and then trained again).
obtaining, from the at least one second processing device: an updated second trained model having been generated by training the aggregated trained model on a fourth training dataset, and an updated second training parameter indicative of a level of predictive uncertainty of the updated second trained model; and (Jain, para. 0094 and 0017: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update, i.e. a portion of a trained model, of multiple clients i.e. at least two; Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches iteration wherein a trained model is at least trained on a first and second training dataset and then trained again).
combining, using the updated first training parameter and the updated second training parameter, the updated first trained model and the second trained model to thereby obtain an updated aggregated trained model. (Jain, para. 0094, 0017 and 0127-0128: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” “The model updates may comprise the difference between the client model parameters and the previous iteration of the model, e.g., the base model…In an embodiment, server 211 is configured to obtain feature weights for the features used by the aggregated model. The feature weights represent the relative importance of the multiple features for the aggregated model's output. There are at least two ways to obtain feature weights, which can also be combined.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model; Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches at least an aggregated model with combined feature weights).
Regarding claims 4 and 18, Jain as modified teaches:
further comprising, prior to said combining of, using the first training parameter and the second training parameter, at least the portion of the first trained model and at least the portion of the second trained model to thereby obtain the aggregated trained model: (Jain, paras 0017 and 0108: “Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” “For example, model communication 213 may comprise distributing a trained base model from the server system to the multiple client devices, receiving at server system 200 multiple model updates from the multiple client devices, and distributing the aggregated model to the multiple client devices.” Examiner notes Jain teaches multiple model updates from multiple client devices i.e. at least a portion of a first and second model and iterative training such that each client model sends their updates to a server model to create i.e. obtain an aggregated model; )
determining, using the first training parameter and the second training parameter, a first indication of a relative contribution of the first training dataset associated with at least the portion of the first trained model with regard to the aggregated trained model; (Wang, sec. V: “We developed the algorithms for calculating multi-party contribution as derived in Section 3 and 4. In this section, we test our algorithm by training a machine learning model on the Cervical cancer (Risk Factors) Data Set [10] and experimenting by calculating the participant contributions on both horizontal and vertical FML setups.” Examiner notes Wang teaches determining respective relative contribution via computation of each participant contribution i.e. at least a first indication of a first participant).
determining, using the second training parameter and the first training parameter, a second indication of a relative contribution of the second training dataset associated with at least the portion of the second trained model to the aggregated trained model; and (Wang, sec. V: “We developed the algorithms for calculating multi-party contribution as derived in Section 3 and 4. In this section, we test our algorithm by training a machine learning model on the Cervical cancer (Risk Factors) Data Set [10] and experimenting by calculating the participant contributions on both horizontal and vertical FML setups.” Examiner notes Wang teaches determining respective relative contribution via computation of each participant contribution i.e. at least a second indication of a second participant).
wherein said combining of, using the first training parameter and the second training parameter, at least the portion of the first trained model and at least the portion of the second trained model to thereby obtain the aggregated trained model comprises using the first indication and the second indication. (Jain, para. 0094, 0017 and 0127-0128: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” “The model updates may comprise the difference between the client model parameters and the previous iteration of the model, e.g., the base model…In an embodiment, server 211 is configured to obtain feature weights for the features used by the aggregated model. The feature weights represent the relative importance of the multiple features for the aggregated model's output. There are at least two ways to obtain feature weights, which can also be combined.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model; Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches at least an aggregated model with combined feature weights).
It would have obvious to one of ordinary skill in the art before the effective filing date of the present application to combine the teachings of Wang into Jain as set forth above with respect to claims 1 and 17.
Regarding claims 5 and 19, Jain as modified teaches:
further comprising, prior to said obtaining of, from the at least one first processing device: obtaining the initial model to train for performing the prediction task, the initial model being associated with a set of initial model parameters; and (Jain, para. 0152: “The model parameters may be obtained by receiving an initial base model… For example, the evaluation unit 332 may be used for the purposes of the client. For example, the evaluation unit 332 may be used to predict CVD risk for clients of a hospital.” Examiner notes Jain teaches an initial base model with associated model parameters for predicant CVD risk)
transmitting, to each of the at least one first processing device and the at least one second processing device respectively, the set of initial model parameters for training thereof. (Jain, para. 0094 and 0017: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes Jain teaches a base model as a starting point where such parameters are transmitted to at least a first and second of multiple clients for training).
Regarding claims 7 and 21, Jain as modified teaches:
wherein: said obtaining of, from the at least one first processing device, at least the portion of the first trained model comprises obtaining a first set of model parameters having been generated by updating the set of initial model parameters during the training on the first training dataset; (Jain, para. 0094 and 0017: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes Jain teaches iterative training where there is at least an initial training and a local network obtaining an updated set of parameters during a subsequent iteration of training).
said obtaining of, from the at least one second processing device, at least the portion of the second trained model comprises obtaining a second set of model parameters having been generated by updating the set of initial model parameters during the training on the second training dataset; and (Jain, para. 0094 and 0017: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” Examiner notes Jain teaches iterative training where there is at least an initial training and a local network obtaining an updated set of parameters during a subsequent iteration of training).
wherein said combining of, using the first parameter and the second parameter, at least the portion of the first trained model and at least the portion of the second trained model to thereby obtain the aggregated trained model comprises: combining the first set of model parameters and the second set of model parameters using the first training parameter and the second training parameter to obtain an aggregated set of model parameters associated with the aggregated trained model. (Jain, para. 0094, 0017 and 0127-0128: “For example, model updates may comprise an updated model; a model update may comprise parameter updates, information that indicates how a parameter should be changed, e.g., increased, decreased or replaced; a model update may comprise a training information, e.g., a gradient.” “The base model may serve as a starting point for the local training done by the clients. The base model is distributed to the multiple client devices…Typically, the training unit 231 iteratively applies training rounds appropriate for the chosen model.” “The model updates may comprise the difference between the client model parameters and the previous iteration of the model, e.g., the base model…In an embodiment, server 211 is configured to obtain feature weights for the features used by the aggregated model. The feature weights represent the relative importance of the multiple features for the aggregated model's output. There are at least two ways to obtain feature weights, which can also be combined.” Examiner notes Jain teaches a local client receiving at least a portion of a trained model which includes at least an update i.e. a portion of a trained model; Examiner notes Jain teaches a how a parameter should be changed which is indicative of a level of uncertainty insofar as how big a change or how many changes are suggested are indicative of the trained model’s level of uncertainty; examiner further notes Jain teaches at least an aggregated model with combined feature weights).
Regarding claims 8 and 22, Jain as modified teaches:
wherein the set of initial model parameters comprises a set of initial weights; (Jain, para. 0208: “For example, at a site 450, e.g., the server or one of site 430 or 440, yet a further site, a final aggregated model 451 may be available. If an explainer 453 is applied to predictions 452 to obtain feature weights 454, they may be different from the initial weights.”)
the first set of model parameters comprises a first set of weights of the first trained model; (Jain, para. 0008: “Advantageously, feature weights may be obtained in a decentralized manner. For example, the aggregated model obtained at the server may be distributed to the clients. The client may assess the aggregated model with local training samples, and so derive client feature weights. For example, a client may apply the aggregated model to local training samples and determine which features of the tried training samples were important for the aggregated model's results. The server may aggregate the client feature weights into global feature weights. The latter in effect tell the importance of various features.”)
the second set of model parameters comprises a second set of weights of the second trained model; and (Jain, para. 0008: “Advantageously, feature weights may be obtained in a decentralized manner. For example, the aggregated model obtained at the server may be distributed to the clients. The client may assess the aggregated model with local training samples, and so derive client feature weights. For example, a client may apply the aggregated model to local training samples and determine which features of the tried training samples were important for the aggregated model's results. The server may aggregate the client feature weights into global feature weights. The latter in effect tell the importance of various features.” Examiner notes Jain teaches multiple clients and weights of at least a first and second model therefore).
the aggregated set of model parameters comprises an aggregated set of weights of the aggregated trained model. (Jain, para. 0008: “The server may aggregate the client feature weights into global feature weights. The latter in effect tell the importance of various features.”)
Regarding claims 9 and 23, Jain as modified teaches:
wherein the first training parameter comprises a first variance estimator of at least the portion of the first trained model; and (Jain, para. 0142: “A sample feature weight may be computed by varying one of the feature values. The sample feature weight may indicate whether the model output changes, or how much a feature needs to be varied before the model output changes, etc.”)
the second training parameter comprises a second variance estimator at least the portion of the second trained model. (Jain, paras. 0158-0178: “For example, input: x produces output y. By varying the values in x and observing the changes in y, the relative importance of the features in x are determined. This can be done for multiple inputs x. The inputs x can be selected from the client training set… Steps 2-7 may be repeated multiple times” Examiner notes Jain teaches estimating variance which may be repeated i.e. at least a first and second time)
Regarding claims 10 and 24, Jain as modified teaches:
wherein the first variance estimator comprises an average of variance estimators over a second half of a last epoch of training on the first training dataset; and (Jain, para. 0096 and 0221: “For example, techniques like federated averaging may be used for aggregation.” “receiving (510) multiple model updates from multiple client devices, a model update representing model parameters improved in training iterations executed by a client device on a corresponding client training set, a training sample in a client training set indicating values for multiple features, at least some of the multiple client training sets indicating values for different features,” Examiner notes Jain teaches variance calculations of a sample feature weight resulting in an estimation of variance and averaging and training over a dataset i.e. at least an epoch and therefore at least a second half of an epoch)
the second first variance estimator comprises an average of variance estimators over a second half of a last epoch of training on the second training dataset. (Jain, para. 0096 and 0221: “For example, techniques like federated averaging may be used for aggregation.” “receiving (510) multiple model updates from multiple client devices, a model update representing model parameters improved in training iterations executed by a client device on a corresponding client training set, a training sample in a client training set indicating values for multiple features, at least some of the multiple client training sets indicating values for different features,” Examiner notes Jain teaches variance calculations of a sample feature weight resulting in an estimation of variance and averaging and training over a dataset i.e. at least an epoch and therefore at least a second half of an epoch and over multiple corresponding client training sets i.e. at least a first and second training dataset)
Regarding claims 14 and 28, Jain as modified teaches:
wherein the main processing device does not have access to the first training dataset and the second training dataset. (Jain, para. 0007: “Feature weights are obtained for the aggregated model that represent the relative importance of the multiple features for the aggregated model's output. The feature weights represent information that is not available locally at the clients, and in fact, cannot be computed locally as individual clients may lack the training data to properly assess the aggregated model. The same may hold for the server, e.g., the aggregator, that aggregates the model updates.”)
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Jain in view of Wang and further in view of Shoham, et. al. (arXiv:1910.07796v1 [cs.LG] 17 Oct 2019; hereinafter, “Shoham”).
Regarding claim 11, Jain as modified does not explicitly disclose but Shoham teaches:
The method of claim 3, wherein the first training parameter comprises an approximation of a diagonal of a Fisher information matrix of the first trained model; and (Shoham, pg. 4: “The diagonal of the Fisher information has been used successfully for parameter pruning in neural networks”)
the second training parameter comprises an approximation of a diagonal of a Fisher information matrix of the second trained model. (Shoham, pg. 4: “The diagonal of the Fisher information has been used successfully for parameter pruning in neural networks [15]. This gives us a straightforward way to save bandwidth by using sparse versions of diag(
I
^
) diag(
I
^
)
θ
^
and even ∆
θ
, as diag(
I
^
) provides a natural evaluation for the importance measure of the parameters of
θ
^
” Examiner notes Jain teaches at least two trained models and Shoham teaches parameter pruning in [multiple] neural networks).
It would have obvious to one of ordinary skill in the art before the effective filing date of the present application to combine the teachings of Shoham into Jain, as modified. Shoham teaches a solution for catastrophic forgetting to Federated Learning. One of ordinary skill would have been motivated to combine the teachings of Shoham into Jain in order to adapt a solution for catastrophic forgetting to Federated Learning (Soham, abstract).
Prior Art
Zhang, et. al. (arXiv:2012.08565v1 [cs.LG] 15 Dec 2020) teaches an alternative federated model where each client only federates with other relevant clients to obtain a stronger model per client-specific objectives.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Sally T. Ley whose telephone number is (571)272-3406. The examiner can normally be reached Monday - Thursday, 10:00am - 6: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, Viker Lamardo can be reached at (571) 270-5871. 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.
/STL/Examiner, Art Unit 2147
/VIKER A LAMARDO/Supervisory Patent Examiner, Art Unit 2147