← Nieuwste papers
🤖 machine learning

Floating-Point Neural Network Verification at the Software Level

Dit artikel introduceert NeuroCodeBench 2.0, een op C gebaseerde benchmark voor het verifiëren van floating-point neurale netwerkimplementaties, die de eerste rigoureuze evaluatie van state-of-the-art softwareverifiers mogelijk maakt en hun huidige beperkingen aantoont terwijl het de positieve impact van de benchmark op de ontwikkeling van tools benadrukt.

Oorspronkelijke auteurs: Edoardo Manino, Bruno Farias, Rafael Sá Menezes, Fedor Shmarov, Lucas C. Cordeiro

Gepubliceerd 2026-08-11
📖 3 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Edoardo Manino, Bruno Farias, Rafael Sá Menezes, Fedor Shmarov, Lucas C. Cordeiro

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een superintelligent robotbrein bouwt, een neuraal netwerk, ontworpen om een auto te besturen of een vliegtuig te vliegen. In de wereld van de wiskunde en de theorie zijn deze breinen perfect; ze volgen vloeiende, continue regels zoals water dat een rivier afstroomt. Maar in de echte wereld spreken computers geen "perfecte wiskunde". Ze spreken "floating-point", een schokkerige, digitale taal waarbij getallen zijn afgehakt in kleine, eindige stukjes, alsof je probeert een vloeiende zonsondergang te schilderen met slechts een beperkt palet aan Lego-steentjes. Deze minuscule pixelatie kan vreemde glitches veroorzaken: een functie die altijd omhoog zou moeten gaan, kan plotseling omlaag dippen door een afrondingsfout, vergelijkbaar met een trap die er van een afstand vloeiend uitziet, maar een verborgen, gevaarlijke trede heeft als je goed kijkt.

Stel je nu voor dat je wilt bewijzen dat dit robotbrein veilig is voordat je het laat rijden. Je zou het een miljoen keer kunnen testen, maar dat is alsof je een brug controleert door er een miljoen keer overheen te rijden; je zou de ene barst kunnen missen die tot een instorting leidt. In plaats daarvan wil je een "formele verifieerder" — een superdetective die wiskundig bewijst dat het brein nooit een fout zal maken, ongeacht welke input het krijgt. De grote vraag is: kunnen deze digitale detectives omgaan met de rommelige, schokkerige realiteit van hoe neurale netwerken daadwerkelijk in software zijn gecodeerd, of werken ze alleen op de perfecte, theoretische versies?

Dit artikel werpt een harde, eerlijke blik op acht van de beste beschikbare automatische softwareverifieerders van dit moment. De auteurs hebben een enorme testomgeving gebouwd genaamd NeuroCodeBench 2.0, die 912 verschillende puzzels bevat, variërend van eenvoudige wiskundige functies tot volwaardige neurale netwerken met tot wel 170.000 parameters. Ze hebben deze puzzels aan de verifieerders gevoerd om te zien of de tools correct konden identificeren of de code veilig of gevaarlijk was. De resultaten waren een beetje een reality check: de tools worstelen momenteel. Ze blijven vaak steken, lopen de tijd uit, of erger nog, verklaren onveilig code met vertrouwen als "veilig" of veilige code als "onveilig". Het blijkt dat hoewel deze tools geweldig zijn in het controleren van eenvoudige code, ze nog niet helemaal klaar zijn om de complexe, floating-point realiteit van moderne neurale netwerken aan te kunnen. Toch is het verhaal niet alleen maar slecht; het artikel laat zien dat het simpelweg hebben van een dergelijke rigoureuze benchmark ontwikkelaars al heeft geholpen om veel van hun tools te verbeteren, wat suggereert dat we met meer oefening en betere tools die digitale detectives op een dag misschien wel op niveau krijgen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →