IP Library Granted Patent US 12,367,394
Granted Patent B2
US 12,367,394 · App. 18/213,746 · Granted Jul 22, 2025

Protecting deep learned models

Inventors: Sriram Srinivasan (Sammamish, WA); David Yuheng Zhao (Redmond, WA); Ming-Chieh Lee (Bellevue, WA); Mu Han (Clyde Hill, WA)
Assignee: Microsoft Technology Licensing, LLC
G06N3/082G06F17/16G06N5/04G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,367,394
App. No.
18/213,746
Granted
Jul 22, 2025
Kind
B2
Abstract

Apparatus and methods are disclosed for using machine learning models with private and public domains. Operations can be applied to transform input to a machine learning model in a private domain that is kept secret or otherwise made unavailable to third parties. In one example of the disclosed technology, a method includes applying a private transform to produce transformed input, providing the transformed input to a machine learning model that was trained using a training set modified by the private transform, and generating inferences with the machine learning model using the transformed input. Examples of suitable transforms that can be employed include matrix multiplication, time or spatial domain to frequency domains, and partitioning a neural network model such that an input and at least one hidden layer form part of the private domain, while the remaining layers form part of the public domain.

Claims (57)

1. Computer-readable storage devices or memory storing computer-readable instructions that when executed by at least one processor in a computing system, cause the computing system to train or generate inferences with a machine learning model using at least a first domain and a second domain of computing system resources, the computing system being configured to provide fewer access restrictions to a first domain of the computing system resources than access restrictions provided to a second domain of the computing system resources, the computer-readable instructions comprising:

instructions for a scrambler that cause the computing system, with the second domain computing resources to scramble input data by performing a transform operation on the input data, producing transformed input data for use training or generating inferences with the machine learning model; and

instructions that cause the computing system to, with the first domain computing resources, train or generate inferences with the machine learning model by forward propagating the transformed input through the machine learning model.

2. The computer-readable storage devices or memory of claim 1 , wherein the scrambler instructions comprise instructions that cause the computing system to scramble input to produce the transformed input data by at least one of:

performing matrix operations on the input data;

transforming audio or image data in the input data to frequency domain data; and

decrypting the input data using a decryption key or cipher.

3. The computer-readable storage devices or memory of claim 1 , wherein the scrambler instructions comprise instructions that cause the computing system to scramble input to produce the transformed input data by:

implementing some nodes of an artificial neural network in the second domain and the remaining nodes of the artificial neural network in the first domain.

4. The computer-readable storage devices or memory of claim 1 , the instructions further comprising:

instructions that cause the computing system to perform training reconfiguration of the machine learning model by:

forward propagating the transformed input to outputs of the machine learning model,

determining errors between expected values of the outputs and output values of the machine learning model outputs, and

adjusting at least one parameter of the machine learning model based on the determined errors; and

instructions that cause the computing system to repeatedly perform the training reconfiguration until a metric of the determined errors exceeds a predetermined threshold.

5. The computer-readable storage devices or memory of claim 1 , wherein the computer-readable storage devices or memory further comprise:

instructions that cause the computing system to generate a prediction for the input based on output of the machine learning model, the outputs being generated by forward propagating the transformed input through the machine learning model.

6. The computer-readable storage devices or memory of claim 1 , wherein the scrambler instructions further comprise:

instructions that cause the processor to perform the transform operation with a matrix provided using the second domain computing system resources, the matrix being restricted from being accessed by the first domain computing system resources.

7. The computer-readable storage devices or memory of claim 1 , wherein:

the input data is expressed in a physical domain and the transformed input data is in a frequency domain; and

the transformed input data comprises rearranged samples of the frequency domain, the samples being rearranged using the scrambler.

8. The computer-readable storage devices or memory of claim 1 , wherein the scrambler instructions comprise:

instructions that cause the computing system to obtain a decryption key from the second domain compute resources; and

instructions that cause the computing system to perform the transform by decrypting data.

