Protection of neural networks by obfuscation of neural network operations and architecture

US12393679B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12393679-B2
Application numberUS-202118267773-A
CountryUS
Kind codeB2
Filing dateDec 16, 2021
Priority dateDec 21, 2020
Publication dateAug 19, 2025
Grant dateAug 19, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Aspects of the present disclosure involve implementations that may be used to protect neural network models against adversarial attacks by obfuscating neural network operations and architecture. Obfuscation techniques include obfuscating weights and biases of neural network nodes, obfuscating activation functions used by neural networks, as well as obfuscating neural network architecture by introducing dummy operations, dummy nodes, and dummy layers into the neural networks.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method to execute using at least one or more hardware processors, a neural network model that has a plurality of nodes, the method comprising: obtaining, using the one or more hardware processors, a vector of input values for a first node of the plurality of nodes, wherein the first node is associated with a plurality of parameters that map the vector of input values to a target weighted input value of the first node, the plurality of parameters comprising one or more weights for the first node; performing, using the one or more hardware processors, a first transformation of the plurality of parameters to obtain an expanded plurality of parameters for the first node, wherein performing the first transformation comprises: obtaining an expanded weight matrix comprising the one or more weights for the first node and a plurality of obfuscation weights; and determining, using the one or more hardware processors, based on the vector of input values and the expanded plurality of parameters, one or more weighted input values for the first node, wherein the target weighted input value is obtainable from the one or more weighted input values using a second transformation, and wherein determining the one or more weighted input values for the first node is based, at least in part, on the expanded weight matrix. 2. The method of claim 1 , wherein the plurality of parameters further comprises a bias value for the first node, and wherein performing the first transformation further comprises: obtaining an expanded bias vector comprising the bias value for the first node and a plurality of obfuscation biases; and wherein determining the one or more weighted input values for the first node comprises: performing a first masking transformation to obtain a masked weight matrix from the expanded weight matrix; and performing a second masking transformation to obtain a masked bias vector from the expanded bias vector. 3. The method of claim 2 , wherein performing the first masking transformation comprises multiplying the expanded weight matrix by a masking matrix, and wherein performing the second masking transformation comprises multiplying the expanded bias vector by the masking matrix. 4. The method of claim 3 , wherein determining the one or more weighted input values for the first node further comprises: adding the masked bias vector to a product of the masked weight matrix and the vector of input values. 5. The method of claim 2 , further comprising: updating at least one of the first masking transformation or the second masking transformation. 6. The method of claim 1 , wherein the first node is further associated with an activation function, the method further comprising: determining, using the one or more hardware processors, a composite activation function formed by the activation function and the second transformation. 7. The method of claim 6 , further comprising: applying the composite activation function to the one or more weighted input values for the first node to obtain an output value for the first node. 8. The method of claim 7 , wherein the obtained output value is representative of a target output value, wherein the target output value is equal to a value of the activation function applied to the target weighted input value. 9. The method of claim 7 , wherein the activation function is a function that is discontinuous or a function that has a discontinuous derivative, and wherein applying the composite activation function further comprises: obfuscating a location of a point of discontinuity. 10. The method of claim 9 , wherein the composite activation function is a step function and wherein applying the composite activation function further comprises shifting the step function into a same-sign domain of output values. 11. The method of claim 7 , wherein the activation function is a sigmoid function, and wherein the one or more weighted input values input into the composite activation function are additively masked and an output value of the composite activation function is multiplicatively masked. 12. A computer-implemented method performed using one or more hardware processors, the method comprising: identifying a neural network (NN) model to be protected against adversarial attacks, wherein the NN model includes a plurality of nodes and is configured to generate, based on an input into the NN model, a target output of the NN model; and obtaining a modified NN model configured to output the same target output based on the same input, wherein obtaining the modified NN model comprises: obtaining, using the one or more hardware processors, a vector of input values for a first node of the plurality of nodes, wherein the first node is associated with a plurality of parameters that map the vector of input values to a target weighted input value of the first node, the plurality of parameters comprising one or more weights for the first node; performing, using the one or more hardware processors, a first transformation of the plurality of parameters to obtain an expanded plurality of parameters for the first node, wherein performing the first transformation comprises; obtaining an expanded weight matrix comprising the one or more weights for the first node and a plurality of obfuscation weights; and determining, using the one or more hardware processors, based on the vector of input values and the expanded plurality of parameters, one or more weighted input values for the first node, wherein the target weighted input value is obtainable from the one or more weighted input values using a second transformation, and wherein determining the one or more weighted input values for the first node is based, at least in part, on the expanded weight matrix. 13. A system to execute a neural network model that has a plurality of nodes, the system comprising: a memory device; and a processing device communicatively coupled to the memory device, the processing device to: obtain a vector of input values for a first node of the plurality of nodes, wherein the first node is associated with a plurality of parameters that map the vector of input values to a target weighted input value of the first node, the plurality of parameters comprising one or more weights for the first node; perform a first transformation of the plurality of parameters to obtain an expanded plurality of parameters for the first node, wherein to perform the first transformation, the processing device is to: obtain an expanded weight matrix comprising the one or more weights for the first node and a plurality of obfuscation weights; and determine, based on the vector of input values and the expanded plurality of parameters, one or more weighted input values for the first node, wherein the target weighted input value is obtainable from the one or more weighted input values using a second transformation, and wherein to determine the one or more weighted input values for the first node, the processing device is to use the expanded weight matrix. 14. The system of claim 13 , wherein the plurality of parameters further comprises a bias value for the first node, and wherein to perform the first transformation, the processing device is further to: obtain an expanded bias vector comprising the bias value for the first node and a plurality of obfuscation biases; and wherein to determine the one or more weighted input values for the first node, the processing device is to: perform a first masking transformation to obtain a masked weight matrix from the expanded weight matrix; and perform a second masking trans

Assignees

Inventors

Classifications

  • G06F21/14Primary

    against software analysis or reverse engineering, e.g. by obfuscation · CPC title

  • Computing arrangements based on specific mathematical models · CPC title

  • characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title

  • modifying the architecture, e.g. adding, deleting or silencing nodes or connections · CPC title

  • Feedforward networks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12393679B2 cover?
Aspects of the present disclosure involve implementations that may be used to protect neural network models against adversarial attacks by obfuscating neural network operations and architecture. Obfuscation techniques include obfuscating weights and biases of neural network nodes, obfuscating activation functions used by neural networks, as well as obfuscating neural network architecture by int…
Who is the assignee on this patent?
Cryptography Res Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/14. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 19 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).