Prosecution Insights
Last updated: October 23, 2026
Application No. 17/743,906

METHOD AND APPARATUS WITH NEURAL NETWORK ARCHITECTURE SEARCH

Final Rejection §103
Filed
May 13, 2022
Priority
Dec 03, 2021 — RE 10-2021-0171979
Examiner
DASGUPTA, SHOURJO
Art Unit
2144
Tech Center
2100 — Computer Architecture & Software
Assignee
Samsung Electronics Co., Ltd.
OA Round
2 (Final)
65%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 65% — above average
65%
Career Allowance Rate
304 granted / 466 resolved
+10.2% vs TC avg
Strong +39% interview lift
Without
With
+39.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
23 currently pending
Career history
498
Total Applications
across all art units

Statute-Specific Performance

§101
12.8%
-27.2% vs TC avg
§103
57.4%
+17.4% vs TC avg
§102
11.1%
-28.9% vs TC avg
§112
16.5%
-23.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 466 resolved cases

Office Action

§103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Detailed Action This Final Office Action is responsive to Applicants’ Reply dated 1/29/26. Claims 1-20 remain pending, of which claims 1, 11, and 17 are independent. Responsive to the Reply, the Examiner has withdrawn the prior rejections made under 35 U.S.C. 101. 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. 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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Non-Patent Literature “FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search” (“Wu”) in view of CN 113269312 A (“Guo”). Regarding claim 1, WU teaches “A computing apparatus, the apparatus comprising: one or more processors; and a memory storing instructions configured to, when executed by the one or more processors, cause the computing apparatus to: generate a neural network loss based on parameters of a candidate architecture for the neural network”: ([Abstract] “Designing accurate and efficient ConvNets (convolutional neural networks) for mobile devices is challenging because the design space is combinatorially large. Due to this, previous neural architecture search (NAS) methods are computationally expensive. ConvNet architecture optimality depends on factors such as input resolution and target devices (parameters). However, existing approaches are too resource demanding for case-by-case redesigns. Also, previous work focuses primarily on reducing FLOPs, but FLOP count does not always reflect actual latency. To address these, we propose a differentiable neural architecture search (DNAS) framework (containing candidate architectures) that uses gradient-based methods to optimize ConvNet architectures, avoiding enumerating and training individual architectures separately as in previous methods. FBNets (Facebook-Berkeley-Nets), a family of models discovered by DNAS surpass state-of-the-art models both designed manually and generated automatically. FBNet-B achieves 74.1% top-1 accuracy on ImageNet with 295M FLOPs and 23.1 ms latency on a Samsung S8 phone, 2.4x smaller and 1.5x faster than MobileNetV2-1.3[17] with similar accuracy. Despite higher accuracy and lower latency than MnasNet[20], we estimate FBNet-B’s search cost is 420x smaller than MnasNet’s, at only 216 GPU-hours. Searched for different resolutions and channel sizes, FBNets achieve 1.5% to 6.4% higher accuracy than MobileNetV2. The smallest FBNet achieves 50.2% accuracy and 2.9 ms latency (345 frames per second) on a Samsung S8. Over a Samsung-optimized FBNet, the iPhone-X-optimized model achieves a 1.4x speedup on an iPhone X. FBNet models are open sourced at https://github.com/facebookresearch/mobile-vision.”) Additionally, “a differentiable neural architecture search framework” for optimizing neural network architectures inherently requires a computer, which is widely understood to be an apparatus with processor and memory functions to function as understood. And further: PNG media_image1.png 359 432 media_image1.png Greyscale In the above figure’s description, optimal architectures are sampled from a trained distribution, and the latency of each operator is measured on target devices and used “to compute the loss for the super net” which is equivalent to the generation of a neural network loss based on parameters of a candidate architecture for the neural network. Further, WU teaches “measure first hardware resources … used to perform an operation of the neural network with the candidate architecture”: ([Page 10736, 3. Method] “In this paper, we use differentiable neural architecture search (DNAS) to solve the problem of ConvNet design. We formulate the neural architecture search problem as PNG media_image2.png 29 284 media_image2.png Greyscale . Given an architecture space PNG media_image3.png 20 20 media_image3.png Greyscale , we seek to find an optimal architecture PNG media_image4.png 20 55 media_image4.png Greyscale such that after training its weights wa, it can achieve the minimal loss L(a, wa) (the neural network loss). In our work, we focus on three factors of the problem: a) the search space PNG media_image3.png 20 20 media_image3.png Greyscale . b) The loss function L(a, wa) that considers actual latency (a hardware resource loss). c) An efficient search algorithm.”) And further: ([Page 10737, 3.2 Latency-Aware Loss Function, Paragraphs 1-2] “The loss function used in (1) has to reflect not only the accuracy of a given architecture but also the latency on the target hardware (thus acknowledging the need to optimize based on hardware resources). To achieve this goal, we define the following loss function: PNG media_image5.png 26 367 media_image5.png Greyscale The first term CE(a, wa) denotes the cross-entropy loss of architecture a with parameter wa (this is the neural network loss). The second term LAT(a) denotes the latency of the architecture on the target hardware measured in micro-second (a measurement of hardware resources used in operation of the neural network with the candidate architecture). The coefficient PNG media_image6.png 13 14 media_image6.png Greyscale controls the overall magnitude of the loss function. The exponent coefficient " modulates the magnitude of the latency term.”) Further, WU teaches “generate a prediction, using a hardware resource prediction model, of second hardware resources that would be used for operating the neural network with the candidate architecture”: ([Page 10737, 3.2 Latency-Aware Loss Function, Paragraphs 1-4] “The loss function used in (1) has to reflect not only the accuracy of a given architecture but also the latency on the target hardware (thus acknowledging the need to optimize based on hardware resources. Here, the Latency-Aware Loss Function is the hardware resource prediction model, and its output is the prediction). To achieve this goal, we define the following loss function: PNG media_image5.png 26 367 media_image5.png Greyscale The first term CE(a, wa) denotes the cross-entropy loss of architecture a with parameter wa. The second term LAT(a) denotes the latency of the architecture on the target hardware measured in micro-second (a measurement of hardware resources used in operation of the neural network with the candidate architecture). The coefficient PNG media_image6.png 13 14 media_image6.png Greyscale controls the overall magnitude of the loss function. The exponent coefficient " modulates the magnitude of the latency term. The cross-entropy term can be easily computed. However, the latency term is more difficult, since we need to measure the actual runtime of an architecture on a target device (hardware resources that would be used for operating the neural network with the candidate architecture). To cover the entire search space, we need to measure about 1021 architectures, which is an impossible task. To solve this problem, we use a latency lookup table model to estimate the overall latency of a network based on the runtime of each operator. More formally, we assume PNG media_image7.png 45 307 media_image7.png Greyscale where PNG media_image8.png 26 29 media_image8.png Greyscale denotes the block at layer-l from architecture a. This assumes that on the target processor, the runtime of each operator is independent of other operators. The assumption is valid for many mobile CPUs and DSPs, where operators are computed sequentially one by one. This way, by benchmarking the latency of a few hundred operators used in the search space, we can easily estimate the actual runtime of the 1021 architectures in the entire search space (generating a prediction of the hardware resources that would be used for operating the neural network with the candidate architecture). More importantly, as will be explained in section 3.3, using the lookup table model makes the latency term in the loss function (2) differentiable with respect to layer-wise block choices, and this allows us to use gradient-based optimization to solve problem (1).”) Further, WU teaches “determine a hardware resource loss based on the first hardware resources and the second hardware resources”: ([Page 10738, 3.3 Search Algorithm] “Solving the problem (1) through brute-force enumeration of the search space is very infeasible. The inner problem of optimizing wa involves training a neural network. For ImageNet classification, training a ConvNet typically takes several days or even weeks. The outer problem of optimizing PNG media_image4.png 20 55 media_image4.png Greyscale has a combinatorially large search space. Most of the early works on NAS [30, 31, 20] follow the paradigm above. To reduce the computational cost, the inner problem is replaced by training candidate architectures on an easier proxy dataset. For example, [30, 31] trains the architecture on the CIFAR10 dataset, and [20] trains on ImageNet but only for 5 epochs. The learned architectures are then transferred to the target dataset. To avoid exhaustively iterating through the search space, [30, 31, 20] use reinforcement learning to guide the exploration. Despite these improvements, solving problem (1) is still prohibitively expensive – training a network on the proxy dataset is still time-consuming, and thousands of architectures need to be trained before reaching the optimal solution. We adopt a different paradigm of solving problem (1). We first represent the search space by a stochastic super net. The super net has the same macro-architecture as described in Table 1, and each layer contains 9 parallel blocks as described in Table 2. During the inference of the super net, only one candidate block is sampled and executed with the sampling probability of PNG media_image9.png 46 409 media_image9.png Greyscale 0l contains parameters that determine the sampling probability of each block at layer-l (the per-layer latency is the first hardware resouce). Equivalently, the output of layer-l can be expressed as PNG media_image10.png 42 309 media_image10.png Greyscale where ml,I is a random variable in {0, 1} and is evaluated to 1 if block bl,i is sampled. The sampling probability is determined by equation (4). bl,i(xl) denotes the output of block-i at layer l given the input feature map xl. We let each layer sample independently, therefore, the probability of sampling an architecture a can be described as PNG media_image11.png 41 314 media_image11.png Greyscale where 0 denotes the a vector consists of all the 0l,i for each block-i at layer-l. PNG media_image12.png 29 27 media_image12.png Greyscale denotes that in the sampled architecture a, block-i is chosen at layer-l. PNG media_image13.png 365 442 media_image13.png Greyscale PNG media_image14.png 245 416 media_image14.png Greyscale The above tables were placed here by the examiner for convenience since they are referenced in the text. Instead of solving for the optimal architecture PNG media_image4.png 20 55 media_image4.png Greyscale , which has a discrete search space, we relax the problem to optimize the probability P0 of the stochastic super net to achieve the minimum expected loss. Formally, we re-write the discrete optimization problem (1) as PNG media_image15.png 30 317 media_image15.png Greyscale It is obvious the loss function in (7) is differentiable with respect to the architecture weights wa and therefore can be optimized by stochastic gradient descent (SGD). However, the loss is not directly differentiable to the sampling parameter 0, since we cannot pass the gradient through the discrete random variable ml,i to 0l,i. To sidestep this, we relax the discrete mask variable ml,i to be a continuous random variable computed by the Gumbel Softmax function [9, 14] PNG media_image16.png 76 334 media_image16.png Greyscale where gl,i ~ Gumbel(0, 1) is a random noise following the Gumbel distribution. The Gumbel Softmax function is controlled by a temperature parameter PNG media_image17.png 11 12 media_image17.png Greyscale . As PNG media_image17.png 11 12 media_image17.png Greyscale approaches 0, it approximates the discrete categorical sampling following the distribution in (6). As PNG media_image17.png 11 12 media_image17.png Greyscale becomes larger, ml,i becomes a continuous random variable. Regardless of the value of PNG media_image17.png 11 12 media_image17.png Greyscale , the mask ml,i is directly differentiable with respect to the parameter 0l,i. The technique of using Gumbel Softmax for neural architecture search is also proposed in [25, 1]. As a result, it is clear that the cross-entropy term from the loss function (2) is differentiable with respect to the mask ml,i and therefore 0l,i. For the latency term, since we use the lookup table based model for efficiency estimation, equation (3) can be written as PNG media_image18.png 42 341 media_image18.png Greyscale The latency of each operator LAT(bl,i) is a constant coefficient, so the overall latency of architecture-a is differentiable with respect to the mask ml,i, therefore 0l,i. (The predicted architecture latency is the second hardware resource.) As a result, the loss function (2) is fully differentiable with respect to both weights wa and the architecture distribution parameter 0. This allows us to use SGD to efficiently solve problem (1). Here, we see a hardware resource loss being determined based on the previously cited algorithms that determined the first and second hardware resources, which are the actual per-layer latency and the predicted architecture latency (via summing lookup table values).”) Further, WU teaches “determine a target architecture of the neural network based on the neural network loss and the hardware resource loss” and “output a target neural network comprising the target architecture determined for a given purpose”: ([Page 10738, 3.3 Search Algorithm, final paragraph] “Our search process is now equivalent to training the stochastic super net. During the training, we compute PNG media_image19.png 20 65 media_image19.png Greyscale to train each operator’s weight in the super net (The first half before the “/” being the neural network loss, and the second half being the hardware resource loss.). This is no different from training an ordinary ConvNet. After operators get trained, different operators can have a different contribution to the accuracy and the efficiency of the overall network (optimal features). Therefore, we compute PNG media_image20.png 19 55 media_image20.png Greyscale to update the sampling probability P0 for each operator. This step selects operators with better accuracy and lower latency and suppresses the opposite ones (“better accuracy” reflects the optimal neural network loss while “lower latency” represents the optimal hardware resource loss.). After the super net training finishes, we can then obtain the optimal architectures by sampling from the architecture distribution P0.” Here we see the above methods concluding with the target architecture of the neural network being determined based on the loss functions, and any use/provision of the network as determined is akin to an output step). Applicants’ claim has been amended to clarify that the first hardware resources are measured as they are actually used to perform the operation of the neural network with the candidate architecture, and to now include further additional recitations to determine a difference between the first hardware resources and the second hardware resources output from the hardware prediction model and determine the hardware resource loss by a weighted sum between the difference and a factor for optimizing the hardware resource and determine an optimization loss by a weighted sum between neural network loss and the hardware resource loss and determine the target architecture by searching for the candidate architecture that minimizes the optimization loss and parameters of the candidate architecture. As had been noted previously in relation to claim 3 as originally filed, Wu teaches some version of determining a difference/loss between separate hardware resource specifications, essentially to arrive at an optimal configuration via iterative search. See, e.g., pages 33-36 of the Non-Final Office Action dated 9/29/25. The Examiner notes Applicants’ arguments that Wu merely teaches the use of a table of values to ascertain at least one of the specifications in the comparison and hence cannot be fairly construed to actually measure as the claim now reads. Rather, the Examiner relies upon GUO to teach what Wu lacks, see e.g., Guo’s comparable hardware/architecture search and optimization process as outlined via steps S1-S4 on pages 3-4 as provided, and where the determination of a hardware loss is discussed in relation to step S3, just prior to the discussion of step S4 on page 4: “Because the search model is adapted to resource constraints of different hardware platforms, therefore, adding loss of calculation cost in the classification verification loss function. according to the number of floating point operation of the filter to describe the calculation cost of the single network, then calculating the weighted sum of all candidate network cost, namely the network total calculation cost lcost, λ cost is the weight of the calculation cost. The loss function is as follows: L=lc + λ costlcost, wherein lc represents the cross entropy loss of the search network structure.” The Examiner believes this loss determination taught in relation to Guo’s S1-S4 reads on Applicants’ clarification of determining a hardware resource loss specifically, and is understood to arrive at an optimal hardware configuration for performing the model, i.e., involving the determination and minimization of an optimization loss. In particular, Guo’s step S3, found on page 2, appears to involve actual values that would be understood to be measured as part of its search and evaluation aspect, rather than Wu’s dependency at least in part on theoretical values from a table. Wu and Guo are similarly directed in relating to hardware configuration search in pursuit of optimization. Hence, they are analogous. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Guo’s hardware resource search and evaluation aspects into Wu’s framework, with a reasonable expectation of success, as to provide a more accurate evaluation that relies more directly on measured values of greater relevance per Guo as an improvement over Wu’s lookup table. Regarding claim 2, WU in view of GUO teaches the limitations of claim 1, as discussed above. Further, WU teaches “wherein the hardware resource prediction model comprises a neural network configured to accept the parameters of the candidate architecture as inputs”: (Wu: [Page 10736-10737, 3.1 search Space, Paragraphs 2-3] “In this work, we construct a layer-wise search space with a fixed macro-architecture, and each layer can choose a different block. The macro architecture is described in Table 1. The macro architecture defines the number of layers and the input/output dimensions of each layer. The first and the last three layers of the network have fixed operators. For the rest of the layers, their block type needs to be searched. The filter numbers for each layer are hand-picked empirically. We use relatively small channel sizes for early layers, since the input resolution at early layers is large, and the computational cost (FLOP count) is quadratic to input size. Each searchable layer in the network can choose a different block from the layer-wise search space. The block structure is inspired by MobileNetV2 [17] and ShiftNet [23], and is illustrated in Figure 3. It contains a point-wise (1x1) convolution, a K-by-K depthwise convolution where K denotes the kernel size, and another 1x1 convolution. “ReLU” activation functions follow the first 1x1 convolution and the depthwise convolution, but there are no activation functions following the last 1x1 convolution. If the output dimension stays the same as the input dimension, we use a skip connection to add the input to the output. Following [17, 23], we use a hyperparameter, the expansion ratio e, to control the block. It determines how much do we expand the output channel size of the first 1x1 convolution compared with its input channel size. Following [20], we also allow choosing a kernel size of 3 or 5 for the depthwise convolution. In addition, we can choose to use group convolution for the first and the last 1x1 convolution to reduce the computation complexity. When we use group convolution, we follow [29] to add a channel shuffle operation to mix the information between channel groups. In our experiments, our layer-wise search space contains 9 candidate blocks, with their configurations listed in Table 2. Note we also have a block called “skip”, which directly feed the input feature map to the output without actual computations. This candidate block essentially allows us to reduce the depth of the network. In summary, our overall search space contains 22 layers and each layer can choose from 9 candidate blocks from Table 2, so it contains 922 PNG media_image21.png 13 15 media_image21.png Greyscale 1021 possible architectures.”) Here, we see various parameters of the candidate architecture such as K (the kernel size) and the expansion ratio e. We see the candidate blocks which form the architecture / the candidate architecture’s parameters being used as inputs between each layer of the neural network. And further: [Figure 3] PNG media_image22.png 371 426 media_image22.png Greyscale In the above figure, the inputs denoted as H x W x Cin & H x W x (e x Cin) & (H/s) x (W/s) x (e x Cin) are fed as parameters of candidate architectures within each block which choose different expansion rates, kernel sizes, and numbers of groups. Further, WU teaches “wherein the hardware resource prediction model comprises a neural network configured to… predict the second hardware resource of the neural network of the candidate architecture based on the parameters”: ([Page 10737, 3.2 Latency-Aware Loss Function, Paragraphs 1-4] “The loss function used in (1) has to reflect not only the accuracy of a given architecture but also the latency on the target hardware (thus acknowledging the need to optimize based on hardware resources. Here, the Latency-Aware Loss Function is the hardware resource prediction model, and its output is the prediction of the second hardware resources). To achieve this goal, we define the following loss function: PNG media_image5.png 26 367 media_image5.png Greyscale The first term CE(a, wa) denotes the cross-entropy loss of architecture a with parameter wa. The second term LAT(a) denotes the latency of the architecture on the target hardware measured in micro-second (a measurement of hardware resources used in operation of the neural network with the candidate architecture, which is based on parameters wa). The coefficient PNG media_image6.png 13 14 media_image6.png Greyscale controls the overall magnitude of the loss function. The exponent coefficient " modulates the magnitude of the latency term. The cross-entropy term can be easily computed. However, the latency term is more difficult, since we need to measure the actual runtime of an architecture on a target device (hardware resources that would be used for operating the neural network with the candidate architecture). To cover the entire search space, we need to measure about 1021 architectures, which is an impossible task. To solve this problem, we use a latency lookup table model to estimate the overall latency of a network based on the runtime of each operator. More formally, we assume PNG media_image7.png 45 307 media_image7.png Greyscale where PNG media_image8.png 26 29 media_image8.png Greyscale denotes the block at layer-l from architecture a. This assumes that on the target processor, the runtime of each operator is independent of other operators. The assumption is valid for many mobile CPUs and DSPs, where operators are computed sequentially one by one. This way, by benchmarking the latency of a few hundred operators used in the search space, we can easily estimate the actual runtime of the 1021 architectures in the entire search space (generating a prediction of the hardware resources that would be used for operating the neural network with the candidate architecture). More importantly, as will be explained in section 3.3, using the lookup table model makes the latency term in the loss function (2) differentiable with respect to layer-wise block choices, and this allows us to use gradient-based optimization to solve problem (1).”) Further, WU teaches “wherein the hardware resource prediction model comprises a neural network configured to… output a hardware resource prediction value”: [Page 10741, Table 5] PNG media_image23.png 114 753 media_image23.png Greyscale In the above table, you can see the FLOPS and the Latency (a hardware resource prediction value) calculated based on target devices (iPhone X & Samsung Galaxy S8) The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 3, WU in view of GUO teaches the limitations of claim 1, as discussed above. Further, WU teaches “wherein the processor is further configured to: “update the parameters of the candidate architecture to minimize the hardware resource loss”: ([Page 10738, 3.3 Search Algorithm, final paragraph] “Our search process is now equivalent to training the stochastic super net. During the training, we compute PNG media_image19.png 20 65 media_image19.png Greyscale to train each operator’s weight in the super net. This is no different from training an ordinary ConvNet. After operators get trained, different operators can have a different contribution to the accuracy and the efficiency of the overall network. Therefore, we compute PNG media_image20.png 19 55 media_image20.png Greyscale to update the sampling probability P0 for each operator. This step selects operators with better accuracy and lower latency and suppresses the opposite ones (thus updating the parameters to minimize the hardware resource loss). After the super net training finishes, we can then obtain the optimal architectures by sampling from the architecture distribution P0.” Here we see the above methods concluding with the target architecture of the neural network being determined based on the loss functions.) Regarding claim 4, WU in view of GUO teaches the limitations of claim 1, as discussed above. Further, WU teaches “wherein the processor is further configured to determine a weighted sum of the neural network loss and the hardware resource loss as an optimization loss and to determine the target architecture to minimize the optimization loss”: ([Page 10737, 3.2 Latency-Aware Loss Function, Paragraphs 1-2] “The loss function used in (1) has to reflect not only the accuracy of a given architecture but also the latency on the target hardware (thus acknowledging the need to optimize based on hardware resources). To achieve this goal, we define the following loss function: PNG media_image5.png 26 367 media_image5.png Greyscale The first term CE(a, wa) denotes the cross-entropy loss of architecture a with parameter wa (a neural network loss). The second term LAT(a) denotes the latency of the architecture on the target hardware measured in micro-second (hardware resource loss). The coefficient PNG media_image6.png 13 14 media_image6.png Greyscale controls the overall magnitude of the loss function (a weight applied to the hardware resource loss). The exponent coefficient " modulates the magnitude of the latency term.”) In the above equation, the selection of the architecture is clearly based on a Least sum (a sum of the losses, which is weighted using the coefficient PNG media_image6.png 13 14 media_image6.png Greyscale ) of a neural network loss, as evidenced by the cross-entropy loss of architecture a with parameter wa (neural network loss) and the weight PNG media_image6.png 13 14 media_image6.png Greyscale (making it a weighted sum) applied to the hardware resource loss, LAT(a), resulting in a weighted sum of them. This total loss is aimed to be minimized for the optimization of the neural network on the target device (an optimization loss). The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 5, WU in view of GUO teaches the limitations claim 1, as discussed above. Further, WU teaches “wherein the processor is further configured to determine the target architecture and target parameters to reduce the neural network loss and the hardware resource loss”: ([Page 10736-10737, 3.1 search Space, Paragraphs 2-3] “In this work, we construct a layer-wise search space with a fixed macro-architecture, and each layer can choose a different block. The macro architecture is described in Table 1. The macro architecture defines the number of layers and the input/output dimensions of each layer. The first and the last three layers of the network have fixed operators. For the rest of the layers, their block type needs to be searched. The filter numbers for each layer are hand-picked empirically. We use relatively small channel sizes for early layers, since the input resolution at early layers is large, and the computational cost (FLOP count) is quadratic to input size. Each searchable layer in the network can choose a different block from the layer-wise search space. The block structure is inspired by MobileNetV2 [17] and ShiftNet [23], and is illustrated in Figure 3. It contains a point-wise (1x1) convolution, a K-by-K depthwise convolution where K denotes the kernel size, and another 1x1 convolution. “ReLU” activation functions follow the first 1x1 convolution and the depthwise convolution, but there are no activation functions following the last 1x1 convolution. If the output dimension stays the same as the input dimension, we use a skip connection to add the input to the output. Following [17, 23], we use a hyperparameter, the expansion ratio e, to control the block. It determines how much do we expand the output channel size of the first 1x1 convolution compared with its input channel size. Following [20], we also allow choosing a kernel size of 3 or 5 for the depthwise convolution. In addition, we can choose to use group convolution for the first and the last 1x1 convolution to reduce the computation complexity. When we use group convolution, we follow [29] to add a channel shuffle operation to mix the information between channel groups. In our experiments, our layer-wise search space contains 9 candidate blocks, with their configurations listed in Table 2. Note we also have a block called “skip”, which directly feed the input feature map to the output without actual computations. This candidate block essentially allows us to reduce the depth of the network. In summary, our overall search space contains 22 layers and each layer can choose from 9 candidate blocks from Table 2, so it contains 922 PNG media_image21.png 13 15 media_image21.png Greyscale 1021 possible architectures.”) Here, we see various parameters of the candidate architecture such as K (the kernel size) and the expansion ratio e. We see the candidate blocks which form the architecture / the candidate architecture’s parameters being used as inputs between each layer of the neural network. And further: [Figure 3] PNG media_image22.png 371 426 media_image22.png Greyscale In the above figure, the inputs denoted as H x W x Cin & H x W x (e x Cin) & (H/s) x (W/s) x (e x Cin) are fed as parameters of candidate architectures within each block which choose different expansion rates, kernel sizes, and numbers of groups, thus changing parameters while determining the architecture. And further: ([Page 10736, 3. Method] “In this paper, we use differentiable neural architecture search (DNAS) to solve the problem of ConvNet design. We formulate the neural architecture search problem as PNG media_image2.png 29 284 media_image2.png Greyscale . Given an architecture space PNG media_image3.png 20 20 media_image3.png Greyscale , we seek to find an optimal architecture PNG media_image4.png 20 55 media_image4.png Greyscale such that after training its weights wa, it can achieve the minimal loss L(a, wa) Here, we see that the goal is to minimize the loss of the neural network. In our work, we focus on three factors of the problem: a) the search space PNG media_image3.png 20 20 media_image3.png Greyscale . b) The loss function L(a, wa) that considers actual latency (here we also see the goal of minimizing hardware resource loss). c) An efficient search algorithm.”) And further: ([Page 10737, 3.2 Latency-Aware Loss Function, Paragraphs 1-4] “The loss function used in (1) has to reflect not only the accuracy of a given architecture but also the latency on the target hardware (thus acknowledging the need to minimize both the neural network loss (accuracy of the given architecture) and the hardware resource loss (latency on the target hardware)). The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 6, WU in view of GUO teaches the limitations of claim 1, as discussed above. Further, WU teaches “wherein, for each layer of the neural network, a corresponding candidate architecture is determined by selecting a respective candidate operation from among candidate operations of a corresponding layer”: ([Page 10736-10737, 3.1 search Space, Paragraphs 2-3] “In this work, we construct a layer-wise search space (for each layer of the neural network…) with a fixed macro-architecture, and each layer can choose a different block. The macro architecture is described in Table 1. The macro architecture defines the number of layers and the input/output dimensions of each layer. The first and the last three layers of the network have fixed operators (fixed operations). For the rest of the layers, their block type needs to be searched (candidate operations). The filter numbers for each layer are hand-picked empirically. We use relatively small channel sizes for early layers, since the input resolution at early layers is large, and the computational cost (FLOP count) is quadratic to input size. Each searchable layer in the network can choose a different block from the layer-wise search space. The block structure is inspired by MobileNetV2 [17] and ShiftNet [23], and is illustrated in Figure 3. It contains a point-wise (1x1) convolution, a K-by-K depthwise convolution where K denotes the kernel size, and another 1x1 convolution. “ReLU” activation functions follow the first 1x1 convolution and the depthwise convolution, but there are no activation functions following the last 1x1 convolution. If the output dimension stays the same as the input dimension, we use a skip connection to add the input to the output. Following [17, 23], we use a hyperparameter, the expansion ratio e, to control the block. It determines how much do we expand the output channel size of the first 1x1 convolution compared with its input channel size. Following [20], we also allow choosing a kernel size of 3 or 5 for the depthwise convolution. In addition, we can choose to use group convolution for the first and the last 1x1 convolution to reduce the computation complexity. When we use group convolution, we follow [29] to add a channel shuffle operation to mix the information between channel groups. In our experiments, our layer-wise search space contains 9 candidate blocks, with their configurations listed in Table 2. Note we also have a block called “skip”, which directly feed the input feature map to the output without actual computations. This candidate block essentially allows us to reduce the depth of the network. In summary, our overall search space contains 22 layers and each layer can choose from 9 candidate blocks from Table 2, so it contains 922 PNG media_image21.png 13 15 media_image21.png Greyscale 1021 possible architectures.”) Here, we see various parameters of the candidate architecture such as K (the kernel size) and the expansion ratio e. We see the candidate blocks which form the architecture / the candidate architecture’s parameters being used as inputs between each layer of the neural network. And further: [Figure 3] PNG media_image22.png 371 426 media_image22.png Greyscale In the above figure, the inputs denoted as H x W x Cin & H x W x (e x Cin) & (H/s) x (W/s) x (e x Cin) are fed as parameters of candidate architectures within each block which choose different expansion rates, kernel sizes, and numbers of groups, thus changing parameters while determining the architecture via layer-wise candidate operations. The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 7, WU in view of GUO teaches the limitations of claim 6, as discussed above. Further, WU teaches “wherein information associated with the selected candidate operation is input to the hardware resource prediction model”: [Figure 3] PNG media_image22.png 371 426 media_image22.png Greyscale In the above figure, the inputs denoted as H x W x Cin & H x W x (e x Cin) & (H/s) x (W/s) x (e x Cin) are fed as parameters of candidate architectures within each block which choose different expansion rates, kernel sizes, and numbers of groups, thus changing parameters while determining the architecture via layer-wise candidate operations, which is input to the hardware resource prediction model (The Latency-Aware Loss Function) shown in section 3.2. The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 8, WU in view of GUO teaches the limitations of claim 1, as discussed above. Further, WU teaches “wherein the first hardware resources comprises any one or any combination of a measured power consumption, a memory demand, a number of operations, and a processing time to operate the neural network with the candidate architecture”: [Page 10741, Table 4] PNG media_image24.png 424 913 media_image24.png Greyscale In the above table, CPU Latency can be seen which is equivalent to “a processing time to operate the neural network with the candidate architecture”, as is FLOPs, which equivalates to a “measured power consumption”. The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 9, WU in view of GUO teaches the limitations of claim 1, as discussed above. Further, WU teaches “wherein the processor is further configured to: determine an optimization loss comprising the neural network loss and the hardware resource loss”: ([Page 10738, 3.3 Search Algorithm] “Solving the problem (1) through brute-force enumeration of the search space is very infeasible. The inner problem of optimizing wa (optimizing based on the hardware resource loss) involves training a neural network. For ImageNet classification, training a ConvNet typically takes several days or even weeks. The outer problem of optimizing PNG media_image4.png 20 55 media_image4.png Greyscale (Optimizing based on the neural network loss, meaning that the optimal architecture is selected based on minimization of loss of accuracy of the neural network.) has a combinatorially large search space. Most of the early works on NAS [30, 31, 20] follow the paradigm above. To reduce the computational cost, the inner problem is replaced by training candidate architectures on an easier proxy dataset. For example, [30, 31] trains the architecture on the CIFAR10 dataset, and [20] trains on ImageNet but only for 5 epochs. The learned architectures are then transferred to the target dataset. To avoid exhaustively iterating through the search space, [30, 31, 20] use reinforcement learning to guide the exploration. Despite these improvements, solving problem (1) is still prohibitively expensive – training a network on the proxy dataset is still time-consuming, and thousands of architectures need to be trained before reaching the optimal solution. We adopt a different paradigm of solving problem (1) (optimization based on the neural network loss and the hardware resource loss, meaning that the actual hardware latency is considered between the architecture and target hardware, thus calculation of the hardware resource loss). We first represent the search space by a stochastic super net. The super net has the same macro-architecture as described in Table 1, and each layer contains 9 parallel blocks as described in Table 2. During the inference of the super net, only one candidate block is sampled and executed with the sampling probability of PNG media_image9.png 46 409 media_image9.png Greyscale 0l contains parameters that determine the sampling probability of each block at layer-l. Equivalently, the output of layer-l can be expressed as PNG media_image10.png 42 309 media_image10.png Greyscale where ml,I is a random variable in {0, 1} and is evaluated to 1 if block bl,i is sampled. The sampling probability is determined by equation (4). bl,i(xl) denotes the output of block-i at layer l given the input feature map xl. We let each layer sample independently, therefore, the probability of sampling an architecture a can be described as PNG media_image11.png 41 314 media_image11.png Greyscale where 0 denotes the a vector consists of all the 0l,i for each block-i at layer-l. PNG media_image12.png 29 27 media_image12.png Greyscale denotes that in the sampled architecture a, block-i is chosen at layer-l. PNG media_image13.png 365 442 media_image13.png Greyscale PNG media_image14.png 245 416 media_image14.png Greyscale The above tables were placed here by the examiner for convenience since they are referenced in the text. Instead of solving for the optimal architecture PNG media_image4.png 20 55 media_image4.png Greyscale , which has a discrete search space, we relax the problem to optimize the probability P0 of the stochastic super net to achieve the minimum expected loss (minimizing the neural network loss for optimization). Formally, we re-write the discrete optimization problem (1) as PNG media_image15.png 30 317 media_image15.png Greyscale It is obvious the loss function in (7) is differentiable with respect to the architecture weights wa and therefore can be optimized by stochastic gradient descent (SGD). However, the loss is not directly differentiable to the sampling parameter 0, since we cannot pass the gradient through the discrete random variable ml,i to 0l,i. To sidestep this, we relax the discrete mask variable ml,i to be a continuous random variable computed by the Gumbel Softmax function [9, 14] PNG media_image16.png 76 334 media_image16.png Greyscale where gl,i ~ Gumbel(0, 1) is a random noise following the Gumbel distribution. The Gumbel Softmax function is controlled by a temperature parameter PNG media_image17.png 11 12 media_image17.png Greyscale . As PNG media_image17.png 11 12 media_image17.png Greyscale approaches 0, it approximates the discrete categorical sampling following the distribution in (6). As PNG media_image17.png 11 12 media_image17.png Greyscale becomes larger, ml,i becomes a continuous random variable. Regardless of the value of PNG media_image17.png 11 12 media_image17.png Greyscale , the mask ml,i is directly differentiable with respect to the parameter 0l,i. The technique of using Gumbel Softmax for neural architecture search is also proposed in [25, 1]. As a result, it is clear that the cross-entropy term from the loss function (2) is differentiable with respect to the mask ml,i and therefore 0l,i. For the latency term, since we use the lookup table based model for efficiency estimation, equation (3) can be written as PNG media_image18.png 42 341 media_image18.png Greyscale The latency of each operator LAT(bl,i) is a constant coefficient, so the overall latency of architecture-a is differentiable with respect to the mask ml,i, therefore 0l,i. As a result, the loss function (2) is fully differentiable with respect to both weights wa and the architecture distribution parameter 0 (Meaning that the optimization loss is calculated based on both the neural network loss and the hardware resource loss). This allows us to use SGD to efficiently solve problem (1).”) And further: ([Page 10738, 3.3 Search Algorithm, final paragraph] “Our search process is now equivalent to training the stochastic super net. During the training, we compute PNG media_image19.png 20 65 media_image19.png Greyscale to train each operator’s weight in the super net. This is no different from training an ordinary ConvNet. After operators get trained, different operators can have a different contribution to the accuracy and the efficiency of the overall network. Therefore, we compute PNG media_image20.png 19 55 media_image20.png Greyscale to update the sampling probability P0 for each operator. This step selects operators with better accuracy and lower latency and suppresses the opposite ones (“better accuracy” represents minimization of the neural network loss while “lower latency” represents minimization of the hardware resource loss, which together, form a combined optimization loss.). After the super net training finishes, we can then obtain the optimal architectures by sampling from the architecture distribution P0.” Here we see the above methods concluding with the target architecture of the neural network being determined based on the loss functions.) Further, WU teaches “determine the target architecture by selecting a target operation that minimizes the optimization loss from among candidate operations of each layer comprised in the neural network of the candidate architecture”: ([Page 10736-10737, 3.1 search Space, Paragraphs 2-3] “In this work, we construct a layer-wise search space (for each layer of the neural network…) with a fixed macro-architecture, and each layer can choose a different block. The macro architecture is described in Table 1. The macro architecture defines the number of layers and the input/output dimensions of each layer. The first and the last three layers of the network have fixed operators (fixed operations). For the rest of the layers, their block type needs to be searched (candidate operations). The filter numbers for each layer are hand-picked empirically. We use relatively small channel sizes for early layers, since the input resolution at early layers is large, and the computational cost (FLOP count) is quadratic to input size. Each searchable layer in the network can choose a different block from the layer-wise search space. The block structure is inspired by MobileNetV2 [17] and ShiftNet [23], and is illustrated in Figure 3. It contains a point-wise (1x1) convolution, a K-by-K depthwise convolution where K denotes the kernel size, and another 1x1 convolution. “ReLU” activation functions follow the first 1x1 convolution and the depthwise convolution, but there are no activation functions following the last 1x1 convolution. If the output dimension stays the same as the input dimension, we use a skip connection to add the input to the output. Following [17, 23], we use a hyperparameter, the expansion ratio e, to control the block. It determines how much do we expand the output channel size of the first 1x1 convolution compared with its input channel size. Following [20], we also allow choosing a kernel size of 3 or 5 for the depthwise convolution. In addition, we can choose to use group convolution for the first and the last 1x1 convolution to reduce the computation complexity. When we use group convolution, we follow [29] to add a channel shuffle operation to mix the information between channel groups. In our experiments, our layer-wise search space contains 9 candidate blocks, with their configurations listed in Table 2. Note we also have a block called “skip”, which directly feed the input feature map to the output without actual computations. This candidate block essentially allows us to reduce the depth of the network. In summary, our overall search space contains 22 layers and each layer can choose from 9 candidate blocks from Table 2, so it contains 922 PNG media_image21.png 13 15 media_image21.png Greyscale 1021 possible architectures.”) Here, we see various parameters of the candidate architecture such as K (the kernel size) and the expansion ratio e. We see the candidate blocks which form the architecture / the candidate architecture’s parameters being used as inputs between each layer of the neural network. And further: [Figure 3] PNG media_image22.png 371 426 media_image22.png Greyscale In the above figure, the inputs denoted as H x W x Cin & H x W x (e x Cin) & (H/s) x (W/s) x (e x Cin) are fed as parameters of candidate architectures within each block which choose different expansion rates, kernel sizes, and numbers of groups, thus changing parameters while determining the architecture via layer-wise candidate operations. This citation further explains how the process works on a layer-by-layer level. In combination with the aforementioned citation of section 3.2, it is clear that the chosen operations are based on minimizing loss. The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 10, WU in view of GUO teaches the limitations of claim 1, as discussed above. Further, WU teaches “wherein the processor is further configured to determine the neural network loss based on a difference between validation data and result data output by the neural network of the candidate architecture processing training data”: ([Page 10739, 4.1 ImageNet Classification, Paragraph 3] “Our experiment results are summarized in Table 3. We compare our searched models with state-of-the-art efficient models both designed automatically and manually. The primary metrics we care about are top-1 accuracy on the ImageNet validation set (top-1 accuracy in the table is used to show a difference between validation data and result data output by the neural network of the candidate architecture processing training data) and the latency. If the latency is not available, we use FLOP as the secondary efficiency metric. For baseline models, we directly cite the parameter size, FLOP count, and top-1 accuracy from the original paper. Since our network is deployed with caffe2 with highly efficient in8 implementation, we have an unfair latency advantage against other baselines. Therefore, we implement the baseline models ourselves and measure their latency under the same environment for a fair comparison. For automatically designed models, we also compare the search method, search space, and search cost.”) PNG media_image25.png 492 913 media_image25.png Greyscale Table 3, as referenced, was placed here by the examiner for convenience. Regarding claim 11, the claim teaches essentially the same limitations as claim 1 discussed above, and is therefore rejected under the same rationale. The motivation for combining the references is as discussed above in relation to claim 1. Regarding claims 12-15, WU in view of GUO teaches the limitations of claim 11. Further, claims 12-15 comprise similar additional limitations as claims 2, 4, 6, & 8, respectively, and are rejected under the same rationale. Regarding claim 16, WU in view of GUO teaches the limitations of claim 11, as discussed above. Further, WU teaches “A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform the method”: ([Abstract] “Designing accurate and efficient ConvNets (convolutional neural networks) for mobile devices is challenging because the design space is combinatorially large. Due to this, previous neural architecture search (NAS) methods are computationally expensive. ConvNet architecture optimality depends on factors such as input resolution and target devices (parameters). However, existing approaches are too resource demanding for case-by-case redesigns. Also, previous work focuses primarily on reducing FLOPs, but FLOP count does not always reflect actual latency. To address these, we propose a differentiable neural architecture search (DNAS) framework (containing candidate architectures) that uses gradient-based methods to optimize ConvNet architectures, avoiding enumerating and training individual architectures separately as in previous methods. FBNets (Facebook-Berkeley-Nets), a family of models discovered by DNAS surpass state-of-the-art models both designed manually and generated automatically. FBNet-B achieves 74.1% top-1 accuracy on ImageNet with 295M FLOPs and 23.1 ms latency on a Samsung S8 phone, 2.4x smaller and 1.5x faster than MobileNetV2-1.3[17] with similar accuracy. Despite higher accuracy and lower latency than MnasNet[20], we estimate FBNet-B’s search cost is 420x smaller than MnasNet’s, at only 216 GPU-hours. Searched for different resolutions and channel sizes, FBNets achieve 1.5% to 6.4% higher accuracy than MobileNetV2. The smallest FBNet achieves 50.2% accuracy and 2.9 ms latency (345 frames per second) on a Samsung S8. Over a Samsung-optimized FBNet, the iPhone-X-optimized model achieves a 1.4x speedup on an iPhone X. FBNet models are open sourced at https://github.com/facebookresearch/mobile-vision.”) Additionally, “a differentiable neural architecture search framework” for optimizing neural network architectures inherently requires a computer with a processor and at least some form of physical memory, which is, under broadest reasonable interpretation, a non-transitory computer-readable storage medium, in order to function. The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 17, the claim teaches essentially the same limitations as claim 1 discussed above, and is therefore rejected under the same rationale. Regarding claim 18, WU in view of GUO teaches the limitations of claim 17, as discussed above. Further, WU teaches “wherein the selecting of the target architecture of the neural network comprises determining the target architecture of the neural network with a least sum of the neural network loss and a weight applied to the hardware resource loss”: ([Page 10737, 3.2 Latency-Aware Loss Function, Paragraphs 1-2] “The loss function used in (1) has to reflect not only the accuracy of a given architecture but also the latency on the target hardware (thus acknowledging the need to optimize based on hardware resources). To achieve this goal, we define the following loss function: PNG media_image5.png 26 367 media_image5.png Greyscale The first term CE(a, wa) denotes the cross-entropy loss of architecture a with parameter wa (a neural network loss). The second term LAT(a) denotes the latency of the architecture on the target hardware measured in micro-second (hardware resource loss). The coefficient PNG media_image6.png 13 14 media_image6.png Greyscale controls the overall magnitude of the loss function (a weight applied to the hardware resource loss). The exponent coefficient " modulates the magnitude of the latency term.”) In the above equation, the selection of the architecture is clearly based on a Least sum of a neural network loss, as evidenced by the cross-entropy loss of architecture a with parameter wa and the weight PNG media_image6.png 13 14 media_image6.png Greyscale applied to the hardware resource loss, LAT(a). The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 19, WU in view of GUO teaches the limitations of claim 17, as discussed above. Further, WU teaches “wherein the generating of the hardware resource loss comprises generating the hardware resource loss based on applying a loss function that considers the difference between the first hardware resource and the second hardware resource”: ([Page 10736-10737, 3.1 search Space, Paragraphs 2-3] “In this work, we construct a layer-wise search space with a fixed macro-architecture, and each layer can choose a different block. The macro architecture is described in Table 1. The macro architecture defines the number of layers and the input/output dimensions of each layer. The first and the last three layers of the network have fixed operators. For the rest of the layers, their block type needs to be searched. The filter numbers for each layer are hand-picked empirically. We use relatively small channel sizes for early layers, since the input resolution at early layers is large, and the computational cost (FLOP count) is quadratic to input size. Each searchable layer in the network can choose a different block from the layer-wise search space. The block structure is inspired by MobileNetV2 [17] and ShiftNet [23], and is illustrated in Figure 3. It contains a point-wise (1x1) convolution, a K-by-K depthwise convolution where K denotes the kernel size, and another 1x1 convolution. “ReLU” activation functions follow the first 1x1 convolution and the depthwise convolution, but there are no activation functions following the last 1x1 convolution. If the output dimension stays the same as the input dimension, we use a skip connection to add the input to the output. Following [17, 23], we use a hyperparameter, the expansion ratio e, to control the block. It determines how much do we expand the output channel size of the first 1x1 convolution compared with its input channel size. Following [20], we also allow choosing a kernel size of 3 or 5 for the depthwise convolution. In addition, we can choose to use group convolution for the first and the last 1x1 convolution to reduce the computation complexity. When we use group convolution, we follow [29] to add a channel shuffle operation to mix the information between channel groups. In our experiments, our layer-wise search space contains 9 candidate blocks, with their configurations listed in Table 2. Note we also have a block called “skip”, which directly feed the input feature map to the output without actual computations. This candidate block essentially allows us to reduce the depth of the network. In summary, our overall search space contains 22 layers and each layer can choose from 9 candidate blocks from Table 2, so it contains 922 PNG media_image21.png 13 15 media_image21.png Greyscale 1021 possible architectures.”) The actual measured per-layer latency is the first hardware resource. The predicted architecture latency is the second hardware resource, via summing lookup table values. The “difference” is inherently minimized because the lookup table is built to match the measured values, meaning that the prediction error is the gap between measurement and table-based estimates. And further: [Figure 3] PNG media_image22.png 371 426 media_image22.png Greyscale In the above figure, the inputs denoted as H x W x Cin & H x W x (e x Cin) & (H/s) x (W/s) x (e x Cin) are fed as parameters of candidate architectures within each block which choose different expansion rates, kernel sizes, and numbers of groups. And further: ([Page 10737, 3.2 Latency-Aware Loss Function, Paragraphs 1-2] “The loss function used in (1) has to reflect not only the accuracy of a given architecture but also the latency on the target hardware (thus acknowledging the need to optimize based on hardware resources). To achieve this goal, we define the following loss function: PNG media_image5.png 26 367 media_image5.png Greyscale The first term CE(a, wa) denotes the cross-entropy loss of architecture a with parameter wa (a neural network loss). The second term LAT(a) denotes the latency of the architecture on the target hardware measured in micro-second (hardware resource loss). The coefficient PNG media_image6.png 13 14 media_image6.png Greyscale controls the overall magnitude of the loss function (a weight applied to the hardware resource loss). The exponent coefficient " modulates the magnitude of the latency term.”) You can directly see in the equation that the latency term LAT(a), which is based on the predictor, is added to the overall weighted loss. The motivation for combining the references is as discussed above in relation to claim 1. Regarding claim 20, WU in view of GUO teaches the limitations of claim 17, as discussed above. Further, WU teaches “wherein the candidate architecture comprises a neural network structure including a set of candidate operations for each layer of the neural network”: ([Page 10736-10737, 3.1 search Space, Paragraphs 2-3] “In this work, we construct a layer-wise search space with a fixed macro-architecture, and each layer can choose a different block. The macro architecture is described in Table 1. The macro architecture defines the number of layers and the input/output dimensions of each layer. The first and the last three layers of the network have fixed operators. For the rest of the layers, their block type needs to be searched. The filter numbers for each layer are hand-picked empirically. We use relatively small channel sizes for early layers, since the input resolution at early layers is large, and the computational cost (FLOP count) is quadratic to input size. Each searchable layer in the network can choose a different block from the layer-wise search space. The block structure is inspired by MobileNetV2 [17] and ShiftNet [23], and is illustrated in Figure 3. It contains a point-wise (1x1) convolution, a K-by-K depthwise convolution where K denotes the kernel size, and another 1x1 convolution. “ReLU” activation functions follow the first 1x1 convolution and the depthwise convolution, but there are no activation functions following the last 1x1 convolution. If the output dimension stays the same as the input dimension, we use a skip connection to add the input to the output. Following [17, 23], we use a hyperparameter, the expansion ratio e, to control the block. It determines how much do we expand the output channel size of the first 1x1 convolution compared with its input channel size. Following [20], we also allow choosing a kernel size of 3 or 5 for the depthwise convolution. In addition, we can choose to use group convolution for the first and the last 1x1 convolution to reduce the computation complexity. When we use group convolution, we follow [29] to add a channel shuffle operation to mix the information between channel groups. In our experiments, our layer-wise search space contains 9 candidate blocks, with their configurations listed in Table 2. Note we also have a block called “skip”, which directly feed the input feature map to the output without actual computations. This candidate block essentially allows us to reduce the depth of the network. In summary, our overall search space contains 22 layers and each layer can choose from 9 candidate blocks from Table 2, so it contains 922 PNG media_image21.png 13 15 media_image21.png Greyscale 1021 possible architectures.”) And further: [Figure 3] PNG media_image22.png 371 426 media_image22.png Greyscale In the above figure, the inputs denoted as H x W x Cin & H x W x (e x Cin) & (H/s) x (W/s) x (e x Cin) are fed as parameters of candidate architectures within each block which choose different expansion rates, kernel sizes, and numbers of groups. Conclusion Applicants’ amendment necessitated the new ground(s) of rejection presented in this Office Action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicants are reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHOURJO DASGUPTA whose telephone number is (571)272-7207. The examiner can normally be reached M-F 8am-5pm CST. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Tamara Kyle can be reached at 571 272 4241. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /SHOURJO DASGUPTA/Primary Examiner, Art Unit 2144
Read full office action

Prosecution Timeline

May 13, 2022
Application Filed
Sep 29, 2025
Non-Final Rejection mailed — §103
Jan 29, 2026
Response Filed
May 21, 2026
Applicant Interview (Telephonic)
May 22, 2026
Examiner Interview Summary
Oct 06, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12769566
CHARACTERIZING NOTIFICATION DISTINCTIVENESS FOR A FINITE-STATE MACHINE MODELED SYSTEM
3y 5m to grant Granted Oct 20, 2026
Patent 12762440
MACHINE LEARNING TECHNIQUES FOR DENOISING INPUT SEQUENCES
5y 1m to grant Granted Oct 13, 2026
Patent 12762468
PROTECTING ASSETS OF MUTUALLY DISTRUSTFUL ENTITIES DURING FEDERATED LEARNING TRAINING ON A REMOTE DEVICE
4y 1m to grant Granted Oct 13, 2026
Patent 12755144
INFORMATION PROCESSING APPARATUS, ARITHMETIC METHOD, AND NON-TEMPORARY COMPUTER-READABLE MEDIUM
5y 4m to grant Granted Oct 06, 2026
Patent 12731146
System, Method, and Computer Program Product for Determining a Reason for a Deep Learning Model Output
4y 6m to grant Granted Sep 08, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
65%
Grant Probability
99%
With Interview (+39.3%)
3y 5m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 466 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month