DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
This office action is in response to the amendment filed on 07/23/2025. Claims remain pending in the application. Claims 1, 4, and 9 are independent.
Claim Objections
Applicant's amendment to claims corrects some of previous objections; therefore, some of previous objections are withdrawn. Applicant's amendment to claims also raises new issues; therefore, the remaining objections are shown below.
Claims 1-6, 8-9, and 11 are objected to because of the following informalities:
in Claim 1, line 2, "a saved data storage unit" appears to be "a saved data storage" and in Claim 1, lines 15-16, "the saved data storage unit" appears to be "the saved data storage" according to Claim 1, line 17 and Claim 4;
in Claim 1, lines 10-14; and Claim 9, lines 8-11, "… calculating, for each combination of one true data and each of the first number of the false data, a distance between an output value for the true data and an output value for the false data, and calculating first gradient information … so as to increase the distance …" appears to be "… calculating, for each combination of one true data and each of the first number of the false data, a (first) distance between an output value for the one true data and an output value for each of the first number of the false data, and calculating first gradient information … so as to increase the (first) distance …" because the "distance" is calculated for each combination of the "one true data" and "each of the first number of the false data" (see also 112(b) Rejections to Claims 2 and 11);
in Claim 2, lines 3-4, "… wherein the one or more processors are configured to execute the software component performs …" appears to be "… wherein the one or more processors are configured to further execute the software component to perform: …" (see also 112(b) Rejections to Claim 2);
in Claim 2, lines 28-30; Claim 5, lines 32-34; and Claim 11, lines 21-22, "… updating the generation model by updating the individual weights of the generation model based on the second gradient information according to the individual weights" appears to be "… updating the generation model by updating the individual weights of the generation model based on the second gradient information according to the individual weights of the generation model" to prevent confusion with "the individual weights of the discriminator model" recited earlier in the claim;
in Claim 3, lines 2-5, "… wherein the one or more processors are configured to execute the software component performs, for each combination of the one true data and each of the first number of the false data, calculating the distance between the output value for the true data and the output value for the false data, calculating the first gradient information for each weight of the discriminator model so as to increase the distance by the predetermined amount, and calculating an average value of the absolute values of the first gradient information for each weight ……" appears to be "… wherein the calculating the first gradient information for each weight of the discriminator model comprises calculating an average value of absolute values of the first gradient information for each weight …" because only additional limitation need to be recited;
in Claim 3, lines 9-11, "… and selecting … to be stored in the saved data storage unit from the first number of the false data based on the average value calculated for each of the first number of the false data" appears to be "… and the selecting … to be stored in the saved data storage comprises selecting … to be stored in the saved data storage from the first number of the false data based on the average value calculated for each of the first number of the false data" because only additional limitation need to be recited (see also 112(b) Rejections to Claim 3);
in Claim 4, lines 10-12, "… calculating, for each combination of one true data and each of the first number of the false data, a distance between an output value for the true data and an output value for the false data …" appears to be "… calculating, for each combination of one true data and each of the first number of the false data, a (first) distance between an output value for the one true data and an output value for each of the first number of the false data …" because the "distance" is calculated for each combination of the "one true data" and "each of the first number of the false data" (see also 112(b) Rejections to Claims 5);
in Claim 5, lines 2-28, "… wherein the one or more processors are configured to execute the software component performs … generating a second number of the false data, and deriving … and wherein the one or more processors are configured to further execute the software component performs calculating … " appears to be "… wherein the one or more processors are configured to further execute the software component to perform: … generating a second number of the false data, deriving … calculating …" (see also 112(b) Rejections to Claim 5);
in Claim 5, line 18; and Claim 11, lines 11-12, "… updating individual weights of the discriminator model based on …" appears to be "… updating the individual weights of the discriminator model based on …" because "each weight of the discriminator model" has been recited earlier in the claim;
in Claim 6, lines 2-3, "… wherein the one or more processors are configured to execute the software component performs deleting …" appears to be "… wherein the one or more processors are configured to further execute the software component to perform deleting …";
in Claim 8, line 2, "… wherein the true data and the false data are …" appears to be "… wherein the one true data and the false data are …";
in Claim 11, lines 1-3, "The model generation method according to claim 9, implemented by a computer, wherein, the computer performs …" appears to be "The model generation method according to claim 9, wherein the computer further performs: …" (see also 112(b) Rejections to Claim 11)
in Claim 11, line 6, "the saved data storage unit" appears to be "the saved data storage" according to Claim 9.
Appropriate correction is required.
Claim Rejections - 35 USC § 112
Applicant's amendment to claims corrects some of previous rejections; therefore, some of previous rejections are withdrawn. Applicant's amendment to claims also raises new issues; therefore, the remaining rejections are shown below. NOTE: Applicant's amendment to claims causes more issues by treating all instances of "false data" in the claims to be the same (e.g., "false data" generated by a generation model should not be the same as "false data" selected to be stored in "a saved data storage" according to the specification).
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-9 and 11 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 1 recites the limitations "... a saved data storage unit which stores false data to be stored … generating a first number of the false data based on a generation model that is a neural network for generating the false data … selecting the false data to be stored in the saved data storage unit from among the first number of the false data based on … storing the selected false data in the saved data storage, and updating the discriminator model using the selected false data" in lines 2-19, which rendering the claim indefinite because "a first number of the false data" is a subset of "the false data" and how "the false data" (i.e., a full set of "the false data") can be selected from among "the first number of the false data" (i.e., a subset of "the false data"). Clarification is required. (NOTE: for examination purpose, "... a saved data storage which stores selections of false data to be stored … generating a first number of the false data based on a generation model that is a neural network for generating the false data … selecting a portion of the false data to be stored in the saved data storage from among the first number of the false data based on … storing the selected portion of the false data in the saved data storage, and updating the discriminator model using the selected portion of the false data" is considered (see also Claim Objections to Claim 1)).
Claims 2-3 and 6-8 are rejected for fully incorporating the deficiency of their respective base claims.
Claim 2 recites the limitation "… deriving the output values for each of a plurality of the true data corresponding to a subset of the plurality of the true data prepared in advance, a plurality of the false data corresponding to a subset of the false data stored in the saved data storage, and the plurality of the false data corresponding to a subset of the first number of the false data …" in lines 7-11, which rendering the claim indefinite because (1) there is insufficient antecedent basis for "the output values" derived for "each of a plurality of the true data …"; (2) it is unclear whether "the true data" recited here is referred to "one true data" recited in its based claim or not; (3) it is unclear how "a plurality of the true data" (i.e., a full set) can be corresponding to "a subset of the plurality of the true data"; and (4) it is unclear how "a/the plurality of the false data" (two or more "the false data"??) can be corresponding to both "a subset of the false data stored in the saved data storage " and "a subset of the first number of the false data". Clarification is required. (NOTE: for examination purpose, "… deriving output values for each of a first plurality of true data corresponding to a first subset of true data prepared in advance and a first plurality of false data corresponding to a subset of the selected portion of the false data stored in the saved data storage …" is considered; i.e., a "first plurality of false data" corresponding "a subset of the first number of the false data" and "a subset of the selections of the false data stored in the saved data storage").
Claim 2 recites the limitation "… calculating the distance between the output value for the true data and the output value for the false data derived, and calculating the first gradient information for each weight of the discriminator model, so as to increase the distance by the predetermined amount …" in lines 12-15, which rendering the claim indefinite because this limitation has been recited in its based claim and most of other limitations in Claim 2 are further limitations performed by the one or more processors; and therefore, it is unclear whether this limitation is calculated for "true data" and "false data" recited in its based claim or for "true data" and "false data" related to the previous limitation in Claim 2 (see also Claim Objections to Claim 2). Clarification is required. (NOTE: for examination purpose, "… calculating a second distance between the output value for each of the first plurality of true data and the output value for each of the first plurality of false data, and calculating the first gradient information for each weight of the discriminator model, so as to increase the second distance by the predetermined amount …" is considered).
Claim 2 recites the limitation "… deriving the output values for each of the plurality of the true data corresponding to the subset of the plurality of the true data prepared in advance and the plurality of the false data corresponding to a subset of the second number of the false data …" in lines 20-23, which rendering the claim indefinite because (1) the limitation "deriving the output values for each of the plurality of the true data corresponding to the subset of the plurality of the true data prepared in advance" is recited twice in Claim 2 and it is unclear why the same "output values" need to be derived twice; (2) it is unclear whether "the true data" recited here is referred to "one true data" recited in its based claim or not; (3) it is unclear how "the plurality of the true data" (i.e., a full set) can be corresponding to "the subset of the plurality of the true data"; and (4) it is unclear how "the plurality of the false data" can be corresponding to both "a subset of the first number of the false data" recited earlier and "a subset of the second number of the false data" when "a first number of the false data" and "a second number of the false data" are generated at different times. Clarification is required. (NOTE: for examination purpose, "… deriving output values for each of a second plurality of true data corresponding to a second subset of the true data prepared in advance and a second plurality of the false data corresponding to a subset of the second number of the false data …" is considered).
Claim 2 recites the limitation "… calculating the distance between the output value for the true data and the output value for the false data, and calculating second gradient information for each weight of the generation model, so as to decrease the distance by another predetermined amount …" in lines 24-27, which rendering the claim indefinite because (1) this limitation "calculating the distance between the output value for the true data and the output value for the false data" has been recited once in its base claim and twice in Claim 2 and it is unclear why the same "distance" is calculated multiple times based on the same "true data" and "false data"; and (2) it is unclear whether this limitation is calculated for "true data" and "false data" recited in its based claim or for "true data" and "false data" related to the previous limitations in Claim 2 (see also Claim Objections to Claim 2). Clarification is required. (NOTE: for examination purpose, "… calculating a third distance between the output value for each of the second plurality of true data and the output value for each of the second plurality of false data, and calculating second gradient information for each weight of the generation model, so as to decrease the third distance by another predetermined amount …" is considered).
Claim 3 recites the limitations "... selecting the false data to be stored in the saved data storage unit from the first number of the false data based on … " in lines 9-10, which rendering the claim indefinite because "a first number of the false data" is a subset of "the false data" and how "the false data" (i.e., a full set of "the false data") can be selected from "the first number of the false data" (i.e., a subset of "the false data"). Clarification is required. (NOTE: for examination purpose, "... selecting the portion of the false data to be stored in the saved data storage from the first number of the false data based on … " is considered (see also Claim Objections to Claim 3)).
Claim 4 recites the limitations "... a saved data storage which stores false data to be stored … generating a first number of the false data based on a generation model that is a neural network for generating the false data … selecting the false data to be stored in the saved data storage from among the first number of the false data based on the distance calculated for … storing the selected false data in the saved data storage, and updating the discriminator model using the selected false data" in lines 2-16, which rendering the claim indefinite because "a first number of the false data" is a subset of "the false data" and how "the false data" (i.e., a full set of "the false data") can be selected from among "the first number of the false data" (i.e., a subset of "the false data"). Clarification is required. (NOTE: for examination purpose, "... a saved data storage which stores selections of false data to be stored … generating a first number of the false data based on a generation model that is a neural network for generating the false data … selecting a portion of the false data to be stored in the saved data storage from among the first number of the false data based on based on the (first) distance calculated for … storing the selected portion of the false data in the saved data storage, and updating the discriminator model using the selected portion of the false data" is considered (see also 112(b) Rejections to Claim 5)).
Claim 5 is rejected for fully incorporating the deficiency of their respective base claims.
Claim 5 recites the limitation "… deriving the output values for each of a plurality of the true data corresponding to a subset of the plurality of the true data prepared in advance, a plurality of the false data corresponding to a subset of the false data stored in the saved data storage, and the plurality of the false data corresponding to a subset of the first number of the false data …" in lines 7-11, which rendering the claim indefinite because (1) there is insufficient antecedent basis for "the output values" derived for "each of a plurality of the true data …"; (2) it is unclear whether "the true data" recited here is referred to "one true data" recited in its based claim or not; (3) it is unclear how "a plurality of the true data" (i.e., a full set) can be corresponding to "a subset of the plurality of the true data"; and (4) it is unclear how "a/the plurality of the false data" (two or more "the false data"??) can be corresponding to both "a subset of the false data stored in the saved data storage " and "a subset of the first number of the false data". Clarification is required. (NOTE: for examination purpose, "… deriving output values for each of a first plurality of true data corresponding to a first subset of true data prepared in advance and a first plurality of false data corresponding to a subset of the selected portion of the false data stored in the saved data storage …" is considered; i.e., a "first plurality of false data" corresponding "a subset of the first number of the false data" and "a subset of the selections of the false data stored in the saved data storage").
Claim 5 recites the limitation "… calculating the distance between the output value for the true data and the output value for the false data, and calculating the first gradient information for each weight of the discriminator model, so as to increase the distance by a predetermined amount …" in lines 13-16, which rendering the claim indefinite because (1) there is insufficient antecedent basis for "the first gradient information" calculated for each weight of the discriminator model; and (2) the limitation "calculating the distance between the output value for the true data and the output value for the false data " has been recited in its based claim and most of other limitations in Claim 5 are further limitations performed by the one or more processors; and therefore, it is unclear whether this limitation is calculated for "true data" and "false data" recited in its based claim or for "true data" and "false data" related to the previous limitation in Claim 5 (see also Claim Objections to Claim 5). Clarification is required. (NOTE: for examination purpose, "… calculating a second distance between the output value for each of the first plurality of true data and the output value for each of the first plurality of false data, and calculating a first gradient information for each weight of the discriminator model, so as to increase the second distance by a predetermined amount …" is considered).
Claim 5 recites the limitation "… deriving the output values for each of the plurality of the true data corresponding to subset of the plurality of the true data prepared in advance and the plurality of the false data corresponding to a subset of the second number of the false data …" in lines 22-24, which rendering the claim indefinite because (1) the limitation "deriving the output values for each of the plurality of the true data corresponding to (the) subset of the plurality of the true data prepared in advance" is recited twice in Claim 2 and it is unclear why the same "output values" need to be derived twice; (2) it is unclear whether "the true data" recited here is referred to "one true data" recited in its based claim or not; (3) it is unclear how "the plurality of the true data" (i.e., a full set) can be corresponding to "subset of the plurality of the true data"; and (4) it is unclear how "the plurality of the false data" can be corresponding to both "a subset of the first number of the false data" recited earlier and "a subset of the second number of the false data" when "a first number of the false data" and "a second number of the false data" are generated at different times. Clarification is required. (NOTE: for examination purpose, "… deriving output values for each of a second plurality of true data corresponding to a second subset of the true data prepared in advance and a second plurality of the false data corresponding to a subset of the second number of the false data …" is considered).
Claim 5 recites the limitation "… calculating the distance between the output value for the true data and the output value for the false data, and calculating second gradient information for each weight of the generation model, so as to decrease the distance by another predetermined amount …" in lines 28-31, which rendering the claim indefinite because (1) this limitation "calculating the distance between the output value for the true data and the output value for the false data" has been recited once in its base claim and twice in Claim 5 and it is unclear why the same "distance" is calculated multiple times based on the same "true data" and "false data"; and (2) it is unclear whether this limitation is calculated for "true data" and "false data" recited in its based claim or for "true data" and "false data" related to the previous limitations in Claim 5 (see also Claim Objections to Claim 5). Clarification is required. (NOTE: for examination purpose, "… calculating a third distance between the output value for each of the second plurality of true data and the output value for each of the second plurality of false data, and calculating second gradient information for each weight of the generation model, so as to decrease the third distance by another predetermined amount …" is considered).
Claim 6 recites the limitations "the time" and "the same number" in lines 4-5. There is insufficient antecedent basis for these limitations in the claim. Clarification is required. (NOTE: for examination purpose, "… deleting, when a number in the selections of the false data stored in the saved data storage has reached a predetermined number during storing the selected portion of the false data in the saved data storage, a number of previously stored false data from the saved data storage, wherein the number of the previously stored false data is equal to a number in the selected portion of the false data" is considered (see also 112(b) Rejection to Claim 1)).
Claim 9 recites the limitations "... generating a first number of false data based on a generation model that is a neural network for generating the false data … selecting the false data to be stored in the saved data storage, which stores the false data to be stored, from among the first number of the false data based on … storing the selected false data in the saved data storage, and updating the discriminator model using the selected false data" in lines 3-16, which rendering the claim indefinite because (1) there is insufficient antecedent basis for the first instance of "the saved data storage" in the claim; (2) "a first number of the false data" is a subset of "the false data" and how "the false data" (i.e., a full set of "the false data") can be selected from among "the first number of the false data" (i.e., a subset of "the false data"); and (3) it is unclear how can "the false data" generated by "a generation model" is the same as "the false data" to be stored in "the saved data storage". Clarification is required. (NOTE: for examination purpose, "... generating a first number of false data based on a generation model that is a neural network for generating the false data … selecting a portion of the false data to be stored in a saved data storage, which stores selections of the false data to be stored, from among the first number of the false data based on … storing the selected portion of the false data in the saved data storage, and updating the discriminator model using the selected portion of the false data" is considered (see also Claim Objections to Claim 9)).
Claim 11 is rejected for fully incorporating the deficiency of their respective base claims.
Claim 11 recites the limitation "… deriving output values for each of a plurality of the true data corresponding to a subset of the plurality of the true data prepared in advance, a plurality of the false data corresponding to a subset of the false data stored in the saved data storage unit, and the plurality of the false data corresponding to a subset of the first number of the false data …" in lines 4-7, which rendering the claim indefinite because (1) it is unclear whether "the true data" recited here is referred to "one true data" recited in its based claim or not; (2) it is unclear how "a plurality of the true data" (i.e., a full set) can be corresponding to "a subset of the plurality of the true data"; and (3) it is unclear how "a/the plurality of the false data" (two or more "the false data"??) can be corresponding to both "a subset of the false data stored in the saved data storage " and "a subset of the first number of the false data". Clarification is required. (NOTE: for examination purpose, "… deriving output values for each of a first plurality of true data corresponding to a first subset of true data prepared in advance and a first plurality of false data corresponding to a subset of the selected portion of the false data stored in the saved data storage …" is considered; i.e., a "first plurality of false data" corresponding "a subset of the first number of the false data" and "a subset of the selections of the false data stored in the saved data storage" (see also Claim Objections to Claim 11)).
Claim 11 recites the limitation "… calculating the distance between an output value for the true data and an output value for the false data, and calculating the first gradient information for each weight of the discriminator model, so as to increase the distance by the predetermined amount …" in lines 7-10, which rendering the claim indefinite because this limitation has been recited in its based claim and most of other limitations in Claim 2 are further limitations performed by the computer; and therefore, it is unclear whether this limitation is calculated for "true data" and "false data" recited in its based claim or for "true data" and "false data" related to the previous limitation recited in Claim 11 (see also Claim Objections to Claim 11). Clarification is required. (NOTE: for examination purpose, "… calculating a second distance between the output value for each of the first plurality of true data and the output value for each of the first plurality of false data, and calculating the first gradient information for each weight of the discriminator model, so as to increase the second distance by the predetermined amount …" is considered).
Claim 11 recites the limitation "… deriving the output values for each of the plurality of the true data corresponding to the subset of the plurality of the true data prepared in advance and the plurality of the false data corresponding to a subset of the second number of the false data …" in lines 15-17, which rendering the claim indefinite because (1) the limitation "deriving the output values for each of the plurality of the true data corresponding to the subset of the plurality of the true data prepared in advance" is recited twice in Claim 11 and it is unclear why the same "output values" need to be derived twice; (2) it is unclear whether "the true data" recited here is referred to "one true data" recited in its based claim or not; (3) it is unclear how "the plurality of the true data" (i.e., a full set) can be corresponding to "the subset of the plurality of the true data"; and (4) it is unclear how "the plurality of the false data" can be corresponding to both "a subset of the first number of the false data" recited earlier and "a subset of the second number of the false data" when "a first number of the false data" and "a second number of the false data" are generated at different times. Clarification is required. (NOTE: for examination purpose, "… deriving output values for each of a second plurality of true data corresponding to a second subset of the true data prepared in advance and a second plurality of the false data corresponding to a subset of the second number of the false data …" is considered).
Claim 11 recites the limitation "… calculating the distance between the output value for the true data and the output value for the false data, and calculating second gradient information for each weight of the generation model, so as to decrease the distance by another predetermined amount …" in lines 17-20, which rendering the claim indefinite because (1) this limitation "calculating the distance between the output value for the true data and the output value for the false data" has been recited once in its base claim and twice in Claim 11 and it is unclear why the same "distance" is calculated multiple times based on the same "true data" and "false data"; and (2) it is unclear whether this limitation is calculated for "true data" and "false data" recited in its based claim or for "true data" and "false data" related to the previous limitations in Claim 11 (see also Claim Objections to Claim 11). Clarification is required. (NOTE: for examination purpose, "… calculating a third distance between the output value for each of the second plurality of true data and the output value for each of the second plurality of false data, and calculating second gradient information for each weight of the generation model, so as to decrease the third distance by another predetermined amount …" is considered).
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-9 and 11 are rejected under 35 U.S.C. 101 because the claimed invention is directed to abstract idea without significantly more.
The claim(s) recite(s) ".
This judicial exception is not integrated into a practical application because the claim(s) recite(s) additional elements/limitations of ".
The claim(s) does/do not include additional elements/limitations that are sufficient to amount to significantly more than the judicial exception because (1) the additional elements/limitations of "stores (the) false data to be stored (Claims 1-9 and 11), wherein the true data and the false data are image data or voice data (Claim 8)", "the false data to be stored in the saved data storage" (Claims 1-9 and 11), "storing the selected false data in the saved data storage" (Claims 1-9 and 11), "the false data stored in the saved data storage" (Claims 2, 5-6, and 11), "the selected false data is stored in the saved data storage" (Claim 6), and "deleting a number of previously stored false data from the saved data storage unit" (Claim 6) are well-understood, routine and conventional (WURC) activity similar to "storing and retrieving information in memory" (see MPEP 2106.05(d), "Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93"); and (2) the additional limitation/element of "a neural network" (Claims 1-9 and 11) and "deep neural networks" (Claim 7) are also well-understood, routine and conventional (WURC) activity similar to "performing repetitive calculation" (see MPEP 2106.05(d), "Performing repetitive calculations, Flook, 437 U.S. at 594, 198 USPQ2d at 199 (recomputing or readjusting alarm limit values)"). Thus, none of the additional elements/limitations, taken either alone or combined, amount to significantly more than the abstract idea.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-9, and 11 are rejected under 35 U.S.C. 103 as being unpatentable over FAN et al. (US 2021/0049452 A1, priority date on 08/15/2019), hereinafter FAN in view of Ranzinger (US 2020/0118314 A1, filed on 10/15/2018), hereinafter Ranzinger.
Independent Claim 1
FAN discloses a model generation system (FAN, ¶¶ [0002], [0017], [0020]-[0022] and [0047] with FIGS. 1, 2A-B, and 10: ecosystem 100 may include one or more devices or components thereof in communication with one another; these devices or components may include elements such as one or more monitored services 110, anomaly detection services 120, and/or troubleshooting services 130; anomaly detection service 120 may include a GAN (Generative Adversarial Network); given a set of training data formulated for input into the GAN model, the model may be trained to allow the model to perform analysis on data of interest; computing device 1000 may provide anomaly detection service 120, troubleshooting service 130, or a combination thereof to perform any or all of the processing described herein), comprising:
a saved data storage unit which stores (FAN, ¶¶ [0047]-[0053]: 1002 and 1010 in FIG. 10: the computing device 1000 may include one or more processors 1002, one or more input devices 1004, one or more display devices 1006, one or more network interfaces 1008, and one or more computer-readable mediums 1010; computer-readable medium 1010 may be any medium that participates in providing instructions to processor(s) 1002 for execution; e.g., computer-readable medium 1010 may include various instructions for implementing an operating system 1014, network communications instructions 1016, pre-processing instructions 1018, GAN instructions 1020, scoring instructions 1022, and application(s) 1024; at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system; one or more mass storage devices for storing data files) to perform:
generating a first number of the false data based on a generation model that is a neural network for generating the false data (FAN, ¶¶ [0017], [0022]-[0023], and [0029] with 202 in FIGS. 2A-B and 4A-B: the GAN model may include a generator component configured to generate fake data; the generator may have an internal encoder-decoder structure that includes multiple convolutional layers; GAN 200 is a deep neural network architecture hosted in a machine learning system, wherein two separate neural networks are trained and applied in an adversarial arrangement; these neural networks may include generator 202 and discriminator 208; generator 202 may be, for example, a convolutional autoencoder; encoder 204 and decoder 206 may apply known GAN algorithms to generate output data x' that includes a new image (a "fake image"); an autoencoder-like structure of generator 202 may take data x as input and may train the whole network to generate x' that is as similar as possible to input x; as the training proceeds, generator 202 may get feedback from loss of discriminator 208, and generator 202 may use the feedback to get better and better at generating realistic images; GAN 200 may be further modified to not be sensitive to, and to account for, noise; a GAN 400 configured to be robust against noise; GAN 400 may include a second encoder 204 configured to further process the output of decoder 206; by the addition of second encoder 204, GAN 400 may be enforced to optimize original and latent space representations jointly; first encoder 204 output z within generator 202 and second encoder 204 output z' generated using generator 202 output may be compared to determine latent loss (Latent) due to noise),
deriving output values for given data based on a discriminator model that is a neural network for deriving the output values indicating true data-likeness and false data-likeness of the given data (FAN, ¶¶ [0017], [0023], and [0030]: 208 in FIGS. 2A-B and 4A-B: he GAN model may include a discriminator component configured to compare the fake data to real data; GAN 200 is a deep neural network architecture hosted in a machine learning system, wherein two separate neural networks are trained and applied in an adversarial arrangement; these neural networks may include generator 202 and discriminator 208; discriminator 208 may be, for example, a convolutional neural network; discriminator 208 may receive one batch of fake images and/or one batch of real images (e.g., input data x) and, by applying convolutional layers, compare the fake image to the one or more real images to determine whether the input image is fake (i.e., was generated by generator 202) or is real (i.e., was obtained from some source other than generator 202 such as a camera); discriminator 208 may take x or x' as input and perform as a real/fake classifier; as the training proceeds, generator 202 may get feedback from loss of discriminator 208, and generator 202 may use the feedback to get better and better at generating realistic images; meanwhile, discriminator 208 may become more powerful in distinguishing real images from fake ones as it is exposed to more images; in essence, this may be considered an adversarial process whereby generator 202 continuously learns to improve the similarity between its output and the training set, while discriminator 208 continuously learns to improve its ability to distinguish generator 202 output from training set data),
calculating, for each combination of one true data and each of the first number of the false data, a distance between an output value for the true data and an output value for the false data, and calculates first gradient information that is an update amount for each weight that the discriminator model has, so as to increase the distance by a predetermined amount (FAN, ¶¶ [0017], [0024]-[0025], [0030]-[0032], and [0036] with FIGS. 2A-D, 4A-D, and 7A-D: because GAN model training is known to be unstable if not designed properly, apply "Wasserstein GAN with Gradient Penalty" to insure the stability and convergence of the model; when training, input data x may include a training set of multiple images used by discriminator 208 to compare with the fake image(s) from generator 202; in each iteration (epoch), generator 202 and discriminator 208 may get a batch of data as input and train/optimize weights iteratively until all samples are used; each generator 202 and discriminator 208 may have its own losses; generator 202 may try to minimize the reconstruction loss while fooling discriminator 208 by minimizing the adversarial loss (the distance between abstracted features trained by the last layer of discriminator 208); discriminator 208 may try to maximize the adversarial loss; in essence, this may be considered an adversarial process whereby generator 202 continuously learns to improve the similarity between its fake images and real images (i.e., to decrease the distance between real image and fake image by minimizing the adversarial loss), while discriminator 208 continuously learns to improve its ability to distinguish fake images from real images (i.e., to increase the distance between real image and fake image by maximizing the adversarial loss); backpropagation may be applied in both networks so that generator 202 produces better images, while the discriminator 208 becomes more skilled at flagging fake images; relationships defining context loss (Lcontext or Lcon), adversarial loss (Ladv), and overall generator loss (LG) and discriminator loss (Lo) are shown in FIG. 2A; once GAN 200 has been trained, generator 202 may be used for determining an anomaly score: x-x', while discriminator 208 may be used only for training, for example to help generator 202 train mappings optimally and converge faster; the output of generator 202 may include an anomaly score representing a difference/distance between input data x and output data x'; generator 2020 and discriminator 208 may train on fixed-size batches iteratively; after an iteration of training, anomaly detection service 120 may calculate the amounts of the generator's loss and the discriminator's loss based on the current network parameters; the training procedure may continue until both losses converge to a constant loss value, indicating that the losses cannot be optimized further; second encoder 204 may be trained at the same time jointly with generator 202; once GAN 400 has been trained, score anomalies in data input by fixing both encoder 204 settings, decoder 206 settings, and discriminator 208 setting to the trained settings and passing input data x through GAN 400; the output of GAN 400 may include a residual matrix representing a difference between input data x and output data x' and/or a residual matrix representing a difference between z and z'; an anomaly score may be generated based on these matrices; the L2 distance between x and x' and the L2 distance between z and z' may be calculated and used for score assignment; the performance and/or trainability of discriminator 208 may be enhanced by configuring discriminator 208 to use a Wasserstein function; FIGS. 7A-7D describe a Wasserstein function used by a discriminator 208 of a GAN 400; FIGS. 7A-7C explain some features of the Wasserstein function as applied to GAN 400, and FIG. 7D shows discriminator 208 configured to use the Wasserstein function; Wasserstein is a loss function defined to calculate the distance between two distributions; simplification of the formula in FIG. 7A gives the formula in FIG. 7B, with constraints mentioned in FIG. 7B; on the other hand, the role of discriminator 208 is to maximize the distance between two distributions of real and fake data; i.e., increasing the distance between two distributions of real and fake data; the whole objective of discriminator 208 (previously adversarial loss) may be performed by the Wasserstein distance function; in order to enforce the aforementioned constraint, discriminator 208 may apply a gradient penalty that may help control the power of discriminator 208 and that may therefore result in more stable training; the Wasserstein distance function may provide an improvement in training and convergence time; in FIG. 7C, "WGAN: clipping weights of critic …", and "WGAN-Gradient Penalty: A differentiable function f is 1-Lipschitz if and only if it has gradients with norm at most 1 everywhere. Instead of clipping, WGAN-GP penalizes the model if the gradient norm moves away from its target norm value 1: … "; i.e., the processes of WGAN and WGAN-GP are the same except the weight clipping is replaced with a gradient penalty ("WGAN with gradient penalty")1), and
selecting the false data to be marked as false data marking the selected false data as false data, and updating the discriminator model using the selected false data (FAN, ¶¶ [0024]-[0026], [0030]-[0032], and [0036]-[0040] with FIGS. 2A-B, 4A-B, 7A-D, and 8A-C: train/optimize weights iteratively until all samples are used; this may be considered an adversarial process whereby generator 202 continuously learns to improve the similarity between its output and the training set, while discriminator 208 continuously learns to improve its ability to distinguish generator 202 output from training set data; once GAN 200 has been trained, generator 202 may be used for determining an anomaly score: x-x', while discriminator 208 may be used only for training, for example to help generator 202 train mappings optimally and converge faster; a threshold difference may be established, where images/data having an anomaly score below (or equal or below) the threshold are judged as not likely being anomalous, and images/data have an anomaly score equal or above (or above) the threshold are judged as being anomalous; generator 2020 and discriminator 208 may train on fixed-size batches iteratively; output of GAN 400 may be processed to indicate the presence of one or more anomalies, which may include scoring anomalies, and/or to identify one or more root causes of the one or more anomalies; the output of GAN may be a residual matrix calculated by L2 distance between input x and output x' (i.e., depending on gradient information shown in FIG. 7C); to guard against false positives for low threshold, anomalies may only be counted when more than half the tiles in a row or a column of matrix 804 include anomalies, which may increase score confidence; scoring using the scheme applied to matrix 804 may result in more sensitive anomaly detection that is also noise tolerant; ¶¶ [0042]-[0046] with FIGS. 1 and 9: anomaly detection service 120 may process data generated at 904 using a trained GAN, such as GAN 400; detection service 120 may score the results of processing at 906 to generate an anomaly score for the multivariate time series data from monitored service 110 and/or a root cause identification for any detected anomalies in the multivariate time series data; after anomaly detection service 120 detects an anomaly, troubleshooting service 130 may alert analysts and data engineers for troubleshooting; also, pinpointing the root cause by anomaly detection service 120 may help analysts identify the affected time series and/or may allow troubleshooting service 130 to route the alert to appropriate specialists who understand the root cause or apply automatic mitigation targeted to the root cause (e.g., rebooting malfunctioning systems identified as root causes, taking the identified malfunctioning systems offline, etc.)).
FAN fails to explicitly disclose that (1) a saved data storage unit which stores false data to be stored; and (2) selecting the false data to be stored in the saved data storage unit, and storing the selected false data in the saved data storage.
Ranzinger teaches a system and a method relating to Generative Adversarial Networks (Ranzinger, Title), wherein (1) a saved data storage unit which stores false data to be stored; and (2) selecting the false data to be stored in the saved data storage unit, and storing the selected false data in the saved data storage unit (Ranzinger, ¶¶ [0028]-[0030]: generate a set of candidate images that conform to the compositional constraints using a generative tool; the generative tool is trained in a generative adversarial network (GAN) engine, against a discriminative tool; blend multiple real images into a single synthetic image using generative tools and positional constraints, wherein the synthetic image is close to or almost indistinguishable from a real image, to the human eye; a generative tool trained to create images that satisfy the compositional constraints from the user, and a discriminative tool, trained to identify images from the generative tool as synthetic, rather than realistic; the generative tool and the discriminative tool are trained against one another, thus resulting in an efficient tool for creating synthetic images that satisfy the compositional constraints from the user and are realistic; ¶ [0039] with 246 and 248 in FIG. 2: generative tool 246 is configured to generate a plausible (e.g., 'realistic'), synthetic image given a compositional constraint ( e.g., from a vector in embedded space 250) and a random seed; discriminative tool 248 is configured to determine whether the synthetic image is real or not, and whether or not it matches the compositional constraint; the coefficients are determined based on a training set, wherein the gradients of the coefficients are weighted according to a desired outcome; training discriminating tool 248 by applying the gradients to its coefficients based on losses (e.g., errors and failed assessments) resulting from r