Videnskab
 science >> Videnskab >  >> Elektronik

Hvordan man kan se, om maskinlæringssystemer er robuste nok til den virkelige verden

Modstridende eksempler er let ændrede input, der får neurale netværk til at lave klassifikationsfejl, som de normalt ikke ville, såsom at klassificere et billede af en kat som en hund. Kredit:MIT News Office

MIT-forskere har udtænkt en metode til at vurdere, hvor robuste maskinlæringsmodeller kendt som neurale netværk er til forskellige opgaver, ved at opdage, hvornår modellerne laver fejl, de ikke burde.

Konvolutionelle neurale netværk (CNN'er) er designet til at behandle og klassificere billeder til computersyn og mange andre opgaver. Men små modifikationer, der er umærkelige for det menneskelige øje - siger, nogle få mørkere pixels i et billede - kan få en CNN til at producere en drastisk anden klassificering. Sådanne modifikationer er kendt som "modstridende eksempler". At studere virkningerne af modstridende eksempler på neurale netværk kan hjælpe forskere med at bestemme, hvordan deres modeller kan være sårbare over for uventede input i den virkelige verden.

For eksempel, førerløse biler kan bruge CNN'er til at behandle visuelle input og producere et passende svar. Hvis bilen nærmer sig et stopskilt, den ville genkende skiltet og stoppe. Men et papir fra 2018 fandt ud af, at placering af et bestemt sort-hvidt klistermærke på stopskiltet kunne, faktisk, narre en førerløs bils CNN til at fejlklassificere skiltet, hvilket potentielt kan forårsage, at det slet ikke stopper.

Imidlertid, der har ikke været nogen måde til fuldt ud at evaluere et stort neuralt netværks modstandsdygtighed over for modstridende eksempler for alle testinput. I et papir, de præsenterer i denne uge på den internationale konference om læringsrepræsentationer, forskerne beskriver en teknik, der for enhver input, enten finder et modstridende eksempel eller garanterer, at alle forstyrrede input - der stadig ligner originalen - er korrekt klassificeret. Derved, det giver en måling af netværkets robusthed til en bestemt opgave.

Lignende evalueringsteknikker findes, men har ikke været i stand til at skalere op til mere komplekse neurale netværk. Sammenlignet med disse metoder, forskernes teknik kører tre størrelsesordener hurtigere og kan skaleres til mere komplekse CNN'er.

Forskerne vurderede robustheden af ​​et CNN designet til at klassificere billeder i MNIST-datasættet med håndskrevne cifre, som omfatter 60, 000 træningsbilleder og 10, 000 testbilleder. Forskerne fandt ud af, at omkring 4 procent af testinput kan forstyrres en smule for at generere modstridende eksempler, der ville få modellen til at foretage en forkert klassificering.

"Modstridige eksempler narre et neuralt netværk til at begå fejl, som et menneske ikke ville, " siger førsteforfatter Vincent Tjeng, en kandidatstuderende i Computer Science and Artificial Intelligence Laboratory (CSAIL). "For et givet input, vi ønsker at afgøre, om det er muligt at indføre små forstyrrelser, der ville få et neuralt netværk til at producere et drastisk anderledes output, end det normalt ville. På den måde, vi kan vurdere, hvor robuste forskellige neurale netværk er, at finde mindst ét ​​modstridende eksempel, der ligner inputtet eller garantere, at der ikke eksisterer noget for det input."

Med Tjeng på papiret er CSAIL-kandidatstuderende Kai Xiao og Russ Tedrake, en CSAIL-forsker og en professor ved Institut for Elektroteknik og Datalogi (EECS).

CNN'er behandler billeder gennem mange beregningslag, der indeholder enheder kaldet neuroner. For CNN'er, der klassificerer billeder, det sidste lag består af en neuron for hver kategori. CNN klassificerer et billede baseret på neuronen med den højeste outputværdi. Overvej et CNN designet til at klassificere billeder i to kategorier:"kat" eller "hund." Hvis den behandler et billede af en kat, værdien for "kat"-klassificeringsneuronen bør være højere. Et kontradiktorisk eksempel opstår, når en lille ændring af billedet får "hunde"-klassifikationsneuronens værdi til at være højere.

Forskernes teknik kontrollerer alle mulige ændringer af hver pixel i billedet. I bund og grund, hvis CNN tildeler den korrekte klassifikation ("kat") til hvert modificeret billede, der findes ingen modstridende eksempler for det billede.

Bag teknikken er en modificeret version af "blandet-heltal programmering, " en optimeringsmetode, hvor nogle af variablerne er begrænset til at være heltal. blandet heltal programmering bruges til at finde et maksimum af en eller anden objektiv funktion, givet visse begrænsninger på variablerne, og kan designes til at skalere effektivt til at evaluere robustheden af ​​komplekse neurale netværk.

Forskerne satte grænserne, så hver pixel i hvert inputbillede kan gøres lysere eller mørkere med op til en bestemt værdi. I betragtning af grænserne, det ændrede billede vil stadig ligne det originale inputbillede bemærkelsesværdigt, hvilket betyder, at CNN ikke skal narre. Blandet heltal programmering bruges til at finde den mindst mulige ændring af pixels, der potentielt kan forårsage en fejlklassificering.

Ideen er, at justering af pixels kan få værdien af ​​en forkert klassificering til at stige. Hvis kattebilledet blev indført til det kæledyrsklassificerede CNN, for eksempel, Algoritmen ville blive ved med at forstyrre pixels for at se, om den kan hæve værdien for neuronen svarende til "hund" til at være højere end værdien for "kat".

Hvis algoritmen lykkes, den har fundet mindst ét ​​modstridende eksempel for inputbilledet. Algoritmen kan fortsætte med at justere pixels for at finde den minimale ændring, der var nødvendig for at forårsage den fejlklassificering. Jo større minimumsændring - kaldet "minimum modstridende forvrængning" - jo mere modstandsdygtigt er netværket over for modstridende eksempler. Hvis, imidlertid, den korrekte klassificeringsneuron udløses for alle forskellige kombinationer af modificerede pixels, så kan algoritmen garantere, at billedet ikke har noget modstridende eksempel.

"Givet et inputbillede, vi vil vide, om vi kan ændre det på en måde, så det udløser en forkert klassificering, " siger Tjeng. "Hvis vi ikke kan, så har vi en garanti for, at vi søgte på tværs af hele rummet af tilladte ændringer, og fandt ud af, at der ikke er nogen forstyrret version af det originale billede, der er fejlklassificeret."

Til sidst, dette genererer en procentdel for, hvor mange inputbilleder der har mindst ét ​​modstridende eksempel, og garanterer, at resten ikke har nogen modstridende eksempler. I den virkelige verden, CNN'er har mange neuroner og vil træne på massive datasæt med snesevis af forskellige klassifikationer, så teknikkens skalerbarhed er kritisk, siger Tjeng.

"På tværs af forskellige netværk designet til forskellige opgaver, det er vigtigt for CNN'er at være robuste over for modstridende eksempler, " siger han. "Jo større andel af testprøver, hvor vi kan bevise, at der ikke eksisterer noget kontradiktorisk eksempel, jo bedre skal netværket yde, når det udsættes for forstyrrede input."

"Beviselige grænser for robusthed er vigtige, da næsten alle [traditionelle] forsvarsmekanismer kunne brydes igen, siger Matthias Hein, professor i matematik og datalogi ved Saarlands universitet, som ikke var involveret i undersøgelsen, men har prøvet teknikken. "Vi brugte den nøjagtige verifikationsramme for at vise, at vores netværk faktisk er robuste ... [og] gjorde det også muligt at verificere dem sammenlignet med normal træning."

Denne historie er genudgivet med tilladelse fra MIT News (web.mit.edu/newsoffice/), et populært websted, der dækker nyheder om MIT-forskning, innovation og undervisning.




Varme artikler