DETAILED ACTION
Status of Claims
This Office action is responsive to communications filed on 2023-12-19, 2024-03-22 and 2025-01-10. Claim(s) 1-20 is/are pending and are examined herein.
Claim(s) 2-6, 9-12, and 14-20 is/are objected to.
Claim(s) 1-20 invoke(s) interpretation under 35 USC 112(f).
Claim(s) 1-20 is/are rejected under 35 USC 112(b).
Claim(s) 1-20 is/are rejected under 35 USC 112(a).
Claim(s) 1-5, 7-10, and 13-17 is/are rejected under 35 USC 102.
Claim(s) 6, 11-12, and 18-20 is/are rejected under 35 USC 103.
Notice of Pre-AIA or AIA Status
The present application, filed on or after 2013-03-16, is being examined under the first inventor to file provisions of the AIA .
Priority
The present application claims priority from International Application No. PCT/CN2022/099839, filed on 2022-06-20, which claims priorities to Chinese Patent Application No. 202110688066.4, filed on 2021-06-21, and Chinese Patent Application No. 202110831248.2, filed on 2021-07-22. Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
Information Disclosure Statement
The attached information disclosure statement(s) (IDS), submitted on 2025-01-10 and 2025-01-10, is/are in compliance with the provisions of 37 CFR 1.97. Accordingly, the attached information disclosure statement(s) is/are being considered by the examiner.
Claim Objections
Claim(s) 2-6, 9-12, and 14-20 is/are objected to because of the following informalities:
Claims 2, 9 and 14 and recite the second random number sample set is the same as a union set [emphasis added] but this lacks antecedent basis. The examiner suggests removing the underlined phrase to avoid this issue (i.e., just “the second random number sample set is a union set”). Dependent claims 3-6, 10-12, and 15-20 inherit the objection.
Claims 6, 11, and 18-19 recite a pseudo random number generator [emphasis added] but this should be “a pseudo-random number generator” for proper and consistent punctuation (cf. “pseudo-random” in claim 5).
Appropriate correction is required.
Claim Interpretation – 35 USC 112(f)
The following is a quotation of 35 USC 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 USC 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, is invoked.
As explained in MPEP 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph:
the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, except as otherwise indicated in an Office action.
Claim(s) 1-20 recite(s) at least one limitation that invoke an interpretation under 35 USC 112(f). Specifically:
Claims 1 and 13 recite a machine learning system. A “system” is a non-structural generic placeholder (cf. MPEP 2181(I)(A)) and the recitation of “machine learning” is a functional modifier of this generic placeholder (cf. MPEP 2181(I)(B)). Moreover, while it is indicated that the machine learning system comprises first/second devices, these terms themselves invoke interpretation under 112(f) (cf. below). In other words, no specific structure or materials that are sufficient for achieving the functionality of machine learning is recited in the claims (cf. MPEP 2181(I)(C)).
Claims 1 and 13 recite at least a first device and a second device. A “device” is a non-structural generic placeholder (cf. MPEP 2181(I)(A)). Moreover, these generic placeholders are modified by functional language (e.g., “a first GAN runs on the first device, a second GAN runs on the second device” [claim 1] or “transmitting, by the first device, a parameter…” [claim 1] or “the parameter of the second discriminator is determined by the second device” [claim 1] or “the parameter of the second generator is determined by the second device” [claim 1] or “a second GAN runs on the second device” [claim 13] or “the second device is configured to: receive… perform… transmit…” [claim 13] or “the parameter of the first discriminator of the first discriminator is determined by the first device” [claim 13], etc; cf. MPEP 2181(I)(B)). Moreover, no specific structure or materials that are sufficient for achieving the claimed functionality is recited in the claims cf. MPEP 2181(I)(C).
Consequently, the machine learning system, the first device(s), and the second device of these claims invoke interpretation under 112(f). The specification describes a “communication apparatus” that includes a processor and memory coupled to or integrated with the processor [specification, 0231] and indicates that this structure “may be applied to the foregoing first device, or may be the foregoing second device” [specification, 0232]. Consequently, the first device(s) and the second device of claims 1 and 13 interpreted as such, and the machine learning system of these claims is interpreted to be a system which “includes a first device and a second device” [specification, 0002]. Dependent claims 2-12 and 14-20 inherit these claim elements and their interpretations.
If applicant does not intend to have this/these element(s) interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, applicant may:
amend the claim limitation(s) to avoid it/them being interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or
present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph.
Claim Rejections - 35 USC 112(b)
The following is a quotation of 35 USC 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 USC 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-20 is/are rejected under 35 USC 112(b) or 35 USC 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 USC 112, the applicant), regards as the invention.
Claim 1 recites both a first device as well as at least one first device, resulting in ambiguity of antecedent basis as it is not clear what relationship the “first device” first recited in the claim has to the “at least one first device” recited later in the claim. The examiner suggests consistently using “at least one first device” from the get-go for consistency and lack of ambiguity. For example, claim 1 might be amended as follows:
A generative adversarial network (GAN) training method, applied to a machine learning system, wherein the machine learning system comprises at least one first device and a second device, a first GAN runs on each first device, a second GAN runs on the second device, each first GAN comprises a first generator and a first discriminator, and the second GAN comprises a second generator and a second discriminator, wherein the method comprises: transmitting, by each first device, a parameter of the first discriminator of the first device to the second device, wherein the parameter of the first discriminator is determined by the first device based on local data and a parameter of the first generator of the first device; receiving a parameter of the second discriminator and a parameter of the second generator from the second device, wherein the parameter of the second discriminator is determined by the second device by performing parameter aggregation on the parameters of the first discriminators from the at least one first device, and the parameter of the second generator is determined by the second device based on the parameter of the second discriminator; and updating the parameter of the first discriminator and the parameter of the first generator based on the parameter of the second discriminator and the parameter of the second generator.
Dependent claims 2-6 inherit the rejection and analogous modifications to the dependent claims would be required. For example, claim 2 may be amended as follows:
The method according to claim 1, wherein the parameter of the first discriminator is determined by each first device based on the local data, the parameter of the first generator, and a first random number sample set; the parameter of the second generator is determined by the second device based on the parameter of the second discriminator and a second random number sample set; and the second random number sample set is the same as a union set of the first random number sample sets of the at least one first devices, the at least one first devices each transmit the parameter of the first discriminator to the second device
Claim 3 recites and i is any integer from 1 to (M-1) but this language is ambiguous because it is not clear whether i is existentially quantified over the set {1, …, M-1} (i.e., that claim is directed to any one value of i between 1 to (M-1)) or universally quantified over this set (i.e., that the claim is directed to i varying over all values from 1 to (M-1)). If the former interpretation is intended, the examiner suggests “and i is an integer between varies over every integer from 1 to (M-1)”. For the purpose of compact prosecution, the claim is interpreted broadly as encompassing at least the latter interpretation.
Claim 4 similarly recites and i is any integer from 1 to M but this language is ambiguous for the same reasons as noted for claim 3 above. The examiner suggests analogous resolutions, depending on the intended scope of the claim. For the purpose of compact prosecution, the claim is interpreted broadly as encompassing at least the latter interpretation of universal quantification.
Claims 7 and 13 recite wherein the parameter of the first discriminator is determined by the first device based on local data and a parameter of a first generator of the first device [emphasis added] but the underlined phrase lack antecedent basis. They also recite both N first devices followed by L first devices (with N and L referring to positive integers) without clarifying any relationship between these two, rendering unclear what relationship these sets of devices bear to each other (e.g., if they are disjoint sets of devices, or the same set of devices, or if one of these sets of devices is a subset of the other, or something else). The examiner suggests the following for claim 7 to resolve these issues of ambiguity:
A generative adversarial network (GAN) training method, performed by a second device, wherein the second GAN comprises a second generator and a second discriminator, and wherein the method comprises: receiving, by the second device, a parametera first discriminatoreach of N first devices, wherein the parameter of the first discriminator is determined by the first device based on local data and a parameter of a first generator of the first device, and N is an integer greater than or equal to 1; performing parameter aggregation on the parameters of the first discriminators of the N first devices to determine a parameter of the second discriminator, and determining a parameter of the second generator based on the parameter of the second discriminator; and transmitting the parameter of the second discriminator and the parameter of the second generator to the N first devices
Analogous amendments to independent claim 13 would also be required. Dependent claims 8-12 and 14-20 inherit the rejections.
Claims 1 and 13 recite elements which invoke interpretation under 35 USC 112(f) and which are interpreted according to the specification as being implemented on devices having a memory and a processor [specification, 0231-0232], as described above. However, MPEP 2181(II)(B) requires that “the structure be more than simply a general purpose computer or microprocessor and that the specification must disclose an algorithm for performing the claimed function” (where “[a]n algorithm is defined, for example, as ‘a finite sequence of steps for solving a logical or mathematical problem or performing a task’”) and that “a rejection under 35 USC 112(b) or pre-AIA 35 USC 112, second paragraph is appropriate if the specification discloses no corresponding algorithm associated with a computer or microprocessor”. In the present application, the independent claims include functional limitations for which no clear algorithm is given in the specification. For example, the claims ascribe to the “first device” the functionality of determining the parameter of the first discriminator (cf. “the parameter of the first discriminator is determined by the first device based on local data and a parameter of a/the first generator of the first device” [claims 1 and 13]) but the specification provides no clear sequence of steps by which this determination of the parameter of the first discriminator is made. Consequently, the claims are rejected under 112(b) for failing to disclose sufficient structure. Dependent claims 2-12 and 14-20 inherit the rejection.
Claim Rejections - 35 USC 112(a)
The following is a quotation of the first paragraph of 35 USC 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 USC 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claim(s) 1-20 is/are rejected under 35 USC 112(a) or 35 USC 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 USC 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
Claims 1 and 13 recite elements invoking interpretation under 35 USC 112(f) and are rejected under 35 USC 112(b) for failing to disclose sufficient structure. MPEP 2181(II)(B) indicates that “[w]hen a claim containing a computer-implemented 35 USC 112(f) claim limitation is found to be indefinite under 35 USC 112(b) for failure to disclose sufficient corresponding structure (e.g., the computer and the algorithm) in the specification that performs the entire claimed function, it will also lack written description under 35 USC 112(a)”. Consequently, claim 1 and 13 is/are rejected under 35 USC 112(a) for lack of written description. Dependent claims 2-12 and 14-20 inherit the rejection.
Claim Rejections - 35 USC 102
The following is a quotation of the appropriate paragraphs of 35 USC 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
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 USC 102(b)(2)(C) for any potential 35 USC 102(a)(2) prior art against the later invention.
Claim(s) 1-5, 7-10, and 13-17 is/are rejected under 35 USC 102(a)(1) as being anticipated by Corentin HARDY et al. (MD-GAN: Multi-Discriminator Generative Adversarial Networks for Distributed Datasets, published 2019-02-06; hereafter, “Hardy”).
Claim 1
Hardy discloses:
A generative adversarial network (GAN) training method, applied to a machine learning system, ([Hardy, section III]: Hardy discloses “an adapted version of federated learning to GANs” [Hardy, paragraph beginning “In order”; see also, figure 1(b)].)
wherein the machine learning system comprises a first device and a second device, a first GAN runs on the first device, a second GAN runs on the second device, the first GAN comprises a first generator and a first discriminator, and the second GAN comprises a second generator and a second discriminator, ([Hardy, figure 1(b) and section V.A]: Any of the workers maps to the “first device” of the claim. Its GAN maps to the “first GAN” of the claim, and its generator and discriminator map, respectively, to the “first generator” and “first discriminator” of the claim. The server maps to the “second device” of the claim, its GAN maps to the “second GAN” of the claim, and its generator and discriminator map respectively to the “second generator” and “second discriminator” of the claim. The examiner notes that Hardy also discloses “emulat[ing] workers and the server on GPU-based servers equipped of two Intel Xeon Gold 6132 processor, 260 GB of RAM, and four NVIA Tesla M60 GPUs or four NVIDIA Tesla P100 GPUs” [Hardy, section V.A first paragraph].)
wherein the method comprises: transmitting, by the first device, a parameter of the first discriminator of the first device to the second device, wherein the parameter of the first discriminator is determined by the first device based on local data and a parameter of the first generator of the first device; ([Hardy, sections II-III and figure 1(b)]: Hardy discloses that “[w]orkers perform iterations locally on their data and… they send the resulting parameters to the server” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) green arrows on right/bottom]. The data used by the worker maps to the “local data” of the claim, and its discriminator’s parameters (denoted θ in [Hardy, section II]) maps to the “parameter of the first discriminator” of the claim. This mapping ensures that “the parameter of the first discriminator is determined by the first device based on local data” as required by the claim. Hardy moreover explains that, in GANs, the discriminator’s parameters θ are updated based on the generator’s parameters w [Hardy, section II]. In other words, the generator’s parameters w map to the “parameter of the first generator of the first device” of the claim, which means that the “the parameter of the first discriminator is determined” is in fact also “based on… a parameter of the first generator of the first device” as required by the claim.)
receiving a parameter of the second discriminator and a parameter of the second generator from the second device, wherein the parameter of the second discriminator is determined by the second device by performing parameter aggregation on parameters of first discriminators from at least one first device, ([Hardy, section III and figure 1(b)]: Hardy discloses that the “server in turn averages the G and D parameters of all workers, in order to send updates to those workers” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) green and blue arrow in top/middle]. The parameters of the server’s generator and discriminator map, respectively, to the “parameter of the second generator” and the “parameter of the second discriminator” of the claim. The averaging of the D parameters from the workers maps to the “parameter aggregation on [the] parameters of [the] first discriminators from [the] at least one first device” of the claim. The workers receiving these parameters from the server maps to the “receiving” step of the claim.)
and the parameter of the second generator is determined by the second device based on the parameter of the second discriminator; ([Hardy, section III and figure 1(b)]: The parameters of the server’s generator are determined by the server, i.e., “by the second device” as recited by the claim. They are also determined based, for example, on those of the discriminator from a previous iteration [Hardy, section III paragraph beginning “In order” and figure 1(b)], this being one possible way that the “parameter of the second generator” as mapped above falls under the broadest reasonable interpretation of being determined “based on the parameter of the second discriminator” as recited by the claim.)
and updating the parameter of the first discriminator and the parameter of the first generator based on the parameter of the second discriminator and the parameter of the second generator. ([Hardy, section III]: As noted above, Hardy discloses that the server “send[s] updates to those workers” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) blue and green arrows in top/middle]. In other words, the “parameter of the first discriminator and the parameter of the first generator” as mapped above are “update[ed]… based on the parameter of the second discriminator and the parameter of the second generator” as recited by the claim.)
Claim 2
Hardy discloses the elements of the parent claim(s). It also discloses:
[The method according to claim 1,] wherein the parameter of the first discriminator is determined by the first device based on the local data, the parameter of the first generator, ([Hardy, sections II-III and figure 1(b)]: The substance of this limitation already appears in the parent claim and its mapping is explained there.) and a first random number sample set; ([Hardy, section II]: Hardy explains that generators in a GAN take as input “a noise signal (e.g., random vectors of size k” [Hardy, section II first paragraph]. This random vector at the worker maps to the “first random number sample set” of the claim.)
the parameter of the second generator is determined by the second device based on the parameter of the second discriminator ([Hardy, section III and figure 1(b)]: The substance of this limitation already appears in the parent claim and its mapping is explained there.) and a second random number sample set; and the second random number sample set is the same as a union set of first random number sample sets of X first devices ([Hardy, section II and figure 1(b)]: As noted under the parent claim, any of the workers map to a “first device” of the claim, with [Hardy, figure 1(b)] depicting an example with 3 workers (i.e., X = 3, in the notation of the claim). As noted above, the updates made by each worker are based on the random vector generated by that worker. All of the random vectors generated by all of the workers taken together map to the “second random number sample set” of the claim; this is the “union set of first random number sample sets of [the] X first devices” as recited by the claim. Moreover, since the parameters at the server are based on the parameters of all of the workers, which are each based on their respective random vectors, the parameters at the server are in fact “based on” the “second random number sample set” as recited by the claim.)
the X first devices each transmit the parameter of the first discriminator to the second device, ([Hardy, sections II-III and figure 1(b)]: The substance of this limitation already appears in the parent claim and its mapping is explained there.)
and X is a positive integer greater than or equal to 1. ([Hardy, figure 1(b)]: As noted above, Hardy depicts an example with X = 3 workers.)
Claim 3
Hardy discloses the elements of the parent claim(s). It also discloses:
[The method according to claim 2, further comprising:] updating the parameter of the first discriminator for M times, wherein M is a positive integer greater than or equal to 1, an (i+1)th update of the parameter of the first discriminator is determined by the first device based on the local data, an ith updated parameter of the first generator, and the first random number sample set, and i is any integer from 1 to (M-1). ([Hardy, sections II-III]: Hardy discloses workers performing iterations locally for “E epochs” before sending data to the server [Hardy, section III paragraph beginning “In order”]. In other words, the E epochs of Hardy map to the “M times” of the claim. The generator’s parameters of the first epoch map to the “ith updated parameter of the first generator” of the claim (for i = 1), and the discriminator’s parameters in the second epoch map to the “(i+1)th update of the parameter of the first discriminator” of the claim. The same is true for the second and third epochs, and so forth. As noted above, the random vector of size k at the worker [Hardy, section II first paragraph] maps to the “first random number sample set” of the claim.)
Claim 4
Hardy discloses the elements of the parent claim(s). It also discloses:
[The method according to claim 2, further comprising:] updating the parameter of the first discriminator for M times, wherein M is a positive integer greater than or equal to 1, an ith update of the parameter of the first discriminator is determined by the first device based on the local data, an ith updated parameter of the first generator, and the first random number sample set, and i is any integer from 1 to M. ([Hardy, sections II-III]: Hardy discloses workers performing iterations locally for “E epochs” before sending data to the server [Hardy, section III paragraph beginning “In order”]. In other words, the E epochs of Hardy map to the “M times” of the claim. Moreover, as noted under the parent claim, Hardy explains that, in GANs, a discriminator’s parameters θ are updated based on the generator’s parameters w [Hardy, section II], i.e., that the “the parameter of the first discriminator is determined” is also based on the “parameter of the first generator of the first device” as required by the claim. The generator’s parameters in the a given epoch maps to the “ith updated parameter of the first generator”, and the discriminator’s parameter in the same epoch to the “ith update of the parameter of the first discriminator” of the claim. As noted above, the random vector of size k at the worker [Hardy, section II first paragraph] maps to the “first random number sample set” of the claim.)
Claim 5
Hardy discloses the elements of the parent claim(s). It also discloses:
[The method according to claim 2, wherein] the first random number sample set and the second random number sample set are determined according to a same pseudo-random number algorithm. ([Hardy, section II]: Hardy explains that each entry of the random vector “follows a normal distribution N(0, 1)” [Hardy, section II]. In other words, the “pseudo-random number algorithm” used to generate the “first random number sample set” of the claim is sampling from a standard normal distribution. The “second random number sample set”, being the union of the “first random number sample sets” as explained under the parent claims, is then also “determined according to” the same algorithm.)
Claim 7
Hardy discloses:
A generative adversarial network (GAN) training method, ([Hardy, section III]: Hardy discloses “an adapted version of federated learning to GANs” [Hardy, paragraph beginning “In order”; see also, figure 1(b)].)
performed by a second device, wherein the second GAN comprises a second generator and a second discriminator, ([Hardy, figure 1(b)]: The server maps to the “second device” of the claim, its GAN maps to the “second GAN” of the claim, and its generator and discriminator map respectively to the “second generator” and “second discriminator” of the claim.)
and wherein the method comprises: receiving, by the second device, parameters of first discriminators from N first devices, wherein the parameter of the first discriminator is determined by the first device based on local data and a parameter of a first generator of the first device, ([Hardy, sections II-III and figure 1(b)]: The workers maps to the “N first devices” of the claim. The generator and discriminator of each worker map, respectively, to the “first generator” and “first discriminator” of the claim. Hardy discloses that “[w]orkers perform iterations locally on their data and… they send the resulting parameters to the server” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) green arrows on right/bottom]. The data used by the workers maps to the “local data” of the claim, and their discriminators’ parameters (denoted θ in [Hardy, section II]) map to the “parameters of the first discriminator” of the claim. This mapping ensures that “the parameter of the first discriminator is determined by the first device based on local data” as required by the claim. Hardy moreover explains that, in GANs, the discriminator’s parameters θ are updated based on the generator’s parameters w [Hardy, section II]. In other words, the generator’s parameters w map to the “parameter of the first generator of the first device” of the claim, which means that the “the parameter of the first discriminator is determined” is in fact also “based on… a parameter of the first generator of the first device” as required by the claim. The server receiving these parameters from the workers thus maps to the “receiving” step of the claim.)
and N is an integer greater than or equal to 1; ([Hardy, figure 1(b)]: Hardy depicts an example of 3 workers, i.e., N = 3.)
performing parameter aggregation on the parameters of the first discriminators of the N first devices to determine a parameter of the second discriminator, ([Hardy, section III and figure 1(b)]: Hardy discloses that the “server in turn averages the G and D parameters of all workers, in order to send updates to those workers” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) green and blue arrow in top/middle]. The parameters of the server’s discriminator map to the “parameter of the second discriminator” of the claim. The averaging of the D parameters from the workers maps to the “parameter aggregation on the parameters of the first discriminators of the N first devices” of the claim.)
and determining a parameter of the second generator based on the parameter of the second discriminator; ([Hardy, section III and figure 1(b)]: The parameters of the server’s generator map to the “parameter of the second generator” of the claim. They are determined based, for example, on those of the discriminator from a previous iteration [Hardy, section III paragraph beginning “In order” and figure 1(b)], this being one possible way that the “parameter of the second generator” as mapped here falls under the broadest reasonable interpretation of being determined “based on the parameter of the second discriminator” as recited by the claim.)
and transmitting the parameter of the second discriminator and the parameter of the second generator to L first devices, ([Hardy, section III]: Hardy discloses that the server “send[s] updates to those workers” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) blue and green arrows in top/middle]. This sending of updates maps to the “transmitting” step of the claim.)
wherein L is a positive integer. ([Hardy, figure 1(b)]: Hardy depicts an example of 3 workers, i.e., L = 3.)
Claim 8
Hardy discloses the elements of the parent claim(s). It also discloses:
[The method according to claim 7, wherein] the parameter of the second generator is further determined based on the parameters of the first discriminators of the N first devices. ([Hardy, sections II-III and figure 1(b)]: In Hardy, the parameters of the server’s generators are determined based on the parameters of the workers’ generators, which are determined based on the parameters of the workers’ discriminators. In other words, the “parameter of the second generator” as mapped under the parent claim is in fact “based on the parameters of the first discriminators of the N first devices” as recited by the parent claim.)
Claim 9-10 inherits limitations from claim 7 and recites additional limitations which are substantively similar to those recited by claims 2 and 6, respectively, so they are rejected by the same rationale.
Claim 13
Hardy discloses:
A machine learning system, ([Hardy, section III]: Hardy discloses “an adapted version of federated learning to GANs” [Hardy, paragraph beginning “In order”; see also, figure 1(b)].)
comprising a second device, wherein a second GAN runs on the second device, and the second GAN comprises a second generator and a second discriminator; ([Hardy, figure 1(b) and section V.A]: The server maps to the “second device” of the claim, its GAN maps to the “second GAN” of the claim, and its generator and discriminator map respectively to the “second generator” and “second discriminator” of the claim. The examiner notes that Hardy also discloses “emulat[ing] workers and the server on GPU-based servers equipped of two Intel Xeon Gold 6132 processor, 260 GB of RAM, and four NVIA Tesla M60 GPUs or four NVIDIA Tesla P100 GPUs” [Hardy, section V.A first paragraph].)
the second device is configured to: receive parameters of first discriminators from N first devices, wherein the parameter of the first discriminator is determined by the first device based on local data and a parameter of a first generator of the first device, ([Hardy, sections II-III and figure 1(b)]: The workers maps to the “N first devices” of the claim. The generator and discriminator of each worker map, respectively, to the “first generator” and “first discriminator” of the claim. Hardy discloses that “[w]orkers perform iterations locally on their data and… they send the resulting parameters to the server” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) green arrows on right/bottom]. The data used by the workers maps to the “local data” of the claim, and their discriminators’ parameters (denoted θ in [Hardy, section II]) map to the “parameters of the first discriminator” of the claim. This mapping ensures that “the parameter of the first discriminator is determined by the first device based on local data” as required by the claim. Hardy moreover explains that, in GANs, the discriminator’s parameters θ are updated based on the generator’s parameters w [Hardy, section II]. In other words, the generator’s parameters w map to the “parameter of the first generator of the first device” of the claim, which means that the “the parameter of the first discriminator is determined” is in fact also “based on… a parameter of the first generator of the first device” as required by the claim. The server receiving these parameters from the workers thus maps to the “receiving” step of the claim.)
and N is an integer greater than or equal to 1; ([Hardy, figure 1(b)]: Hardy depicts an example of 3 workers, i.e., N = 3.)
perform parameter aggregation on the parameters of the first discriminators of the N first devices to determine the parameter of the second discriminator, ([Hardy, section III and figure 1(b)]: Hardy discloses that the “server in turn averages the G and D parameters of all workers, in order to send updates to those workers” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) green and blue arrow in top/middle]. The parameters of the server’s discriminator map to the “parameter of the second discriminator” of the claim. The averaging of the D parameters from the workers maps to the “parameter aggregation on the parameters of the first discriminators of the N first devices” of the claim.)
and determine the parameter of the second generator based on the parameter of the second discriminator; ([Hardy, section III and figure 1(b)]: The parameters of the server’s generator map to the “parameter of the second generator” of the claim. They are determined based, for example, on those of the discriminator from a previous iteration [Hardy, section III paragraph beginning “In order” and figure 1(b)], this being one possible way that the “parameter of the second generator” as mapped here falls under the broadest reasonable interpretation of being determined “based on the parameter of the second discriminator” as recited by the claim.)
and transmit the parameter of the second discriminator and the parameter of the second generator to L first devices, ([Hardy, section III]: Hardy discloses that the server “send[s] updates to those workers” [Hardy, section III paragraph beginning “In order”; see also, figure 1(b) blue and green arrows in top/middle]. This sending of updates maps to the “transmitting” step of the claim.)
wherein L is a positive integer. ([Hardy, figure 1(b)]: Hardy depicts an example of 3 workers, i.e., L = 3.)
Claim 14-17 inherit limitations from claim 13 and recites additional limitations which are substantively similar to those recited by claims 2-5, respectively, so they are rejected by the same rationale.
Claim Rejections - 35 USC 103
The following is a quotation of 35 USC 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) 6, 11, and 18-19 is/are rejected under 35 USC 103 as being unpatentable over Hardy in view of Numpy (Random Sampling (numpy.random), backdated to 2021-06-03; hereafter, “Numpy”).
Claim 6
Hardy discloses the elements of the parent claim(s). It also discloses:
[The method according to claim 5, further comprising: …] determining a quantity of elements in a first preset random number sample set; ([Hardy, section II]: As noted under parent claims, Hardy discloses a random vector of length k [Hardy, section II first paragraph]. This length k maps to the “quantity of elements in a first preset random number sample set” of the claim.)
Hardy discloses experimenting using Python libraries [Hardy, section V.A first paragraph] but does not explicitly disclose standard details about the functioning of random number generators. In other words, Hardy might not explicitly disclose:
selecting a random number seed;
and inputting the random number seed and the quantity of elements in the first preset random number sample set into a pseudo random number generator, to determine the first random number sample set.
Numpy is a commonly used Python library having “random number routines [that] produce pseudo-random numbers” [Numpy, first paragraph]. Moreover, Numpy discloses:
selecting a random number seed; ([Numpy, section titled “Quick Start”]: Numpy explains that “[s]eeds can be passed to any of the BitGenerators” [Numpy, section titled “Quick Start” paragraph beginning “Seeds can be passed”], giving an example where 12345 is used as a seed for the generator default_rng [Numpy, section titled “Quick Start” last two code snippets]. In other words, the argument to default_rng maps to the “random number seed” of the claim.)
and inputting the random number seed and the quantity of elements in the first preset random number sample set into a pseudo random number generator, to determine the first random number sample set. ([Numpy, section titled “Quick Start”]: Numpy gives an example to show that rng = default_rng() can be used to produce 10 numbers drawn from a standard normal distribution by calling rng.standard_normal(10) [Numpy, section titled “Quick Start” first code snippet]. In other words, the argument to standard_normal() is the “quantity of elements in the first preset random number sample set” as mapped above. Since the seed is an argument for default_rng, and the length of the sequence to be produced is an argument for standard_normal method of the default_rng generator, both “random number seed” and the “quantity of elements in the first preset random number sample set” are provided as input to this pseudo-random number generator, and in the combination, this functionality is used “to determine the first random number sample set” as recited by the claim.)
Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art to generate the random vectors sampled from a standard normal distribution as described in Hardy using Numpy’s random number routines because Hardy already discloses experimenting using Python [Hardy, section V.A first paragraph] and Numpy’s random number routines can be used to “sample from different statistical distributions” [Numpy, first paragraph], including the standard normal distribution [Numpy, section titled “Quick Start” first code snippet].
Claims 11 and 18 inherit limitations from claim 10 and 17, respectively, and recite additional limitations which are substantively similar to those recited by claim 6, so they are rejected by the same rationale.
Claim 19
Hardy discloses the elements of the parent claim(s). It also discloses:
[The system according to claim 17, wherein] the second device is further configured to: ([Hardy, section II and figure 1(b)]: The server sending updates triggers the workers running a training cycle [Hardy, figure 1(b)] and, in particular, generating the random numbers involved in that training cycle [Hardy, section II]. In other words, the server is “configured to” perform the random number generation steps described in this claim in the sense that it sending an update to the workers triggers these random number generation steps.)
determine a quantity of elements in a first preset random number sample set; ([Hardy, section II]: As noted under parent claims, Hardy discloses a random vector of length k [Hardy, section II first paragraph]. This length k maps to the “quantity of elements in a first preset random number sample set” of the claim.)
Hardy discloses experimenting using Python libraries [Hardy, section V.A first paragraph] but does not explicitly disclose standard details about the functioning of random number generators. In other words, Hardy might not explicitly disclose:
select a random number seed;
and input the random number seed and the quantity of elements in the first preset random number sample set into a pseudo random number generator to determine the second random number sample set.
Numpy is a commonly used Python library having “random number routines [that] produce pseudo-random numbers” [Numpy, first paragraph]. Moreover, Numpy discloses:
select a random number seed; ([Numpy, section titled “Quick Start”]: Numpy explains that “[s]eeds can be passed to any of the BitGenerators” [Numpy, section titled “Quick Start” paragraph beginning “Seeds can be passed”], giving an example where 12345 is used as a seed for the generator default_rng [Numpy, section titled “Quick Start” last two code snippets]. In other words, the argument to default_rng maps to the “random number seed” of the claim.)
and input the random number seed and the quantity of elements in the first preset random number sample set into a pseudo random number generator to determine the second random number sample set. ([Numpy, section titled “Quick Start”]: Numpy gives an example to show that rng = default_rng() can be used to produce 10 numbers drawn from a standard normal distribution by calling rng.standard_normal(10) [Numpy, section titled “Quick Start” first code snippet]. In other words, the argument to standard_normal() is the “quantity of elements in the first preset random number sample set” as mapped above. Since the seed is an argument for default_rng, and the length of the sequence to be produced is an argument for standard_normal method of the default_rng generator, both “random number seed” and the “quantity of elements in the first preset random number sample set” are provided as input to this pseudo-random number generator, and in the combination, this functionality is used to determine each “first random number sample set” of the claim as mapped above. The “second random number sample set” is the union of the “first random number sample sets” as explained under the parent claims. Thus the inputting of the seed and quantity into the pseudo-random number generator falls under the broadest reasonable interpretation of being in order “to determine the second random number sample set” as recited by the claim.)
Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art to generate the random vectors sampled from a standard normal distribution as described in Hardy using Numpy’s random number routines because Hardy already discloses experimenting using Python [Hardy, section V.A first paragraph] and Numpy’s random number routines can be used to “sample from different statistical distributions” [Numpy, first paragraph], including the standard normal distribution [Numpy, section titled “Quick Start” first code snippet].
Claim(s) 12 and 20 is/are rejected under 35 USC 103 as being unpatentable over Hardy in view of Richard ISAAC (The Pleasures of Probability, Chapter 13: Random Numbers: What They Are and How to Use Them, published 1995; hereafter, “Isaac”).
Claim 12
Hardy discloses the elements of the parent claim(s). It might not distinctly disclose:
[The method according to claim 9, wherein] the first random number sample set and the second random number sample set are determined based on a same random number codebook.
Isaac is in the field of probability and statistics. Moreover, Hardy in view of Isaacs discloses:
[The method according to claim 9, wherein] the first random number sample set and the second random number sample set are determined based on a same random number codebook. ([Isaac, section 13.1]: Hardy discusses a “book listing a million random digits” published by the Rand Corporation [Isaacs, section 13.1 first paragraph] and using this book for generating random numbers (e.g., by “select[ing] digits from the Rand book… by starting at the first page and reading line by line (or column by column) until you have enough digits” or by “using a random number table to select for you a random page and a random line number where you will start reading the digits you will actually use for your purpose”) [Isaac, section 13.1 paragraph beginning “For the same reason”]. The Rand book maps to the “random number codebook” of the claim. In the combination, the Rand book could be used to generate the “first random number sample set” as described under the parent claims. The “second random number sample set”, being the union of the “first random number sample sets” as explained under the parent claims, is then also “determined based on” the same book.)
Claim 20 inherits limitations from claim 14 and recites additional limitations which are substantively similar to those recited by claim 12, so it is rejected by the same rationale.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Bangzhou XIN et al. (Private FL-GAN: Differential Privacy Synthetic Data Generation Based on Federated Learning, published 2020-04-09; hereafter, “Xin”) discloses a version of the federated learning method of Hardy that incorporates differential privacy mechanisms. It has broadly the same structure as the method of Hardy (cf. [Xin, figure 1] and [Hardy, figure 1(b)] and thus discloses most of the same limitations of the pending claims that are indicated as being disclosed by Hardy above.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Shishir AGRAWAL whose telephone number is +1 703-756-1183. The examiner can normally be reached Monday through Thursday, 08:30-14:30 Pacific Time.
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, Alexey SHMATOV can be reached on +1 571-270-3428. The fax phone number for the organization where this application or proceeding is assigned is +1 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 +1 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call +1 800-786-9199 (IN USA OR CANADA) or +1 571-272-1000.
/S.A./Examiner, Art Unit 2123
/ALEXEY SHMATOV/Supervisory Patent Examiner, Art Unit 2123