DCT-CryptoNets: Scaling Private Inference in the Frequency Domain
<|reference_start|>DCT-CryptoNets: Scaling Private Inference in the Frequency Domain: The convergence of fully homomorphic encryption (FHE) and machine learning offers unprecedented opportunities for private inference of sensitive data. FHE enables computation directly on encrypted data, safeguarding the entire machine learning pipeline, including data and model confidentiality. However, existing FHE-based implementations for deep neural networks face significant challenges in computational cost, latency, and scalability, limiting their practical deployment. This paper introduces DCT-CryptoNets, a novel approach that leverages frequency-domain learning to tackle these issues. Our method operates directly in the frequency domain, utilizing the discrete cosine transform (DCT) commonly employed in JPEG compression. This approach is inherently compatible with remote computing services, where images are usually transmitted and stored in compressed formats. DCT-CryptoNets reduces the computational burden of homomorphic operations by focusing on perceptually relevant low-frequency components. This is demonstrated by substantial latency reduction of up to 5.3$\times$ compared to prior work on image classification tasks, including a novel demonstration of ImageNet inference within 2.5 hours, down from 12.5 hours compared to prior work on equivalent compute resources. Moreover, DCT-CryptoNets improves the reliability of encrypted accuracy by reducing variability (e.g., from $\pm$2.5\% to $\pm$1.0\% on ImageNet). This study demonstrates a promising avenue for achieving efficient and practical privacy-preserving deep learning on high resolution images seen in real-world applications.<|reference_end|>
@article{roy2024dct-cryptonets:,
    title={DCT-CryptoNets: Scaling Private Inference in the Frequency Domain},
    author={Arjun Roy, Kaushik Roy},
    journal={arXiv preprint arXiv:2408.15231},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.15231},
    primaryClass={cs.CR cs.CV cs.LG}
}