DETAILED ACTION
This action is in response to Applicant’s Amendment ("Response”) received on August 5, 2026 in response to the Office Action dated May 6, 2026. This action is made Final.
Claims 1-16 are pending.
Claims 1, 8, and 11 are independent claims.
Claims 1-16 are rejected.
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 .
Applicant’s Response
In Applicant’s Response, Applicant amended claims 1, 3, 8, 9, and 11, and submitted arguments against the prior art in the Office Action dated May 6, 2026.
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.
Claim(s) 8 and 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang et al., US Publication 2024/0311645 (“Zhang”), and further in view of Lu et al., US Publication 2019/0147305 (“Lu”).
Claim 8:
Zhang discloses a non-transitory computer-computer readable recording medium storing a computer program, comprising commands for a processor to perform a federated learning method, the method comprising:
preparing a local learning model configured to perform federated learning with a central server including a central learning model and other client device (see Fig. 1, 3B-5; para. 0051 - Federated learning is a machine learning technique that enables the clients 102 to participate in learning a model related to a task (e.g., a global model or a collaborative model) without having to share their local dataset 104 with the central server 110 or with other clients 102. In the example shown, a global model 116 is stored at the central server 110, the parameters of which are learned via collaboration with the clients 102; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11. select one, some or all of the clients 102 in the federated learning system 100 as participants in each round of training; para. 0054 - each client 102 uses the received global parameters to update its own local model 106.),
updating status information of the central learning model to an extraction unit of the local learning model (see Fig. 1, 3B-5; para. 0073 - central server 110 communicating the global parameters of the current global model 116 to each client 102. Each client 102 may then apply the global parameters to the respective local model 106 (e.g., initializing the local model 106 by replacing the values of the local parameters with the received global parameters). Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302; para. 0079 - client 102 receives a set of global parameters from the central server 110. The global parameters received at step 404 may be the parameters learned from a prior round of training or, if this is the first round of training, may be the initial (e.g., randomly initialized) parameters; para. 0080 - the client 102 uses the received global parameters to initialize the parameters of its local model 106. For example, the client 102 may use the received global parameters to replace the values of the parameters of its local model 106; para. 0081 - the local model 106 is updated by the client 102 using the local dataset 104. Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306 and final layer 308); para. 0097 – the current set of global parameters (i.e., the current values of the parameters of the global model 116, such as the current values of the weights of the neural network used to implement the global model 116) are transmitted to the selected client(s) 102.),
training the local learning model by using individual training data (see Fig. 1, 3B-5; para. 0037 – machine learning model to be collaboratively trained using local data from multiple client; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11; para. 0054 - After receiving a copy of the global parameters, each client 102 uses the received global parameters to update its own local model 106. The client 102 then applies the local model 106 to its own local dataset 104 to compute an update for the local model 106; para. 0055 - Information about the updated state of the local model 106 may be sent by the client 106 back to the central server 110. For example, the updated state of the local model 106 may be communicated in the form of a set of updated local parameters; para. 0056 - central server 110 receives the update information from each client 102 that was selected for the round of training and aggregates the received information to update the parameters of the global model 116; para. 0073 - Data samples from the local dataset 104 are processed using the local model 106. set of updated local parameters (i.e., the updated values of the parameters of the local model 106) may be extracted by the model state extraction module 310, and communicated by them-th client 102 to the central server 110.),
transmitting the status information of the trained local learning model stored in the extraction unit of the trained local learning model to the central server to be updated in an extraction unit of the central learning model (see Fig. 1, 3B-5; para. 0037 – machine learning model to be collaboratively trained using local data from multiple client; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11; para. 0054 - After receiving a copy of the global parameters, each client 102 uses the received global parameters to update its own local model 106. The client 102 then applies the local model 106 to its own local dataset 104 to compute an update for the local model 106; para. 0055 - Information about the updated state of the local model 106 may be sent by the client 106 back to the central server 110. For example, the updated state of the local model 106 may be communicated in the form of a set of updated local parameters; para. 0056 - central server 110 receives the update information from each client 102 that was selected for the round of training and aggregates the received information to update the parameters of the global model 116; para. 0073 - Data samples from the local dataset 104 are processed using the local model 106. set of updated local parameters (i.e., the updated values of the parameters of the local model 106) may be extracted by the model state extraction module 310, and communicated by them-th client 102 to the central server 110.),
wherein the individual training data includes images and labels, and the labels are answer … vectors (see para. 0050 - may include data that is collected or generated in the course of real-life use by user(s) of the client 102 (e.g., captured images/videos, captured sensor data, captured tracking data, etc.; para. 0054 – applies the local model 106 to its own local dataset 104 to compute an update for the local model 106. compute a loss function between output generated by the local model 106 (after updating using the received global parameters) and the ground-truth label(s) in its local dataset 104. The client 102 may then use the loss function in a stochastic gradient descent (SGD) algorithm to update the local model 106; para. 0058 - local datasets 104 may reflect each user's collection of images.);
wherein the other client device is configured to input the images into … the local learning model … the local learning model, use the … local learning model … to compare with the answer … vectors, and train the local learning model in a direction that reduces an objective loss function, which is calculated based on the … vectors and the answer … vector (see para. 0054 - compute a loss function between output generated by the local model 106 (after updating using the received global parameters) and the ground-truth label(s) in its local dataset 104. The client 102 may then use the loss function in a stochastic gradient descent (SGD) algorithm to update the local model 106; para. 0086 - gradient (which is used to update the local model 106) is computed using a loss function. The loss function may represent the error between the prediction output generated by the local model 106 (at step 416) and the ground-truth label of the sampled data. The gradient may then be computed using a gradient descent algorithm, for example, based on the loss function.);
wherein training the local learning model includes normalizing a feature vector of training data input to the local learning model (see Fig. 1, 3A-5; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306; para. 0084 - the feature vector is normalized, for example by processing the feature vector using the normalization layer 306. The feature vector is normalized based on the magnitude of the feature vector.).
Zhang does not explicitly disclose probability … supervised learning model probability vector generator to transform output vectors … of the supervised learning model … into probability vectors … probability … probability … probability.
Lu teaches or suggest probability … supervised learning model probability vector generator to transform output vectors … of the supervised learning model … into probability vectors … probability … probability … probability (see para. 0036 - learning features from a training image set, which can be supervised; para. 0038 - function that indicates error loss between feature vectors and/or probability vectors in multi-dimensional vector space. A machine-learning algorithm (e.g., neural network) can repetitively train to minimize and/or maximize classification error loss (e.g., how accurate or inaccurate the classification is to the ground truth). In some embodiments, the context-aware image selection system employs loss functions at different stages of training; para. 0091 - Based on the feature vector comparison, the higher neural network layers 604 employ the attributequality classification parameters to generate an attributequality probability vector, which indicates a correspondence between the input training image to feature vectors of images with known high-quality attributes; para. 0092 - loss model 608 compares the identified attribute-quality indicated in the attribute-quality probability vector to the known feature vectors of images with high quality attributes to determine an amount of attribute-quality classification error loss (or simply "error loss"); para. 0107 - train the context probability predictor neural network 704, the context-aware image selection system 400 can use supervised training images that include context labels.).
Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Lu with those of Zhang. One would have been motivated to do so for the purpose of efficiently formatting training data and input data such that the data may be compared for determining a loss and optimizing model training, as taught by Lu (0038, 0091, and 0092).
Claim 10:
Zhang further teaches or suggests wherein the training the local learning model includes updating the status information of the central learning model to the local learning model, and training the local learning model by using individual training data (see Fig. 1, 3A-5; para. 0037 – machine learning model to be collaboratively trained using local data from multiple client; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11; para. 0054 - After receiving a copy of the global parameters, each client 102 uses the received global parameters to update its own local model 106. The client 102 then applies the local model 106 to its own local dataset 104 to compute an update for the local model 106; para. 0055 - Information about the updated state of the local model 106 may be sent by the client 106 back to the central server 110. For example, the updated state of the local model 106 may be communicated in the form of a set of updated local parameters; para. 0056 - central server 110 receives the update information from each client 102 that was selected for the round of training and aggregates the received information to update the parameters of the global model 116; para. 0073 - Data samples from the local dataset 104 are processed using the local model 106. set of updated local parameters (i.e., the updated values of the parameters of the local model 106) may be extracted by the model state extraction module 310, and communicated by them-th client 102 to the central server 110; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306.).
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang, in view of Lu, and further in view of Sato, US Publication 2023/0290127 (“Sato”).
Claim 9:
Zhang teaches or suggests wherein the feature vector is normalized into a unit vector by setting a norm of the feature vector (see Fig. 1, 3A-5; para. 0064 - norm(g0) is the output of the normalization layer; para. 0065 - Normalization of the feature vector using the 306 normalization layer (e.g., using the normalization operation described above) may help to control the divergence of 102, the feature norm among multiple clients which would otherwise occur due to differences in data distribution in the 104. different local datasets The divergence of feature norm 102, among clients which may arise in conventional federated learning approaches, has been found to lead to poor performance and/or poor convergence of the global model 116; para. 0067 – normalization may be modified to include a selected threshold value that may be used in place of the magnitude of the feature vector when the magnitude of the feature vector is too small; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306; para. 0084 - the feature vector is normalized, for example by processing the feature vector using the normalization layer 306. The feature vector is normalized based on the magnitude of the feature vector.).
Sato further teaches or suggests the feature vector is normalized into a unit vector by setting a norm of the feature vector to one (see para. 0041 - CNN is tuned to output feature amount data indicating a feature amount that is close to a feature amount of an image in which an object belonging to a positive class appears. A feature amount indicated by feature amount data according to the present embodiment is, for example, a vector quantity normalized such that a norm thereof is 1.).
Accordingly, it would have been obvious to one having ordinary skill before the effective filing date of the claimed invention to modify the system and method, taught in Zhang, to include the feature vector is normalized into a unit vector by setting a norm of the feature vector to one for the purpose of efficiently modifying feature values of a feature vector using a norm of 1 such that the feature vector may be processed faster and/or using less resources, pacifying extreme data and removing potential feature induced bias, improving model performance, as taught by Sato (0041).
Claim(s) 1, 3, 6, 7, 11, and 14-16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang, in view of Aghaei et al., US Publication 2022/03510860 (“Aghaei”), and further in view of Lu.
Claim 1:
Zhang teaches or suggests a federated learning system comprising:
a central server including a central learning model (see Fig. 1, 3B; para. 0051 – global model 116 is stored at the central server 110, the parameters of which are learned via collaboration with the clients 102; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11.);
a plurality of client devices, each including a local learning model trained by performing federated learning with the central learning model (see Fig. 1, 3B; para. 0051 - Federated learning is a machine learning technique that enables the clients 102 to participate in learning a model related to a task (e.g., a global model or a collaborative model) without having to share their local dataset 104 with the central server 110 or with other clients 102. In the example shown, a global model 116 is stored at the central server 110, the parameters of which are learned via collaboration with the clients 102; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11. select one, some or all of the clients 102 in the federated learning system 100 as participants in each round of training; para. 0054 - each client 102 uses the received global parameters to update its own local model 106.),
wherein the central server is configured to transmit status information of the central learning model to each client device, receive status information of the trained local learning model from each client device, and update the central learning model based on the status information of the trained local learning model (see Fig. 1, 3B-5; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11; para. 0054 - After receiving a copy of the global parameters, each client 102 uses the received global parameters to update its own local model 106. The client 102 then applies the local model 106 to its own local dataset 104 to compute an update for the local model 106; para. 0055 - Information about the updated state of the local model 106 may be sent by the client 106 back to the central server 110. For example, the updated state of the local model 106 may be communicated in the form of a set of updated local parameters; para. 0056 - central server 110 receives the update information from each client 102 that was selected for the round of training and aggregates the received information to update the parameters of the global model 116.),
wherein each client device is configured to update the status information of the central learning model to the local learning model by using individual training data, determine the status information of the trained local learning model, and transmit status information of the trained local learning model to the central server (see Fig. 1, 3B-5; para. 0037 – machine learning model to be collaboratively trained using local data from multiple client; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11; para. 0054 - After receiving a copy of the global parameters, each client 102 uses the received global parameters to update its own local model 106. The client 102 then applies the local model 106 to its own local dataset 104 to compute an update for the local model 106; para. 0055 - Information about the updated state of the local model 106 may be sent by the client 106 back to the central server 110. For example, the updated state of the local model 106 may be communicated in the form of a set of updated local parameters; para. 0056 - central server 110 receives the update information from each client 102 that was selected for the round of training and aggregates the received information to update the parameters of the global model 116; para. 0073 - Data samples from the local dataset 104 are processed using the local model 106. set of updated local parameters (i.e., the updated values of the parameters of the local model 106) may be extracted by the model state extraction module 310, and communicated by the m-th client 102 to the central server 110.),
wherein the individual training data includes images and labels, and the labels are answer … vectors see (see para. 0050 - may include data that is collected or generated in the course of real-life use by user(s) of the client 102 (e.g., captured images/videos, captured sensor data, captured tracking data, etc.; para. 0054 – applies the local model 106 to its own local dataset 104 to compute an update for the local model 106. compute a loss function between output generated by the local model 106 (after updating using the received global parameters) and the ground-truth label(s) in its local dataset 104. The client 102 may then use the loss function in a stochastic gradient descent (SGD) algorithm to update the local model 106; para. 0058 - local datasets 104 may reflect each user's collection of images.);
wherein each client device is configured to input the images into … the local learning model … the local learning model … to compare with the answer … vectors, and train the local learning model in a direction that reduces an objective loss function, which is calculated based on the … vectors and the answer … vector (see para. 0054 - compute a loss function between output generated by the local model 106 (after updating using the received global parameters) and the ground-truth label(s) in its local dataset 104. The client 102 may then use the loss function in a stochastic gradient descent (SGD) algorithm to update the local model 106; para. 0086 - gradient (which is used to update the local model 106) is computed using a loss function. The loss function may represent the error between the prediction output generated by the local model 106 (at step 416) and the ground-truth label of the sampled data. The gradient may then be computed using a gradient descent algorithm, for example, based on the loss function.);
... is configured to normalized a feature vector of training data that is input to the ... learning model when updating the ... learning model (see Fig. 1, 3A-5; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306; para. 0084 - the feature vector is normalized, for example by processing the feature vector using the normalization layer 306. The feature vector is normalized based on the magnitude of the feature vector.),
wherein each client device is configured to normalize a feature vector of training data that is input into the local learning model when training the local learning model (see Fig. 1, 3A-5; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306; para. 0084 - the feature vector is normalized, for example by processing the feature vector using the normalization layer 306. The feature vector is normalized based on the magnitude of the feature vector.).
Zhang does not explicitly disclose wherein the central server is configured to normalize ... central learning model when updating the central learning model.
Aghaei teaches or suggests wherein the central server is configured to normalize ... central learning model when updating the central learning model (see Fig. 8; 9; para. 0014 - receiving, by the centralized server, metadata associated with the plurality of slide images, wherein aggregating further includes normalizing the further trained model according to the metadata; para. 0023 - wherein aggregating, by the centralized server, the further trained model with the global model to generate an updated global model further comprises normalizing the further trained model according to the metadata; para. 0105 - metadata may be elevated to determine if any data compensation or normalization needs to be administered. For example, certain scanning devices may introduce artifacts that require compensation. In another example, some staining concentrations may yield excessively light or dark coloration that can be compensated for; para. 0107 - the centralized server receives an updated model and metadata from a client device. At block 930, the received updated model is normalized and used to update one of the global models; receiving, by the centralized server, metadata associated with the plurality of slide images, wherein aggregating further comprises normalizing the further trained model according to the metadata.).
Accordingly, it would have been obvious to one having ordinary skill before the effective filing date of the claimed invention to modify the system and method, taught in Zhang, to include wherein the central server is configured to normalize ... central learning model when updating the central learning model for the purpose of efficiently compensating for excessive features in the data at the central or global server, improving model performance before distributing the model to client devices for deployment, as taught by Aghaei (0105 and 0107).
Zhang further does not explicitly disclose probability … into a supervised learning model … use a probability vector generator to transform output vectors of the supervised learning model … into probability vectors … probability … probability … probability.
Lu teaches or suggests probability … into a supervised learning model … use a probability vector generator to transform output vectors of the supervised learning model … into probability vectors … probability … probability … probability (see para. 0036 - learning features from a training image set, which can be supervised; para. 0038 - function that indicates error loss between feature vectors and/or probability vectors in multi-dimensional vector space. A machine-learning algorithm (e.g., neural network) can repetitively train to minimize and/or maximize classification error loss (e.g., how accurate or inaccurate the classification is to the ground truth). In some embodiments, the context-aware image selection system employs loss functions at different stages of training; para. 0091 - Based on the feature vector comparison, the higher neural network layers 604 employ the attributequality classification parameters to generate an attributequality probability vector, which indicates a correspondence between the input training image to feature vectors of images with known high-quality attributes; para. 0092 - loss model 608 compares the identified attribute-quality indicated in the attribute-quality probability vector to the known feature vectors of images with high quality attributes to determine an amount of attribute-quality classification error loss (or simply "error loss"); para. 0107 - train the context probability predictor neural network 704, the context-aware image selection system 400 can use supervised training images that include context labels.).
Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Lu with those of Zhang. One would have been motivated to do so for the purpose of efficiently formatting training data and input data such that the data may be compared for determining a loss and optimizing model training, as taught by Lu (0038, 0091, and 0092).
Claim(s) 11:
Claim(s) 11 correspond to Claim 1, and thus, Zhang, Aghaei, and Lu teach or suggest the limitations of claim(s) 11 as well.
Claim 3:
Zhang further teaches or suggests wherein the central server is configured to transmit status information of the central learning model to the plurality of client devices, wherein the plurality of client devices are configured to update the status information of the central learning model to the local learning model, and then train the local learning model by using individual training data, wherein the plurality of client devices are configured to normalized a feature vector of training data that is input to the local learning model when training the local learning model (see Fig. 1, 3A-5; para. 0037 – machine learning model to be collaboratively trained using local data from multiple client; para. 0053 - training (also referred to as a communication round) may begin with the central server 110 sending the parameters of the global model 11; para. 0054 - After receiving a copy of the global parameters, each client 102 uses the received global parameters to update its own local model 106. The client 102 then applies the local model 106 to its own local dataset 104 to compute an update for the local model 106; para. 0055 - Information about the updated state of the local model 106 may be sent by the client 106 back to the central server 110. For example, the updated state of the local model 106 may be communicated in the form of a set of updated local parameters; para. 0056 - central server 110 receives the update information from each client 102 that was selected for the round of training and aggregates the received information to update the parameters of the global model 116; para. 0073 - Data samples from the local dataset 104 are processed using the local model 106. set of updated local parameters (i.e., the updated values of the parameters of the local model 106) may be extracted by the model state extraction module 310, and communicated by them-th client 102 to the central server 110; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306; para. 0084 - the feature vector is normalized, for example by processing the feature vector using the normalization layer 306. The feature vector is normalized based on the magnitude of the feature vector.).
Claim(s) 14:
Claim(s) 14 correspond to Claim 3, and thus, Zhang, Aghaei, and Lu teach or suggest the limitations of claim(s) 14 as well.
Claim 6:
Zhang further teaches or suggests wherein the central server is configured to select each client device randomly for each iteration of updates through sampling (see para. 0096 - At 506, one or more clients 102 are selected to participate in a current round of training. The client(s) 102 may be selected at random, or based on a predefined criteria, such as selecting only client(s) 102 that did not participate in an immediately previous round of training, etc. The client(s) 102 may be selected such that a certain predefined number (e.g., 1000 clients 102) or a certain predefined fraction of clients 102 (e.g., 10% of all clients 102) participate in the current round of training.).
Claim(s) 15:
Claim(s) 15 correspond to Claim 6, and thus, Zhang, Aghaei, and Lu teach or suggest the limitations of claim(s) 15 as well.
Claim 7:
Zhang further teaches or suggests wherein the central server is configured to update the central learning model by aggregating and averaging the status information of the trained local learning model received from each client device (see para. 0073 – after receiving information about the state of the local model 106 from each client 102 participating in the round of training, may aggregate the received information using any suitable federated learning technique (e.g., by weighted average). The central server 110 then updates the global model 116 using the aggregated information; para. 0099 – the received information about the state of the local models are aggregated into an aggregated update. Any suitable federated learning approach (e.g., FedAvg) may be used to aggregate the received information, such by computing a weighted average of the received sets of local parameters or by computing a weighted average of the received differences in parameter values; para. 0100 - the aggregated update is used to update the global parameters.).
Claim(s) 16:
Claim(s) 16 correspond to Claim 7, and thus, Zhang, Aghaei, Lu teach or suggest the limitations of claim(s) 16 as well.
Claim(s) 2, 4, 5, 12, and 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang, in view of Aghaei, in view of Lu, and further in view of Sato, US Publication 2023/0290127 (“Sato”).
Claim 2:
Zhang teaches or suggests wherein each client device is configured to normalize the feature vector into a unit vector by setting a norm of the feature vector (see Fig. 1, 3A-5; para. 0064 - norm(g0) is the output of the normalization layer; para. 0065 - Normalization of the feature vector using the 306 normalization layer (e.g., using the normalization operation described above) may help to control the divergence of 102, the feature norm among multiple clients which would otherwise occur due to differences in data distribution in the 104. different local datasets The divergence of feature norm 102, among clients which may arise in conventional federated learning approaches, has been found to lead to poor performance and/or poor convergence of the global model 116; para. 0067 – normalization may be modified to include a selected threshold value that may be used in place of the magnitude of the feature vector when the magnitude of the feature vector is too small; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306; para. 0084 - the feature vector is normalized, for example by processing the feature vector using the normalization layer 306. The feature vector is normalized based on the magnitude of the feature vector.).
Sato further teaches or suggests normalize the feature vector into a unit vector by setting a norm of the feature vector to one (see para. 0041 - CNN is tuned to output feature amount data indicating a feature amount that is close to a feature amount of an image in which an object belonging to a positive class appears. A feature amount indicated by feature amount data according to the present embodiment is, for example, a vector quantity normalized such that a norm thereof is 1.).
Accordingly, it would have been obvious to one having ordinary skill before the effective filing date of the claimed invention to modify the system and method, taught in Zhang, to include normalize the feature vector into a unit vector by setting a norm of the feature vector to one for the purpose of efficiently modifying feature values of a feature vector using a norm of 1 such that the feature vector may be processed faster and/or using less resources, pacifying extreme data and removing potential feature induced bias, improving model performance, as taught by Sato (0041).
Claim(s) 12:
Claim(s) 2 correspond to Claim 2, and thus, Zhang, Aghaei, Lu, and Sato teach or suggest the limitations of claim(s) 12 as well.
Claim 4:
Zhang further teaches or suggests wherein the plurality of client devices are configured to normalize the feature vector into a unit vector by setting a norm of the feature vector (see Fig. 1, 3A-5; para. 0064 - norm(g0) is the output of the normalization layer; para. 0065 - Normalization of the feature vector using the 306 normalization layer (e.g., using the normalization operation described above) may help to control the divergence of 102, the feature norm among multiple clients which would otherwise occur due to differences in data distribution in the 104. different local datasets The divergence of feature norm 102, among clients which may arise in conventional federated learning approaches, has been found to lead to poor performance and/or poor convergence of the global model 116; para. 0067 – normalization may be modified to include a selected threshold value that may be used in place of the magnitude of the feature vector when the magnitude of the feature vector is too small; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306; para. 0084 - the feature vector is normalized, for example by processing the feature vector using the normalization layer 306. The feature vector is normalized based on the magnitude of the feature vector.).
Sato further teaches or suggests normalize the feature vector into a unit vector by setting a norm of the feature vector to one (see para. 0041 - CNN is tuned to output feature amount data indicating a feature amount that is close to a feature amount of an image in which an object belonging to a positive class appears. A feature amount indicated by feature amount data according to the present embodiment is, for example, a vector quantity normalized such that a norm thereof is 1.).
Accordingly, it would have been obvious to one having ordinary skill before the effective filing date of the claimed invention to modify the system and method, taught in Zhang, to include normalize the feature vector into a unit vector by setting a norm of the feature vector to one for the purpose of efficiently modifying feature values of a feature vector using a norm of 1 such that the feature vector may be processed faster and/or using less resources, pacifying extreme data and removing potential feature induced bias, improving model performance, as taught by Sato (0041).
Claim 5:
Zhang further teaches or suggests is configured to normalize the feature vector into a unit vector by setting a norm of the feature vector (see Fig. 1, 3A-5; para. 0064 - norm(g0) is the output of the normalization layer; para. 0065 - Normalization of the feature vector using the 306 normalization layer (e.g., using the normalization operation described above) may help to control the divergence of 102, the feature norm among multiple clients which would otherwise occur due to differences in data distribution in the 104. different local datasets The divergence of feature norm 102, among clients which may arise in conventional federated learning approaches, has been found to lead to poor performance and/or poor convergence of the global model 116; para. 0067 – normalization may be modified to include a selected threshold value that may be used in place of the magnitude of the feature vector when the magnitude of the feature vector is too small; para. 0073 - round of training. Data samples from the local dataset 104 are processed using the local model 106 (using the feature extraction subnetwork 302, normalization layer; para. 0076 - local model definition also defines the local model 106 to include a normalization layer 306 that normalizes the feature vector based on the magnitude of the feature vector. In some examples, the normalization layer 306 normalizes the feature vector using the magnitude of the feature vector; para. 0081 - Updating the local model 106 may involve operations of sampling from the local dataset 104, processing the sampled data using the local model 106 (which may include processing the sampled data using the feature extraction subnetwork 302, normalization layer 306; para. 0084 - the feature vector is normalized, for example by processing the feature vector using the normalization layer 306. The feature vector is normalized based on the magnitude of the feature vector.).
Aghaei further teaches or suggests wherein the central server is configured to normalize (see Fig. 8; 9; para. 0014 - receiving, by the centralized server, metadata associated with the plurality of slide images, wherein aggregating further includes normalizing the further trained model according to the metadata; para. 0023 - wherein aggregating, by the centralized server, the further trained model with the global model to generate an updated global model further comprises normalizing the further trained model according to the metadata; para. 0105 - metadata may be elevated to determine if any data compensation or normalization needs to be administered. For example, certain scanning devices may introduce artifacts that require compensation. In another example, some staining concentrations may yield excessively light or dark coloration that can be compensated for; para. 0107 - the centralized server receives an updated model and metadata from a client device. At block 930, the received updated model is normalized and used to update one of the global models; receiving, by the centralized server, metadata associated with the plurality of slide images, wherein aggregating further comprises normalizing the further trained model according to the metadata.).
Accordingly, it would have been obvious to one having ordinary skill before the effective filing date of the claimed invention to modify the system and method, taught in Zhang, to include wherein the central server is configured to normalize for the purpose of efficiently compensating for excessive features in the data at the central or global server, improving model performance before distributing the model to client devices for deployment, as taught by Aghaei (0105 and 0107).
Sato further teaches or suggests normalize the feature vector into a unit vector by setting a norm of the feature vector to one (see para. 0041 - CNN is tuned to output feature amount data indicating a feature amount that is close to a feature amount of an image in which an object belonging to a positive class appears. A feature amount indicated by feature amount data according to the present embodiment is, for example, a vector quantity normalized such that a norm thereof is 1.).
Accordingly, it would have been obvious to one having ordinary skill before the effective filing date of the claimed invention to modify the system and method, taught in Zhang, to include normalize the feature vector into a unit vector by setting a norm of the feature vector to one for the purpose of efficiently modifying feature values of a feature vector using a norm of 1 such that the feature vector may be processed faster and/or using less resources, pacifying extreme data and removing potential feature induced bias, improving model performance, as taught by Sato (0041).
Claim(s) 13:
Claim(s) 13 correspond to Claim 5, and thus, Zhang, Aghaei, Lu, and Sato teach or suggest the limitations of claim(s) 13 as well.
Response to Arguments
Applicant’s further arguments have been considered but are not persuasive because the arguments do not correspond to the rationales as used in the current rejection.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Andrew T McIntosh whose telephone number is (571)270-7790. The examiner can normally be reached M-Th 8:00am-5:30pm.
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, Tamara Kyle can be reached at 571-272-4241. 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.
/ANDREW T MCINTOSH/Primary Examiner, Art Unit 2144