9. The computer-readable storage devices or memory of claim 1 , wherein the machine learning model is an artificial neural network, and wherein the scrambler provides an input layer and nodes for a next layer of the artificial neural network that are accessible to computing system resources accessible to the second domain but not accessible to the first domain, and wherein at least some of the remaining nodes of the artificial neural network are accessible to computing system resources of the first domain.

10. A computing system comprising the at least one processor, the first domain and the second domain of the computing system resources, and the computer-readable storage devices or memory of claim 1 .

11. A method of operating a computing system having first compute resources and second compute resources, the method being performed with at least one processor of the computing system implementing a machine learning model using the first compute resources and the second compute resources, the method comprising:

by the computing system:

obtaining scrambler data from a first compute resource, the scrambler data of the first compute resources being restricted from being accessed by the second compute resources;

scrambling input data using the obtained scrambler data to produce transformed input data for use with the second compute resources of the machine learning model; and

propagating the transformed input to outputs of the machine learning model using the second compute resources.

12. The method of claim 11 , wherein the machine learning model is an artificial neural network, and wherein the method further comprises training the artificial neural network by:

repeatedly adjusting weights or activation functions for at least one node of the artificial neural network, the adjusted weights or activation functions being determined by calculating loss for the outputs produced by the propagating using the transformed input; and

storing data representing the adjusted weights or activation functions in a computer-readable storage device or medium.

13. The method of claim 11 , further comprising generating inferences with the machine learning model by:

outputting at least one predication for the input based on the outputs produced by the propagating using the transformed input.

14. The method of claim 11 , wherein:

the scrambler data comprises a decryption key; and

the scrambling comprises using the decryption key to move, transpose, and/or substitute data for at least a portion of the input.

15. The method of claim 11 , wherein the scrambler data comprises data, computer-executable instructions, or data and computer-executable instructions used to perform the scrambling the input, the method further comprising:

encrypting the scrambler data; and

storing the encrypted scrambler data in a computer-readable storage device or medium.

16. The method of claim 11 , wherein:

the machine learning model is an artificial neural network;

the scrambling the input uses the first compute resources to provide nodes for an input layer and nodes for at least a next layer of the artificial neural network; and

the propagating the transformed input comprises using the second compute resources, but not the first compute resources, to process node values for the remaining nodes of the artificial neural network.

17. The method of claim 16 , further comprising:

storing data representing at least a portion of the input layer nodes or the next layer nodes in a proprietary format in a computer-readable storage device or medium, access to stored data being restricted from being accessed by the first compute resources; and

storing data representing at least a portion of the remaining nodes in an open source format in a computer-readable storage device or medium accessible by the first compute resources.

18. The method of claim 16 , wherein the scrambling the input comprises:

transforming physical domain samples in the input to frequency domain samples; and

moving at least one of the frequency domain samples to a different position in the transformed input.

19. One or more computer-readable storage media storing computer-readable instructions, which when executed, cause the computer system to perform the method of claim 10 .

20. A computing system having a first domain of computing resources and a second domain of computing resources configured to implement a machine learning model, the computing system being configured to secure data stored in the first domain of computing resources with greater restriction than data stored in the second domain of the computing resources, the computing system comprising:

means for scrambling input data stored in the first domain into transformed input output to the second domain, the means for scrambling input being operable to perform a transform operation to produced transformed input data for use in training, or generating inferences with, the machine learning model; and

