This application relates generally to the training and implementation of machine learning models that enable secure data analysis and inference.
Various cloud based machine learning models with deep neural networks are utilized to analyze data and infer information from the analyzed data using the deep neural networks. Such machine learning models are operational in multiparty communication systems that may include, for example, a client computer and a server. The client computer may transmit locally stored data to the server, which in turn, may apply or implement one or more trained deep neural networks on the data for the purpose of facilitating inference of or determination of additional information specific to the data. For example, the client computer may be a smartphone of a patient that is utilized by the patient to transmit sensitive medical data (e.g., patient symptoms) to the server, which may then apply one or more deep neural networks, as part of one or more machine learning models, on the received medical data for the purpose of inferring or determining a diagnosis. However, the transmission of patient data and the application of the deep neural networks on the data results in the revelation of confidential patient data and exposure of proprietary information associated with the machine learning model. As such, the privacy of the client and that of the server is compromised.
In some embodiments, a method that implements quantization and cryptographic protocol based machine learning models for facilitating confidential data analysis and inference is provided. The method includes initiating a cryptographic protocol between a first computing environment and a second computing environment, the initiating including: securing, in association with the second computing environment, content associated with data of a user associated with the first computing environment, and securing, in association with the first computing environment, at least one parameter associated with a trained machine learning model, implementing the trained machine learning model on the data that is secured, the trained machine learning model operating on the first computing environment and the second computing environment, determining an output associated with the data that is secured, responsive to the implementing of the trained machine learning model, and providing the output to the first computing environment.
In some variations, one or more of the features disclosed herein including the following features can optionally be included in any feasible combination. The securing of the at least one parameter associated with the trained machine learning model includes masking the at least one parameter in association with the first computing environment or encrypting the at least one parameter in association with the first computing environment. Further, the initiating of the cryptographic protocol includes performing linear operations and non-linear operations on the data, wherein the linear operations are based on arithmetic sharing protocol and the non-linear operations are based on garbled circuit protocol. Further, the linear operations includes a standard matrix multiplication operation performed on the data and a factored matrix multiplication operation performed on the data and the non-linear operations includes a max pooling operation and implementation of a rectified linear unit (ReLU) function.
In some variations, one or more of the features disclosed herein including the following features can optionally be included in any feasible combination. The training of the trained machine learning model includes performing quantization operations on operands during inference of a plurality of deep neural networks for generating a first set of parameter configuration, performing clustering operations on weights of the deep neural networks for generating a second set of parameter configurations, and implementing a parameter configuration action on the first set of parameter configurations and the second set of parameter configurations. The implementing of the parameter configuration action on the first set of parameter configurations and the second set of parameter configurations comprises: determining that at least one subset of the first set of parameter configurations satisfies a first threshold value and at least one subset of the second set of parameter configurations satisfies a second threshold value; and generating a score function based on the at least one subset of the first set of parameter configurations and at least one subset of the second set of parameter configurations.
In some embodiments, a system that implements quantization and cryptographic protocol based machine learning models for facilitating confidential data analysis and inference is provided. The system includes at least one processor; and at least one non-transitory computer readable media storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations that comprise: initiating a cryptographic protocol between a first computing environment and a second computing environment, the initiating including: securing, in association with the second computing environment, content associated with data of a user associated with the first computing environment, and securing, in association with the first computing environment, at least one parameter associated with a trained machine learning model, implementing the trained machine learning model on the data that is secured, the trained machine learning model operating on the first computing environment and the second computing environment, determining an output associated with the data that is secured, responsive to the implementing of the trained machine learning model, and providing the output to the first computing environment.
In some embodiments, a non-transitory computer readable media enabling the implementation of quantization and cryptographic protocol based machine learning models for facilitating confidential data analysis and inference is provided. The at least one non-transitory computer readable media stores instructions that, when executed by at least one processor, cause the at least one processor to perform operations that comprise initiating a cryptographic protocol between a first computing environment and a second computing environment, the initiating including: securing, in association with the second computing environment, content associated with data of a user associated with the first computing environment, and securing, in association with the first computing environment, at least one parameter associated with a trained machine learning model, implementing the trained machine learning model on the data that is secured, the trained machine learning model operating on the first computing environment and the second computing environment, determining an output associated with the data that is secured, responsive to the implementing of the trained machine learning model, and providing the output to the first computing environment.
In some embodiments, another system that implements quantization and cryptographic protocol based machine learning models for facilitating confidential data analysis and inference is provided. The system comprises a protocol module configured to initiate a cryptographic protocol between a first computing environment and a second computing environment, the initiating including: securing, in association with the second computing environment, content associated with data of a user associated with the first computing environment, and securing, in association with the first computing environment, at least one parameter associated with a trained machine learning model, a machine learning module configured to implement a trained machine learning model on the data that is secured, the machine learning model operating on the first computing environment and the second computing environment, a determination module configured to determine an output associated with the data that is secured, responsive to the implementing of the trained machine learning model; and output module configured to provide the output to the first computing environment.
The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims.
The accompanying drawings, which are incorporated in and constitute a part of this specification, show certain aspects of the subject matter disclosed herein and, together with the description, help explain some of the principles associated with the disclosed implementations. In the drawings,
As stated above, multiparty communication systems utilize cloud based machine learning models with deep neural networks to analyze data of varying levels of complexity and determine or infer information associated with such data using the deep neural networks. Such cloud based machine learning models are utilized in several applications such as facial recognition and authentication, medical diagnosis and health monitoring, speech recognition, and so forth. However, implementation of such cloud based machine learning models results in the revelation of confidential and/or proprietary information of all parties of the multiparty system. For example, in the medical diagnosis and health monitoring example, a patient may reveal confidential and sensitive medical information to a medical company. Further, proprietary information related to the medical company's machine learning model may be revealed to or accessible via, for example, a smartphone of the patient. In particular, a patient may interact with a software application operating on the patient's smartphone (or laptop, and so forth) and input confidential medical patient data, which may be accessible by the server of the medical company. It is noted, however, that the confidential medical data may not be removed from the first computing environment, for example, the smartphone of the patient. Further, operation of the application on the patient's smartphone may enable the smartphone to access parameters (e.g., proprietary and/or confidential ML parameters) associated with one or more deep neural networks of one or more machine learning models of the medical company, e.g., while the model analyzes the patient's data while operating on the patient's smartphone. As such, current multiparty communication systems that utilize deep neural networks for data analysis and data inference compromise data privacy of multiple parties.
In some embodiments, the system may addresses and/or overcomes one or more of the above noted deficiencies. For example, the present disclosure describes a data analysis and inference framework that comprises a trained machine learning model operating in conjunction with a cryptographic protocol to enable data analysis and inference while maintaining data privacy and privacy of the machine learning trained model. In operation, for example, the data analysis and implementation framework may include a trained machine learning model that operates simultaneously on a smartphone of a patient and a server of a medical company. Further, in operation, the patient may request diagnosis and treatment from the medical company, which may involve the patient interacting with an application on his smartphone and inputting data, e.g., medical data that the patient would like to keep private, into the application. At this point, the patient's smartphone and the server of the medical company may concurrently initiate a cryptographic protocol, prior to communicating or sharing any data. For example, after the patient inputs the medical data via his smartphone application, the cryptographic protocol may secure the medical data (e.g., encrypt or mask the content of the data) and communicate the secure data to the server.
The smartphone of the patient and the server may then jointly implement the machine learning trained model on the securely shared medical data and generate an output, e.g., a diagnosis of an illness from which the patient may be suffering. It is noted the medical data that is shared from the patient's phone would not be accessible via or visible to the server. Further, it is noted that, in embodiments, the output that is generated by the joint implementation may also not be visible or accessible via the server. In embodiments, the generated output (e.g., the diagnosis) may be encrypted or masked and the masked output accessible to the patient's smartphone. The patient's smartphone may then utilize the cryptographic protocol to decrypt the generated result and view the diagnosis. In this way, both the medical data (e.g., sensitive data) initially provided by the patient and the diagnosis (e.g., result) determined by the server are concealed from the server.
Further, in some embodiments, while the trained machine learning model operates on the patient's smartphone, one or more parameters (e.g., weights associated with the deep neural networks of the trained machine learning model) are concealed from and not accessible via the smartphone of the user. In this way, the data analysis and inference framework maintains the data privacy of both the patient and the medical company.
In some embodiments, a trained machine learning model 106, which may include a plurality of deep neural networks, may operate simultaneously, on the first computing environment 102 and the second computing environment 104. For example, the trained machine learning model 106 may be associated with and proprietary to, e.g., a medical company, and operate on the second computing environment 104, which may correspond to a server of the medical company. The trained machine learning model 106 may also operate on the first computing environment 102, which may correspond to a smartphone of a user on which, e.g., a software application operates. The user may be a patient that requests a medical diagnosis from the medical company.
In some embodiments, prior to or concurrent with the implementation of the trained machine learning model 106 on the data, the first computing environment 102 and the second computing environment 104 may initiate the cryptographic protocol 110. In particular, in an example multiparty communication system that includes a patient and a medical company, a server of the medical company (corresponding to the second computing environment 104) and a smartphone phone of the patient (e.g., corresponding to the first computing environment 102) may initiate the cryptographic protocol 110. Such an initiation enables for the concealment of certain characteristics or aspects associated with the patient data stored locally in the first computing environment 102 and one or more parameters of the trained machine learning model 106.
After the initiation of the cryptographic protocol 110, an encrypted or masked version of the confidential medical data stored in the first computing environment 102 may be accessible to the second computing environment 104. For example, as stated above, the patient may interact with a software application operating on the patient's smartphone (or, e.g., a laptop, and/or other type of computer-based system or device) and input confidential medical patient data into one or more text fields, upload a file, speak into the speaker of the smartphone, and so forth. Such data may then be encrypted or masked prior to being accessible in the second computing environment 104, e.g., by the trained machine learning model 106 operating on both the first computing environment 102 and the second computing environment 104. If the medical data relates to information regarding symptoms of the patient, the patient's medical history, illness that the patient may have previous suffered, current illnesses, and so forth, such information may be considered sensitive or confidential medical information. In such instances, the initiation of the cryptographic protocol 110 may mask or encrypt the content of such medical data.
As a result, the second computing environment 104 may be prevented from accessing the content or particular subject matter of the medical data, namely because the masked or encrypted format of the received medical data will not be interpretable to, e.g., an employee of the medical company, software of the medical company, and so forth. Further, the initiation of the cryptographic protocol also enables the medical company to mask or encrypt specific parameters associated with the trained machine learning model 106, e.g., proprietary weights of the deep neural networks included in the trained machine learning model 106. As such, the first computing environment 102 may be prevented from accessing certain parameters associated with the trained machine learning model 106, namely because the masked or encrypted format of various deep neural network weights will not be visible and interpretable to the patient or any external devices, e.g., smartphone of the patient.
In some embodiments, after initiation of the cryptographic protocol 110, the trained machine learning model 106 operates to analyze the masked or encrypted data that is shared between the first computing environment 102 and the second computing environment 104, and generates a result in an encrypted form. For example, the initiating of the cryptographic protocol 110 enables the trained machine learning model 106 to access the data (e.g., inputs) from the first computing environment 102 and utilize one or more machine learning parameters of the trained machine learning model 106 from the second computing environment 104 for the purpose of determining (e.g., jointly compute) an encrypted result that is provided to the first computing environment 102. Thereafter, the initiation of the cryptographic protocol 110 may enable the first computing environment 102 to decrypt the result and present the result on, e.g., a user interface of, e.g., the patient's smartphone. In this way, the patient may be able to view and interpret the result. In some embodiments, it is noted that the decrypted result is not available for view and interpretation in the second computing environment 104.
In some embodiments, the result may be a diagnosis of a patient's illness that is accessible in the first computing environment 102, but will not be accessible in the second computing environment 104. In this way, the trained machine learning model 106 operates to analyze confidential data provided by the patient and presents a result that is accessible only to the computing environment of the patient, while simultaneously ensuring that the patient's computing environment is prevented from accessing one or more machine learning model parameters.
Another example application of the trained machine learning model 106 relates to speech recognition. In some embodiments, an example of the first computing environment 102 may correspond to a smartphone of a user and an example of the second computing environment 104 may correspond to a server associated with a search engine. The user, using his smartphone, may input a sensitive or confidential inquiry in the form of a voice command, into a software application that is accessible via and operates on the smartphone. The user may be positioned at a particular location, which he may want to keep confidential for various reasons. Further, the user may want to get directions from his current location to a different location, and would need to get this information quickly and efficiently, e.g., with limited run time.
In particular, the data inference framework 300 includes the trained machine learning model 106 and the cryptographic protocol component 304 as described in the present disclosure, operating independently and in conjunction. In some embodiments, the training of the trained machine learning model 106 involves performing at least a quantization of all operands involved in the inference of a plurality of deep neural networks. It is noted that operands refer to quantities or values upon which one or more operations are performed or algorithms are implemented, for example, all inputs, outputs, weights of linear layers, outputs of non-linear layers, and so forth. It is noted that deep neural networks comprise two classes or groups of layers—linear layers and non-linear layers. Examples of linear layers include convolution layers, fully connected layers, average-pooling layers, and batch normalization. Examples of non-linear layers include max pooling layers. Further, non-linear layers are associated with the use of a rectified linear unit (ReLU) function.
As stated, a part of the training of the trained machine learning model 106 involves quantization 306. In embodiments, training data utilized for training the model described in the present disclosure may in 32-bit floating-point format (FP32), which when analyzed, results in high computational costs. Further, the 32-bit floating-point format is unsuitable for implementation of the cryptographic protocol 110. As such, one or more quantization operations are performed on operands during inference of a plurality of deep neural networks for generating a first set of parameters configurations, which result in representation of the training data and the weights of the deep neural network with fewer number of bits, namely all inputs, outputs, and weights of the linear layer and input and outputs of the non-linear layers. The representation of the training data and the weights of the deep neural network with fewer number of bit involves mapping of a parameter xf to its INT-b representation xq using the following equation:
In the above equation, the term “s” is the scaling factor and max(|xf|) denotes the maximum range that parameter xf can take. In a linear layer with inputs Xf, weight parameters Wf, and bias bf, the output may be approximated using quantized values as:
In the above equation, the terms Sx, Sw, and Sb denote the denote the quantization scales for the input, layer weights, and the bias, respectively. The quantized version of Yf may be calculated using the corresponding scale Sy as follows:
The term Yq is the quantized output of the linear layer which serves as the input of the next layer in a quantized DNN. In the data inference framework 300, the matrix-multiplication Wq·Xq as well as the addition of the bias vector are computed efficiently via the use of Arithmetic Sharing (AS). The evaluation of the equation expressed in (3) above is cost prohibitive due to the multiplication with 32-bit floating-point scale values Sx, Sw, Sy, Sb. To overcome this problem, scaling is optimized. It is noted that quantization of the input, weights, and outputs of the linear layer requires generating the corresponding bitwidths for each element which is determined by a parameter configuration optimizer component 310, illustrated in
Further, as part of training of the model, a clustering algorithm may be applied to the weights of the deep neural network. For example, given a vectorized weight matrix w∈RN and a given unique size V, a unique space c∈RV may be identified and the coded representation {tilde over (w)}∈{1, . . . , V}N may be utilized to solve the following optimization equation:
Further, a k-means clustering algorithm may be implemented to find a solution to the optimization equation corresponding to equation (4). The implementation of the solution may include starting with a random set for c and mapping {tilde over (w)}[i] to the index of the value in the unique space that is closest to w[i], described by the following:
Further, the elements of the unique space are updated as follows:
In embodiments, steps associated with equations (5) and (6) are repeated in order to compute a unique space and the coded representations. Further, for each deep neural network layer, a k-means algorithm may be implemented on the weights of the deep neural network layer with the use of different V values. Further, unique space and coded values may also be pre-computed. The pre-computed unique space and coded values may be utilized to cluster the weights of the deep neural network layers.
It is noted that parameter configurations that are derived based on the quantization operation and the clustering operation, i.e., quantization bitwidths for all operands and per-layer V values for clustering, may be input into the parameter configuration optimizer component 310. In embodiments, upon receiving training data upon which the quantization operations are performed (e.g., quantization bits) and weight clusters that are determined upon the implementation of the clustering algorithm, as described above, the parameter configuration optimizer component 310 searches through the received quantization bits and deep neural network weight clusters to identify at least a subset of the quantization bits (e.g., first set of outputs) that satisfy a first threshold value and at least a subset of the deep neural network weight clusters (e.g., a second set of outputs) that satisfy a second threshold value. The clustering operations may be implemented on the weights that comprise a plurality of deep neural networks to generate a second set of parameter configurations. Thereafter, a parameter configuration action may be implemented on the first set of configurations and the second set of configurations. Further, the parameter configuration optimizer component 310 determines or generates a score function using the subset of the quantization bits and the subset of the deep neural network weight clusters. The score function is defined according to the following equation:
In the above equation, Cmax corresponds to an execution cost of a reference deep neural network prior to optimization. Further, the numerator of the score function enables minimization of ciphertext execution costs, defined by the term C(p), and the denominator provides a strict lower bound threshold for accuracy using exponential penalty methods described by the following equation:
In the above equation, the variable Amax corresponds to the accuracy of a reference point deep neural network. In short, the score equation defined in equation (7) enables for the trained machine learning model 106 to operate with the cryptographic protocol 110 to reduce computational costs associated performing inference on encrypted values, while simultaneously maintaining data privacy and accuracy.
In
It is noted that the operation of the data inference framework 300, which includes the implementation of the cryptographic protocol 110 and the trained machine learning model 106, is based at least in part on factored matrix multiplication. A description of the use of factored matrix multiplication is instructive. At the outset, a one-hot encoded representation of a vector may be defined as w∈RN and its coded representation {tilde over (w)}∈[V]N with respect to its unique space c={c1, . . . , cV}, the one-hot encoded representation of {tilde over (w)} is a matrix {tilde over (w)}∈{0, 1}V×N such that {tilde over (w)} [v, n]=1 if {tilde over (w)} [n]=v and 0 otherwise (∀v∈[V], n∈[N]). It is noted that the following notations and expressions may be utilized to explain the use of the factored matrix-multiplication (i.e., secure factored matrix-multiplication) expressions:
It is noted that equation 8 of expression 2 shown above represents conditional accumulation and equation 9 of expression 2 involves a dot product operation, namely a dot product of length V vectors of b-bit integers. Further, the number of integer multiplications are reduced from MNL, as part of a regular matrix-multiplication, to MVL in the factored version, which results in reduced costs. The majority of communication costs are generated due to conditional accumulation, which may be computed using a correlated oblivious transfer (“COT”) operation, as a result of which, messages involving the same selected bit are merged together, e.g., based on equations (8) and (9) above. Thus, communication costs are significantly reduced.
It is noted that the operation of the data inference framework 300 utilizes an algorithm for computing partial sums through conditional accumulation. Such an algorithm requires MVN COTLb2. As such, the cost of determining partial sums may be represented by the following expression: MVN (k+Lb). Further, the dot product, as shown in equation 9 above, may be computed using the communication cost represented by the expression of MVb(k+Lb). The protocol for determining the conditional accumulation described above may involve two separate inputs, an output, and multiple oblivious transfer messages. For example, inputs in the form of a one-hot encoding of weight matrix from party A and a share of activation by party B may be represented by the following expressions:
Further, in step 1, party B may set a correlation function of φm, v, n(l)(l) as the following expression: {φm, v, n(μ(l)[m, v, n])}l∈[L]={μ(l){m, v, n}+X
[n, l]}l∈[L]; ∀m∈[M], v∈[V], n∈[N]. In step 2, for each m∈[M], v∈[V], n∈[N], a plurality of actions may be performed. In particular, Party A and Party B may implement or run COT2 such that party B may operate as a sender with correlation function {φm, v, n(l)(⋅)}l∈|L| and receive {μ(l)[m, v, n]}l∈[L]. Further, party A may operate as a receiver with choice bits
{tilde over (W)}
A(m)[v,n] and receive {μ′(l)[m, v, n]}l∈|L|={μ(l)[m, v]+
{tilde over (W)}
A(m)[v, n]·
X
B[n, l]}l∈|L|. It is further noted that party A may set |S↑A(m) [v, l]=Σ
N(μ′(l)[m, v, n])
∀m∈[M], v∈[V], l∈[L] and party B may set |S↑B(m)[v, l]=Σ
M(μ
[m, v, n]);∀m∈[M], v∈[V], l∈[L].
In addition, Table 1, provided below, provides costs associated with the performance and operation of different phases of the data inference framework 300, namely the operation of different phases of linear layers of the data inference framework 300 as compared to other frameworks.
(MNbacc(κ + Lbacc))
(MNLb2accκ)
(MNbaccκ)
(MNLb2acc)
(MVbaccκ)
(MVLbacc(N + bacc))
In Table 1 above, the expression of Nslot represents the number of slots in vectored HE operations while the expression of CostMult(q) represents the cost of one scalar multiplication in Zq in HE. Further, the variable of q represents cypher-text modulus, which is approximately three times larger than the plain-text modulus represented by, p≈2b
It is noted that the operation of the data inference framework 300 enables reduced runtime as part of an amortized setting. The data inference framework 300 operates to perform executions by breaking up the execution into a one-time setup phase and a per-inference phase. The setup phase is performed only a single time per client-server pair (e.g., the first computing environment 102 and the second computing environment 104 pair), irrespective of the number inputs. In operation, if the runtime for setup phase is defined by the expression TS, runtime for the per-inference phase is TI and the client has N inputs, with the total runtime being (TS+N*TI), with the runtime per inference being represented by the expression (TS/N+TI). In other words, the inference on the first input is described by the expression (TS+TI). Thereafter, for subsequent inputs, the run time is restricted to TI only.
It is noted that the average communication costs associated with computing or determining regular and factored matrix-multiplication, e.g., as a result of the operation of the data inference framework 300, is reduced with the use of amortized setting. Amortized functions such that when a server-client pair performs a large number of inferences, e.g., by implementing the trained machine learning model 106, with various inputs, the variable of W remains constant while the variable of X changes in each inference.
In regular matrix-multiplication, as W does not change, the number of correlated oblivious transfers remain the same while a message length increases to, e.g., an expression represented by JLb, in which J represent the number of inferences. Further, the average cost per matrix-multiplication is represented by the expression MNb(κ+JLb)/J≈MNLb2 for large values of J. Additionally, for factored matrix-multiplication, the mean amortized cost is represented by the expression MVNLb. Per this expression, the number of communication rounds remain constant (=2), irrespective of the number of inferences J. It is noted that the execution of the protocol is split into the following phases—setup phase, offline phase, and online phase.
Regarding the setup phase, it is noted that this phase is performed per server-client pair irrespective of the number of inferences. In this phase, for regular matrix multiplication, party A and party B may perform an operation based on the expression MNb ROTJLb2 as part of the expression MNb COTJLb2. Further, party A receives MNb κ-bit seeds γq; ∀q∈[MNb] and party B receives κ-bit seed γ0q and γ1q; ∀q∈[{dot over (M)}Nb], which may later be expanded to b-bit messages ∀j∈[J], l∈[L] with the use of cryptographically secure pseudo random number generator (CS-PRNG). Such an operation ensures that the memory requirement is independent of the number of inferences. Further the communication cost of the setup phase is MNbK, while the communication cost of the setup phase for factored matrix-multiplication is MV (N+b)K.
Regarding the offline phase and online phases, it is noted that both of these phases are performed once per inference. The offline and online phases involve computation operations being performed before and after an input, e.g., input X, is available. In the offline phase, art A and party B may compute a matrix product Z′
=
W
A·
U
B∈Z2bN×L, which is a random matrix that is generated by party B. It is noted that seeds obtained in the setup phase for the particular index j and for each column l∈[L] of X are locally expanded for completing the COTLb2. The communication costs for this phase for each j∈[J], for regular and factored matrix-multiplications are {dot over (M)}N{dot over (L)}b2 and MVNLb, respectively. Further, in the online phase, party B directly sends F=
X
B−
U
B to party A, who locally computes
Z
A=
Z
A+
W
A
F
A·Bob set
Z
B=
Z′
B. It is noted that the communication cost in this phase is negligible compared to that of the offline phase. Further, the amortized execution method as described above is not restricted to machine learning application, namely the trained machine learning model 106. It is suitable for and applicable to any operations or scenarios involving secure matrix multiplication in which one of the inputs remains constant while another input changes with every iteration.
It is noted that a large proportion of the computation and communication of the linear layers 402 of the data inference framework 300 involves the use of a one-time setup phase that does not impact security, which is in contrast with the other frameworks of Gazelle/Delphi/CTF2 (HE), MiniOnn/CTF2 (OT), and XONN (GC).
In particular, in block 702, a cryptographic protocol may be initiated between a first computing environment and a second computing environment. As described above, the initiation of the cryptographic protocol may enable for the concealment of data in the second computing environment and the concealment of one or more machine learning model parameters in the first computing environment.
In block 704, as part of the initiating of the cryptographic protocol, content associated with data of a user associated with the first computing environment is secured in the second computing environment and at least one parameter associated with the trained machine learning model is secured in the first computing environment. As described in the examples above, the initiation of a cryptographic protocol may enable encryption of sensitive medical data that is available locally in memory or storage of the first computing environment. The cryptographic protocol may also conceal one or more machine learning parameters, e.g., weights associated with the deep neural networks of the trained machine learning model, from the first computing environment. Further, during the joint implementation of the trained machine learning model on the first computing environment and the second computing environment, after the initiation of the cryptographic protocol, the trained machine learning model may access the encrypted sensitive medical data and, based on the cryptographic protocol, mask one or more parameters of model (which may be encrypted or masked) from the first computing environment. The entire content of the sensitive medical data may not be visible in or may be masked within the second computing environment. The cryptographic protocol may also conceal one or more machine learning parameters, e.g., weights associated with the deep neural networks of the trained machine learning model, from the first computing environment.
In block 706, a trained machine learning model may be implemented on the first computing environment and the second computing environment. As described above, the first and second computing environments may correspond to a smartphone of a user, e.g., a patient, and a server of a medical company, respectively. The implementation of the trained machine learning model corresponds to the operation of the trained machine learning model simultaneously on both the first computing environment and the second computing environment. It is further noted that, any communication or sharing of data between the first computing environment and the second computing environment occurs after or concurrently with the initiation of a cryptographic protocol, which ensures masking or concealment of data and one or more machine learning parameters.
In block 708, an output associated with the data of the user that is secured is determined responsive to the implementing of the trained machine learning model. In particular, as described in the patient and medical company example above, the second computing environment may generate an output based on the sensitive medical data. An encrypted version of this output may be accessed by the first computing environment in an encrypted form, which may then be decrypted by the first computing environment.
In block 710, the output is provided to the first computing environment. This step refers to the transmission of the output determined in block 706 to the first computing environment, which may be decrypted and viewable within the first computing environment. It is noted that the result may not be accessible in or viewable within the second computing environment.
The video processors 802 can provide/receive commands, status information, streaming video, still video images, and graphical overlays to/from the first computing environment 102 and may be comprised of FPGAs, DSPs, or other processing elements which provide functions such as image capture, image enhancement, graphical overlay merging, distortion correction, frame averaging, scaling, digital zooming, overlaying, merging, flipping, motion detection, and video format conversion and compression.
The first computing environment 102 can be used to manage the user interface by receiving input via buttons 808, keypad 810, and/or microphone 812, in addition to providing a host of other functions, including image, video, and audio storage and recall functions, system control, and measurement processing. The buttons 808 and/or keypad 810 also can be used for menu selection and providing user commands to the cloud server 118 (e.g., freezing or saving a still image). The microphone 812 can be used by the inspector to provide voice instructions to freeze or save a still image.
The video processors 802 can also communicate with video memory 824, which is used by the video processors 802 for frame buffering and temporary holding of data during processing. The first computing environment 102 can also communicate with program memory 822 for storage of programs executed by the first computing environment 102. In addition, the cloud server 118 can be in communication with the volatile memory 818 (e.g., RAM), and the non-volatile memory 820 (e.g., flash memory device, a hard drive, a DVD, or an EPROM memory device). The non-volatile memory 820 is the primary storage for streaming video and still images.
The first computing environment 102 can also be in communication with a computer input/output interface 814, which provides various interfaces to peripheral devices and networks, such as USB, Firewire, Ethernet, audio I/O, and wireless transceivers. This computer input/output interface 814 can be used to save, recall, transmit, and/or receive still images, streaming video, or audio. For example, a USB “thumb drive” or CompactFlash memory card can be plugged into computer input/output interface 814. In addition, the computing system 800 can be configured to send frames of image data or streaming video data to an external computer or server. The computing system 800 can incorporate a TCP/IP communication protocol suite and can be incorporated in a wide area network including a plurality of local and remote computers, each of the computers also incorporating a TCP/IP communication protocol suite.
It will be understood that, while certain components have been shown as a single component (e.g., the first computing environment 102) in
In view of the above-described implementations of subject matter this application discloses the following list of examples, wherein one feature of an example in isolation or more than one feature of said example taken in combination and, optionally, in combination with one or more features of one or more further examples are further examples also falling within the disclosure of this application:
Example 1: A method comprising: initiating a cryptographic protocol between a first computing environment and a second computing environment, the initiating including: securing, in association with the second computing environment, content associated with data of a user associated with the first computing environment, and securing, in association with the first computing environment, at least one parameter associated with a trained machine learning model, implementing the trained machine learning model on the data that is secured, the trained machine learning model operating on the first computing environment and the second computing environment, determining an output associated with the data that is secured, responsive to the implementing of the trained machine learning model, and providing the output to the first computing environment.
Example 2: The method of Example 1, wherein the securing, in association with the second computing environment, of the data of the user includes encrypting the content of the data in association with the second computing environment.
Example 3: The method of Example 1 or Example 2, wherein: the securing of the data of the user includes masking the content of the data in association with the second computing environment.
Example 4: The method of any of Examples 1-3, wherein: the securing of the at least one parameter associated with the trained machine learning model includes masking the at least one parameter in association with the first computing environment.
Example 5: The method of any of Examples 1-4, wherein the securing of the at least one parameter associated with the trained machine learning model includes encrypting the at least one parameter in association with the first computing environment.
Example 6: The method of any of Examples 1-4, wherein the initiating further comprises: performing linear operations and non-linear operations on the data, wherein the linear operations are based on arithmetic sharing protocol and the non-linear operations are based on garbled circuit protocol.
Example 7: The method of any of Examples 1-6, wherein the linear operations comprise a standard matrix multiplication operation performed on the data and a factored matrix multiplication operation performed on the data.
Example 8: The method of any of Examples 1-7, wherein the non-linear operations comprise a max pooling operation and implementation of a rectified linear unit (ReLU) function.
Example 9: The method of any of Examples 1-8, wherein training of the trained machine learning model comprises: performing quantization operations on operands during inference of a plurality of deep neural networks for generating a first set of parameter configurations, performing clustering operations on weights of the deep neural networks for generating a second set of parameter configurations, and implementing a parameter configuration action on the first set of parameter configurations and the second set of parameter configurations.
Example 10: The method of any of Examples 1-9, wherein the implementing of the parameter configuration action on the first set of parameter configurations and the second set of parameter configurations comprises: determining that at least one subset of the first set of parameter configurations satisfies a first threshold value and at least one subset of the second set of parameter configurations satisfies a second threshold value; and generating a score function based on the at least one subset of the first set of parameter configurations and at least one subset of the second set of parameter configurations.
Example 11: A system comprising: at least one processor; and at least one non-transitory computer readable media storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising: initiating a cryptographic protocol between a first computing environment and a second computing environment, the initiating including: securing, in association with the second computing environment, content associated with data of a user associated with the first computing environment, and securing, in association with the first computing environment, at least one parameter associated with a trained machine learning model, implementing the trained machine learning model on the data that is secured, the trained machine learning model operating on the first computing environment and the second computing environment, determining an output associated with the data that is secured, responsive to the implementing of the trained machine learning model, and providing the output to the first computing environment.
Example 12: The system of Example 11, wherein the performing of one of the operations of the initiating of the cryptographic protocol comprises performing linear operations on the data, wherein the linear operations are based on arithmetic sharing protocol.
Example 13: The system of Example 11 or Example 12, wherein the performing of one of the operations of the securing of the data of the user includes masking the content of the data in association with the second computing environment.
Example 14: The system of any of Examples 11-13, where the securing of the at least one parameter associated with the trained machine learning model includes masking the at least one parameter in association with the first computing environment.
Example 15: The system of any of Examples 11-14, wherein the performing of one of the operations of securing the at least one parameter associated with the trained machine learning model comprises masking the at least one parameter in the first computing environment.
Example 16: The system of any of Examples 11-15, wherein the performing of one of the operations of the initiating of the cryptographic protocol comprises performing non-linear operations on the data, the non-linear operations are based on garbled circuit protocol.
Example 17: The system of any of Examples 11-16, wherein the linear operations comprise a standard matrix multiplication operation performed on the data and a factored matrix multiplication operation performed on the data.
Example 18: The system of any of Examples 11-17, wherein the non-linear operations comprise a max pooling operation and implementation of a rectified linear unit (ReLU) function.
Example 19: A least one non-transitory computer readable media storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising: initiating a cryptographic protocol between a first computing environment and a second computing environment, the initiating including: securing, in association with the second computing environment, content associated with data of a user associated with the first computing environment, and securing, in association with the first computing environment, at least one parameter associated with a trained machine learning model; implementing the trained machine learning model on the data that is secured, the trained machine learning model operating on the first computing environment and the second computing environment; determining an output associated with the data that is secured, responsive to the implementing of the trained machine learning model; and providing the output to the first computing environment.
Example 20: A system comprising: a protocol module configured to initiate a cryptographic protocol between a first computing environment and a second computing environment, the initiating including: securing, in association with the second computing environment, content associated with data of a user associated with the first computing environment, and securing, in association with the first computing environment, at least one parameter associated with a trained machine learning model; a machine learning module configured to implement the trained machine learning model on the data that is secured, the trained machine learning model operating on the first computing environment and the second computing environment; a determination module configured to determine an output associated with the data that is secured, responsive to the implementing of the trained machine learning model; and output module configured to provide the output the first computing environment.
In the descriptions above and in the claims, phrases such as “at least one of” or “one or more of” may occur followed by a conjunctive list of elements or features. The term “and/or” may also occur in a list of two or more elements or features. Unless otherwise implicitly or explicitly contradicted by the context in which it is used, such a phrase is intended to mean any of the listed elements or features individually or any of the recited elements or features in combination with any of the other recited elements or features. For example, the phrases “at least one of A and B;” “one or more of A and B;” and “A and/or B” are each intended to mean “A alone, B alone, or A and B together.” A similar interpretation is also intended for lists including three or more items. For example, the phrases “at least one of A, B, and C;” “one or more of A, B, and C;” and “A, B, and/or C” are each intended to mean “A alone, B alone, C alone, A and B together, A and C together, B and C together, or A and B and C together.” Use of the term “based on,” above and in the claims is intended to mean, “based at least in part on,” such that an unrecited feature or element is also permissible.
The subject matter described herein can be embodied in systems, apparatus, methods, and/or articles depending on the desired configuration. The implementations set forth in the foregoing description do not represent all implementations consistent with the subject matter described herein. Instead, they are merely some examples consistent with aspects related to the described subject matter. Although a few variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations can be provided in addition to those set forth herein. For example, the implementations described above can be directed to various combinations and subcombinations of the disclosed features and/or combinations and subcombinations of several further features disclosed above. In addition, the logic flows depicted in the accompanying figures and/or described herein do not necessarily require the particular order shown, or sequential order, to achieve desirable results. For example, the logic flows may include different and/or additional operations than shown without departing from the scope of the present disclosure. One or more operations of the logic flows may be repeated and/or omitted without departing from the scope of the present disclosure. Other implementations may be within the scope of the following claims.
This application is a national stage entry of Patent Cooperation Treaty Application No. PCT/US2022/079453 filed Nov. 8, 2022, entitled “QUANTIZATION AND CRYPTOGRAPHIC PROTOCOL BASED MACHINE LEARNING MODELS FOR CONFIDENTIAL DATA ANALYSIS AND INFERENCE,” which claims priority under 35 U.S.C. § 119(e) to, U.S. Provisional Application No. 63/277,077 filed Nov. 8, 2021, titled “CO-DESIGN OF CRYPTOGRAPHIC PROTOCOLS AND MACHINE LEARNING FOR SECURE DEEP NEURAL NETWORK EXECUTION”. The disclosures of which are incorporated herein by reference in their entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/079453 | 11/8/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63277077 | Nov 2021 | US |