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 .
Remarks
This Office Action is responsive to Applicants' Amendment filed on July 23, 2026, in which claims 1, 10, and 12 are currently amended. Claims 5 and 16 are cancelled. Claim 21 is newly added. Claims 1-4, 6-7, 9-15, 17-18, and 20-21 are currently pending
Response to Arguments
Applicant’s arguments with respect to rejection of claims 1-4, 6-7, 9-15, 17-18, and 20-21 under 35 U.S.C. 103 based on amendment have been considered and are persuasive. The argument is moot in view of a new ground of rejection set forth below.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-4, 6, 7, 10-15, 17, 18, and 21 are rejected under U.S.C. §103 as being unpatentable over the combination of Luo ("Autopruner: An end-to-end trainable filter pruning method for efficient deep model inference.", 2019) and Wang (“Pruning from Scratch”, 2020).
PNG
media_image1.png
455
1430
media_image1.png
Greyscale
FIG. 2 of Luo
Regarding claim 1, Luo teaches An automatic lightweight method performed by a computer device comprising at least one processor, the method comprising: ([p. 1] "we propose a novel end-to- end trainable method, namely AutoPruner, to explore a new way for CNN model pruning. By integrating filter selection into model fine-tuning, the network can select unimportant filters automatically" [p. 4] "All the experiments were conducted using pyTorch on M40 GPUs.")
receiving, by the at least one processor, a first model; ([p. 5] "Input: pretrained CNN model")
generating, by the at least one processor, a second model by injecting a trainable bottleneck layer including trainable bottleneck parameters into the first model,([p. 1] "Our AutoPruner can be regarded as a new CNN layer, which takes the activation of previous layer as an input" [p. 5 Algorithm 1] "append one (or several) AutoPruner layer in the pretrained model;" [p. 8] "AutoPruner learns the binary codes from output of the previous layers" Autopruner layer weights or binary index codes (from weights) both can reasonably be interpreted as trainable bottleneck parameters)
wherein the trainable bottleneck layer is configured to control an information flow of the second model during a forward pass([p. 3] "AutoPruner can be regarded as an independent layer, whose input is the responses (after activation function) of a standard convolution layer. An approximate binary index code is generated by AutoPruner. We then use element-wise multiplication to combine it with the activation tensors." [p. 5 Algorithm 1] "output, v = model.forward();")
training, by the at least one processor, the bottleneck parameters of the second model using training data ([p. 3] "AutoPruner is trained in an end-to-end manner, channel selection and model fine-tuning are combined together, and will promote each other during training" [p. 5] "CUB200-2011 is a popular fine-grained dataset, which aims to recognize 200 bird species. This dataset contains 11,788 bird im- ages. We follow the official train/test split to organize the dataset: 5994 images are used for model training, and the accuracy will be reported on the rest 5794 images")
to quantify an importance of each filter in the second model;([p. 9] "a unique binary code can be learned to denote the importance score of each filter")
determining, by the at least one processor, after the training of the bottleneck parameters an optimal threshold for the trained bottleneck parameters;([p. 1] "all the filters corresponding to zero index values can be removed safely after training" optimal threshold interpreted as one (less than one triggers pruning))
and determining, by the at least one processor, at least one filter to be removed from the second model associated with a trained bottleneck parameter lower than the optimal threshold ([p. 1] "all the filters corresponding to zero index values can be removed safely after training" [p. 3] "After training, all the filters and channels corresponding to zero index values will be pruned away to obtain a smaller and faster network. The newly added AutoPruner layer will be removed too")
removing, by the at least one processor, the injected trainable bottleneck layer from the second model([p. 3] "After training, all the filters and channels corresponding to zero index values will be pruned away to obtain a smaller and faster network. The newly added AutoPruner layer will be removed too")
pruning, by the at least one processor, the second model in which the injected trainable bottleneck layer is removed by discarding the determined filter to reduce a total number of parameters of the second model compared to the first model. ([p. 3] "After training, all the filters and channels corresponding to zero index values will be pruned away to obtain a smaller and faster network. The newly added AutoPruner layer will be removed too").
However, Luo does not explicitly teach wherein the determining the optimal threshold comprises calculating the optimal threshold based on the trained bottleneck parameters to satisfy a target floating point operations per second (FLOPs) of the second model
by estimating current FLOPs of the second model without actual pruning through pseudo-pruning the second model based on a threshold;.
Wang, in the same field of endeavor, teaches wherein the determining the optimal threshold comprises calculating the optimal threshold based on the trained bottleneck parameters to satisfy a target floating point operations per second (FLOPs) of the second model ([p. 12276] "a more practical approach is to find the pruned structure based on the FLOPS constraints of the target structure. A global threshold τ can be determined by binary search until the pruned structure satisfies the constraints.")
by estimating current FLOPs of the second model without actual pruning through pseudo-pruning the second model based on a threshold;([Algorithm 1] "Get pruned channel gates Λt by threshold τt Get pruned model architecture At = G(Λt) Ct = calculate FLOPS(At)" Wang's architecture is interpreted as pseudo-pruning in view of the instant specification as Wang never removes/physically prunes the model architecture but rather adds a layer for masking/pseudo-pruning).
Luo as well as Wang are directed towards neural network model masking and pruning. Therefore, Luo as well as Wang are analogous art in the same field of endeavor. It would have been obvious before the effective filing date of the claimed invention to combine the teachings of Luo with the teachings of Wang by learning the threshold from the estimated FLOPs through pseudo-pruning. Wang's masking/pseudo-pruning method is highly analogous to Luo and Wang even says they implement the same approach ([p. 12276]) and Wang's gate values are analogous to Luo's binary index codes. Wang provides as additional motivation for combination ([p. 12276] "a more practical approach is to find the pruned structure based on the FLOPS constraints of the target structure. A global threshold τ can be determined by binary search until the pruned structure satisfies the constraints."). This motivation for combination also applies to the remaining claims which depend on this combination.
Regarding claim 2, the combination of Luo and Wang teaches The method of claim 1, further comprising: finetuning, by the at least one processor, the pruned second model using the training data.(Luo [p. 5] "When pruning is finished on all layers, we will fine-tune the pruned model by another 30 epochs with the same hyperparameters. This pruning pipeline is also applied in other baseline methods for a fair comparison").
Regarding claim 3, the combination of Luo and Wang teaches The method of claim 1, wherein the training the bottleneck parameters comprise updating the trainable bottleneck parameters based on a loss of the second model.(Luo [p. 5 Algorithm 1] "calculate loss function using Eq. 3 and Eq. 4; model.backward();").
Regarding claim 4, the combination of Luo and Wang teaches The method of claim 3, wherein the loss includes a cross-entropy loss, (Luo [p. 4] "The first term is a standard classification loss (e.g ., cross-entropy loss)")
a first loss designed to satisfy constraints such that all the modules that belong to the same convolution block are pruned, (Luo [p. 4] "The first term is a standard classification loss (e.g ., cross-entropy loss)" [p. 3] "After training, all the filters and channels corresponding to zero index values will be pruned away to obtain a smaller and faster network. The newly added AutoPruner layer will be removed too")
and a second loss designed to force a bottleneck parameter to converge toward a binary solution indicating presence or absence of a filter.(Luo [p. 4] "The first term is a standard classification loss (e.g ., cross-entropy loss), the second one controls the model compression rate, and λ balances the relative importance between these two terms" [p. 3] "By gradually forcing the scaled sigmoid function to emit binary index codes, some channels in the activation tensors will gradually become all zero (i.e ., they will be erased gradually)").
Regarding claim 6, the combination of Luo and Wang teaches The method of claim 1, further comprising updating the optimal threshold to reduce a distance between current FLOPs of a pseudo-pruned second model and the target FLOPs through the dichotomy algorithm (Wang [p. 12276 Algorithm 1] "Ct = calculate FLOPS(At) if |Ct − C|/C ≤ ϵ then τ∗ = τt, A∗ = At")
when a difference between the current FLOPs and the target FLOPs is greater than or equal to a preset FLOPs error.(Wang [p. 12276 Algorithm 1] "for t ← 1to T do […] if Ct <Cthen τmin = τt else τmax = τt").
Regarding claim 7, the combination of Luo and Wang teaches The method of claim 6, wherein the updating the optimal threshold is iteratively performed while the difference between the current FLOPs and the target FLOPs is greater than or equal to the preset FLOPs error.(Wang [p. 12276 Algorithm 1] "if Ct <Cthen τmin = τt else τmax = τt" See also FIG. 1).
Regarding claim 10, the combination of Luo and Wang teaches The method of claim 1, wherein the injecting comprises restricting a trainable parameter layer-wisely by injecting a bottleneck parameter into each convolution block of the first model.(Wang [p. 12276] "To efficiently learn the channel importance for each layer, a set of scalar gate values λj are associated with the j-th layer along the channel dimension. The gate values are multiplied onto the layer’s output to perform channel-wise modulation").
Regarding claim 11, the combination of Luo and Wang teaches A non-transitory computer-readable recording medium storing a program to perform the method of claim 1 on a computer device.(Luo [p. 1] "we propose a novel end-to- end trainable method, namely AutoPruner, to explore a new way for CNN model pruning. By integrating filter selection into model fine-tuning, the network can select unimportant filters automatically" [p. 4] "All the experiments were conducted using pyTorch on M40 GPUs.").
Regarding claim 12, claims 12 is directed towards a device for performing the method of claim 1. Therefore, the rejection applied to claim 1 also applies to claim 12. Claim 12 recites additional elements at least one processor configured to execute a computer-readable instruction, wherein the at least one processor is configured to (Luo [p. 1] "we propose a novel end-to- end trainable method, namely AutoPruner, to explore a new way for CNN model pruning. By integrating filter selection into model fine-tuning, the network can select unimportant filters automatically" [p. 4] "All the experiments were conducted using pyTorch on M40 GPUs.").
Similarly, regarding claims 13-15 and 17-18, claims 13-15 and 17-18 are directed towards a device for performing the methods of claims 2-4 and 6-7, respectively. Therefore, the rejections applied to claims 2-4 and 6-7 also apply to claims 13-15 and 17-18.
Regarding claim 21, the combination of Luo and Wang teaches The method of claim 1, wherein the trainable bottleneck parameters are parameterized by applying a sigmoid function to variables in a real number space R to maintain a value of each of the trainable bottleneck parameters within an interval of [0, 1] without clipping during the training (Luo [p. 3] "a novel scaled sigmoid function is used to obtain an approximate binary output. By gradually increasing the value of α in the scaled sigmoid function, the output will gradually become a C - dimensional binary code")
and wherein a corresponding trainable bottleneck parameter among the trainable bottleneck parameters is shared by all modules belonging to a single convolution block in the second model such that said all modules belonging to the single convolution block are pruned together (Luo [p. 7] "the produced index code is shared by the first point- wise convolution and depthwise convolution").
Claims 9 and 20 are rejected under U.S.C. §103 as being unpatentable over the combination of Luo and Wang and Teig (US12112254B1).
Regarding claim 9, the combination of Luo and Wang teaches The method of claim 1.
However, the combination of Luo and Wang doesn't explicitly teach wherein the injecting comprises injecting the trainable bottleneck layer including the trainable bottleneck parameters and noise into the first model.
Teig, in the same field of endeavor, teaches The method of claim 1, wherein the injecting comprises injecting the trainable bottleneck layer including the trainable bottleneck parameters and noise into the first model.([Col. 21 l. 1-22] "VIB builds on the information bottleneck concept by introducing a variational bound of the information bottleneck loss function. In some embodiments, VIB moves layer-by-layer to identify portions of the network (e.g., nodes, edges, or even entire filters) that are not passing important information. To accomplish this, in some embodiments, VIB introduces probabilistic (e.g., Gaussian) noise into the output values of a set of computation nodes of the network (e.g., the nodes of one or more layers of the network). That is, the outputs of such nodes (which are passed to nodes in the next layer) are made to vary probabilistically around the actual computed output value during training. This noise enables the training system to identify nodes that are less important to the eventual output of the network (e.g., the classification decision, etc.) and remove these nodes").
The combination of Luo and Wang as well as Teig are directed towards optimizing convolutional neural networks. Therefore, the combination of Luo and Wang as well as Teig are analogous art in the same field of endeavor. It would have been obvious before the effective filing date of the claimed invention to combine the teachings of the combination of Luo and Wang with the teachings of Teig by substituting the pruning loss function in Tamada with the loss function in Teig, specifically a composite loss function. Teig provides as additional motivation for combination ([Col. 18 l. 23-35] "The goal is to make sure {circumflex over (X)}i includes the necessary information for decoding Yi, without dictating a specific decoding technique. One approach is to use a second loss function term (e.g., cross-entropy loss"). This motivation for combination also applies to the remaining claims which depend on this combination.
Regarding claim 20, claim 20 is directed towards a device for performing the method of claim 9. Therefore, the rejection applied to claim 9 also applies to claim 20.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SIDNEY VINCENT BOSTWICK whose telephone number is (571)272-4720. The examiner can normally be reached M-F 7:30am-5:00pm EST.
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, Miranda Huang can be reached on (571)270-7092. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/SIDNEY VINCENT BOSTWICK/Examiner, Art Unit 2124