Abstrakt. Djupa neurala nätverk (DNN) har ett brett spektrum av applikationer, och programvara som använder dem måste noggrant testas, särskilt inom säkerhetskritiska områden. Traditionell metod för testning av programvara, inklusive kriterier för testtäckning och algoritmer för testfall, kan dock inte tillämpas direkt på DNN. Detta papper överbryggar denna lucka. För det första föreslår vi, med utgångspunkt i det traditionella MC/DC-täckningskriteriet, en uppsättning av fyra testkriterier som är anpassade till de särskilda egenskaperna hos DNN. Våra nya kriterier är ojämförliga och kompletterar varandra. För det andra ger vi för varje kriterium en algoritm för att generera testfall baserade på linjär programmering (LP). Algoritmerna producerar ett nytt testfall (dvs. en inmatning till DNN) genom att störa ett givet fall. De kodar testkravet och ett fragment av DNN genom att fixera aktiveringsmönstret som erhålls från det givna indataexemplet, och minimera sedan skillnaden mellan de nya och de aktuella ingångarna. Slutligen validerar vi vår metod på en uppsättning nätverk som är utbildade på MNIST datasetet. Nyttan av vår metod visas experimentellt med fyra mål: (1) felsökning; (2) DNN säkerhetsstatistik; (3) testeffektivitet och (4) DNN intern strukturanalys.
REF presenterade täckningskriterier som inspirerats av MC/DC-kriterier i programvara.
Testing Deep Neural Networks
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science', 'Mathematics']}