Dolda lager
Säg att du är dataingenjör och har fått uppdraget att skapa mjukvara för att bedöma kreditvärdigheten hos nya bankkunder. Du har fått en stor mängd anonymiserad data att arbeta med. Datat innehåller alla möjliga uppgifter om personer, deras inkomst, betalningsanmärkningar, yrke, familjeförhållanden, kön, utbildning, bostad, med mera. Hur går du till väga?
Om du är en ingenjör av den gamla skolan, så går du metodiskt till väga. Du börjar med att tvätta datamaterialet. Eftersom det kommer från olika källor, så måste det bearbetas så att det blir koncistent, samma datumformat överallt, standardiserade värden som går att bearbeta, inga konstiga tecken i texten. När datat ser bra ut börjar du gruppera det på olika sätt. Det kan vara boende i storstad, eller på landet, tjänsteman eller arbetare, eller liknande. Du försöker vara så objektiv som möjligt. Banken har en lista på vad som visat sig vara riskkunder, men frågan är om du kan hitta mönster i deras data som gör att det går att förutsäga vilken ny kund som kan komma att bli ett problem. Du gör en stor mängd beräkningar för att hitta korrelationer och mönster. Till slut har du fått fram en ranking, genom att vikta en bankkunds olika data och räkna fram ett riskvärde. Du har skapat en algoritm genom metodiskt arbete och kreativitet.
Men du kanske är mer inriktad på moderna metoder, som AI och Machine Learning? Du är inte så intresserad av att analysera datamaterialet, du vill hellre bygga en modell med TensorFlow. Så du läser in all data i en stor matris. Sedan delar du upp datat i en del som din modell skall träna sig på och en annan del som du ska ha för att testa din modell. Därefter bestämmer du hur många parametrar som skall var ingång till modellen och hur många som skall komma ut. Till slut sätter du upp ett antal dolda lager mellan ingång och utgång i modellen. Det är här din talang kommer till sin rätt. Det går nämligen inte att säkert veta hur de dolda lagrerna skall se ut, hur många och i vilka dimensioner. Man får prova sig fram, men de som hållit på länge med detta får en känsla av vad som fungerar. Du vet att du lyckats när träffsäkerheten på ditt testdata ligger på över 98%.
Det håller på att ske ett skifte i hur vi tillämpar teknik, särskilt inom dataområdet. De storskaliga lösningarna tar över, logik och eftertänksam konstruktion ersätts med statistik och kombination av färdiga moduler. Trenden är att försöka ersätta människan med system. Artificiell intelligens skall på sikt ta över. Men är det verkligen så? Visar inte exemplet med Machine Learning att allt ändå bygger på mänsklig kreativitet? Skillnaden är bara abstraktionsnivån. Nu pusslar människan ihop moduler utan att förstå den bakomliggande verkan. Det blir mer känsla och intuition, än logisk analys och strävan att förstå detaljerna. Men det är fortfarande mänsklig kreativitet som driver på. Lurar vi oss själva?