Awesomeness 2.0

Cecilia Kjellman på Infotiv brinner för artificiell intelligens. Läs om projektet Framtest (eller Awesomeness 2.0 som det kallas internt), ett samarbete mellan RISE och Infotiv där man letat efter de senaste testmetoderna för maskininlärning från den akademiska världen.

AI och machine learning trendar och det verkar inte finnas någon gräns för vilka problem som man kan applicera sådana lösningar på. 

Det är viktigt att testningen av dessa nya lösningar hänger med och blir inbjuden till att få hålla jämna steg med implementeringen. När en självkörande bil tar ett felbeslut kan det sluta med att någon dör, och om förlust av liv är oundviklig, hur vill vi att bilen reagerar[1]? Hur verifierar vi att den självkörande bilen alltid kommer bete sig som tänkt? Är komplexa självlärande system testbara?

På mitt uppdrag som testsystemutvecklare av virtuell testcell, och i mitt tidigare arbete som statistisk programmerare inom biomedicinsk forskning, har jag sett termen "AI" används för att beskriva många skilda system (speciellt nu när det är trendigt!). De enklaste systemen som jag sett använda AI-etiketten skulle kunna beskrivas rätt och slätt som tillämpad matematik. Man har någon idé om hur den underliggande strukturen borde se ut (detta skulle kunna vara så enkelt som en linjär ekvation). Man tar sin insamlade data om systemet, använder den för att hitta en bra passning av sin struktur, och utvärderar hur bra den passade modellen stämmer med verkligheten.

Inte så enkelt att skapa självkörande bil

Så enkelt är det tyvärr inte att skapa en självkörande bil. Bara att tolka omgivningen baserat på indata från sensorer är ett problem som kräver en mycket mer avancerad modell än den som beskrevs ovan (är det ett mötande fordon eller bara ljus som reflekteras i en vattenpöl?). Detta påverkar i sin tur beslutstagandet (skall bilen fortsätta köra rakt fram eller väja?). Den enkla modellen i första exemplet har en begränsad giltighet men en självkörande bil måste på ett säkert sätt kunna hantera alla möjliga situationer som kan uppstå under färd. 

Tänk dig att du skall verifiera att en självkörande bil är säker, följer lokala lagar och lokal trafikkultur (eller i alla fall inte stör den). Hur börjar du? Standarden ISO 26262 rekommenderar en rad testmetoder baserat på risknivån. Dock antar standarden att man har kännedom om hur den inre strukturen ser ut. Till skillnad från vårt enkla exempel är den underliggande strukturen föränderlig och beror på träningsdatan. Exempelvis blir kontrollflödesanalys inte meningsfull[2] när man använder ett neuralt nätverk där man inte vet vilken effekt en specifik nod ger på utdata. 

Har man testat alla slags situationer som kan uppstå?

Även för black-box-testning finns utmaningar. Hur visar man att man testat alla möjliga situationer som kan uppstå? Hur många virtuella mil behöver en bil köra innan den får ta B-körkort? Hur skulle du visa att resultatet är generaliserbart? Förra året publicerades artikeln med det rättframma namnet "One pixel attack for fooling deep neural networks"[3] där man drog slutsatsen att de neurala nätverk som testades var instabila: mycket liten skillnad i indata (en enda pixel) kan ge stor skillnad i utdata. 

Allt detta och då har vi inte börjat utforska möjligheterna med ett självlärande system. Ett system som inte bara lämnar tillverkaren färdiglärd utan lär sig under sin livstid och anpassar sig efter sin ägares vanor och den lokala trafikkulturen. Hur verifierar du att bilen inte kan lära sig fel? Hur ser du till att det finns samma förtroende för detta system som vi har i de enkla men beprövade och mätbara modellerna?

Infotiv och RISE i samverkan

Framtest (eller Awesomeness 2.0 som det kallas internt), ett samarbete mellan RISE och Infotiv, har just avslutat en litteraturstudie där man letat efter de senaste testmetoderna för maskininlärning från den akademiska världen.

Jag kommer som en del av Framtest intervjua tiotalet insiktsfulla personer som jobbar med testning om hur de ser på framtiden och de utmaningar som väntar när maskininlärda system skall testas. Bilden från industrin kommer sedan att jämföras med bilden som fåtts från litteraturstudien.

Det är ett mycket intressant och angenämt uppdrag, att få tillfälle att få prata med personer som kan sin sak och höra hur de ser på framtidens testning.

Artikelförfattare: Cecilia Kjellman

Fotnoter

[1] Klassiskt exempel är spårvagnsproblemet (trolley problem). Prova själv i modern tappning här: http://moralmachine.mit.edu/

[2] Rick Salay, Rodrigo Queiroz, Krzysztof Czarnecki "An Analysis of ISO 26262 - Using Machine Learning Safely in Automotive Software" https://arxiv.org/abs/1709.02435v1

[3] Jiawei Su, Danilo Vasconcellos Vargas, Sakurai Kouichi "One pixel attack for fooling deep neural networks" https://arxiv.org/abs/1710.08864v4

Share this page