DETAILED ACTION
Status of Claims
Claim(s) 1-5 are pending and are examined herein.
Claim(s) 1-5 are rejected under 35 U.S.C. §§§ 101, 112, and 103.
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 .
Priority
Acknowledgment is made of the applicant’s claim for priority to foreign application (European Patent Application No. EP23169732), filed on Apr. 25, 2023.
Information Disclosure Statement
The information disclosure statement IDS(s) submitted on April 22, 2024 is in compliance with the provisions of 37 CFR 1.97 and have been considered by the examiner.
Claim Objections
Claim(s) 5 is objected to due to the following reasons:
Claim 5 recites “A computer program product having machine-readable instructions stored therein which, when executed by a client-server system, cause the client-server system to perform the method as claimed in claim 1, wherein the client-server system comprises a server and at least two clients, and wherein each client includes a processor and a memory.” However, claim 1 and claim 5 are drawn to a separate statutory category i.e., a process and an article of manufacture. Claim 5 is not a proper dependent claim and should be rewritten in independent form as a separate independent claim directed to an article of manufacture.
Appropriate correction is required.
Drawings
The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because of the following reasons:
Figure 1: The graphical elements shown on the input and output sides of the network are not defined by any reference character.
Figure 2: The figure does not label or depicts some elements recited in the specification and claims:
Memory MEM is depicted only inside client C1: no memory is depicted in C2 or C3 as described in paragraph [0031].
No processor is depicted in any client, as described in paragraph [0031].
The technical device TD1 is depicted to be connected to C1 only; however, no corresponding technical devices are depicted for C2 or C3, as described in paragraph [0031].
Figure 3: The figure appears to show a flowchart contains ten blocks labeled only “a) through j) with no descriptive content or information indicating what each block represent.
The drawing should be corrected to clearly label or reference some elements that are described in the specification and are not reference or labeled in the drawings. Figure 3 should define the empty boxes to indicate what each box represents. Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
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.
Claim(s) 1-5 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, for pre-AIA the applicant regards as the invention.
Regarding Claim 1, the claim recites limitations that renders the scope of the claimed invention indefinite for the following reasons:
First, the claim recites in the preamble both “a technical device” and “a connected technical device,” and steps subsequently recites “the technical device” in steps (c) and (j). It is not clear whether the recited “a connected technical device” is the same as or different from the recited “technical device.” Further, it is unclear whether “the technical device” in the subsequent steps are referring back to the earlier recited “a technical device,” to the separately introduced “a connected technical device” that each client stores a client model for operating, or whether these two recitations are intended to refer to the same device. Because the claim lacks a clear antecedent basis for these terms, one of ordinary skill in the art would not be able to determine with reasonable certainty which device is being operated. For examination purposes, the examiner interprets the claimed terms as referring to the same technical device.
Second, the claim recites “at least one sensitive model parameter.” However, the term “sensitive” is a relative term that renders the claim indefinite. The claim and the specification does not provide standard, criterion, or threshold for ascertaining the requisite degree of sensitivity of a model parameter, and one of ordinary skill in the art would not be reasonably apprised of what degree of sensitivity is required to qualify a parameter as “sensitive model parameter.” Accordingly, the metes and bounds of these limitations cannot be determined with reasonable certainty. For examination purposes, the Examiner interprets the claimed “at least one sensitive model parameter” as any client side model parameter that is not part of the global model i.e., personalized model parameter.
Third, step (h) of claim 1 recites “providing the client model to the server,” step (i) recites “updating, by the server, the global model aided by the provided client model,” and step (j) recites “operating, by the client, the technical device utilizing the client model and the at least one sensitive parameter from the memory.” However, the recited “client model” is modified during the claim process of the removal of parameters (step (f)) and by the determination of parameters as sensitive and storing in memory (step (h)). The claim does not specify whether the subsequent recitations of “the client model” in steps (h), (i), and (j) refer to the client model before parameter removal, after parameter removal, or after reconstruction with the stored sensitive parameters. The claim uses a single term “the client model” without providing separate antecedents or distinguishing the client model in the claim process. Accordingly, a person of ordinary skill in the art would not be able to determine the metes and bounds of the claimed client model.
Lastly, the claim recites the method steps labeled a) through j), but it is unclear whether the letters are intended merely as organizational labels, as defining a required order sequence in which each step must be performed in the order of the letters, or both. This lack of clarity renders the scope of the claim indefinite, because the metes and bounds of the claim shift depending on whether the recited order is required or merely descriptive/convention labels. For examination purposes, the examiner interprets the use of the letters broadly as labels for the recited different step.
For at least the above reasons, claim 1 does not particularly point out and distinctly claim the invention.
Regarding Claim 5, the claim recites limitation “A computer program product having machine-readable instructions stored therein which, when executed by a client-server system, cause the client-server system to perform the method as claimed in claim 1, wherein the client-server system comprises a server and at least two clients, and wherein each client includes a processor and a memory.”
Claim 5, which depends on method claim 1, recites the elements “a client-server system,” “a server,” “at least two clients,” “a processor” and “a memory.” However, these claim terms/elements have been previously introduced in the respective claim 1. Thus, it is unclear whether the claim elements recited in claim 5 are referring to the same elements recited in claim 1 or whether they are introducing different distinct elements. Because the claim fails to provide a proper antecedent basis, the metes and bounds of the claim is not clear. For examination, it is interpreted as referring to the same elements.
Regarding dependent claims 2-3 and 5, these claims depend from a rejected claim 1 and therefore inherit the deficiencies of the respective parent claim.
In view of the above, Examiner respectfully requests that Applicant thoroughly review the claims for compliance with the requirements set forth under 35 U.S.C. § 112.
Claim Rejections – 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 5 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim does not fall within at least one of the four categories of patent eligible subject matter because the claim recites “A computer program product having machine-readable instructions stored therein” which clearly claims a computer instruction (i.e., software per se) and software per se is not within the four statutory categories of invention. Examiner notes that the client-server system (which includes processor and memory) is not part of the claimed program product. The claim merely suggest that the computer program is intended to be executed on a client-server system. Accordingly, Claim 5 is directed to non-statutory subject matter (i.e., signals per se).
Claim Interpretation
Claim 1 recites limitations that contain both contingent limitations and negative limitations. Such limitations are the following:
b) checking, by the at least one client, whether at least one sensitive model parameter which is not included in the global model is stored in the memory, and aggregating the provided global model with the at least one sensitive model parameter and updating said global model as a client model if the at least one sensitive model parameter which is not included in the global model is stored in the memory otherwise updating the client model with the provided global model if the at least one sensitive model parameter which is not included in the global model is not stored in the memory;
....
h) checking whether the second accuracy lies below the first accuracy, specifying the at least one model parameter associated with the at least one selected gradient as at least one sensitive parameter and storing said sensitive parameter in the memory if the second accuracy lies below the first accuracy, and providing the client model to the server.
Contingent limitations:
Step (b) recites a checking operation having two alternative conditional branches:
Condition 1: if the sensitive parameters are stored in memory, aggregate the sensitive parameters with the global model and update the global model as the client model.
Condition 2: if the sensitive parameters are not stored in memory, update the client model with the provided global model.
Step (h) recites a checking operation followed by a conditional statement:
If second lies below the first accuracy, the at least one model parameter associated with the at least one selected gradient is specified as at least one sensitive parameter and stored in memory.
Under MPEP § 2111.04(II) and Ex parte Schulhauser, the broadest reasonable interpretation (BRI) of a method claim with contingent steps requires only those steps whose conditions precedent is actually met. Steps whose condition is not met are not required to be performed for the claim to be implemented.
Specifically, step (b) only requires one of the two branches to be performed, depending on whether sensitive parameters are already in memory. Thus, the claimed method may be performed by either (i) aggregating the global model with the sensitive model parameter and updating the client model when the sensitive parameter is stored in memory, or (ii) updating the client model with the global model when the sensitive parameters is not stored in memory. Accordingly, a prior-art reference need only teach one of the two branches.
With respect to step (h), the claimed specifying the selected model parameter as a sensitive parameter and storing the sensitive parameter in memory are required only when the condition is satisfied (i.e., when the second accuracy lies below the first accuracy). If the second accuracy does not lie below the first accuracy, the specifying and storing operations need not occur for the claimed method to be performed. Accordingly, a prior-art reference does not need to teach these contingent operations if the condition precedent is not satisfied.
Negative Limitations:
Step (b) recites both negative limitations and conditional limitations. Under the broadest reasonable interpretation consistent with MPEP § 2173.05(i), these negative limitations interpreted as follows:
The recitation of “at least one sensitive model parameter which is not included in the global model is stored in the memory” is broadly interpreted as any model parameter that is not part of the global model, a locally stored parameter that the server does not have would satisfy this negative limitation.
The recitation of “the at least one sensitive model parameter which is not included in the global model is not stored in the memory” is broadly interpreted as the client’s memory does not contain stored sensitive parameters i.e., first round of operation where the client device operates or uses the global model as its client model.
Accordingly, the claims steps (b) and (h) are interpreted under the broadest reasonable interpretation consistent with MPEP § 2111.04(II) and MPEP § 2173.05(i), the claim encompasses implementation where the sensitive model parameters are not part of the global model and where only the conditional operations are required when their respective conditions is satisfied.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 1-5 are rejected under 35 U.S.C. 103 as being unpatentable over Mills et al., (IDS: "Multi-task federated learning for personalised deep neural networks in edge computing." (2021)) in view of Vahidian et al., (NPL: "Personalized federated learning by structured and unstructured pruning under data heterogeneity." (2021)), and further in view of Xu et al., (Pub. No.: US 20190362235 A1). Hereinafter, the combination of Mills, Vahidian, and Xu teaches the following.
Regarding Claim 1,
Mills discloses the following:
A computer-implemented method for operating a technical device utilizing a model based on artificial intelligence by a client of a client-server system comprising a server, which provides a global model for operating the technical device based on federated learning, and at least two clients, each client including a processor and a memory, and each client storing a client model for operating a connected technical device, the method comprising: (Mills, [] “FL performs distributed computing at the network edge. Some authors have considered the system design and communication costs of FL in this environment... [P. 4, Section: 3] “Fig. 1 shows a high-level overview of how the MTFL algorithm would operate in the edge-computing environment. More detailed descriptions of the use of BN patches in MTFL, and optimisation on clients is given in the later subsections... The framework also accounts for client stragglers with its round time/uploading client fraction limit. Moreover, MTFL utilises patch layers to improve local model performance on individual users’ non-IID datasets, making MTFL more personalised” [P. 1, Section: 1] “Now, cross-device FL and federated data analysis are being widely applied in electronic devices, such as cross-device FL in iOS 13 ...” Further see section 1.2.) [Examiner’s Note: Mills discloses a federated learning framework consist of clients operating on edge computing devices and server. The server maintains and distributes a global model to multiple client devices across communication rounds. Each client represents an edge computing device which includes a processor and a memory. The client-side and the server-side are used to train neural network and each client locally stores and trains a personalized subnetwork.]
a) providing, by the server, the global model based on the federated learning to at least one client; (Mills, [p. 4, Section: 3] “The MTFL algorithm is based on the client-server framework, however, rounds are initiated by the server, as shown in Fig 1. First, the server selects all, or a subset of all, known clients from its database and asks them to participate in the FL round (Step 1), and sends a Work Request message to them. Clients will accept a Work Request depending on user preferences (for example, users can set their device to only participate in FL if charging and connected to WiFi). All accepting clients then send an Accept message to the server (Step 2). The server sends the global model (and any associated optimization parameters) to all accepting clients,...” [Algorithm 1, lines 4-5] “for each client sk ∈ Sr in parallel do Download global parameters Mk ← Ω”) [Examiner’s Note: The global model is provided or obtained from the sever to a subset of clients.]
b) checking, by the at least one client, whether at least one sensitive model parameter which is not included in the global model is stored in the memory, and aggregating the provided global model with the at least one sensitive model parameter and updating said global model as a client model if the at least one sensitive model parameter which is not included in the global model is stored in the memory otherwise updating the client model with the provided global model if the at least one sensitive model parameter which is not included in the global model is not stored in the memory; (Mills, [Fig. 1] “Step 3: clients download the global model (and any optimisation parameters) from the server, and update their copy of the global model with private patches (in this work, we use BN layers as patches).” [p. 4, Section: 3] “The server sends the global model (and any associated optimization parameters) to all accepting clients, who augment their copy of the global model with private patches (Step 3).” [Algorithm 1, Lines 7-9] “for
i
∈
patchIdxs do Apply local patches Mk,i ←Pk,i, Vk,i ← Wk,i end for ...”) [Examiner’s Note: As noted above, this step is subjected to 112(b) and being interpreted as containing contingent limitations with negative limitation. Mills teaches the federated learning operations starts by downloading global model from the server and each client iterates over patchIdxs (i.e., retrieve the stored private patch parameter) and merging them with the downloaded global model. The patch locally stored parameters on the client device read on the claimed “one sensitive model parameter which is not included in the global model is stored in the memory.” Additionally, the first round (no patches stored yet), the client device operates or uses the global model as its client model (i.e., the client’s memory does not contain stored sensitive parameters).]
c) providing at least one reference dataset for operating the technical device; (Mills, [p. 4, Section: 3.1] “We propose using the average User model Accuracy (UA) as an alternative metric of FL performance. UA is the accuracy on a client using a local test-set. This test-set for each client should be drawn from a similar distribution as its training data. In this paper, we perform experiments on classification problems, but UA could be altered for different metrics (e.g. error, recall).”) [Examiner’s Note: the local test-set corresponds to the reference dataset.]
d) calculating a first accuracy of the client model aided by the at least one reference dataset; (Mills, [P. 2, Section: 1] “We propose a new metric for measuring the performance of FL algorithms: User model Accuracy (UA). UA better reflects a common objective of FL (increasing test accuracy on clients), as opposed to the standard global-model accuracy.” [p. 4, Section: 3.1] “We propose using the average User model Accuracy (UA) as an alternative metric of FL performance. UA is the accuracy on a client using a local test-set. This test-set for each client should be drawn from a similar distribution as its training data. In this paper, we perform experiments on classification problems, but UA could be altered for different metrics (e.g. error, recall).”) [Examiner’s Note: the local test-set is used to calculate the accuracy of the client model.]
[....]
f) removing the at least one model parameter [....] from the client model; (Mills, [Algorithm 1, Lines 13-17] “for i ∈ patchIdxs do
→
Save local patches Pk,i ← Mk,i,Wk,i ← Vk,i end for for each i
∉
p
a
t
c
h
I
d
x
s
d
o
U
p
l
o
a
d
Mk,i,Vk,i to server” [P. 4, Section: 3] “Clients then perform local training using their own data, creating a different model. Clients save the patch layers from their new model locally, and upload their non private model parameters to the server (Step 4).”) [Examiner’s Note: MTFL algorithm identifies and removes the personalized/private patches of parameters from the client model and locally save them.]
[......]
h) [....] providing the client model to the server; (Mills, [P. 4, Section: 3] “Clients save the patch layers from their new model locally, and upload their non private model parameters to the server (Step 4).” [P. 5, Section: 3.1] “After local training, the updated local patches are saved (Lines 11-13), and the non-patch layers and optimiser values are uploaded to the server (Lines 14-16).” [Algorithm 1, Line 20] “for i
∉
nonPatchIndexes do.”)
i) updating, by the server, the global model aided by the provided client model; (Mills, [P. 4, Section: 3] “The server waits for clients to finish training and upload their models (Step 5). It can either wait for a maximum time limit, or for a given fraction of clients to upload before continuing, depending on the server preferences. After this, the server will aggregate all received models to produce a single global model (Step 6) which is saved on the server, before starting a new round.” [Fig. 1] “Step 5: the server waits for C fraction of clients to upload their non-private model and optimiser values, or until a time limit. Step 6: the server averages all models, saves the aggregate, and starts a new round.” Further see [Algorithm 1, Lines 20-22]) and
j) operating, by the client, the technical device utilizing the client model and the at least one sensitive parameter from the memory. (Mills, [P. 1, Section: 41] “The use of DNNs in MEC has typically involved collecting data from mobile phones/IoT devices/SNs, performing training in the cloud, and then deploying the model at the edge.” [P. 4, Section: 3] “MTFL therefore offloads the vast majority of computation to client devices, who perform the actual model training. It preserves users’ data-privacy more strongly than FedAvg and other personalised-FL algorithms: not only is user data not uploaded, but key parts of their local models are not uploaded. The framework also accounts for client stragglers with its round time/uploading client fraction limit. Moreover, MTFL utilises patch layers to improve local model performance on individual users’ non-IID datasets, making MTFL more personalised.”) [Examiner’s Note: the personalized model of the proposed MTFL consist of saved patches of private parameters, which broadly reads on the recitation of “utilizing the client model and the at least one sensitive parameter from the memory.”]
As outlined above, Mills teaches the MTFL personalized federated learning framework which involve identifying personalized model parameters, storing them locally, and transmitting only non-private model parameters to the server for global aggregation and update. Additionally, Mills also describes the process of using the UA accuracy metric on a client model using a local test-set. However, Mills is salient and does not appear to explicitly teach:
Calculating a first accuracy of the client model aided by the at least one reference dataset; as part of the subsequent gradient/parameter selection.
determining gradients of model parameters of the client model and determining at least one selected gradient of the model parameters of the client model which lies outside of a predefined value range;
removing the at least one model parameter associated with the at least one selected gradient from the client model;
calculating a second accuracy of the client model from the preceding step aided by the at least one reference dataset;
checking whether the second accuracy lies below the first accuracy, specifying the at least one model parameter associated with the at least one selected gradient as at least one sensitive parameter and storing said sensitive parameter in the memory if the second accuracy lies below the first accuracy;
However, Mills in view of Vahidian teaches the following:
c) providing at least one reference dataset for operating the technical device; (Vahidian, [p. 5, Section: 3.5] “each client tests its model on the validation data
D
k
v
a
l
.” [Algorithm 1, line 12] “evaluate
θ
k
j
on the local validation data
D
k
v
a
l
and report the accuracy.” [p. 5, Section: 4.1] “Datasets and Non-IID Partitions We use MNIST (LeCun et al. (2010)), CIFAR-10 (Krizhevsky (2009)), EMNIST (Cohen et al. (2017)), and CIFAR-100 datasets in our experiments. To produce non-IID partitions, we partition all the training dataset into shards of 250 examples (except for CIFAR-100 where we use 125 examples) and randomly assign two shards to each client. Evaluation data for each client is all the test set for the training dataset labels they have.”) [Examiner’s Note: the local validation dataset corresponds to the reference dataset.]
d) calculating a first accuracy of the client model aided by the at least one reference dataset; (Vahidian, [p. 5, Section: 3.5] “To this end, after training, each client tests its model on the validation data
D
k
v
a
l
. If the validation accuracy is above a pre-considered threshold Accth and if the target pruning rate is not achieved yet and finally, if the Hamming distance between the two masks (mask distance) is above a pre-defined threshold , the client Ck prunes its model with the mask obtained at the end of the last epoch.” [Algorithm 1, line 12] “evaluate
θ
k
j
on the local validation data
D
k
v
a
l
and report the accuracy.”) [Examiner’s Note: the local validation dataset is used to calculate the accuracy of the client model.]
e) determining gradients of model parameters of the client model and determining at least one selected gradient of the model parameters of the client model which lies outside of a predefined value range; (Vahidian, [Pp. 3-4, Section: 3.1] “Further assume that optimizing client k’s neural net with stochastic gradient descent (SGD) on its own training set,
f
(
x
;
θ
k
)
, reaches minimum validation loss Lk at iteration j with test accuracy Acck. Besides, consider training
f
(
x
;
m
k
θ
k
)
with a mask m ∈ {0,1}|θ| on client k’s parameters reaches minimum validation loss Lk when being optimized with SGD on the same training set at the j iteration of training with test accuracy of
A
c
c
k
. We observed that under some scheduling
A
c
c
k
≤
A
c
c
'
k
which means the improvement of the accuracy of each client k while the p-percentage of each client’s network is pruned.” [p. 5, Section: 3.5] “Given a target pruning ratio
p
and a pruning percentage,
r
u
s
, for each communication round, a binary mask is derived at the end of the first epoch, and at the end of last epoch
w
.
r
.
t
.
the full dense network of client
C
k
where assigns 0 to the lowest
r
u
s
-percent of the absolute value of parameters and 1 to the rest. To this end, after training, each client tests its model on the validation data
D
k
v
a
l
. If the validation accuracy is above a pre-considered threshold Accth and if the target pruning rate is not achieved yet and finally, if the Hamming distance between the two masks (mask distance) is above a pre-defined threshold , the client
C
k
prunes its model with the mask obtained at the end of the last epoch. This process is iterated in all communication rounds till the conditions are not satisfied.” Further see Algorithm 1: lines 12-15.) [Examiner’s Note: Vahidian teaches a pruning process of parameters by evaluating the importance of the parameters and assigning binary mask to those parameters.]
f) removing the at least one model parameter associated with the at least one selected gradient from the client model; (Vahidian, [Algorithm 1] “
θ
k
j
+
1
=
θ
k
j
,
l
e
⨀
m
k
j
,
l
e
:
a
p
p
l
y
t
h
e
m
a
s
k
” [P. 4, Section: 3.4] “Due to the statistical heterogeneity of clients, part of the channels (filters) and parameters are personalized to each client. By iteratively pruning the parameters and channels, we remove the commonly shared parameters of each layer and keep the personalized parameters that can represent the features of local data in each client.” [P. 5, Section: 3.5] “If the validation accuracy is above a pre-considered threshold Accth and if the target pruning rate is not achieved yet and finally, if the Hamming distance between the two masks (mask distance) is above a pre-defined threshold , the client Ck prunes its model with the mask obtained at the end of the last epoch.”) [Examiner’s Note: The application of binary mask deletes/prunes the selected parameters, yielding the pruned client model (subnetwork).]
h) [....] providing the client model to the server; (Vahidian, [P. 3, Section: 2] “A naive implementation of FL framework entails each client sends a full model update back to the central server in each communication round.” [P. 4, Section: 3.4] “The model updates are sent from the selected clients to the sever.” [Algorithm 1] “return
θ
k
j
+
1
to server.”)
i) updating, by the server, the global model aided by the provided client model; (Vahidian, [P. 4, Section: 3.4] “The model updates are sent from the selected clients to the sever. iv) The server aggregates these models by applying the Sub-FedAvg method where the average is taken only on the intersection of the remaining channels (in structured pruning) or the remaining parameters (in unstructured pruning) of each client to construct an improved global model.” [Algorithm 1] “return
θ
k
j
+
1
←
aggregate subnetworks of clients,
θ
k
j
+
1
, and take the avg on the intersection of unpruned parameters.”)
Mills and Vahidian are from the same field of endeavor and their disclosure generally relates to Personalized Federated Learning.
Accordingly, at the effective filing date, it would have been prima facie obvious to one ordinarily skilled in the art of machine learning to modify the combination of Mills and Vahidian to incorporate the framework for personalized federated learning as taught by Vahidian. One would have been motivated to make such a combination in order to iteratively prune the parameters and channels of the neural networks which results in removing the commonly shared parameters of clients’ model and keeping the personalized ones. Doing so would provide efficiency in terms of communication cost and FLOP count (Vahidian [Section: 5]).
As outlined above, Mills in view of Vahidian teaches the iterative process of pruning parameters and locally storing the personalized parameters and describes the SGD iterative training and accuracy evaluation using validation dataset. Mills and Vahidian are salient and do not appear to explicitly teach:
A second accuracy calculation performed after removal of the model parameter using the reference dataset.
checking whether the second accuracy lies below the first accuracy, specifying the at least one model parameter associated with the at least one selected gradient as at least one sensitive parameter and storing said sensitive parameter in the memory if the second accuracy lies below the first accuracy.
However, Xu, in combination with Mills and Vahidian, teaches the limitation:
calculating a first accuracy of the client model aided by the at least one reference dataset; (Xu, [0030] “a coarse-grained pruning logic block 220 of an example network pruner tool 205 may identify the relative importance of various channels, kernels, and/or nodes of a neural network and iteratively prune the model to first remove those portions of the neural network determined to be less important. Importance, in this sense, reflects the neural network's sensitivity to the removal of these portions affecting the pruned neural network's accuracy.” [0043] Algorithm 1“Input: Validation data and a dense model M. ... Threshold accuracy = original dense accuracy - accuracy tolerance (e.g., 3-5%)” Further see [0045].) [Examiner’s Note: Xu teaches the process of determining the accuracy of the original dense neural network using validation data (i.e., first accuracy of the client model aided by the at least one reference dataset).]
determining gradients of model parameters of the client model and determining at least one selected gradient of the model parameters of the client model which lies outside of a predefined value range; (Xu, [0043] Algorithm 1“for each layer in the model M do sort output channels based on the sum of absolute weight values” [0031] “a fine-grained pruning logic block 225 may automatically detect weights with values falling below a threshold absolute value and may prune these weights to further reduce the size and computationally complexity of the neural network.” [0055] “a layer-wise weight threshold may be computed based on the statistical distribution of full dense weights in each channel-pruned layer and weight pruning may be performed to mask out those weights that are less than the corresponding layer-specific threshold.” [0045] “The channels of the selected layer may be identified and sorted 520. In one implementation, the channels in a layer may be sorted based on the respective sum of the absolute values of the weights in the channel. Such a sorting may effectively rank order the channels of the layer based on the relative importance or sensitivity of that channel.”) [Examiner’s Note: Xu describes the process of ranking/sorting model parameters based on sensitivity measure and selecting those parameters that fall outside acceptable range or above an acceptable threshold.]
removing the at least one model parameter associated with the at least one selected gradient from the client model; (Xu, [0043] Algorithm 1“channel - wise mask is created based on the current sparsity percentage” [0046] “For instance, in an initial prune, 30% of the lowest ranked channels (e.g., those with the lowest aggregate weights) may be selected for pruning and a mask may be generated 525 based on this pruning percentage and the sorting 520. The channels may then be pruned 530 according to the mask to generate a pruned version of the layer.”) [Examiner’s Note: Xu describes pruning/removing the parameters based on the identified mask which specifies the selection/ranking of the parameters.]
calculating a second accuracy of the client model from the preceding step aided by the at least one reference dataset; (Xu, [0030] “Importance, in this sense, reflects the neural network's sensitivity to the removal of these portions affecting the pruned neural network's accuracy. After each pruning iteration, the pruned neural network may be tested for accuracy to determine whether additional portions may be pruned while keeping the accuracy of the model within an acceptable threshold or range of values.” [0045]-[0047] “An accuracy threshold may be defined that is specific to the neural network or neural networks of a particular type, and this accuracy threshold (at 510) may be utilized during sensitivity testing performed with the coarse-grained pruning stage of a hybrid pruning.... A pruned version of the neural network may then be likewise generated that includes the pruned version of this layer (with all other layers having their original density). The pruned version of the neural network may then be caused to be implemented on a computing platform and tested 535 against a set of test input data to determine what affect this initial pruning of the particular layer has on the overall accuracy of the neural network model.”) [Examiner’s Note: Xu describes determines the accuracy of the neural network of the original model and then determines the accuracy of the pruned version (second accuracy).]
checking whether the second accuracy lies below the first accuracy, specifying the at least one model parameter associated with the at least one selected gradient as at least one sensitive parameter ...(Xu, [0030] “Importance, in this sense, reflects the neural network's sensitivity to the removal of these portions affecting the pruned neural network's accuracy. After each pruning iteration, the pruned neural network may be tested for accuracy to determine whether additional portions may be pruned while keeping the accuracy of the model within an acceptable threshold or range of values.” [0045]-[0047] “If the pruned version of the neural network has an accuracy that is within an acceptable range or above an acceptable threshold set for the pruning (at 510), then the pruning steps for the particular layer are repeated 545 to attempt to further prune channels from the particular layer. If, however, the initial prune results in the accuracy falling below the threshold, the initial percentage, in some cases, may be decreased and the pruning steps repeated based on this lower percentage. In other cases, if the accuracy falls below the threshold after the initial prune, it may be determined that the layer should not be pruned.... When the test reveals that a pruned version of the layer results in the accuracy of the neural network falling below the threshold (e.g., at 550), the last version of the layer (with a corresponding percentage of pruned channels) which resulted in tested accuracy of the neural network being above the accuracy threshold may be recorded 555 as the version of the layer that is to be adopted in the pruned neural network.” Further see [0058].) [Examiner’s Note: Xu describes the process of comparing the accuracy of the model after each iteration where the original model is compared to a threshold and the pruned version model is compared to a threshold. If the second accuracy falls below the first accuracy, the removal/pruning is rejected and those parameters are retained as important.]
Accordingly, it would have been obvious to a person having ordinary skill in the art, before the effective filing date of the claimed invention, having the combination of Mills, Vahidian, and Xu to incorporate the fast sensitivity pruning technique as taught by Xu. One would have been motivated to make such a combination in order to enable efficient pruning of network models to allow the model size, related computation consumption, and power consumption to drop, thereby allowing large modern networks to be adapted for and deployed onto limited-resource mobile devices, wearable devices, embedded devices, and other computing systems without significant degradation of the network accuracy (Xu [0057]).
Regarding Claim 2, the combination of Mills, Vahidian, and Xu teaches the elements of claim 5 as outlined above, and further teaches:
wherein the second accuracy is stored in the memory of a respective client. (Xu, [0046]-[0047] “following the sensitivity test of the neural network with the initially pruned version of the layer (e.g., by performing a forward-propagation of the modified network) the resulting accuracy or accuracy change may be recorded, along with data describing the pruned version of the particular layer used during the test... the last version of the layer (with a corresponding percentage of pruned channels) which resulted in tested accuracy of the neural network being above the accuracy threshold may be recorded 555 as the version of the layer that is to be adopted in the pruned neural network.” [0033] “For instance, tests of pruned networks may be carried out using a test system 250, equipped with one or more processor devices (e.g., 265), memory 270, and other system architecture or infrastructure 275 enabling the test system 250 to run the neural network and testing a pruned version's accuracy at the direction of test orchestrator 230.”)
Regarding Claim 3, the combination of Mills, Vahidian, and Xu teaches the elements of claim 1 as outlined above, and further teaches:
wherein the predefined value range is specified at least via a normal distribution of multiple gradients in multiple passes through the method. (Xu, [0041] “a layer-wise weight threshold may be computed based on the statistical distribution of full dense weights in each channel-pruned layer and weight pruning may be performed to mask out those weights that are less than the corresponding layer-specific threshold.” [0055] “a layer-wise weight threshold may be computed based on the statistical distribution of full dense weights in each channel-pruned layer and weight pruning may be performed to mask out those weights that are less than the corresponding layer-specific threshold. While some techniques define a single weight threshold for the entire network, in some implementations, a layer-specific weight threshold may enhance the speed of the pruning and accuracy of the resulting pruned network.”)
Regarding Claim 4,
The claim recites substantially similar limitations as corresponding claim 1 and is rejected for similar reasons as claim 1 using similar teachings and rationale. Claim 1 is directed to a method, and claim 5 is directed to a system.
The combination of Mills, Vahidian, and Xu also discloses A client-server system for operating a technical device utilizing a model based on artificial intelligence by a client of a client-server system comprising a server, which provides a global model based on federated learning, and at least two clients, each client including a processor and a memory.
Regarding Claim 5, the combination of Mills, Vahidian, and Xu teaches the elements of claim 1 as outlined above, and further teaches:
The combination of Mills, Vahidian, and Xu also discloses A computer program product having machine-readable instructions stored therein which, when executed by a client-server system, cause the client-server system to perform the method as claimed in claim 1... (Mills, “Source code for reproducing experiments on GitHub: https://github.com/JedMills/MTFL-For-Personalised-DNNs.” Vahidian “In this section, we provide extensive experimental results evaluating our proposed algorithms. The code of this work is publicly available at: https://github.com/MMorafah/Sub-FedAvg.”)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
(Pub. No.: US 20220398500 A1) – “Karan Singhal” relates to “Partially local federated learning.”
[0033] “Federated learning offers several distinct advantages compared to performing learning at a centralized server. For example, information of the model update may be less sensitive than the data itself. Thus, user data that is privacy sensitive can remain at the user's computing device and need not be uploaded to the server. Rather, only the less sensitive model update can be transmitted.” Further see Fig. 1 and the corresponding paragraph [0040].
[0068] “Generally, some or all of the local data generated on a client computing device may be considered “private”. That is, the local data may include information that is personal or sensitive to the user of the device and should not be transferred from the user device in order to respect the privacy of the user. To maintain the privacy of the user, the local training system on a client computing device maintains (e.g., processes or updates) the local data as well as the parameter values of the set of local model parameters 105 on the user device (i.e., without transferring it elsewhere). The parameter value updates 114 that are transmitted from the local training system of the user device to the global training system 102 do not contain raw data or updates to local parameters that could compromise the privacy of the user.”
(Pub. No.: US 20210334704 A1) – “Daniel Schall” relates to “Method and System for Operating a Technical Installation with an Optimal Model.”
[Abstract] “A method for operating a technical installation with an optimal model, wherein the installation forms part of a system with a first technical installation and at least one second technical installation, where each installation includes a control apparatus and a connected technical device, and where the system also includes a server with a memory.”
NPL: Li, Ang, et al. "Lotteryfl: Personalized and communication-efficient federated learning with lottery ticket hypothesis on non-iid datasets." (2020).
[Abstract]: “In this work, we propose LotteryFL– a personalized and communication-efficient federated learning framework via exploiting the Lottery Ticket hypothesis. In LotteryFL, each client learns a lottery ticket network (i.e., a subnetwork of the base model) by applying the Lottery Ticket hypothesis, and only these lottery networks will be communicated between the server and clients. Rather than learning a shared global model in classic federated learning, each client learns a personalized model via LotteryFL; the communication cost can be significantly reduced due to the compact size of lottery networks.”
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SADIK ALSHAHARI whose telephone number is (703)756-4749. The examiner can normally be reached Monday - Friday, 9 a.m. 6 p.m. ET.
Examiner interviews are available via telephone, 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, Li Zhen can be reached on (571) 272-3768. 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.
/S.A.A./Examiner, Art Unit 2121
/Li B. Zhen/Supervisory Patent Examiner, Art Unit 2121