Cryptology Academy · Leçon

CKKS pour l’arithmétique approchée et l’apprentissage automatique

Appliquez CKKS à l’inférence d’apprentissage automatique préservant la confidentialité.

Leçon 4 sur 413 étapes

CKKS pour l’arithmétique approchée et l’apprentissage automatique est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Pourquoi CKKS ?

BGV/BFV fonctionnent sur des entiers (arithmétique exacte). L'apprentissage automatique utilise des nombres à virgule flottante (arithmétique approchée). CKKS (Cheon-Kim-Kim-Song, 2017) encode des nombres réels et complexes et permet une perte de précision contrôlée — ce qui le rend idéal pour l'inférence en apprentissage automatique et l'analyse de données.

Arithmétique approchée

CKKS considère le bruit comme faisant partie de la précision de l'encodage. Au lieu d'éliminer le bruit par correction d'erreurs, CKKS considère le résultat comme une approximation assortie de limites de précision garanties. Ce compromis permet un HE beaucoup plus efficace pour les calculs à valeurs continues.

Encodage des nombres réels

CKKS encode un vecteur de nombres complexes sous forme de polynôme : un vecteur (z_0, ..., z_{n/2-1}) est transformé par FFT inverse en un polynôme dans R. Le facteur d'échelle Δ (par exemple, 2^40) transforme les nombres à virgule flottante en entiers. n/2 emplacements réels par texte chiffré.

Remise à l'échelle

Après une multiplication, le facteur d'échelle double : Δ^2. CKKS introduit une opération de remise à l'échelle : diviser par Δ pour rétablir une échelle simple. Cela réduit également le niveau du module du texte chiffré, comme le changement de module de BGV, et maintient le texte chiffré à une taille raisonnable.

Analyse de la précision

Chaque multiplication consomme un niveau de module et réduit la précision d'environ log2(Δ) bits. Pour un circuit de profondeur L avec un facteur d'échelle Δ = 2^40, la perte totale de précision est d'environ L*40 bits. Choisissez un module initial Q suffisamment grand pour couvrir ce budget de précision.

Inférence en apprentissage automatique avec CKKS

Couches linéaires (multiplication matrice-vecteur) : efficaces — rotation et accumulation. Fonctions d'activation (ReLU, sigmoïde) : une approximation polynomiale est nécessaire. ReLU : approximation par un polynôme de Chebyshev de degré 7. Perte de précision : environ 0,1 à 1 % par rapport à l'inférence en clair.

Exemple d'inférence privée

L'hôpital chiffre les données du patient avec sa clé publique CKKS. Le nuage exécute un réseau neuronal de diagnostic sur les données chiffrées à l'aide d'opérations CKKS. Il renvoie une prédiction chiffrée. L'hôpital la déchiffre avec sa clé privée. Le nuage ne voit jamais les données du patient ni le diagnostic en clair.

Paramètres de CKKS

Recommandation de HEAAN/OpenFHE : n=2^15 (32768) pour les circuits d'apprentissage automatique profonds. Chaîne de modules : Q initial ≈ 2^1500 pour 30 niveaux de multiplication avec Δ=2^50. Sécurité : 128 bits, en supposant que CKKS avec ces paramètres est aussi difficile à casser que RLWE. Mémoire : texte chiffré d'environ 1 Mo.

Rafraîchissement dans CKKS

Le rafraîchissement de CKKS (Cheon et al., 2018) évalue homomorphiquement la réduction modulaire afin de réinitialiser le texte chiffré. Complexité : évaluation de la fonction sinus, au moyen d'une approximation polynomiale, sur des nombres complexes. Il permet une profondeur de circuit illimitée, à raison d'environ 30 secondes par rafraîchissement.

Comparaison : CKKS et BFV

BFV : entiers exacts, textes en clair entiers, aucune perte de précision. CKKS : nombres réels ou complexes approchés, textes en clair à virgule flottante, précision qui diminue avec la profondeur. Utilisez BFV pour les bases de données, les requêtes et les calculs exacts. Utilisez CKKS pour l'apprentissage automatique, les statistiques et le calcul scientifique.

Bibliothèques

HEAAN (CKKS d'origine, Seoul National University). Microsoft SEAL (CKKS + BFV). OpenFHE (CKKS + BGV + BFV). Concrete-ML (Zama.ai, encapsule OpenFHE pour les modèles scikit-learn et PyTorch). TF-HE (expériences d'intégration de TensorFlow et du HE).

Vérification rapide

Pourquoi CKKS est-il préféré à BFV pour l'inférence en apprentissage automatique ?

Récapitulatif

CKKS prend en charge l'arithmétique approchée sur les nombres réels, ce qui le rend idéal pour l'inférence en apprentissage automatique et les statistiques sur des données chiffrées. La remise à l'échelle gère le facteur d'échelle ; les approximations polynomiales remplacent les fonctions d'activation. Ensuite : la cryptographie post-quantique — les algorithmes de Shor et de Grover.

Gratuit pour commencer

Apprends Cryptology Academy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
67
Leçons
261

Questions Fréquemment Posées

La leçon « CKKS pour l’arithmétique approchée et l’apprentissage automatique » est-elle gratuite ?

Oui — le texte complet de « CKKS pour l’arithmétique approchée et l’apprentissage automatique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « CKKS pour l’arithmétique approchée et l’apprentissage automatique » ?

Appliquez CKKS à l’inférence d’apprentissage automatique préservant la confidentialité. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « CKKS pour l’arithmétique approchée et l’apprentissage automatique » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Qu’est-ce que le chiffrement homomorphe ?
  2. Fondements de Learning With Errors (LWE)
  3. Schémas BGV et BFV pour les opérations sur les entiers
  4. CKKS pour l’arithmétique approchée et l’apprentissage automatique
← Retour à Cryptology Academy