Prosecution Insights
Last updated: July 14, 2026
Application No. 17/750,052

METHOD FOR DATA PROCESSING IN NEURAL NETWORK SYSTEM AND NEURAL NETWORK SYSTEM

Non-Final OA §103
Filed
May 20, 2022
Priority
Nov 20, 2019 — CN 201911144635.8 +1 more
Examiner
NYE, LOUIS CHRISTOPHER
Art Unit
2141
Tech Center
2100 — Computer Architecture & Software
Assignee
Tsinghua University
OA Round
3 (Non-Final)
25%
Grant Probability
At Risk
3-4
OA Rounds
0m
Est. Remaining
62%
With Interview

Examiner Intelligence

Grants only 25% of cases
25%
Career Allowance Rate
3 granted / 12 resolved
-30.0% vs TC avg
Strong +38% interview lift
Without
With
+37.5%
Interview Lift
resolved cases with interview
Typical timeline
4y 2m
Avg Prosecution
17 currently pending
Career history
36
Total Applications
across all art units

Statute-Specific Performance

§101
4.2%
-35.8% vs TC avg
§103
88.5%
+48.5% vs TC avg
§102
5.2%
-34.8% vs TC avg
§112
2.1%
-37.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 12 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 . Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 19 February 2026 has been entered. Claim Rejections - 35 USC § 103 The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action. Claim(s) 1, 3-4, 8, 10-11, 15, 17, and 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gokmen et al. (From IDS: US Patent No. 9,646,243, published May 2017, hereinafter “Gokmen”) in view of Song et al. (NPL: “PipeLayer: A Pipeline ReRAM-Based Accelerator for Deep Learning”, published May 2017, hereinafter “Song”) and further in view of Boybat Kara et al. (US Pub. No. 2019/0122105, hereinafter “Boybat Kara”). Regarding claim 1, Gokmen teaches a method for data processing, the method comprising: receiving, by a neural network system, training data, (Gokmen, Page 41 Col. 15 Lines 23-28 – “For example, as shown in FIG. 8, the current I.sub.4 generated by column wire 814 is according to the equation I.sub.4=V.sub.1σ.sub.41+V.sub.2σ.sub.42+V.sub.3σ.sub.43. Thus, array 800 computes the forward matrix multiplication by multiplying the values stored in the RPUs by the row wire inputs, which are defined by voltages V.sub.1, V.sub.2, V.sub.3. ” – teaches receiving training data (row wire inputs defined by voltages)), wherein the neural network system comprises a plurality of neural network arrays, each neural network array of the plurality of neural network arrays comprises a plurality of in-memory computing units, and each in-memory computing unit of the plurality of in-memory computing units is configured to store a weight value of a neuron in a corresponding neural network array (Gokmen, Page 41 Col. 15 Lines 3-14 – “FIG. 8 is a diagram of a two-dimensional (2D) crossbar array 800 that performs forward matrix multiplication, backward matrix multiplication and weight updates according to the present description. Crossbar array 800 is formed from a set of conductive row wires 802, 804, 806 and a set of conductive column wires 808, 810, 812, 814 that intersect the set of conductive row wires 802, 804, 806. The intersections between the set of row wires and the set of column wires are separated by RPUs, which are shown in FIG. 8 as resistive elements each having its own adjustable/updateable resistive weight, depicted as σ.sub.11, σ.sub.21, σ.sub.31, σ.sub.41, σ.sub.12, σ.sub.22, σ.sub.32, σ.sub.42, σ.sub.13, σ.sub.23, σ.sub.33 and σ.sub.43, respectively.” – teaches the neural network system comprising a plurality of neural network arrays (crossbar array 800), where each neural network array comprises a plurality of in-memory computing units (conductive row wires, RPUs), and each in-memory compute unit of the plurality is configured to store a weight value of a neuron in a corresponding neural network array (adjustable/updateable resistive weight)); generating, by the neural network system, first output data based on the training data (Gokmen, Page 41 Col. 15 Lines 23-28 – “For example, as shown in FIG. 8, the current I.sub.4 generated by column wire 814 is according to the equation I.sub.4=V.sub.1σ.sub.41+V.sub.2σ.sub.42+V.sub.3σ.sub.43. Thus, array 800 computes the forward matrix multiplication by multiplying the values stored in the RPUs by the row wire inputs, which are defined by voltages V.sub.1, V.sub.2, V.sub.3.” – teaches generating first output data based on the training data (computes forward matrix multiplication of values stored in RPUs by row wire inputs)); Gokmen fails to explicitly teach wherein the plurality of neural network arrays comprises a first neural network array, a second neural network array, and a third neural network array, wherein input data of the first neural network array comprises output data of the second neural network array and wherein the third neural network array and the second neural network array are configured to implement computing of a convolutional layer in the neural network system in parallel; calculating, by the neural network system, a deviation between the first output data and target output data; and adjusting, by the neural network system, based on the deviation, a weight value stored in at least one in-memory computing unit in at least one neural network array[[s]] in the plurality of neural network arrays, wherein the at least one neural network array is configured to implement computing of at least a portion of one neural network layer[[s]] in the neural network system; wherein the adjusting, based on the deviation, the weight value stored in the at least one in-memory computing unit in the at least one neural network array in the plurality of neural network arrays comprises: adjusting, based on the first sub-deviation and input data of the second neural network array, a weight value stored in at least one in-memory computing unit in the second neural network array; and adjusting, based on the second sub-deviation and input data of the third neural network array, a weight value stored in at least one in-memory computing unit in the third neural network array. However, analogous to the field of resistive random-access memory and parallel acceleration, Song teaches: wherein the plurality of neural network arrays comprises a first neural network array, a second neural network array, and a third neural network array, (Song, Section 4.1 Sub-section D – “This component connects morphable and memory subarrays. The outputs from morphable subarrays (when they are in computation mode) need to be written to memory subarrays so that they are used as input for the morphable subarrays for the next layer in next cycle.” – teaches a plurality of neural network arrays (morphable and memory subarrays). In addition to the previously cited passage, Song further teaches in Fig. 9 - a first neural network array, a second neural network array, and a third neural network array.). wherein input data of the first neural network array comprises output data of the second neural network array (Song, Section 4.1 Sub-section D – “This component connects morphable and memory subarrays. The outputs from morphable subarrays (when they are in computation mode) need to be written to memory subarrays so that they are used as input for the morphable subarrays for the next layer in next cycle.” – teaches where the input of the first neural network array comprises output of the second neural network array (output from the morphable subarray written to memory so that the output is used as input to the next morphable subarray for the next layer in next cycle)) and wherein the third neural network array and the second neural network array are configured to implement computing of a convolutional layer (Song, Section 4.4.1 Paragraph 2 – “In the convolution, data in layer l (yellow slices) can be viewed as convolution kernels while error in layer l−1 (doted slices) can be viewed as convolution data. Therefore, the convolution is done by mapping the yellow slices to ReRAM arrays and sending the backward error to the arrays.” – teaches where third and second array (data of layer l mapped to ReRAM arrays, layer l can be any convolutional layer) are configured to implement computing of a convolutional layer (convolution is done by mapping yellow slices to ReRAM arrays and sending the backward error)) in the neural network system in parallel (Song, Fig. 5 & Section 3.2.3 Paragraph 1 – “We can decompose the 1152×256 matrix to a group of 18 (=9×2) matrices and map each of them to a 128×128 ReRAM array(shown in the right part of Figure 5).We can get the right results by collecting array outputs horizontally and summing them vertically.” and in Section 3.2.3 Paragraph 2 – “To improve performance, we define a metric called parallelism granularity, denoted as G, indicating the number of duplicated copies of ReRAM arrays that store the same weights. If G=1, the design is equivalent to the naive scheme. If G=12544. i the results of a layer could be generated in just one cycle but the hardware cost is prohibitive.” – teaches where the neural network arrays are configured to implement computing of a layer of the neural network system in parallel (defines group of matrices mapped to ReRAM arrays that perform the operations of a convolutional layer by collecting array outputs horizontally and defining a parallelism granularity to measure how many ReRAM arrays are duplicated for accelerated parallel processing)). calculating, by the neural network system, a deviation between the first output data and target output data (Song, Section 2.2 Paragraph 2 – “In training phase, a cost function is defined to quantitatively evaluate how well the outputs of a neural network compare to the standard labels. We use y and t to represent the output of a neural network and the standard label respectively. An L2 norm loss function is defined as J(W, b)=12∥y−t∥22 and J(W, b)=−∑1(yi=tj)logp(yi=tj) is the softmax i,j loss function.” – teaches calculating a deviation (loss) between first output data and target output data (labels)); and adjusting, by the neural network system, based on the deviation, a weight value stored in at least one in-memory computing unit in at least one neural network array[[s]] in the plurality of neural network arrays, wherein the at least one neural network array is configured to implement computing of at least a portion of one neural network layer[[s]] in the neural network system (Song, Section 2.2 Paragraphs 3-4 “The error δ for each layer is defined as: δl≜∂Jah. If we use an L2 norm loss function, for the last (output) layer L, the error is δLf′(uL)∘(y−t) where o represents a Hadamard product, i.e. element-wise multiplications. For other layers excluding the output layer, the error is δl=(Wl+1)1δl+1∘f′(ul). And with a ReLU activation function, the error can be rewritten as δl=(Wl+1)Tδl+1∘f′(dl). So that the backward partial derivatives to Wl is ∂J∂Wl=dl−1(δl)T. And the backward partial derivatives to bl is ∂J∂bl=δl. Now we can use the gradient descent method to update the weights of neural network.” – teaches adjusting weight values (using gradient descent based on the loss to update the weights of the neural network) based on the deviation), and in Section 3.1 Paragraph 4 – “In T5, two computations happen in parallel: (1) partial derivatives (∇W3) is computed by previous results in d2 and δ3; (2) errors (δ2) of the second layer is computed from δ3. Both of the computations depend on δ3, which is computed in T4.∇W3 is stored in memory subarrays, which will be used to update weights in A3 and A32 later.” - teaches the adjusted weights being stored in at least one in-memory compute unit in at least one neural network array (stored in memory subarrays), where the neural network arrays are configured to implement the computing of at least one neural network layer in the neural network system (computes errors of layers to determine an update for the weights of the layers)). wherein the adjusting, based on the deviation, the weight value stored in the at least one in-memory computing unit in the at least one neural network array in the plurality of neural network arrays comprises: adjusting, based on the first sub-deviation and input data of the second neural network array, a weight value stored in at least one in-memory computing unit in the second neural network array (Song, Section 2.2 Paragraph 4 – “And with a ReLU activation function, the error can be rewritten as δl=(Wl+1)Tδl+1∘f′(dl). So that the backward partial derivatives to Wl is ∂J∂Wl=dl−1(δl)T. And the backward partial derivatives to bl is ∂J∂bl=δl Now we can use the gradient descent method to update the weights of neural network.” – teaches adjusting a weight value stored in at least one in-memory computing unit (Wl – where l may be set to 2 to represent the weight stored in at least one in-memory computing unit in the second neural network array) based on input data (dl-1 – the output of the previous layer, therefore the input of the current layer) and the deviation (δl)); and adjusting, based on the second sub-deviation and input data of the third neural network array, a weight value stored in at least one in-memory computing unit in the third neural network array (Song, Section 2.2 Paragraph 4 – “And with a ReLU activation function, the error can be rewritten as δl=(Wl+1)Tδl+1∘f′(dl). So that the backward partial derivatives to Wl is ∂J∂Wl=dl−1(δl)T. And the backward partial derivatives to bl is ∂J∂bl=δl Now we can use the gradient descent method to update the weights of neural network.” – teaches adjusting a weight value stored in at least one in-memory computing unit (Wl – where l may be set to 3 to represent the weight stored in at least one in-memory computing unit in the third neural network array) based on input data (dl-1 – the output of the previous layer, therefore the input of the current layer) and the deviation (δl)). Therefore, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the neural network arrays, deviation calculations, and weight adjustments of Song to the neural network system comprising neural network arrays comprising in-memory computing units of Gokmen in order to update weights stored in in-memory computing units of a neural network array configured to implement computations of a neural network layer. Doing so would reduce data movements in memory hierarchy (Song, Introduction) and offer great acceleration of CNNs with low energy cost (Song, Introduction). The combination of Gokmen and Song fails to explicitly teach wherein an initial value of the weight value is determined by performing offline training, and dividing the deviation into at least two sub-deviations, wherein a first sub-deviation in the at least two sub-deviations corresponds to the output data of the second neural network array, and a second sub-deviation in the at least two sub-deviations corresponds to output data of the third neural network array. However, analogous to the field of resistive random-access memory and parallel acceleration, Boybat Kara teaches: wherein an initial value of the weight value of a given neuron is determined by performing offline training (Boybat Kara, [0034] – “The second array a.sub.2 of array-set 6 implements the layer of synapses s.sub.jk between the second and third neuron layers of ANN 1. Structure corresponds directly to that of array a.sub.1. Hence, devices 10 of array a.sub.2 store weights Ŵ.sub.jk for synapses s.sub.jk, with row lines r.sub.j representing connections between respective layer 2 neurons n.sub.2j and synapses s.sub.jk, and column lines c.sub.k representing connections between respective output layer neurons n.sub.3k and synapses s.sub.jk.” and in [0044] – “The weights Ŵ stored in memristive arrays 6 may be initialized to predetermined values, or may be randomly distributed for the start of the training process.” and in [0051] – “Also, weight updates may be performed after backpropagation in every iteration of the training scheme (“online training”), or after a certain number K of iterations (“batch training”).” – teaches wherein an initial value of the weight value of a given neuron is determined by performing offline training (weights stored in memristive arrays 6 correspond to synapses between neurons, weights may be initialized to predetermined values, weight updates may be performed after certain number K iterations of batch training, which is offline training)), and dividing the deviation into at least two sub-deviations, wherein a first sub-deviation in the at least two sub-deviations corresponds to the output data of the second neural network array, and a second sub-deviation in the at least two sub-deviations corresponds to output data of the third neural network array (Boybat Kara, [0043] – “In the forward propagation operation (step 30), the input data for a current training sample is forward-propagated through ANN 1 from the input to the output neuron layer. This operation, detailed further below, involves calculating outputs, denoted by x.sub.1i, x.sub.2j and x.sub.3k respectively, for neurons n.sub.1i, n.sub.2j, and n.sub.3k in DPU 4, and application of input signals to memristive arrays 6 to obtain array output signals used in these calculations. In the subsequent back-propagation operation (step 31), DPU 4 calculates error values (denoted by 631) for respective output neurons n.sub.3k and propagates these error values back through ANN 1 from the output layer to the penultimate layer in the backpropagation direction. This involves application of input signals to memristive arrays 6 to obtain array output signals, and calculation of error values for neurons in all other layers except the input neuron layer, in this case errors δ.sub.2j for the layer 2 neurons n.sub.2j. In a subsequent weight update operation (step 32), the DPU computes digital weight-correction values ΔW for respective memristive devices 10 using values computed in the forward and backpropagation steps. The DPU 4 then controls memcomputing unit 3 to applying programming signals to the devices to update the stored weights Ŵ in dependence on the respective digital weight-correction values ΔW. ” and in [0044] – “Particular constraints on the weight distribution for initialization may depend on e.g. network size and the neuron activation function ƒ (described below) for a given convergence condition to be achieved. Weight update step 32 may be performed for every iteration, or after a predetermined number of backpropagation operations, and may involve update of all or a selected subset of the weights Ŵ as described further below.” – teaches dividing the deviation into at least two sub-deviations (errors δ.sub.2j for the layer 2 neurons n.sub.2j split into per-device weight correction values, DPU distributes weight-correction values for respective memristive devices and updates stores weights in dependence on respective weight-correction values), wherein a first sub-deviation corresponds to the output data of the second neural network array (errors δ.sub.2j for the layer 2 neurons n.sub.2j and array output signals are used to compute respective weight correction values ΔW for each array) and a second sub-deviation corresponding to the output data of the third neural network array (errors δ.sub.2j for the layer 2 neurons n.sub.2j and array output signals are used to compute respective weight correction values ΔW for each array, each respective weight correction value is based on the sub-deviation and respective array output signal)) Therefore, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the offline learning and division of deviation of Boybat Kara to the arrays and weight adjustment of Gokmen and Song in order to determine initial values for the weights and adjust their values according to respective deviations. Doing so would exploit the capabilities of memristive arrays and dramatically reduce the computational complexity associated with ANN training (Boybat Kara, [0005]). Claims 8 and 15 incorporate substantively all the limitations of claim 1 in a system and a chip, and are rejected on similar grounds as above. Gokmen teaches the memory, processors, and data interface of these claims 8 and 15 at Pg. 34, Col. 1 Line 62 - Col. 2 Line 3 – “a system facilitating training a convolution layer of a convolutional neural network (CNN) using resistive processing unit (RPU) arrays, includes an RPU array, which includes a plurality of RPUs, and a processor configured to control electric voltage across the RPUs from the RPU array. The processor configures the RPU array corresponding to the convolution layer based on dimensions associated with convolution kernels of the convolution layer.”, Pg. 34, Col. 2, Lines 20-25 – “a computer program product for training a convolution layer of a convolutional neural network (CNN) using resistive processing unit (RPU) arrays includes a computer readable storage medium.”, and Fig. 19 – teaches processor, memory, and a neuron data interface. Regarding claim 3, the combination of Gokmen, Song, and Boybat Kara teaches the method according to claim 1, wherein the first neural network array comprises a neural network array configured to implement computing of a fully-connected layer in the neural network system (Gokmen, Page 45 Col. 24 Lines 50-57 –“ The neuron control system 1900, as described herein, trains the neural network with the convolutional and fully connected layers by setting up the RPU arrays with the dimensions as described herein. Further, the neuron control system 1900 converts each convolution layer in the CNN training into a fully connected layer, by converting the convolution computations into matrix multiplications as described above.” – teaches wherein the first neural network array (RPU array) comprises a neural network array configured to implement computing of a fully-connected layer in the neural network system (converts each convolution layer in the CNN into a fully-connected layer, and trains the neural network by setting up RPU arrays configured to implement the computing of these layers by means of matrix-multiplication)). Claims 10 and 17 are similar to claim 3, hence similarly rejected. Regarding claim 4, the combination of Gokmen, Song, and Boybat Kara teaches the method according to claim 3, wherein the adjusting, based on the deviation, the weight value stored in the at least one in-memory computing unit in the at least one neural network arrays in the plurality of neural network arrays further comprises: adjusting, based on input data of the first neural network array and the deviation, a weight value stored in at least one in-memory computing unit in the first neural network array (Song, Section 2.2 Paragraph 4 – “And with a ReLU activation function, the error can be rewritten as δl=(Wl+1)Tδl+1∘f′(dl). So that the backward partial derivatives to Wl is ∂J∂Wl=dl−1(δl)T. And the backward partial derivatives to bl is ∂J∂bl=δl Now we can use the gradient descent method to update the weights of neural network.” – teaches adjusting a weight value stored in at least one in-memory computing unit (Wl) based on input data (dl-1 – the output of the previous layer, therefore the input of the current layer) and the deviation (δl)). Therefore, it would have been obvious, to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the weight adjustment of Song to the neural network arrays comprising in-memory computing units of Gokmen, Song, and Boybat Kara in order to determine and adjust the in-memory compute unit stored weights of a fully-connected layer of a neural network system. Doing so would greatly reduce data movements and energy consumption by avoiding data being transferred across memory hierarchy (Song, Section 3.1) and the computations and data movements are performed in a highly parallel manner (Song, Section 6.3). Claims 11 and 21 are similar to claim 4, hence similarly rejected. Response to Arguments Applicant's arguments filed 19 February 2026 have been fully considered but they are not persuasive. Applicant argues on pp. 3 of Remarks that Boybat Kara fails to teach the limitation regarding “dividing the deviation into at least two sub-deviations…”. Examiner respectfully disagrees and points to Boybat Kara at [0043] – “This operation, detailed further below, involves calculating outputs, denoted by x.sub.1i, x.sub.2j and x.sub.3k respectively, for neurons n.sub.1i, n.sub.2j, and n.sub.3k in DPU 4, and application of input signals to memristive arrays 6 to obtain array output signals used in these calculations. In the subsequent back-propagation operation (step 31), DPU 4 calculates error values (denoted by 631) for respective output neurons n.sub.3k and propagates these error values back through ANN 1 from the output layer to the penultimate layer in the backpropagation direction. This involves application of input signals to memristive arrays 6 to obtain array output signals, and calculation of error values for neurons in all other layers except the input neuron layer, in this case errors δ.sub.2j for the layer 2 neurons n.sub.2j. In a subsequent weight update operation (step 32), the DPU computes digital weight-correction values ΔW for respective memristive devices 10 using values computed in the forward and backpropagation steps.” Boybat Kara teaches dividing the deviation into sub-deviations (errors δ.sub.2j for the layer 2 neurons n.sub.2j), wherein a first sub-deviation corresponds to the output data of the second neural network array (errors δ.sub.2j for the layer 2 neurons n.sub.2j and array output signals are used to compute respective weight correction values ΔW for each array) and a second sub-deviation corresponding to the output data of the third neural network array (errors δ.sub.2j for the layer 2 neurons n.sub.2j and array output signals are used to compute respective weight correction values ΔW for each array, each respective weight correction value is based on the deviation and respective array output signal). Boybat Kara teaches that the sub-deviations correspond to the output of the arrays of the same layer (obtains array output signals, calculates error values for neurons, and computes digital weight-correction values for respective memristive device, wherein the digital weight-correction values are based on the input values, or values computed in forward propagation, and the sub-deviation corresponding to the outputs of the arrays of the layer, the sub-deviation values are computed in backpropagation). The claim requires that the deviation, which is output by the neural network system, is divided into sub-deviations and correspond to output data of the neural network arrays which Boybat Kara does cover. Boybat Kara is not relied upon for teaching the neural network arrays operating in parallel to perform convolution operations. Applicant further argues on pp. 5 of Remarks that Song fails to teach the limitation regarding “wherein the third neural network array and second neural network array are configured to implement computing of a convolutional layer in the neural network system in parallel;”. Examiner respectfully disagrees. Song’s parallelism granularity defines the number of duplicated copies of ReRAM arrays that store the same weights to improve performance. Song teaches in Fig. 5 and Section 3.2.3 Paragraph 1 – “We can decompose the 1152×256 matrix to a group of 18 (=9×2) matrices and map each of them to a 128×128 ReRAM array(shown in the right part of Figure 5).We can get the right results by collecting array outputs horizontally and summing them vertically.” – teaches wherein the third and second neural network arrays (Song’s 18 ReRAM arrays included a third and second neural network array) are configured to implement computing of a convolutional layer (Fig. 5 shows the arrays performing computing of a convolutional layer, where the arrays are parallel and their results are collected horizontally) and in Section 3.2.3 Paragraph 2 – “To improve performance, we define a metric called parallelism granularity, denoted as G, indicating the number of duplicated copies of ReRAM arrays that store the same weights. If G=1, the design is equivalent to the naive scheme. If G=12544. i the results of a layer could be generated in just one cycle but the hardware cost is prohibitive.” The claim, as currently drafted, does not require the parallel neural network arrays to be “independently trained with different, output-corresponding sub-deviations”. The claim requires that the sub-deviations correspond to the outputs of the respective arrays, and does not require independent, unique arrays and that the arrays and their corresponding outputs to be different. Song is not relied upon for teaching “splitting the deviation into sub-deviations” (See Remarks at pp. 6). In response to applicant's argument that the references fail to show certain features of the invention, it is noted that the features upon which applicant relies (i.e., neural network arrays that are independently trained with different, output-corresponding sub-deviations) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Rasch et al. (US Pub. No. 2020/0380349, filed May 2019) teaches techniques for automatic weight scaling for RPU devices during ANN training. Teaches wherein all operations involving weights are performed fully in parallel by RPU devices, including operations of a convolutional layer in a three-layer convolutional ANN. Teaches dividing a deviation into sub-deviations to adjust weights stored in arrays of RPU devices. Each RPU device of a layer performs local multiplication and summation operation by processing voltage pulses coming from corresponding wires, achieving an incremental weight update at each RPU device corresponds to its inputs and the sub-deviations corresponding to its outputs. Hasan et al. (NPL: Enabling Backpropagation Training of Memristor Crossbar Neuromorphic Processors, published July 2014) teaches high performance implementations of neural network using memristor crossbar based hardware. Teaches back-propagation training that enables on-chip training of memristor crossbars. Teaches updating layer n neurons using layer n errors, wherein a deviation is split into sub-deviations, and the sub-deviations are used to adjust weights stored in neural network arrays. Teaches adjusting the arrays based on their respective input and sub-deviations corresponding to their respective outputs. Li et al. (NPL: Efficient and self-adaptive in-situ learning in multilayer memristor neural networks, published June 2018) teaches in-situ training at memristor crossbar, wherein implementing a stochastic gradient descent algorithm in the crossbar requires each calculating a desired weight update for each layer and applied to each crossbar within the layer. Any inquiry concerning this communication or earlier communications from the examiner should be directed to LOUIS C NYE whose telephone number is 571-272-0636. The examiner can normally be reached Monday - Friday 9:00AM - 5:00PM. 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, MATT ELL can be reached at 571-270-3264. 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. /LOUIS CHRISTOPHER NYE/Examiner, Art Unit 2141 /MATTHEW ELL/Supervisory Patent Examiner, Art Unit 2141
Read full office action

Prosecution Timeline

Show 1 earlier event
Jun 06, 2022
Response after Non-Final Action
Jun 17, 2025
Non-Final Rejection mailed — §103
Aug 15, 2025
Response Filed
Nov 19, 2025
Final Rejection mailed — §103
Jan 21, 2026
Response after Non-Final Action
Feb 19, 2026
Request for Continued Examination
Feb 28, 2026
Response after Non-Final Action
May 04, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12639577
SYSTEMS AND METHODS FOR SELF SUPERVISED MULTI-VIEW REPRESENTATION LEARNING FOR TIME SERIES
4y 8m to grant Granted May 26, 2026
Patent 12524683
METHOD FOR PREDICTING REMAINING USEFUL LIFE (RUL) OF AERO-ENGINE BASED ON AUTOMATIC DIFFERENTIAL LEARNING DEEP NEURAL NETWORK (ADLDNN)
3y 2m to grant Granted Jan 13, 2026
Study what changed to get past this examiner. Based on 2 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
25%
Grant Probability
62%
With Interview (+37.5%)
4y 2m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 12 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