Open tolusophy opened 2 years ago
Time ago I made some experiments with TenSEAL (https://github.com/OpenMined/TenSEAL), which can perform just one convolution step if you're using CKKSVector, as in Tutorial 4 notebook (https://github.com/OpenMined/TenSEAL/blob/main/tutorials/Tutorial%204%20-%20Encrypted%20Convolution%20on%20MNIST.ipynb). According to one of the developers, theoretically it's possible to have multiple convolutions with CKKSTensor, however I can't find any implementation. The problem is to implement pooling layers (I don't think it's possible to implement max/avg pooling), as well as good approximation of activation functions (like ReLU, sigmoid or softmax) in encrypted domain, avoiding the data disruption due to noise (especially with multiplications).
do you have a sample where the HE was used to encrypt a deep neural network for image classification'