means for training or generating inferences with a machine learning model using the transformed input output to the second domain, the means for training being operable to train or generate inferences with the machine learning model by forward propagating the transformed input through the machine learning model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2023
From: SRINIVASAN, SRIRAM; ZHAO, DAVID YUHENG; LEE, MING-CHIEH; HAN, MU
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064057/0235 →
Continuity (3)
Continuation 16828889 · Mar 24, 2020
Provisional Application 62929911 · Nov 3, 2019
Related Publication 20230334322A1 · Oct 19, 2023
References Cited (101)
US 4177476A · Kroger et al. · 1979 [cited by applicant]
US 4242534A · Marsing · 1980 [cited by applicant]
US 4366494A · Ohta · 1982 [cited by applicant]
US 4660061A · Sweeny et al. · 1987 [cited by applicant]
US 5110034A · Simmonds · 1992 [cited by applicant]
US 5326988A · Ishida · 1994 [cited by applicant]
US 5386870A · Nieman et al. · 1995 [cited by applicant]
US 5571602A · Eckels et al. · 1996 [cited by applicant]
US 5773875A · Chan · 1998 [cited by applicant]
US 5793056A · Forrester et al. · 1998 [cited by applicant]
US 5821556A · Chew et al. · 1998 [cited by applicant]
US 6051846A · Burns et al. · 2000 [cited by applicant]
US 6088604A · Williams et al. · 2000 [cited by applicant]
US 6304538B1 · Hayashi · 2001 [cited by applicant]
US 6352741B1 · Chan et al. · 2002 [cited by applicant]
US 6353234B1 · Faley et al. · 2002 [cited by applicant]
US 6438967B1 · Sarwinski et al. · 2002 [cited by applicant]
US 6642608B1 · Hu · 2003 [cited by applicant]
US 9880365B2 · Goutzoulis et al. · 2018 [cited by applicant]
US 10445641B2 · Srinivasan · 2019 [cited by examiner]
US 10795984B1 · Rafferty · 2020 [cited by examiner]
US 11386295B2 · Silberman · 2022 [cited by examiner]
US 11763157B2 · Srinivasan · 2023 [cited by examiner]
US 20050062131A1 · Murduck et al. · 2005 [cited by applicant]
US 20050092981A1 · Hung · 2005 [cited by applicant]
US 20060072254A1 · Sargent et al. · 2006 [cited by applicant]
US 20060240991A1 · Takahashi · 2006 [cited by applicant]
US 20070185706A1 · Chen et al. · 2007 [cited by applicant]
US 20080015850A1 · Chen et al. · 2008 [cited by applicant]
US 20080278166A1 · Wosik et al. · 2008 [cited by applicant]
US 20100087322A1 · Yuan et al. · 2010 [cited by applicant]
US 20100184604A1 · Roden et al. · 2010 [cited by applicant]
US 20100210468A1 · Lee et al. · 2010 [cited by applicant]
US 20130082804A1 · Kawaguchi · 2013 [cited by applicant]
US 20130258595A1 · Tuckerman · 2013 [cited by applicant]
US 20140100119A1 · Schlenga et al. · 2014 [cited by applicant]
US 20140110848A1 · Taylor et al. · 2014 [cited by applicant]
US 20160125311A1 · Fuechsle et al. · 2016 [cited by applicant]
US 20170084280A1 · Srinivasan et al. · 2017 [cited by applicant]
US 20170123171A1 · Goutzoulis et al. · 2017 [cited by applicant]
US 20180008957A1 · Goto · 2018 [cited by applicant]
US 20180089574A1 · Goto · 2018 [cited by examiner]
US 20180129900A1 · Kiraly et al. · 2018 [cited by applicant]
US 20180150488A1 · Runchey · 2018 [cited by examiner]
US 20180268296A1 · Zheng · 2018 [cited by examiner]
US 20190051286A1 · Sorensen et al. · 2019 [cited by applicant]
US 20190073993A1 · Cutler et al. · 2019 [cited by applicant]
US 20190130272A1 · Yosinski · 2019 [cited by examiner]
US 20190259404A1 · Srinivasan et al. · 2019 [cited by applicant]
US 20200019842A1 · Kim · 2020 [cited by examiner]
US 20200194017A1 · Jensen et al. · 2020 [cited by applicant]
US 20200194029A1 · Jensen et al. · 2020 [cited by applicant]
US 20200401866A9 · Atkinson · 2020 [cited by applicant]
US 20200401886A1 · Deng · 2020 [cited by examiner]
US 20210097427A1 · Clark · 2021 [cited by examiner]
US 20220044120A1 · Pham · 2022 [cited by examiner]
CN 108804931A · 2018 [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US20/056734”, Mailed Date: Feb. 10, 2021, 12 Pages. [cited by applicant]
Anonymous, Artificial Intelligence Index 2017 Annual Report, Nov. 2017, 101 pages. [cited by applicant]
Baydin et al., “Automatic Differentiation in Machine Learning: a Survey,” [cited by applicant]
Chen et al., “Compressing Neural Networks with the Hashing Trick,” [cited by applicant]
Chiu et al., “State-of-the-art Speech Recognition with Sequence-to-Sequence Models,” arXiv:1712.01769v6 [cs.CL] Feb. 23, 2018, 5 p. also cited as 2018 [cited by applicant]
Colah, “Understanding LSTM Networks,” posted on Aug. 27, 2015, 13 pages. [cited by applicant]
CS231n Convolutional Neural Networks for Visual Recognition, downloaded from cs231n.github.io/optimization-2, Dec. 20, 2018, 9 pages. [cited by applicant]
Denil et al., Predicting Parameters in Deep Learning, In Advances in Neural Information Processing Systems, Dec. 2013, pp. 2148-2156. [cited by applicant]
Dowlin et al., “CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy,” Proceedings of the 33rd International Conference on Machine Learning, Jun. 2016, 10 pages. [cited by applicant]
FFT/IFFT Block Floating Point Scaling, Altera Corporation Application Note 404, Oct. 2005, ver. 1.0, 7 pages. [cited by applicant]
Gomez, “Backpropogating an Lstm: A Numerical Example,” Apr. 18, 2016, downloaded from medium.com/@aidangomez/let-s-do-this-f9b699de31d9, Dec. 20, 2018, 8 pages. [cited by applicant]
Goodfellow et al., “Deep Learning,” downloaded from http://www.deeplearningbook.org/ on May 2, 2018, (document dated 2016), 766 pages. [cited by applicant]
Gu, et al., “Securing Input Data of Deep Learning Inference Systems via Partitioned Enclave Execution”, In arxiv preprint arxiv, Cornell University Library, Jul. 3, 2018, 14 Pages. [cited by applicant]
He et al., “Deep Residual Learning for Image Recognition,” arXiv preprint arXiv:1512.03385v1 [cs.CV] Dec. 10, 2015. [cited by applicant]
Ioffe et al., “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift,” arXiv:1502.03167v3 [cs.LG], Mar. 2015, 11 pages. [cited by applicant]
Jain et al., “Gist: Efficient Data Encoding for Deep Neural Network Training,” 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture, Jun. 2018, 14 pages. [cited by applicant]
Karl N's Blog., “Batch Normalization—What the hey?,” Posted on Jun. 7, 2016, downloaded from gab41.lab41.org/batch-normalization-what-the-hey-d480039a9e3b, Jan. 9, 2019, 7 pages. [cited by applicant]
Kevin's Blog, “Deriving the Gradient for the Backward Pass of Batch Normalization,” Posted on Sep. 14, 2016, downloaded from kevinzakka.github.io/2016/09/14/batch_normalization/, Jan. 9, 2019, 7 pages. [cited by applicant]
Kratzert's Blog, “Understanding the backward pass through Batch Normalization Layer,” Posted on Feb. 12, 2016, downloaded from kratzert.github.io/2016/02/12/understanding-the-gradient-flow-through-the-bathch-nor . . . o… [cited by applicant]
Langhammer et al., “Floating-Point DSP Block Architecture for FPGAs,” Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Feb. 2015, pp. 117-125. [cited by applicant]
Le et al., “Neural Architecture Search with Reinforcement Learning,” PowerPoint presentation, 37 pages. [cited by applicant]
Le, “A Tutorial on Deep Learning, Part 1: Nonlinear Classifiers and the Backpropagation Algorithm,” Dec. 2015, 18 pages. [cited by applicant]
Le, “A Tutorial on Deep Learning, Part 2: Autoencoders, Convolutional Neural Networks and Recurrent Neural Networks,” Oct. 2015, 20 pages. [cited by applicant]
Li et al., “Stochastic Modified Equations and Adaptive Stochastic Gradient Algorithms,” Proceedings of the 34th International Conference on Machine Learning, PMLR 70, 2017, 10 pages. [cited by applicant]
Lin et al., “Onnc: A Compilation Framework Connecting ONNX to Proprietary Deep Learning Accelerators,” 2019 IEEE International Conference on Artificial Intelligence Circuits and Systems (AICAS), Mar. 2019, pp. 214-218. [cited by applicant]
Lou et al., “Glyph: Fast and Accurately Training Deep Neural Networks on Encrypted Data,” arXiv: 1911.07101v2 [cs.LG], Jan. 30, 2020, 11 pages. [cited by applicant]
Mellempudi et al., “Ternary Neural Networks with Fine-Grained Quantization,” May 2017, 11 pages. [cited by applicant]
Nandakumar et al., “Towards Deep Neural Network Training on Encrypted Data,” 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), Jun. 2019, 9 pages. [cited by applicant]
Nielsen, “Neural Networks and Deep Learning,” downloaded from http://neuralnetworksanddeeplearning.com/index.html on May 2, 2018, document dated Dec. 2017, 314 pages. [cited by applicant]
Page, “Neural Networks and Deep Learning,” available at: http://www.cs.wisc.edu/˜dpage/cs760/, (2017), 73 pp. [cited by applicant]
Russinovich, “Inside the Microsoft FPGA-based Configurable Cloud,” Microsoft Corporation, Powerpoint Presentation; 41 pp. (May 8, 2017). [cited by applicant]
Smith et al., “A Bayesian Perspective on Generalization and Stochastic Gradient Descent,” [cited by applicant]
Szegedy et al., “Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning,” arXiv:1602.07261v2, Aug. 23, 2016, 12 pages. [cited by applicant]
Szegedy et al., “Rethinking the Inception Architecture for Computer Vision,” arXiv:1512.00567v3 [cs.CV] Dec. 11, 2015, 10 pages. [cited by applicant]
TITU1994 Blog, “Neural Architecture Search with Controller RNN,” downloaded from github.com/titu1994/neural-architecture-search on Jan. 9, 2019, 3 pages. [cited by applicant]
Vucha et al., “Design and FPGA Implementation of Systolic Array Architecture for Matrix Multiplication,” [cited by applicant]
Weinberger et al., “Feature Hashing for Large Scale Multitask Learning,” In [cited by applicant]
Wen et al., “Learning Structured Sparsity in Deep Neural Networks,” In [cited by applicant]
Xiong et al., “Achieving Human Parity in Conversational Speech Recognition,” arXiv:1610.05256v2 [cs:CL] Feb. 17, 2017, 13 pages. [cited by applicant]
Yeh, “Deriving Batch-Norm Backprop Equations,” downloaded from chrisyeh96.github.io/2017/08/28/deriving-batchnorm-backprop on Dec. 20, 2018, 5 pages. [cited by applicant]
Zhang et al., “GELU-Net: A Globally Encrypted, Locally Unencrypted Deep Neural Network for Privacy-Preserved Learning,” [cited by applicant]
Gu et al., “Securing Input Data of Deep Learning Inference Systems via Partitioned Enclave Execution,” (2018), 14 pages. [cited by applicant]
Zoph et al., “Learning Transferable Architectures for Scalable Image Recognition,” arXiv.1707.07012v1, Jul. 2017, 14 pages. [cited by applicant]
Zoph et al., “Neural Architecture Search with Reinforcement Learning,” 5th International Conference on Learning Representations, Apr. 2017, 16 pages. [cited by applicant]