IP Library › Granted Patent US 12,177,330
Granted Patent B2
US 12,177,330 · App. 18/565,930 · Granted Dec 24, 2024

Computational network conversion for fully homomorphic evaluation

Inventors: Benoit Chevallier-Mames (Paris, FR); Pascal Gilbert Yves Paillier (Paris, FR)
Assignee: ZAMA SAS
H04L9/008G06F7/544G06F17/16G06F2207/4824
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,177,330
App. No.
18/565,930
Granted
Dec 24, 2024
Kind
B2
Abstract

Some embodiments are directed to a computer-implemented method for converting a first computation network of operations arranged to compute a function into a second computation network of FHE operations arranged to compute the same function. For example, a set of expansion factors (α i ) may be determined for matrix operations in the first computation network. Real-valued matrices may be converted by scaling the real-valued matrices with their corresponding expansion factor and rounding. An accuracy measure for the second computation network can be iteratively optimized.

Claims (36)

1. A computer-implemented method for converting a first computation network of operations arranged to compute a function into a second computation network of Fully Homomorphic Encryption operations arranged to compute the same function, wherein the second computation network comprises operations corresponding to the first computation network,

the first computation network of operations comprising a plurality of real-valued matrix operations comprising a real-valued matrix multiplication and at least a plurality of further operations receiving as input a result of at least one of the plurality of real-valued matrix operations,

converting the first computation network comprises

determining a set of expansion factors, each of the matrix operations corresponding to an expansion factor, wherein an expansion factor is a real number,

converting a plurality of real-valued matrices corresponding to the plurality of real-valued matrix operations to integer-valued matrices by scaling the real-valued matrices with their corresponding expansion factor and rounding the scaled real-valued matrices,

adjusting the plurality of further operations to receive as input a scaled result of a scaled matrix operation, the second computation network comprising the converted plurality of integer-valued matrices and the adjusted plurality of further operations,

determining an accuracy measure for the second computation network indicating the accuracy of the second computation network,

iteratively optimizing the set of expansion factors to improve the accuracy measure, wherein the first computation network comprises a join operation, the join operation receiving a first input and a second input, a correcting operation being inserted in the second computation network to make the expansion factors at the join operation equal.

2. A converting method as in claim 1 , wherein the first computation network and the second computation network are a neural network.

3. A converting method as in claim 1 , wherein a real-valued matrix operation further comprises a real-valued matrix addition, converting the real-valued matrix operation further comprises scaling a matrix associated with the real-valued matrix addition with the same expansion factor.

4. A converting method as in claim 1 , wherein

at least part of the further operations is implemented in the second computation network as programmable bootstrapping.

5. A converting method as in claim 1 , wherein determining a set of expansion factors comprises

symbolically associating an expansion factor to the matrix operations in the first computation network,

propagating the expansion factors through the first computation network and deriving conditions on the expansion factors from the operations in the first computation network applied to the output of a converting operation.

6. A converting method as in claim 5 , wherein iteratively optimizing the set of expansion factors is subject to the conditions.

7. A converting method as in claim 1 , comprising deriving the second computation network by replacing real-valued matrices by the corresponding scaled integer-valued matrices, replacing real-valued matrices for addition by the corresponding scaled matrices, and adjusting the operations in the further operations.

8. A converting method as in claim 5 , wherein the first and second computation network comprises multiple layers between operations, each layer has an associated layer factor corresponding to a multiplicative ratio between a value in the layer in the first computation network and the corresponding value in the corresponding layer in the second computation network,

the first computation network comprising a join operation, the join operation receiving a first input and a second input from two different layers, the expansion factors being determined under the condition that the two layer factors associated with the two different layers are equal, so that the join operation is homogeneous.

9. A converting method as in claim 8 , wherein the join operation is one of addition, subtraction, or concatenation, wherein the join operation is implemented as a corresponding addition, subtraction, or concatenation on encrypted values in the second computational network.

10. A converting method as in claim 1 , wherein the second computation network comprises inserted operations, a correcting operation being inserted in the second computation network to make the expansion factors at a next operation are equal, —the correcting operation is a programmable bootstrapping, and the correcting factor is a real number, or—the correcting operation is an integer-valued multiplication, and the correcting factor is an integer.

11. A converting method as in claim 1 , wherein adjusting a further operation comprises—removing an expansion factor from the input, and/or—applying an expansion factor the output.

12. A converting method as in claim 1 , wherein

the accuracy measure is computed by evaluating the first computation network and the second computation network on a set of sample inputs and comparing the evaluation results with a set of sample outputs obtaining a first accuracy for the first computation network and a second accuracy for the second computation network, the accuracy measure comparing the first and second accuracy, and/or

the accuracy measure is computed by evaluating second computation network on a set of sample inputs and comparing the evaluation results with a set of sample outputs obtaining a second accuracy for the second computation network, the accuracy measure comparing the second accuracy to a predetermined accuracy target.

13. A transitory or non-transitory computer readable medium comprising data representing any one of

instructions, which when executed by a processor system, cause the processor system to perform the method according to claim 1 and

data representing a second network obtained.

14. A system for converting a first computation network of operations arranged to compute a function into a second computation network of Fully Homomorphic Encryption operations arranged to compute the same function, wherein the second computation network comprises operations corresponding to the first computation network, the system comprising

a communication interface for receiving the first computation network of operations comprising a plurality of real-valued matrix operations comprising a real-valued matrix multiplication and at least a plurality of further operations receiving as input a result of at least one of the plurality of real-valued matrix operations,

a processor system configured for converting the first computation network, the converting comprising

determining a set of expansion factors, each of the matrix operations corresponding to an expansion factor, wherein an expansion factor is a real number,

converting a plurality of real-valued matrices corresponding to the plurality of real-valued matrix operations to integer matrices by scaling the real-valued matrices with their corresponding expansion factor and rounding the scaled real-valued matrices,

adjusting the plurality of further operations to receive as input a scaled result of a scaled matrix operation, the second computation network comprising the converted plurality of integer matrices and the adjusted plurality of further operations,

determining an accuracy measure for the second computation network indicating the accuracy of the second computation network,

iteratively optimizing the set of expansion factors to improve the accuracy measure, wherein the first computation network comprises a join operation, the join operation receiving a first input and a second input, a correcting operation being inserted in the second computation network to make the expansion factors at the join operation equal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: CHEVALLIER-MAMES, BENOIT; PAILLIER, PASCAL GILBERT YVES
To: ZAMA SAS
Reel/Frame 065721/0913 →
Priority Claims (1)
EP 21290037 · Jun 4, 2021 · regional
Continuity (1)
Related Publication 20240259181A1 · Aug 1, 2024
Cited By (1)
US 12,328,303