Prognosverktyg för mjölkbönder och mejerier

I våras hjälpte jag Dairy Data Warehouse att utveckla olika prognossystem för mjölkindustrin. I förra veckan lanserades några av de här systemen på den ledande mässan inom djurhållning: EuroTier i Hannover. De system jag varit med och utvecklat använder AI i form av  djupinlärning (deep learning), där data från en rad olika källor (mjölkningsrobotar, fodersystem, avelsdatabaser, m.m.) vägs ihop för att göra prognoser för exempelvis hur mycket mjölk en ko kommer att ge det närmaste året.

Systemen kommer att kunna användas på flera olika sätt. Bonden kommer att få bättre underlag för att bedöma vilka djur hon ska behålla och för hur ekonomin kommer se ut framöver. Mejerierna kommer att få bättre uppskattningar av hur mycket mjölk de ska hämta olika dagar och kan därmed bättre planera de rutter som tankbilarna åker, med både ekonomiska och miljömässiga vinster.

Dagens mjölkindustri är teknikintensiv och full av system som samlar in data av olika slag. Dairy Data Warehouse har byggt upp en unik databas där data från alla dessa system samlas på ett och samma ställe. Med hjälp av den databasen har vi också utvecklat system som ska ge bättre djurhälsa och som knyter an till internet of things i ladugården och på mejeriet. Mer om det kommer en annan gång.

  • Jag erbjuder rådgivning och utvecklingstjänster kring prognoser och AI. Kontakta mig för att få veta mer.

Diskriminering och dåliga data: fallet Amazon

I dagarna har det rapporterats om att Amazon lagt ner ett projekt där AI skulle användas för att sålla bland kandidater vid rekryteringar (IDG, Reuters). Anledningen är att AI-verktyget började diskriminera kvinnor och föredra manliga sökande.

Men hur kan en dator lära sig att diskriminera? Svaret finns i våra data.

Statistiker världen över har ägnat årtionden åt att fundera över hur man på bästa sätt ska samla in data för att kunna ge svar på de frågor man undrar över. Det finns många fallgropar när det gäller datainsamling. Två av dem är:

  • Obalanserat urval: om vi vill utföra en opinionsundersökning för att kunna göra en prognos för hur det svenska folket kommer att rösta i ett riksdagsval så duger det inte att exempelvis bara fråga personer i Danderyd, eftersom den gruppen helt enkelt inte är representativ för riket i stort. Om personerna i vårt datamaterial till största delen är från en liten del av samhället så kan våra data inte användas för att säga något om resten av samhället.
  • Felmärkta data: i studier där man ska lära en statistisk modell att till exempel diagnosticera en sjukdom så behöver alla patienter i datamaterialet att ”märkas” – antingen som att de har sjukdomen eller som att de inte har sjukdomen. Den märkningen utgör facit när modellen tränas att känna igen sjukdomen. Tyvärr är det vanligt att man helt enkelt inte har perfekta data. Diagnoser kan vara svåra att ställa och en del patienter får fel diagnos. Det kan finnas komplicerade gränsfall, ovanliga fall med andra symptom än de vanligaste och patienter som har symptomen men inte sjukdomen. Det gör att det ofta kan bli fel när patienterna som ingår i datamaterialet ska märkas – och de fel som sker vid märkningen lär sig den statistiska modellen att upprepa. Märkningen är modellens facit och den kan inte på egen hand upptäcka när det blivit fel.

Om man inte undviker fallgroparna så riskerar man att lura både sig själv och andra. Det gäller oavsett om man utför opinionsundersökningar eller utvecklar AI-verktyg för rekrytering.

