Djupinlärningssystem (DL) används i allt högre grad inom säkerhets- och säkerhetskritiska områden som självkörande bilar och upptäckt av skadlig kod, där korrektheten och förutsägbarheten i ett systems beteende för ingångar i hörnfall är av stor betydelse. Befintliga DL-testning beror starkt på manuellt märkta data och därför misslyckas ofta med att avslöja felaktiga beteenden för sällsynta ingångar. Vi designar, implementerar och utvärderar DeepXplore, den första white-box ramen för att systematiskt testa verkliga DL-system. Först introducerar vi neurontäckning för mätning av de delar av ett DL-system som utövas genom testingångar. Därefter utnyttjar vi flera DL-system med liknande funktionalitet som korsrefererande orakel för att undvika manuell kontroll. Slutligen visar vi hur hitta ingångar för DL-system som både utlöser många differentialbeteenden och uppnår hög neurontäckning kan representeras som ett gemensamt optimeringsproblem och lösas effektivt med hjälp av gradientbaserade söktekniker. DeepXplore hittar effektivt tusentals felaktiga hörn fall beteenden (t.ex., självkörande bilar kraschar in i skyddsräcken och malware maskerad som godartad programvara) i state-of-the-art DL-modeller med tusentals neuroner tränas på fem populära datauppsättningar som ImageNet och Udacity själv körning utmaningsdata. För alla testade DL-modeller genererade DeepXplore i genomsnitt en testingång som visade felaktigt beteende inom en sekund medan den bara kördes på en bärbar bärbar dator. Vi visar vidare att de testingångar som genereras av DeepXplore också kan användas för att omskola motsvarande DL-modell för att förbättra modellens noggrannhet med upp till 3%.
Idén med neurontäckning är att täcka båda aktiveringstillstånden för alla neuroner REF.
DeepXplore: automated whitebox testing of deep learning systems
{'venue': 'CACM', 'journal': None, 'mag_field_of_study': ['Computer Science']}