DETAILED ACTION
Status of Claims
Claim(s) 1-3, 6-13, and 16-22 are pending and are examined herein.
Claim(s) 1, 3, 6, 11, 13, 16, and 20-21 have been Amended. Claim(s) 4-5 and 14-15 have been Cancelled.
Claim(s) 1-3, 6-13, and 16-22 remain rejected under 35 U.S.C. § 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 01/22/2026 has been entered.
Response to Amendment
The amendment filed on January 22, 2026 has been entered. Claims 1-3, 6-13, and 16-22 pending in the application. Applicant’s amendments to the claims have been fully considered and are addressed in the rejections below.
Response to Arguments
Applicant's arguments, with respect to the rejection under 35 U.S.C. § 103 filed on 01/22/2026 (see remarks Pp. 10-16) have been fully considered but are moot in view of the new grounds of rejection.
The examiner refers to the updated rejection under 35 U.S.C. § 103 for more details.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 1-3, 6, 11-13, 16, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Peranandam et al., (Pub. No.: US 20200202214 A1) in view of Malaya et al., (Pub. No.: US 20190005377 A1).
Regarding Currently Amended Claim 1,
Peranandam discloses the following:
A method for detection and classification of data, the method comprising: (Peranandam, [0004] “A processor-implemented method for reducing the number of neurons and their interconnections in a trained deep neural network (DNN) used in a vehicle is provided. The method includes identifying and classifying layer types in a plurality of hidden layers of the DNN; evaluating the accuracy of the DNN using a validation set of data; and generating a layer specific ranking of neurons, ... wherein the DNN with the removed neurons is configured to perform perception tasks in a vehicle.” [0053] “Example on-board sensing tasks performed by the example perception system 74 may include object detection, free-space detection, and object pose detection.” [0056] “the controller 34 implements machine learning techniques to assist the functionality of the controller 34, such as feature detection/classification, ...”)
receiving input data at a neural network circuit comprising a plurality of node layers, with each of the plurality of node layers comprising respective one or more nodes, the neural network circuit further comprising adjustable weighted connections connecting at least some nodes in different layers of the plurality of node layers; (Peranandam, [0040] “FIG. 1A is a diagram depicting an example trained DNN 102 with a plurality of interconnected neurons 104. The example trained DNN 102 utilizes deep learning. Deep learning (also known as deep structured learning, hierarchical learning or deep machine learning) is a class of machine learning algorithms that use a cascade of many layers of nonlinear processing units for feature extraction and transformation. Each successive layer uses the output from the previous layer as input. The example DNN 102 is a computing system or processing device that is made up of a number of simple, highly interconnected processing elements/devices/units referred to as neurons 104, which can be implemented using software algorithms and/or actual hardware. The example DNN 102 is organized in layers that are made up of a number of interconnected neurons 104 that work together to produce an output.” [0068] “FIG. 5 is a diagram illustrating example components of an example DNN 500. The example DNN 500 is organized in layers that are made up of a number of interconnected neurons 502. Each neuron 502 includes an activation function 504. Patterns are presented to the network via an input layer 506, which communicates to one or more hidden layers 508 where the actual processing is done via a system of weighted connections. The activation function 504 identifies weights that are applied to inputs to the associated neuron to generate an output. The hidden layers 508 then link to an output layer 510 where an output is generated.” Further described in paragraph [0070].)
removing one or more of the weighted connections at one or more time instances, including: (Peranandam, [0004] “A processor-implemented method for reducing the number of neurons and their interconnections in a trained deep neural network (DNN) used in a vehicle is provided...” [0041] “Some neurons 106, however, are less critical than other neurons 104 in producing an output in a DNN. The subject matter described herein discloses apparatus, systems, techniques and articles for eliminating less critical neurons 106 from a trained DNN 102 to produce a lean DNN 108 with the less critical neurons 106 eliminated.” [0057] “FIG. 3 is a block diagram depicting an example system 300 for reducing the complexity or number of neurons of a trained DNN 302 that is implemented via a controller. The example system is configured to strategically select non-critical neurons 303 to eliminate from the DNN 302 to produce a lean DNN 304 with non-critical neurons eliminated. The system selects neurons to eliminate that will have low impact on the accuracy of the lean DNN 304.”) [Examiner’s Note: The method describes removing neurons and their interconnections from the DNN. Eliminating a neuron inherently removes all of its incoming and outgoing weighted connections, since connection (weighted edge) would implicitly be removed once lower ranked neuron is eliminated.]
determining output at a last, output stage, node layer, from the plurality of node layers of the neural network circuit, in response to an input provided to a first, input stage, node layer of the neural network circuit; (Peranandam, [0008] “In one embodiment, evaluating the accuracy of the DNN includes applying the validation set of data to the inputs of the DNN and determining the prediction accuracy at the outputs of the DNN.” [0066] “To evaluate the accuracy of the trained DNN 302, the neuron ranking module 310 is configured to run a complete validation set of data through the trained DNN 302 and determine its prediction accuracy.” [0068] “The hidden layers 508 then link to an output layer 510 where an output is generated.” Further described [0011 and [0065].) [Examiner’s Note: Applying validation input data to the inputs of the DNN and determining prediction/classification at the outputs of the DNN. This reads on the claimed determining output at the output stage in response to input provided at the input stage.]
deterministically selecting a particular node layer from the plurality of node layers based, at least in part, on the determined output at the last, output stage, node layer, the selected particular node layer preceding the last, output stage, node layer; (Peranandam, [0004] “The method further includes selecting a number of lower ranked neurons of a specific type from the DNN for removal that does not result in the DNN after the removal of selected lower ranked neurons to fall outside of an accuracy threshold limit; and removing the neurons selected for removal from the DNN;” [0019] “In one embodiment, to evaluate the accuracy of the DNN the processing system is configured to apply the validation set of data to the inputs of the DNN and determine the prediction or classification accuracy at the outputs of the DNN.” [0058]-[0060] “The processing system 306 includes a layer classification module 308 that is configured to identify and classify layer types in a plurality of hidden layers of the DNN 302 and a neuron ranking module 310 that is configured to, based on the layer classification, rank neurons based on their importance in performing DNN tasks to produce a layer specific ranking of neurons 312 in the DNN 302. .... After generating a layer specific ranking of neurons, the processing system 306, via a neuron elimination selection module 318 is configured to select a number of lower ranked neurons from the DNN 302 for removal that does not result in the accuracy of the lean DNN 304 falling outside of an accuracy threshold limit. The example neuron elimination selection module 318 is configured to perform the selection iteratively. The neuron elimination selection module 318 is configured to select for removal a number of lower ranked neurons from the DNN 302 (operation 320) and perform an accuracy analysis (operation 322) to ensure that the removal of neurons does not result in the accuracy of the lean DNN 304 falling outside of an accuracy threshold limit. The removal of neurons and the accuracy check is performed iteratively to allow the example neuron elimination selection module 318 to remove just enough neurons to stay within the accuracy threshold limit.”) [Examiner’s Note: Peranandam applies validation data to the DNN as input and generates an output prediction using output layer (e.g., output layer 510). Then uses the prediction accuracy to identify and designate neurons in a specific preceding layers (e.g., 508) for removal. This neural network prediction output accuracy used for identification and selection of a particular layer’s neurons represents a deterministic selection process of a particular node layer preceding the output layer.] and
removing at least one connection from the particular node layer deterministically selected based on the output determined at the last, output stage, node layer of the neural network circuit. (Peranandam, [0004] “A processor-implemented method for reducing the number of neurons and their interconnections in a trained deep neural network (DNN) used in a vehicle is provided.” [0057] “The example system is configured to strategically select non-critical neurons 303 to eliminate from the DNN 302 to produce a lean DNN 304 with non-critical neurons eliminated. The system selects neurons to eliminate that will have low impact on the accuracy of the lean DNN 304.” [0060] “The neuron elimination selection module 318 is configured to select for removal a number of lower ranked neurons from the DNN 302 (operation 320) and perform an accuracy analysis (operation 322) to ensure that the removal of neurons does not result in the accuracy of the lean DNN 304 falling outside of an accuracy threshold limit. The removal of neurons and the accuracy check is performed iteratively to allow the example neuron elimination selection module 318 to remove just enough neurons to stay within the accuracy threshold limit.”) [Examiner’s Note: Peranandam teaches removing selected low ranked neurons (i.e., layer’s neurons) based on the network prediction accuracy analysis. Removing neurons implicitly involve removing all of its associated weighted connections.]
As explained above, while Peranandam determines and selects neurons of specific layer for pruning based on analyzing the network’s prediction/classification outputs, and describes removing those selected neurons form the DNN based on the network prediction accuracy analysis, Peranandam is silent on whether the removal of neurons explicitly includes the removal of weighted connections. However, it would have been obvious in view of Malaya. Hereinafter, Peranandam in view of Malaya teaches:
removing at least one connection from the particular node layer deterministically selected based on the output determined at the last, output stage, node layer of the neural network circuit. (Malaya, [0060] “This pruning disconnects neurons 620 and 625 from ANN 600, resulting in a reduction in the number of neurons in the ANN. If the cost function after pruning is acceptable following the pruning, the pruned configuration of FIG. 6b can be chosen over the original configuration of FIG. 6a as preferable in view of its reduced complexity. In some implementations, such reduced complexity can yield increased inference speed.” [0067] “In step 750, a cost function is calculated by the training device 410 to determine the fit of the output inference to the expected result based on the input data. The cost function can correspond to Equation 2, or otherwise normalize the cost for the number of features in the ANN. ... on a condition 760 that the cost function indicates that the fit between the inference and the expected output is insufficient, the ANN is modified by the training device 410 in step 760. The modification can include, for example, deleting or perturbing connections and/or features (randomly or otherwise) to generate an updated feature vector.”)
Peranandam and Malaya are from the same field of endeavor and their disclosure generally relates to (neural network modification/reduction).
Accordingly, at the effective filing date, it would have been prima facie obvious to one of ordinary skill in the art to modify the combination of Peranandam and Malaya to incorporate method for training an artificial neural network (ANN) as taught by Malaya. One would have been motivated to make such a combination in order to optimize or improve the ANN for size and/or complexity considerations. Thereby, the simplified ANN can reduce inference time with respect to the fully trained network while minimizing or mitigating the loss of accuracy which might potentially result from a simpler network (Malaya [0023]).
Regarding Original Claim 2, Peranandam in view of Malaya teaches the elements of claim 1 as outlined above, and further teaches:
wherein the neural network circuit is a feed-forward neural network circuit. (Malaya, [0018] “Both training of and inference by artificial neural networks (ANNs) begin with the same forward propagation calculation. The training phase also includes a backpropagation calculation.”)
Regarding Currently Amended Claim 3, Peranandam in view of Malaya teaches the elements of claim 1 as outlined above:
selecting the at least one connection randomly; and removing the at least one randomly selected connection. (Malaya, [0046] “In a more specific example, the weights of all or a subset of the artificial neurons of the ANN can be adjusted or perturbed at each iteration (e.g., randomly, or using a search algorithm).” [0067] “The modification can include, for example, deleting or perturbing connections and/or features (randomly or otherwise) to generate an updated feature vector.”) [Examiner’s Note: The act of randomly deleting (i.e., pruning or removing) a connection inherently involves random selection of which connection to delete.]
Regarding Currently Amended Claim 6, Peranandam in view of Malaya teaches the elements of claim 1 as outlined above, and further teaches:
deterministically selecting the at least one particular node layer according to which of a plurality of output ranges defined for possible values produced by the output layer, the output falls into. (Peranandam, [0011] “In one embodiment, determining the prediction accuracy at the outputs of the DNN includes determining the prediction accuracy of the top-1 prediction at the outputs of the DNN and the prediction accuracy of the top-5 predictions at the outputs of the DNN.” [0072] “Referring again to FIG. 3, the example neuron elimination selection module 318 is configured to select a number of lower ranked neurons from the DNN 302 for removal that does not result in the accuracy of the lean DNN 304 falling outside of an accuracy threshold limit. ... The removal of neurons and the accuracy check is performed iteratively to allow the example neuron elimination selection module 318 to remove just enough neurons to stay within the accuracy threshold limit.” [0075] “The half interval rank 709 can be determined by identifying the lower limit 711 and an upper limit 713 of the neuron ranking 715. The neurons in between the lower limit 711 and an upper limit 713 of the neuron ranking 715 are the neurons within the neuron reduction limit 717.”) [Examiner’s Note: In light of the spec, this limitation represents the selection of elements (i.e., connections) between layers if the output is in some output range. The network prediction accuracy threshold limits reads on the output ranges defined for possible values produced by the neural network output. These prediction limits are used in analyzing the network output accuracy and directly used for the selection of the neuron layer for pruning.]
Regarding Currently Amended Claim 11,
The claim recites substantially similar limitation as corresponding claim 1 and is rejected for similar reasons as claim 1 using similar teachings and rationale. Claim 1 is directed to a method, and claim 11 is directed to a system.
Peranandam also teaches: [0051]-[0057] Example on-board sensing tasks performed by the example perception system 74 may include object detection, free-space detection, and object pose detection ... the controller 34 implements machine learning techniques to assist the functionality of the controller 34, such as feature detection/classification. ... FIG. 3 is a block diagram depicting an example system 300 for reducing the complexity or number of neurons of a trained DNN 302 that is implemented via a controller.
Regarding Original Claim 12,
The claim recites substantially similar limitations as corresponding claim 2 and is rejected for similar reasons as claim 2 using similar teachings and rationale.
Regarding Currently Amended Claim 13,
The claim recites substantially similar limitations as corresponding claim 3 and is rejected for similar reasons as claim 3 using similar teachings and rationale.
Regarding Currently Amended Claim 16,
The claim recites substantially similar limitations as corresponding claim 6 and is rejected for similar reasons as claim 6 using similar teachings and rationale.
Regarding Amended Claim 20,
The claim recites substantially similar limitation as corresponding claim 1 and is rejected for similar reasons as claim 1 using similar teachings and rationale. Claim 1 is directed to a method, and claim 20 is directed to a non-transitory computer readable media storing a set of instructions, executable on at least one programmable device, ….
Peranandam also teaches: [0058] “… The example system 300 includes a processing system 306 comprising one or more processors configured by programming instructions on non-transient computer readable media.”
Claim(s) 7 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Peranandam in view of Malaya as described above, and further in view of Gaborski et al., (Pub. No.: US 5052043 A).
Regarding Previously Presented Claim 7, Peranandam in view of Malaya teaches the elements of claim 1 as outlined above.
Peranandam in view of Malaya does not appear to explicitly suggest:
configuring at least some of the weighted connections according to a biasing factor in response to output of the neural network resulting from an input data record, of the received input data, processed by the neural network.
However, Gaborski, in combination with Peranandam in view of Malaya, teaches the limitation:
configuring at least some of the weighted connections according to a biasing factor in response to particular output of the neural network resulting from a particular input data record, of the received input data, processed by the neural network. (Gaborski, [Col. 6, Lines 55-65] “During character recognition, back propagation and adjustment of neural weight and bias values are permitted to occur in response to the network outputs for those characters recognized with a output confidence measure that lies within a pre-defined range.” [Col. 13, Lines 25-30] “This output confidence measure is utilized within the network, as described in detail below, to control back propagation and adjustment of neural weight and bias values. Post-processor 170 utilizes this measure to flag those characters in a page of an input document that have been recognized with low output confidence and are thus likely to be re-classified during a second pass through network 400.” [Col. 17, Lines 40-50] “ Once these weight and bias changes are calculated, component 270 applies these changes, via leads 272 and 274, respectively, to all the individual neurons in the network in order to update the neural weights and bias values accordingly. This recursive process of adjusting the network weights and bias values based upon the error between the target output vector and the actual output vector implements a process of gradient descent which effectively minimizes the sum-squared error, as defined in equation 5 above, for network 200.”)
Accordingly, at the effective filing date, it would have been prima facie obvious to one ordinarily skilled in the art to modify the combination of Peranandam and Malaya to incorporate the method for controlling back propagation and adjustment of neural weight and bias values through an output confidence measure as taught by Gaborski. One would have been motivated to make such a combination in order to accurately adapt its performance to dynamically changing input data. Doing so would provide more robust performance with greater recognition accuracy (Gaborski [Co. 5, Lines 60-70]).
Regarding Previously Presented Claim 17,
The claim recites substantially similar limitations as corresponding claim 7 and is rejected for similar reasons as claim 7 using similar teachings and rationale.
Claim(s) 8 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Peranandam, Malaya, and Gaborski as described above, and further in view of Andoni et al., (Pub. No.: US 20190228312 A1).
Regarding Original Claim 8, the combination of Peranandam, Malaya, and Gaborski teaches the elements of claim 7 as outlined above, and further teaches:
Gaborski further teaches: wherein the biasing factor is a multiplication factor applied to the at least some of the weighted connections through a back-propagation operation in response to a determination that the neural network correctly identified the input data record ... (Gaborski, [Col. 12, Lines 10-20] “Neural network 400, as described in detail below, is trained utilizing a well-known technique of back error propagation (hereinafter referred to as simply "back propagation"). In essence, through this technique, the network is presented with a sequence of successive input bit-maps for known characters. Neural weights and bias values, also as discussed in detail below, are adjusted for each such bit-map such the network produces a correct output for each training character.” [Col. 18, Lines 20-30] “These multipliers multiply the input values by associated weights w1, w2, w3, . . . , wn and apply the resulting products, via leads 340, to respective inputs of summer 350. This summer combines these all the weighted values together with a bias value, θ, appearing on lead 355 to form a sum.”)
While Gaborski teaches the weight and bias changes/adjustment are applied through back-propagation (equations (8)-(11)) in response to confidence determination that an input character has been recognized correctly (with sufficient confidence), Gaborski does not define the neural network processing in the context of anomaly detection.
However, it would have been obvious in view of Andoni. Hereinafter, Andoni, in combination with Peranandam, Malaya, and Gaborski, teaches the limitation:
wherein the biasing factor is a multiplication factor applied to the at least some of the weighted connections through a back-propagation operation in response to a determination that the neural network correctly identified the input data record as being anomalous. (Andoni, [0033] The calculator/detector 130 may initiate adjustment at one or more of the first neural network 110, the second neural network(s) 120, or the third neural network 170, based on the aggregate loss L. For example, link weights, bias functions, bias values, etc. may be modified via backpropagation to minimize the aggregate loss L using stochastic gradient descent. [0034] The calculator/detector 130 may also be configured to output anomaly likelihood 160, as shown in FIG. 1C, The system 100 also outputs an anomaly likelihood 160 for the new data sample. The anomaly likelihood 160 (alternatively referred to as an “AnomalyScore”) may be determined based on Equation 10.)
Accordingly, it would have been obvious to a person having ordinary skill in the art, before the effective filing date of the claimed invention, having the combination of Peranandam, Malaya, and Gaborski before them, to incorporate the anomaly detection training mode as taught by Andoni. One would have been motivated to make such a combination in order to enables utilizing an accurate anomaly detection model to provide significant cost savings in the field (Andoni [0004]).
Regarding Original Claim 18,
The claim recites substantially similar limitations as corresponding claim 8 and is rejected for similar reasons as claim 8 using similar teachings and rationale.
Claim(s) 9 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Peranandam in view of Malaya as outlined above, and further in view of Sturlaugson et al., (Pub. No.: US 20160358099 A1).
Regarding Original Claim 9, Peranandam in view of Malaya teaches the elements of claim 1 as outlined above:
Peranandam in view of Malaya does not appear to explicitly teach:
performing preprocessing on a received raw data record to produce an input data record provided to the neural network circuit, including performing one or more of Gaussian normalization applied to the raw data record, or removing one or more data elements of the raw data record based on at least one of: entropy associated with the one or more data elements, sparseness associated with the one or more data elements, a p-value associated with the one or more data elements, or a low-effect value associated with the one or more data elements.
However, Sturlaugson, in combination with Peranandam and Malaya, teaches the limitations:
performing preprocessing on a received raw data record to produce an input data record provided to the neural network circuit, including performing one or more of Gaussian normalization applied to the raw data record, or removing one or more data elements of the raw data record based on at least one of: entropy associated with the one or more data elements, sparseness associated with the one or more data elements, a p-value associated with the one or more data elements, or a low-effect value associated with the one or more data elements. (Sturlaugson, [0027] “Machine learning systems 10 may include data preprocessor 24, also referred to as an initial data preprocessor and a global preprocessor. Data preprocessor 24 is configured to prepare the input dataset for processing by the experiment module 30. The input to the data preprocessor 24 includes the input dataset provided by the data input module 20. Data preprocessor 24 may apply one or more preprocessing algorithms to the input dataset. For example, the data preprocessor 24 may be configured to discretize, to apply independent component analysis to, to apply principal component analysis to, to eliminate missing data from (e.g., to remove records and/or to estimate data), to select features from, and/or to extract features from the dataset. Some machine learning models 32 may perform more reliably and/or resiliently (e.g., with enhanced generalization and/or less dependence on the training data) if the dataset is preprocessed. Training of some machine learning models 32 may be enhanced (e.g., faster, less overfit) if the dataset is preprocessed. Data preprocessor 24 applies the same preprocessing to the dataset and the processed dataset is delivered to the experiment module 30 to be used by all machine learning models 32 under test. The input data after the optional data preprocessor 24 (e.g., the input dataset or the input dataset as optionally preprocessed by one or more preprocessing algorithms) may be referred to as input feature data and/or the input feature dataset. The input feature data is provided by the data preprocessor 24 to the experiment module 30.” Feature selection and feature extraction are other common tasks of data preprocessor 24 and a class of algorithms that may be present in the preprocessing algorithm library 26.” [0030] “Feature selection generally selects a subset of the input data values. Feature extraction, which also may be referred to as dimensionality reduction, generally transforms one or more input data values into a new data value. Feature selection and feature extraction may be combined into a single algorithm. Feature selection and/or feature extraction may preprocess the input data to simplify training, to remove redundant or irrelevant data, to identify important features (and/or input data), and/or to identify feature (and/or input data) relationships.” Further see [0031]-[0032].)
Accordingly, it would have been obvious to a person having ordinary skill in the art, before the effective filing date of the claimed invention, having the combination of Peranandam, Malaya, and Sturlaugson before them, to incorporate the data preprocessing method as taught by Sturlaugson. One would have been motivated to make such a combination in order to enable more reliable, robust, and/or stable prediction outcome (Sturlaugson [0025]).
Regarding Original Claim 19,
The claim recites substantially similar limitations as corresponding claim 9 and is rejected for similar reasons as claim 9 using similar teachings and rationale.
Claim(s) 10 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Peranandam, Malaya, and Sturlaugson as outlined above, and further in view of Hazard et al., (Pub. No.: US 20190311220 A1).
Regarding Original Claim 10,
the combination of Peranandam, Malaya, and Sturlaugson teaches the elements of claim 9 as outlined above, and further teaches:
As outlined above, Sturlaugson teaches the preprocessing algorithm library includes: Feature selection and/or feature extraction may preprocess the input data to simplify training, to remove redundant or irrelevant data, to identify important features (and/or input data), and/or to identify feature (and/or input data) relationships.
The combination of Peranandam, Malaya, and Sturlaugson does not appear to explicitly teach:
identifying a particular data element as a rare element in response to determining, based on training data to train a learning engine implementation for performing the preprocessing, that the particular data element is present in fewer than an adjustable threshold number of data records comprising the training data, wherein the adjustable threshold number is adjusted based on likelihood of occurrence of anomalous values for the particular data element; and removing from runtime data records the particular data element identified as the rare element.
However, Hazard, in combination with Peranandam, Malaya, and Sturlaugson, teaches the limitation:
wherein removing one or more data elements comprises: identifying a particular data element as a rare element in response to determining, (Hazard, Fig. 1, [0105] “The surprisal is then determined 140 based on the two PDMFs, and a decision is made whether to include 150 the one or more particular data elements in the computer-based reasoning model based on the surprisal. The process 100 may optionally be repeated for multiple data elements or groups of data elements (indicated by the dashed line in FIG. 1). Once the data element(s) are included or excluded from the computer-based reasoning model, a real-world system may be controlled 199 with the computer-based reasoning model (such as an autonomous vehicle, an image labeling system, etc.).” Further described in [0019] – [0023]. An anomalous case with high surprisal (e.g., beyond a threshold) may also be removed upon detection. When a data element with high surprisal produces an anomalous result, it is less extraordinary than when a data element with low surprisal (e.g., beyond a lower threshold) produces an anomalous result.) based on training data to train a learning engine implementation for performing the preprocessing, (Hazard, [0085] “the techniques herein include receiving a request for synthetic training data. For example, a system or system operator may request additional or different training data in order to train a computer-based reasoning system that will be used to control a controllable system.”) that the particular data element is present in fewer than an adjustable threshold number of data records comprising the training data, (Hazard, [0118]–[0121] “Those new data elements with surprisals beyond above a certain threshold would be added to the computer-based reasoning model. Those with surprisals beyond below the threshold may be excluded from the computer-based reasoning model. Further, the computer-based reasoning model may be pruned by excluding the data elements with the lowest surprisal and/or only including those with the highest surprisal. when the determined 140 surprisal is beyond (e.g., below) a certain threshold, the techniques may include flagging that the surprisal is low (not depicted in FIG. 1). This can be useful, for example, during collection of training data.”) wherein the adjustable threshold number is adjusted based on likelihood of occurrence of anomalous values for the particular data element; (Hazard, [0119] “the criteria used for adding (or pruning) may change over time. For example, the threshold to add new cases to a computer-based reasoning model may increase as the model grows, making it yet harder for a case to be included 750 in the model. Additionally, or in the alternative, the threshold to add new cases may decrease over time, allowing cases to be added even if they have lower scores on the checked 730 conditions. Further, the threshold may stay the same and, due to the decreased relative informativeness of cases in the same training domain, fewer cases will be accepted into the model as the model becomes asymptotically representative of the training domain.”) and removing from runtime data records the particular data element identified as the rare element. (Hazard, [0122] “The anomalous data element could be removed from the model. another way a model may be culled by removing data elements associated with anomalous actions (not depicted in FIG. 1). An anomaly could be flagged during later operation (e.g., if an anomalous action occurs, it could be flagged by an operator of the system being controlled). In some embodiments, the context-action pair or data element associated with the anomalous action could be flagged for removal. The anomalous data element could be removed from the model.”)
Accordingly, it would have been obvious to a person having ordinary skill in the art, before the effective filing date of the claimed invention, having the combination of Peranandam, Malaya, Sturlaugson, and Hazard before them, to incorporate the PDMF estimation techniques on the data elements, such as multivariate normal gaussian and maximal entropy as taught by Hazard. One would have been motivated to make such a combination in order to identify and report those with the highest surprisal as anomalous results of the collected data, and thus improving the quality and the accuracy of the model (Hazard [0019] & [0024]).
Claim(s) 21-22 are rejected under 35 U.S.C. 103 as being unpatentable over Peranandam in view of Malaya as outlined above, further in view of Goswami et al., (Pub. No.: US 20190238568 A1), and Koivisto et al., (Pub. No.: US 20190251442 A1).
Regarding Currently Amended Claim 21, Peranandam in view of Malaya teaches the elements of claim 1 as outlined above.
As outlined above, Peranandam in view of Malaya teaches the process of deterministically selecting node layers for pruning based on the prediction output of the neural network (DNN).
Peranandam in view of Malaya further teaches: selecting, randomly and/or deterministically, one or more connections between the identified particular and adjacent consecutive node layer, and removing the one or more selected connections; (Malaya, [0060] “ANN 600 can have more than one input node, more than one output node, and/or more than one layer of artificial neurons, and the artificial neurons can be connected using any suitable dependency arrangement. FIG. 6b is a schematic which illustrates the same example ANN 600 after removing or “pruning” connections 645, 650, 655, and 660 from ANN 600. This pruning disconnects neurons 620 and 625 from ANN 600, resulting in a reduction in the number of neurons in the ANN. If the cost function after pruning is acceptable following the pruning, the pruned configuration of FIG. 6b can be chosen over the original configuration of FIG.” [0067] “Otherwise, on a condition 760 that the cost function indicates that the fit between the inference and the expected output is insufficient, the ANN is modified by the training device 410 in step 760. The modification can include, for example, deleting or perturbing connections and/or features (randomly or otherwise) to generate an updated feature vector.”)
Peranandam in view of Malaya does not appear to explicitly teach:
determining, based on the output at the output stage node layer, occurrence of a triggering event for configuring the neural network circuit; in response to determination of the occurrence of the triggering event for configuring the neural network circuit;
multiplying, in conjunction with removing the one or more selected connections, at least some other connections of the neural network circuit by a biasing factor to increase sensitivity of the neural network circuit.
However, Goswami, in combination with Peranandam in view of Malaya, teaches the limitations:
determining, based on the output at the output stage node layer, occurrence of a triggering event for configuring the neural network circuit; in response to determination of the occurrence of the triggering event for configuring the neural network circuit; (Goswami, [0091]-[0092] “Thus, the trained SVM classifier 632 may be utilized to evaluate the distances between intermediate representations of an input image and the means at the various hidden layers of the DNN and automatically determine, based on this evaluation, whether or not the input image is a distorted image, i.e. an adversarial attack, on the image processing system 600. Based on the classification by the SVM classifier 632, the selective dropout logic 634 may be invoked to mitigate the effects of the adversarial input image data on the operation of the DNN based classifier 642 of the entity identification engine 640. ... Hence the output of the DNN based classifier 642 is made less susceptible to the adversarial input image data and will generate an accurate result even in the presence of such adversarial input image data.” [0110]-[0111] “As shown in FIG. 10, the operation starts by training the SVM classifier to classify adversarial image data based on responses from intermediate layers of the DNN (step 1010). ... The intermediate layer responses identified in the activation data is processed by the SVM classifier to determine if the input image data is adversarial or not (step 1050) and a corresponding determination is made (step 1060). If the input image data is determined to be adversarial, i.e. the input image data contains a distortion indicative of an adversarial attack, then mitigation operations are performed by applying the selective dropout logic to selectively dropout filters in the DNN that are susceptible to adversarial attack (step 1070).”) [Examiner’s Note: the trained classifier acts as output stage (e.g., output layer of the network). The classification decision whether adversarial or not adversarial defines the trigger event.]
deterministically identifying two consecutive node layers, from the plurality of node layers, according to the output at the last, output stage, node layer; selecting, randomly and/or deterministically, one or more connections between the identified two consecutive node layers, and removing the one or more selected connections; (Goswami, [0091]-[0093] “The selective dropout logic 634 is trained as previously described above to identify the hidden layers of the DNN based classifier 642 that contain the most filters that are adversely affected by distortions in input image data. For each of the layers, a top fraction of affected filters are disabled by modifying the weights of these filters (or nodes) to be a weight of 0 before computing features, thereby effectively dropping out these filters or nodes from processing the input image data. Hence the output of the DNN based classifier 642 is made less susceptible to the adversarial input image data and will generate an accurate result even in the presence of such adversarial input image data. Based on the entity identification performed by the entity identification engine 640 using the DNN based classifier 642 whose operation may be modified by the selective dropout logic 634 when adversarial input image data is detected by the SVM classifier 632, the image processing system 600 may output a result, may initiate or trigger an operation, and/or may perform an operation based on the detection and classification of entities or actions present in the modified image data.” [0109] “The feature vector obtained using these distances are used to perform two-class classification with the SVM classifier 870 to determine if the input is adversarial or not. If the input is detected to be adversarial, it may be discarded or subjected to further processing, such as by way of the selective dropout logic 634 in FIG. 6, to improve the robustness of the DNN 820. That is, if the input image is not discarded due to having been identified by the SVM classifier 870 to be adversarial, then selective dropout of filters in intermediate layers of the DNN 820 may be performed based on the operation of the trained selective dropout logic 634 in FIG. 6, for example, and the input image data may be processed by the modified DNN 820 with the dropped-out filters.” [0111]-[0112] “the selective dropout logic is trained to select filters of the DNN to drop in response to the detection of adversarial input image data (step 1020). ... If the input image data is determined to be adversarial, i.e. the input image data contains a distortion indicative of an adversarial attack, then mitigation operations are performed by applying the selective dropout logic to selectively dropout filters in the DNN that are susceptible to adversarial attack (step 1070). Thereafter, or if the input image data is determined to not be adversarial, the image processing is performed based on the result of the processing of the input image data by the DNN (step 1080). It should be appreciated that if the input image data was determined to be adversarial, the result generated by the DNN will be based on the DNN with the selected filters having been dropped-out, i.e. their weights set to 0. The operation then terminates.”)
multiplying, in conjunction with removing the one or more selected connections, at least some other connections of the neural network circuit ... (Goswami, [0057]-[0060] “Once these values are computed, the top η layers are selected based on the aggregated ∈ values for each layer. These are the hidden layers of the DNN identified to contain the most filters that are adversely affected by the distortions in data. For each of the selected η layers, the top κ fraction of affected filters are disabled by modifying the weights of these filters to be a weight of 0 before computing the features. ... The above described approach is referred to herein as “selective dropout” and is aimed at increasing the network's robustness towards noisy data by removing the most problematic filters from the pipeline, i.e. the intermediate layers of the DNN and the internal pipeline of the DNN's processing. The nodes and layers that will be affected by the selective dropout are determined during training with the dropout itself being performed during runtime so that the DNN is modified dynamically when adversarial inputs are detected by the SVM, and the DNN operates without alteration when a non-adversarial input image is received, so as to maximize the level of performance of the DNN.”) [Examiner’s Note: The pipeline would involve reconfiguring the network after the modification (i.e., dropout).]
Accordingly, it would have been obvious to a person having ordinary skill in the art, before the effective filing date of the claimed invention, having the combination of Peranandam, Malaya, and Goswami before them, to incorporate the adversarial image detection and mitigation operations as taught by Goswami. One would have been motivated to make such a combination in order to make face recognition engines more robust and useful in real world applications while enable better performance and computational efficiency (Goswami [0068]).
While the combination of Peranandam, Malaya, and Goswami does not appear to explicitly teach: “multiplying, in conjunction with removing the one or more selected connections, at least some other connections of the neural network circuit by a biasing factor to increase sensitivity of the neural network circuit.” It would have been obvious in view of Koivisto.
Hereinafter, Koivisto, in combination with Peranandam, Malaya, and Goswami, teaches the limitation:
multiplying, in conjunction with removing the one or more selected connections, at least some other connections of the neural network circuit by a biasing factor to increase sensitivity of the neural network circuit. (Koivisto, [0036] “the filter pruning engine 170 removes each filter included in the pruning list from the intermediate neural network 162. In some embodiments, removing a filter involves directly changing the overall structure of the intermediate neural network 162. In other embodiments, removing a filter involves setting each of the weights and biases associated with the filter equal to zero. For each “pruned” filter included in the pruning list, the filter pruning engine 170 also removes any associated kernels included in the subsequent layer from the intermediate neural network 162. More precisely, the filter pruning engine 170 removes the kernels that operate on the channel corresponding to the pruned filter from the intermediate neural network 162. The filter pruning engine 170 sets the pruned neural network 172 equal to the modified intermediate neural network 162. In alternate embodiments, the filter pruning engine 170 may perform bias propagation, filter removal, and kernel removal in any order in any technically feasible fashion. In some embodiments, the filter pruning engine 170 may omit one or both of bias propagation and kernel removal.” [0052]-[0054] “At step 308, for each filter 220 included in the intermediate neural network 162, the filter pruning engine 170 computes the associated average magnitude. At step 310, the filter pruning engine 170 generates the pruning list that includes any number of the filters 220 based on the average magnitudes, the pruning threshold 164, and (optionally) any number of architectural constraints 166. At step 312, for each convolutional layer 210 included in the intermediate neural network 162 other than the final convolutional layer 210, the filter pruning engine 170 computes an associated equivalent bias based on associated filters 220 included in the pruning list. At step 314, for each convolutional layer 210(x) included in the intermediate neural network 162 other than the final convolutional layer 210, the filter pruning engine 170 adjusts the biases 240 included in the subsequent convolutional layer 210(x+1). More precisely, the filter pruning engine 170 adjusts the biases 240 included in the subsequent convolutional layer 210(x+1) of the intermediate neural network 162 based on the equivalent biases associated with the convolutional layer 210(x).”) [Examiner’s Note: Koivisto teaches the process of pruning neural network filters (e.g.., weights/connections) and reconfiguring the network (i.e., re-training) and propagating the weights and biases to generate a pruned network. Accordingly, Koivisto teaches the process of pruning in conjunction with neural network adjustment/reconfiguration. It is noted that the recitation of “to increase sensitivity of the neural network circuit” merely defines the intended result of the biasing factor in the context of neural network processing and does not impose any additional functional or structural limitation on the process.]
Accordingly, it would have been obvious to a person having ordinary skill in the art, before the effective filing date of the claimed invention, having the combination of Peranandam, Malaya, and Goswami to incorporate the pruning/re-training operations of the neural network as taught by Koivisto. One would have been motivated to make such a combination in order to reduce the computation resources needed to perform inference operations (Koivisto [0002]).
Regarding Previously Presented Claim 22,
the combination of Peranandam, Malaya, Goswami, and Koivisto teaches the elements of claim 22 as outlined above, and further teaches:
Goswami further teaches: determining whether the output data corresponds to outlier data indicating the input data to be anomalous. (Goswami, [0109] “The feature vector obtained using these distances are used to perform two-class classification with the SVM classifier 870 to determine if the input is adversarial or not. If the input is detected to be adversarial, it may be discarded or subjected to further processing, such as by way of the selective dropout logic 634 in FIG. 6, to improve the robustness of the DNN 820. That is, if the input image is not discarded due to having been identified by the SVM classifier 870 to be adversarial, then selective dropout of filters in intermediate layers of the DNN 820 may be performed based on the operation of the trained selective dropout logic 634 in FIG. 6, for example, and the input image data may be processed by the modified DNN 820 with the dropped-out filters.” [0122] “For example, in some illustrative embodiments, in response to the output of the SVM classifier indicating that the new input data is adversarial input data, a responsive operation may be performed that comprises one or more of shutting down operation of a downstream computing system, operating the downstream computing system under a conservative policy configuration, or alerting one or more contingent systems in the eco-system to take an appropriate action based on the adversarial input data. In some other illustrative embodiments, the responsive operation may comprise one or more of discontinuing further processing of the input data, generating and outputting a notification indicating detection of the adversarial input, or logging an event in a log data structure indicating detection of the adversarial input.” Further see [0025].)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
(Pub. No.: US 20180300629 A1) – “Sepideh KHARAGHANI” relates to “System and method for training a neural network.” FIG. 2A.
(Pub. No.: US 20210027166 A1) – “Dmitry Gorokhov” relates to “Dynamic pruning of neurons on-the-fly to accelerate neural network inferences.”
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SADIK ALSHAHARI whose telephone number is (703)756-4749. The examiner can normally be reached Monday Friday, 9 A.M - 6 P.M. ET.
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, Li Zhen can be reached on (571) 272-3768. 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.
/S.A.A./Examiner, Art Unit 2121
/Li B. Zhen/Supervisory Patent Examiner, Art Unit 2121