I fallet med Amazons rekryterings-AI så finns det tecken på att de fallit i båda de ovan nämnda fallgroparna:

  • Obalanserat urval: Amazons datamaterial bestod av ansökningar som tidigare kommit in till företaget. En majoritet av dessa var från män. Det gör att det blir lättare för AI-systemet att känna igen anställningsbara män (eftersom det sett fler exempel på sådana). En fara med det här datamaterialet är också att systemet kan avfärda kandidater som inte liknar de som tidigare sökt sig till företaget – vilket gör att man riskerar att missa nya kompetenser.
  • Felmärkta data: om (så som ofta visats vara fallet) kvinnors kompetens nedvärderas i teknikbranschen medan mäns kompetens uppvärderas, så kommer det att finnas en felmärkning i datamaterialet. Kvinnor kommer felaktigt att av människor i genomsnitt bedömas som mindre kompetenta (och därmed inte märkas som anställningsbara) och män felaktigt att av människor i genomsnitt bedömas som mer kompetenta (och därmed märkas som anställningsbara). AI:n lära sig då att själv upprepa de felvärderingarna.

Att låta sökande bedömas av ett AI-verktyg är i teorin en jättebra idé. Datorn kan vara opartisk, rättvis och ge alla samma chans. Men om de data som används för att bygga upp verktyget inte är opartiska, rättvisa och ger alla samma chans blir effekten den motsatta. AI:n löser i så fall inte problemet med diskriminering – tvärtom cementerar den diskrimineringen.

Diskriminerande AI-system är på intet sätt något som är unikt för rekryteringsverktyg – ett annat exempel från i år är ansiktsigenkänningssystem som fungerar mycket bättre för vita män än för personer med annat kön eller annan hudfärg. Värt att understryka är att Amazon på eget bevåg lade ned projektet med AI-verktyg för rekrytering. Men hur många företag har gått och kommer gå vidare med AI-projekt utan att förstå vikten av att inte bygga in diskriminering i dem? Vad kommer de och vi att gå miste om när systemen fattar beslut på felaktiga grunder? Och hur kommer reaktionerna att bli när problemen med deras system avslöjas?

  • Jag erbjuder rådgivning kring datainsamling och hjälp med att bygga statistiska modeller och AI-system som undviker fallgroparna. Kontakta mig för att få veta mer.
  • Jag ger också föredrag om hur vi ska göra för att undvika att lura oss själva och andra med siffror och statistik, samt om hur AI påverkar oss idag och i framtiden.

Att bekämpa översvämningar med (eller utan) AI

Att skriva om översvämningar känns en smula märkligt efter en rekordvarm sommar med torka och skogsbränder (även om Uppsala centralstation översvämmades av störtregn i slutet av juli). Men vad annat kan jag göra när Wired skriver en spännande artikel om hur AI kan användas för att förebygga just översvämningar? Och eftersom vi kan förvänta oss mer extremt väder i takt med att planeten blir allt varmare så kan vi inte börja tänka på den här sortens frågor snart nog.

Sommaren har varit varm och torr.

I Wired-artikeln beskrivs hur man med hjälp av AI skapat en karta som kan användas för att övervaka risken för översvämningar. I texten kan man plocka upp tre punkter som är återkommande för i stort sett alla AI-projekt:

  • AI-system behöver stora mängder data för att byggas upp – och som så ofta är fallet så var det i det här projektet väldigt arbetsintensivt att samla ihop och strukturera de data som användes.
  • Men, efter en stor arbetsinsats i inledningen av projektet kan AI sedan användas för att automatisera processen. När man senare vill uppdatera sina kartor går det i ett nafs.
  • Att likt artikelns rubrik påstå att ”AI förebygger naturkatastrofer” är att överdriva. AI löser oftast inte hela problem åt oss, utan är ett verktyg som används som ett steg i problemlösningen. I det här fallet hjälper de AI-skapade kartorna oss att övervaka vattenflöden och risker. I slutändan är det ändå människor som väljer att göra eller inte göra något utifrån den informationen.

