Préprint de recherche · Dépôt académique ouvert
Certification par tick de réseaux impulsionnels en virgule fixe à trains de spikes exacts
Peut-on savoir à l’avance, sans exécuter les deux versions, qu’un réseau donnera exactement les mêmes impulsions en arithmétique entière qu’en virgule flottante ? Ce travail répond oui — dans un périmètre nommé, et en disant précisément où la réponse s’arrête.
Pourquoi cette question compte
Vous avez un réseau de neurones qui fonctionne. Vous l’avez entraîné sur un ordinateur puissant, en virgule flottante — le mode de calcul par défaut des machines de laboratoire. Maintenant vous voulez le mettre dans un objet : un capteur, une prothèse, un drone, un implant. Ces objets n’ont pas de virgule flottante, ou pas assez de puissance pour se le permettre. Ils calculent en entiers.
Question simple, conséquences lourdes : le réseau embarqué se comporte-t-il comme celui que vous avez validé ? S’il diverge, ne serait-ce qu’un peu, votre validation ne vaut plus rien — vous avez certifié un système, vous en déployez un autre. Dans une prothèse ou un système critique, ce n’est pas un détail académique.
La réponse habituelle est : « exécutez les deux versions et comparez ». C’est lent, c’est cher, et surtout ça ne dit rien des millions de situations que vous n’avez pas testées. Ce travail propose autre chose : une garantie calculée à l’avance, qui couvre toutes les entrées d’un coup, ou qui refuse honnêtement de se prononcer.
Ce qu’une réponse utile doit garantir
Avant de proposer une méthode, le papier fixe la barre. Une réponse vraiment utile doit satisfaire trois exigences, et c’est à cette aune qu’il faut juger tout ce qui suit :
Si elle dit « garanti identique », c’est vrai. Jamais de fausse garantie — un seul contre-exemple ruine l’outil.
Elle certifie une part conséquente des cas réels. Une garantie qui ne couvre presque rien ne sert à rien.
Calculable avant d’exécuter la version entière — sinon autant tout exécuter et comparer.
Retenez la troisième : elle reviendra à la fin, et c’est elle qui sépare un vrai certificat d’un simple prédicteur.
La formule du certificat
Pour chaque neurone i et chaque pas de temps t, on note E_i(t) une borne supérieure de l’écart entre potentiel flottant et potentiel entier, et m_i(t) la marge réelle — la distance du potentiel au seuil θ. Le certificat est le pire rapport des deux, sur toute la simulation :
La règle de décision tient en une ligne : si R_cert > 1, l’incertitude n’atteint jamais le seuil nulle part — les trains d’impulsions sont bit-identiques.
À retenir
Un seul nombre résume la fiabilité d’un réseau quantifié. Supérieur à 1 : garanti identique (sous les hypothèses ci-dessous). Inférieur à 1 : le certificat refuse de garantir — ce qui ne veut pas dire que ça diverge, seulement qu’il ne s’y engage pas.
Sous quelles hypothèses
Une garantie n’a de valeur que si son domaine est énoncé. Le certificat est prouvé exactement sous ces cinq conditions — ni plus, ni moins :
Dynamique de neurone à intégration et fuite (LIF), telle que définie dans le papier.
Quantification Q16.16 à troncature, chaque opération perdant au plus ε = 2⁻¹⁶.
Pas de saturation — les valeurs restent dans la plage représentable.
Entrées, topologie et graine aléatoire identiques entre les deux versions.
Au plus une impulsion par neurone et par pas de temps.
- Ni autres modèles de neurone, ni autres schémas de quantification.
- Ni régimes saturants (c’est précisément l’objet de H3), ni entrées stochastiques.
- L’énoncé est prouvé sous H1–H5 (preuve esquissée à la main, voir plus bas) ; le corpus de résultats sert à montrer que ces hypothèses ne sont pas vides et que la borne n’est pas trivialement conservatrice.
Le modèle d’erreur en neuf termes
D’où vient l’incertitude E_i(t) ? Elle s’accumule pas à pas, à partir de sources identifiées. C’est le cœur technique du papier : sept termes qui ajoutent de l’erreur, et deux règles de mise à jour d’état. Le terme n° 6 est celui qui change tout — vous verrez pourquoi plus bas.
L’esquisse de preuve
Le raisonnement est une récurrence sur le temps. Si toutes les décisions jusqu’au pas t−1 concordent entre les deux versions, alors elles partagent exactement le même historique — donc la somme de fan-in porte sur le même ensemble de neurones pré-synaptiques, et E_i(t) est une borne supérieure valide. Si de plus la marge dépasse l’incertitude pour tout neurone actif, le potentiel entier est nécessairement du même côté du seuil que le potentiel flottant. La décision ne peut pas basculer.
C’est cette récurrence qui rend le certificat global : R_cert > 1 affirme qu’aucune décision ne bascule nulle part, à aucun instant. Retenez bien ce mécanisme — c’est lui qui, plus loin, explique aussi pourquoi la méthode échoue pour les comptages d’impulsions.
La preuve est esquissée à la main, non vérifiée par machine. Le corpus de 18 375 configurations la met à l’épreuve empiriquement, sans la remplacer. Sa formalisation complète dans un assistant de preuve reste à faire.
Le résultat, montré directement
Voici la figure la plus importante du papier — celle qui porte toute la revendication. On prend les 18 375 configurations, on calcule le certificat de chacune, et on les range selon la vérité : celles qui sont réellement bit-exactes en vert, celles qui divergent en rose. Puis on regarde où tombe le seuil de certification.
source : rcert_pertick_sweep_v2.jsonl — 18 375 lignes, champs R_cert et match
C’est aussi frappant que simple : la revendication « zéro faux positif » n’est pas un chiffre dans un tableau, c’est une absence visible — le vide à droite de la ligne, du côté rose.
La matrice de décision
Le même résultat, sous forme comptable. On croise ce que le certificat dit avec ce qui est vrai :
| Réellement bit-exact | Réellement divergent | |
|---|---|---|
| Certifié | 13 628 · vrais positifs | 0 · faux positifs |
| Non certifié | 1 758 · faux négatifs | 2 989 · vrais négatifs |
Lecture : précision 1,000 (tout ce qui est certifié est exact), spécificité 1,000 (aucune divergence certifiée), rappel 0,886 (on reconnaît 88,6 % des cas exacts). La couverture — la part du corpus qu’on garantit — est de 74,17 %. Le revers : 1 758 configurations pourtant bit-exactes ne sont pas certifiées. Le certificat est prudent ; face au doute, il se tait plutôt que de risquer une erreur.
source : rcert_analysis_v2.json · confusion_Rcert_gate1
Le certificat s’étale sur une plage énorme : sa médiane est à 12,4, son quantile 95 à 5 256. Autrement dit, la plupart des configurations certifiées ne sont pas « juste au-dessus » du seuil — elles sont très largement au-dessus. La marge de sécurité est confortable là où elle existe.
| min | 5 % | 25 % | médiane | 75 % | 95 % | part > 1 |
|---|---|---|---|---|---|---|
| 0 | 0,004 | 0,862 | 12,36 | 134,9 | 5 256 | 74,17 % |
Est-ce stable ?
Un résultat qui ne tient que sur une graine chanceuse ne vaut rien. On vérifie donc que la solidité ne dépend ni du tirage aléatoire, ni de l’architecture du réseau.
source : rcert_analysis_v2.json · per_seed
Même chose par architecture : AUC de 0,9925 à 0,9972, couverture de 71,27 % à 75,71 %, et toujours aucun faux positif. La garantie ne dépend pas de quel réseau vous certifiez — seulement de combien il vous en certifie.
L’ingrédient décisif
Voici le résultat le plus instructif du papier, et c’est un résultat négatif. Il concerne le terme n° 6 du modèle d’erreur : le fan-in synaptique.
Que se passe-t-il si on l’oublie ? Une enveloppe qui borne chaque neurone isolément, sans compter l’erreur qui arrive par les synapses, certifie à tort 1 898 configurations qui divergent en réalité. Elle est non seulement imparfaite : elle est dangereuse, parce qu’un certificat qui ment une fois ne certifie plus rien.
L’incertitude d’un neurone ne vient pas seulement de ses propres opérations : elle vient aussi de toutes les synapses entrantes actives qui lui transmettent leur propre erreur. Ignorer ces contributions revient à sous-estimer l’incertitude, donc à se croire loin du seuil alors qu’on est déjà dessus.
Le terme de fan-in, c’est simplement compter honnêtement toutes ces erreurs entrantes. C’est ce qui rend le certificat à la fois sûr et utilisable : sans lui on triche ; avec une borne trop grossière pour compenser, on ne certifie presque plus rien.
Le tableau ci-dessous compare quatre façons de noter le même corpus. Il résume tout l’enjeu :
| Méthode | AUC | Faux positifs | Couverture | Saine ? |
|---|---|---|---|---|
| Enveloppe isolée (sans fan-in) | — | 1 898 | — | Non |
| Marge brute seule | 0,9876 | — | — | classement seul |
| Enveloppe conservatrice (S_legacy) | 0,9916 | 0 | 11,51 % | zéro FP observé, mais sur-prudente |
| Certificat par tick (avec fan-in) | 0,9954 | 0 | 74,17 % | Oui, sous H1–H5 |
Le cœur du papier en une phrase
Comme classeurs, les trois scores se valent presque (AUC 0,988 à 0,995). Le certificat ne se distingue pas en classant mieux — il se distingue en restant sûr à couverture utile : même zéro faux positif que la version prudente, mais 6,4 fois plus de cas garantis.
Où la divergence se cache
Question naturelle : qu’est-ce qui fait diverger un réseau ? La réponse est nette, et ce n’est pas l’architecture.
source : rcert_pertick_sweep_v2.jsonl — regroupement par decay
Un neurone à mémoire longue amortit lentement : chaque erreur d’arrondi s’accumule avant d’être évacuée par la fuite. Un neurone à mémoire courte l’évacue presque aussitôt, avant qu’elle ne grossisse. À côté de cet effet, le choix de l’architecture pèse peu (17 %, 13 %, 19 % selon les trois testées).
L’épreuve du feu
Un certificat ne se juge pas sur les cas faciles. On a donc construit 520 configurations conçues pour le piéger : synchronisation maximale des synapses, saturation, seuils pile sur une frontière d’arrondi, poids poussés aux limites, décharge dès le premier instant, mémoire très longue près du seuil.
| Catégorie piège | n | Certifiées | Certifiées ET divergentes |
|---|---|---|---|
| Marge sous le demi-cran du seuil | 160 | 0 | 0 |
| Fan-in maximal synchrone | 150 | 150 | 0 |
| Seuil sur frontière d’arrondi | 40 | 39 | 0 |
| Poids aux limites | 40 | 40 | 0 |
| Décharge au premier instant | 30 | 30 | 0 |
| Près du seuil, mémoire longue | 30 | 17 | 0 |
| Réseaux silencieux | 10 | 10 | 0 |
| Total dans le domaine H1–H5 | 460 | 286 | 0 |
| Saturation positive et négative (hors H3) | 60 | critère positif, non certifié par le théorème | 0 observée |
Deux lignes racontent quelque chose. Les 160 configurations « à un demi-cran du seuil » sont toutes réellement bit-exactes — et aucune n’est certifiée. Le certificat y est maximalement prudent : il n’a pas tort, il est silencieux, et cette ligne mesure le prix de sa prudence. La ligne « mémoire longue près du seuil » est la seule où de vraies divergences existent (11 sur 30) : le certificat en certifie 17, dont aucune divergente.
La distinction cruciale : sur 520 pièges, 460 sont dans le domaine du théorème et 0 le mettent en défaut. Les 60 cas saturants sont hors hypothèse H3 : le critère y dépasse 1 sans divergence observée, mais ce n’est pas une certification par le théorème. Le domaine où une preuve s’applique et le domaine où l’on a observé un bon comportement sont deux choses différentes, et ce site ne les confond jamais.
Là où la méthode échoue
Le sous-titre du papier est « et pourquoi la même technique échoue pour les comptages ». Voici la frontière exacte de la technique, et pourquoi elle passe précisément là.
L’idée séduisante serait d’étendre le certificat des instants d’impulsion au simple nombre d’impulsions. On pourrait accepter que les impulsions se décalent un peu, tant que leur compte reste identique. Mais la borne par-neurone qui marchait pour les instants devient non saine pour les comptages : elle est violée sur 2 660 des 18 375 configurations.
| Borne de comptage tentée | Violations / 18 375 | Saine ? |
|---|---|---|
| Naïve (par neurone) | 2 660 | Non |
| Cascade par neurone | 2 660 | Non |
| Repli réseau (T − t0 global) | 0 | saine, mais triviale |
Pourquoi cet échec ? Il remonte directement à la récurrence de la preuve. La borne d’un neurone suppose qu’il reçoit le même signal entrant dans les deux versions. C’est vrai tant que rien n’a divergé. Mais dès qu’un seul neurone diverge, cette hypothèse tombe pour tous les neurones en aval — et leurs bornes ne veulent plus rien dire.
La certification locale, neurone par neurone, n’est pas fermée sous la causalité du réseau : une divergence locale peut invalider les bornes de tous les neurones qu’elle peut atteindre.
Il existe bien une borne saine pour les comptages — mais elle est vide de sens. Sur 193 configurations dont l’erreur de comptage réelle est exactement zéro, cette borne « sûre » certifie encore une erreur possible de 4 807 en moyenne. Elle a raison, techniquement, et elle est inutile. Le papier la présente pour ce qu’elle est — un repli universel après perte de synchronisation — et jamais comme un certificat de taux.
Trois exigences emboîtées
Ce diagnostic ouvre une structure élégante. Sur ce corpus, trois niveaux d’exigence s’emboîtent, du plus strict au plus lâche :
source : rcert_analysis_v2.json · hiérarchie observée sur le corpus
Deux nuances d’honnêteté statistique, que le papier tient à préciser. La coquille externe de 88 configurations à corrélation parfaite mais comptages inégaux n’est pas une anomalie : une corrélation de 1 signifie « relation affine », pas « vecteurs égaux ». Et deux configurations montrent une corrélation négative — signalées comme une décorrélation de régime réelle, non diagnostiquée, plutôt qu’écartées comme du bruit.
Certifier la décision, pas l’impulsion
Pour une tâche de classification, exiger que toutes les impulsions coïncident est plus strict que nécessaire. Ce qui compte vraiment, c’est que la classe gagnante reste la même. On peut donc mesurer directement la survie de la décision.
source : rdec_summary.json · préservation des décisions
Le piège, c’est l’exigence n° 3 du début. Ce prédicteur de décision a besoin, pour être calculé, de connaître l’erreur réelle de chaque sortie — ce qui exige d’avoir déjà exécuté la version entière. Il est donc post-exécution : excellent, mais ce n’est pas un certificat a priori. L’appeler « certificat » violerait la règle qu’on s’est fixée.
La vraie garantie, gratuite
Bonne nouvelle : sur les 13 628 configurations certifiées par le certificat d’impulsions, zéro ne présente de basculement de décision. Les 44 basculements sont tous dans la zone non certifiée. Le certificat garantit donc aussi les décisions, a priori, à 74,17 %. L’écart avec les 97,72 % du prédicteur est exactement le prix de n’avoir pas exécuté la version entière.
Périmètre et Limitations
- Ce n’est pas une preuve formelle universelle : certificat empirique, solide sur 18 375 configurations sous H1–H5, avec une preuve esquissée à la main, non vérifiée par machine.
- L’apport est la solidité à couverture utile, pas la discrimination : comme classeurs les trois scores se valent presque.
- Aucune inférence de population : les 18 375 configurations se regroupent en 15 topologies. L’intervalle sur l’AUC est une borne inférieure de l’incertitude, pas un intervalle calibré.
- La solidité s’achète en couverture : un quart du corpus reste hors de portée, et là où les marges sont fines le certificat se tait.
- Aucune garantie au niveau des comptages ni des taux : la technique par-neurone y est non saine (2 660 violations), et le repli sain est inutile.
- Un régime reste inexpliqué : les deux configurations à corrélation négative, signalées et non diagnostiquées.
- La préservation des décisions est prédite, pas certifiée (97,72 % post-exécution).
- Généralisation non testée : uniquement des neurones LIF, une seule paire de précisions (float64 → Q16.16), des topologies aléatoires de 50 à 500 neurones. Ni Izhikevich, ni int8, ni réseaux profonds.
Reproductibilité algorithmique
Les artefacts, avec leurs empreintes
Chaque fichier du dépôt porte son empreinte SHA-256. En voici les seize premiers caractères, tels que gelés le 21 juillet 2026 :
rcert_pertick_sweep_v2.jsonl 041394d161497d0c (18 375 lignes brutes)
rcert_analysis_v2.json 91e864d4b1a88a7a (analyse principale)
rcert_adversarial_summary.json 7ccfa73c94467e35 (les 520 pièges)
driver du sweep 9fcf5b3661c32213 (script de mesure)
cœur de simulation gelé 21332f7d25e1c15f
Vérifier l’intégrité de toute l’archive tient en une commande :
sha256sum -c SHA256SUMS.txt
Toutes les figures de cette page ont été recalculées depuis ces fichiers, pas recopiées du PDF. Le nombre de faux positifs de la figure 1, les seuils de decay de la figure 4 : chacun est reproductible en quelques lignes contre le fichier brut.