Neurala nätverk och andra populära AI-verktyg är fantastiska när vi vill automatisera olika rutinartade uppgifter, men kan få problem när de ställs inför helt nya situationer. Eller när man ber dem att komma med prognoser för vad värsta möjliga utfall är. Ett exempel är frågan om hur högt vattenståndet som högst kommer vara i Fyrisån de kommande hundra åren. Svaret på den frågan är enormt viktigt när man planerar bebyggelse kring ån – vi kan inte nöja oss med att undvika översvämningar ett genomsnittligt år utan måste förstås bygga med marginal så att vi även slipper dem de år då vattnet står som högst. Här räcker dagens AI-lösningar inte till, men det finns utmärkta matematiska modeller som går att använda för att få en bra uppfattning om hur illa det kan gå. Sådana så kallade extremvärdesmodeller kommer jag att återkomma till i ett framtida blogginlägg (och de kan förresten också användas för att förutspå hur varmt 2000-talets varmaste julimånad kommer vara, eller hur lite regn som kommer falla under århundradets värsta torka).

e-hälsa ger bättre vård – med eller utan AI

e-hälsa och digitalisering av vården är 2010-talets melodi och nu börjar vi på allvar se fördelarna med det inom medicinsk diagnostik. Ta patienter som hamnar på sjukhus som ett exempel. Genom åren har flera statistiska modeller för att förutspå mortalitet, oplanerade återbesök och långvarig inläggning på sjukhus tagits fram. Genom att använda information om exempelvis blodtryck, puls, andning och vita blodkroppar kan modellerna med hyfsad noggrannhet avgöra risken att en patient avlider, tvingas komma tillbaka till sjukhuset eller blir kvar i mer än en vecka.

I en intressant artikel från maj i år visar forskare från bland annat Google och Stanford att ett AI-system som kan läsa digitala journaler gör ett betydligt bättre jobb när det gäller att förutspå sådana risker. Artikeln har uppmärksammats stort i media, bland annat av Daily Mail och Bloomberg. Studien ser ut som en triumf för e-hälsa och forskarna ägnar mycket utrymme åt att beskriva fördelarna med djupinlärning, som är den form av AI de använt.

Det är lätt att hålla med om att det här är ett stort kliv framåt för e-hälsa – det visar att datorsystem som tolkar hela journaler istället för några få mätvärden har stor potential. Däremot är det knappast något stort kliv framåt för AI. Den som läser artikeln lite närmare hittar nämligen en jämförelse mellan forskarnas djupinlärningssystem och ett betydligt enklare system som matats med samma journaldata. Det senare använder logistisk regression – en stapelvara inom traditionell statistisk analys, som lärs ut på grundkurser och har funnits sedan 1950-talet. Jämförelsen, som ligger gömd längst ner i artikelns appendix, visar att skillnaden mellan djupinlärning och logistisk regression är minimal (och ser ut att vara inom felmarginalen).

Att lära upp djupinlärningssystem är tidskrävande och kräver mängder av beräkningskraft. Logistisk regression är betydligt enklare att använda, kräver mindre datorkraft och har dessutom fördelen att modellen går att tolka: djupinlärningssystem är så kallade svarta lådor där vi inte vet varför de gör en viss bedömning, medan vi med logistisk regression kan förstå precis varför systemet gör bedömningen. Om båda systemen fungerar lika bra så ska man välja logistisk regression alla dagar i veckan. En produkt som inget vet hur den fungerar är förstås inte lika bra som en produkt som vi kan förstå.

I den här och liknande artiklar kan man just nu skönja två tendenser:

  • e-hälsa kommer fortsätta leda till förbättrad vård och smart användning av digitala journaler kommer leda till bättre diagnoser.
  • Alla vill hoppa på AI-tåget och det är lätt att bli förblindad av alla glänsande nya AI-verktyg. Det verkliga bidraget i den här artikeln är sättet att få ut information från digitala journaler – inte användet av djupinlärning. Trots det talar både forskarna och media mest om AI-aspekten.

Den dataanalys som använder de häftigaste senaste teknikerna är inte alltid den som är bäst. Det är något som är väl värt att ha i åtanke när ni anlitar konsulter för dataanalys. Ibland är AI och djupinlärning precis rätt verktyg för era problem, men ibland är andra alternativ mycket bättre. Precis som man ska vara försiktig med att anlita en snickare som tror sig kunna lösa alla byggprojekt med bara en hammare så ska man tänka sig för innan man anlitar en konsult som vill lösa alla problem med AI.

AI mot AI och it-säkerhet

AI och ML är två populära förkortningar inom modern it-säkerhet, som står för artificiell intelligens respektive maskininlärning. Det pratas (med all rätt) mycket om hur dessa tekniker kan användas för att förbättra it-säkerhet, exempelvis genom automatisk upptäcka och stoppa cyberattacker. Det kanske mest kända exemplet på det är spam- och phishingfilter, som idag med god noggrannhet kan blockera skräppost och bedrägeriförsök.

Men AI kan också användas av de som utför attackerna.

På senare år har URL:er (webbadresser) som används i phishingattacker allt mer börjat genereras automatiskt. Säkerhetsföretagen har i sin tur utvecklat filter som med hjälp av AI och ML ska känna igen sådana URL:er – även när de inte använts i tidigare phishingförsök. Problemet är att sådana system går att lura.

Ett högaktuellt forskningsområde inom artificiell intelligens är så kallade adversarial examples eller, fritt översatt, fientliga exempel. Det handlar om att göra små modifiering av något som ska bedömas av ett AI-system (exempelvis en URL eller en bild) för att lura systemet. Det har gjorts enorma framsteg inom AI-drivna bildigenkänningsystem de senaste åren, och moderna system kan utan större problem känna igen olika föremål (fjärilar, bilar, osv), olika personers ansikten, oroväckande hudförändringar, med mera. Fientliga exempel har hittills oftast konstruerats för att lura just sådana bildigenkänningssystem. De skapas med hjälp av AI: man konstruerar ett nytt AI-system som får lära sig att lura bildigenkänningssystemet. Och det visar sig att genom att ändra några få pixlar i bilden, på ett sätt som knappt märks för människor, så kan man få AI-systemen att helt missbedöma vad de ”ser” i bilden. Med små små ändringar kan vi få datorn att tro att en bild på en fjäril i själva verket föreställer en lastbil.

Ovan: en fjäril. Nedan: en lastbil…?!

Det här kan förstås få oroväckande konsekvenser. Vad händer exempelvis om man lyckas lura kamerorna i en självkörande bil? Kan man lura ansiktsigenkänningsystem som används för identifiering istället för passerkort? Och kan de som ligger bakom phishingattacker använda samma teknik för att skapa URL:er som tar sig förbi säkerhetsföretagens filter?

Svaret på den sista frågan är definitivt ja. I en studie från juni i år visade några forskare vid säkerhetsföretaget Cyxtera att de med hjälp av AI kunde öka andelen phishing-URL:er som passerar nätfiskefilter från 0.69 % till 21 % i ett fall, och från 5 % till 36 % i ett annat fall. Det är dramatiska skillnader, som alltså nås genom att ett AI-system lärs upp i konsten att lura phishingfilter.

Från bildigenkänningsvärlden vet vi att system som tränas i att lura ett visst igenkänningssystem för det allra mesta också lyckas lura andra liknande igenkänningssystem. Rimligen innebär det att detsamma gäller för URL:er, vilket skulle kunna möjliggöra en ny framgångsrik våg av nätfiske – men bara om vi inte är vaksamma. Det går nämligen att förbättra dagens AI-drivna phishingfilter genom att lära dem att känna igen fientliga exempel. Det gör man genom att (som i Cyxteras studie) själv konstruera fientliga exempel riktade mot sitt system, som man sedan visar för systemet för att lära det att identifiera sådana bluffar. Projektet CleverHans försöker underlätta den strategin genom att erbjuda öppen källkod som kan användas för att förbättra systems skydd mot fientliga exempel.

Framtidens it-säkerhet ser ut att bli en kamp mellan AI och AI. Det gäller därför att hela tiden tänka på hur AI- och ML-system kan luras och utnyttjas. Den som inte ligger steget före kommer få ångra det.