Det er blevet ret almindeligt i disse dage at høre folk omtale moderne maskinlæringssystemer som “sorte bokse”. Som et eksempel kan man se et nyligt afsnit af Sam Harris’ podcast, hvor han interviewede AI-pioneren Stuart Russell. Harris spørger:

“Så hvis jeg ikke tager fejl, er de fleste, hvis ikke alle disse deep learning-tilgange, eller endog mere generelt machine learning-tilgange, i bund og grund sorte kasser, hvor man ikke rigtig kan inspicere, hvordan algoritmen opnår det, den opnår.”

Og selv om denne metafor er passende for nogle særlige situationer, er den faktisk ret misvisende generelt og kan være årsag til en betydelig mængde forvirring. Som vi vil se, er et deep learning-system ikke en sort boks; selv udviklingen af et sådant system behøver ikke at være en sort boks. Den virkelige udfordring er imidlertid, at begge disse ting er komplekse og ikke nødvendigvis er velforståede. Her vil jeg forsøge at afklare nogle af disse idéer og samtidig gennemtænke, hvad vi mener med forklaringer.

Som jeg vil forklare nedenfor, tror jeg, at forvirringen i det mindste delvist skyldes de misforståelser, som folk har om, hvordan disse systemer fungerer. Når folk griber til metaforen med den sorte boks, er det, de tilsyneladende giver udtryk for, at det er svært at finde mening med formålet med de forskellige komponenter i en maskinlæringsmodel. Selv om dette faktisk er vanskeligt, vil jeg hævde, at det også er en urealistisk forventning. Undervejs vil jeg forsøge at forklare forskellen mellem modeller, og hvordan de trænes, diskutere scenarier, hvor metaforen om den sorte boks er passende, og foreslå, at mennesker på mange måder er de virkelige sorte bokse, i hvert fald hvad angår maskinlæring.

Forklaringer

For at begynde er det nyttigt at reflektere over, hvad folk mener, når de taler om forklaringer. Dette er på ingen måde et trivielt spørgsmål, men der synes at være mindst to særligt relevante måder at tænke på dette på.

Når vi beder nogen om en forklaring på, hvorfor de gjorde noget (“Hvorfor gjorde du X?”), opererer vi ud fra et bestemt sæt baggrundsantagelser. I tilfælde af en beslutning, der blev truffet med omhu, antager vi typisk, at de havde en eller anden god grund til at handle, som de gjorde, og vi spørger i bund og grund om den ræsonnementsproces, de brugte til at træffe beslutningen. Vi kan f.eks. forvente, at de afvejede fordele og ulemper og valgte en handlemåde ud fra en forventning om, at den ville føre til et bestemt resultat.

Når vi spørger til, hvorfor noget gik galt, spørger vi derimod i stedet til en slags post-hoc-forklaring på fiaskoen. Efter en bilulykke kan vi f.eks. ønske en forklaring på, hvad der forårsagede ulykken. Var føreren distraheret? Var det en anden bil, der fik ham til at svinge? I stedet for en ræsonnementsproces beder vi mere eller mindre om den kritiske stimulus, der forårsagede en bestemt reaktion uden for normal adfærd.

Når folk tænker på kunstig intelligens, synes de typisk at have den første form for forklaring i tankerne. Forventningen er, at systemet har foretaget en overvejelse og valgt en handlemåde på baggrund af det forventede resultat. Selv om der er tilfælde, hvor dette er muligt, ser vi i stigende grad en bevægelse i retning af systemer, der mere ligner det andet tilfælde; dvs. at de modtager stimuli, og så reagerer de bare.

Der er meget gode grunde til dette (ikke mindst fordi verden er kompliceret), men det betyder, at det er sværere at forstå årsagerne til, hvorfor en bestemt beslutning blev truffet, eller hvorfor vi endte med en model i modsætning til en anden. Med det i tankerne skal vi undersøge, hvad vi forstår ved en model og metaforen om den sorte boks.

Kasser og modeller

Metaforen om den sorte boks stammer tilbage fra kybernetikkens og behaviorismens tidlige dage og henviser typisk til et system, for hvilket vi kun kan observere input og output, men ikke det interne system, der fungerer. Det var faktisk den måde, hvorpå B. F. Skinner konceptualiserede sind generelt. Selv om han med succes påviste, hvordan visse indlærte adfærdsformer kunne forklares ved et forstærkningssignal, der knyttede visse input til visse output, begik han derefter den berømte fejl at tro, at denne teori let kunne forklare al menneskelig adfærd, herunder sprog.

Som et mere simpelt eksempel på en sort boks kan man overveje et tankeeksperiment fra Skinner: Man får en boks med et sæt input (afbrydere og knapper) og et sæt output (lys, der enten er tændt eller slukket). Ved at manipulere indgangene er du i stand til at observere de tilsvarende udgange, men du kan ikke se ind i boksen for at se, hvordan den fungerer. I det enkleste tilfælde, f.eks. en lyskontakt i et rum, er det let at fastslå med stor sikkerhed, at kontakten styrer lysniveauet. For et tilstrækkeligt komplekst system kan det imidlertid være reelt umuligt at afgøre, hvordan kassen fungerer ved blot at prøve forskellige kombinationer.

Forestil dig nu, at du får lov til at åbne kassen og kigge ind i den. Du får endda et komplet ledningsdiagram, der viser, hvad alle komponenterne er, og hvordan de er forbundet. Desuden er ingen af komponenterne komplekse i sig selv; alt er bygget op af enkle komponenter som modstande og kondensatorer, som hver især har en adfærd, der er velforstået isoleret set. Nu har du ikke alene adgang til den fulde specifikation af alle komponenterne i systemet, du kan endda udføre eksperimenter for at se, hvordan hver af de forskellige komponenter reagerer på bestemte input.

Man kunne tro, at du med alle disse oplysninger i hånden nu ville være i stand til at give en god forklaring på, hvordan boksen fungerer. Når alt kommer til alt, er hver enkelt komponent forstået, og der er ingen skjulte oplysninger. Desværre opstår kompleksiteten af samspillet mellem mange enkle komponenter. For et tilstrækkeligt komplekst system er det usandsynligt, at du vil være i stand til at forudsige, hvad boksens output vil være for et givet input, uden at udføre eksperimentet for at finde ud af det. Den eneste forklaring på, hvorfor kassen gør, som den gør, er, at alle komponenterne følger de regler, der styrer deres individuelle adfærd, og at den samlede adfærd opstår ud fra deres samspil.

Men endnu vigtigere, ud over systemets hvordan, ville du sandsynligvis være i vildrede til at forklare, hvorfor hver enkelt komponent var blevet placeret, hvor den er, selv om du kendte systemets overordnede formål. I betragtning af at kassen blev designet til et eller andet formål, antager vi, at hver komponent blev tilføjet af en grund. I et særligt smart system kan det imidlertid ende med, at hver enkelt komponent kan komme til at påtage sig flere roller, som det er tilfældet med DNA. Selv om dette kan føre til et meget effektivt system, gør det også, at det er meget vanskeligt overhovedet at tænke på at opsummere formålet med hver enkelt komponent. Med andre ord er systemets hvordan fuldstændig gennemsigtigt, men hvorfor er potentielt uoverskueligt.

Det viser sig, at dette er en perfekt metafor for deep learning. Generelt er hele systemet åbent for inspektion. Desuden består det udelukkende af enkle komponenter, som er lette at forstå isoleret set. Selv om vi kender formålet med det overordnede system, er der imidlertid ikke nødvendigvis en simpel forklaring, som vi kan give på, hvordan systemet fungerer, ud over at hver enkelt komponent fungerer efter sine egne regler som reaktion på input. Dette er faktisk den sande forklaring på, hvordan systemet fungerer, og den er fuldstændig gennemsigtig. Det vanskeligere spørgsmål er naturligvis, hvorfor hver enkelt komponent har påtaget sig den rolle, som den har. For at forstå dette yderligere vil det være nyttigt at adskille ideen om en model fra den algoritme, der bruges til at træne den.

Modeller og algoritmer

For virkelig at komme ind på detaljerne er vi nødt til at være lidt mere præcise med hensyn til, hvad vi taler om. Harris henviser til “hvordan algoritmen opnår det, den opnår”, men der er i virkeligheden to dele her: en model – f.eks. et deep learning-system – og en læringsalgoritme – som vi bruger til at tilpasse modellen til data. Når Harris henviser til “algoritmen”, taler han formentlig om modellen, ikke nødvendigvis om, hvordan den er blevet trænet.

Hvad mener vi helt præcist med en model? Selv om det måske er lidt vagt, så indfanger en statistisk model grundlæggende de antagelser, vi gør om, hvordan tingene fungerer i verden, med detaljer, der skal læres ud fra data. En model specificerer især, hvad input er, hvad output er, og typisk hvordan vi mener, at input kan interagere med hinanden ved generering af output.

Et klassisk eksempel på en model er de ligninger, der styrer Newtons tyngdekraft. Modellen siger, at outputtet (tyngdekraften mellem to objekter) bestemmes af tre inputværdier: det første objekts masse, det andet objekts masse og afstanden mellem dem. Mere præcist siger modellen, at tyngdekraften vil være proportional med produktet af de to masser divideret med afstanden i kvadrat. Kritisk set forklarer den ikke, hvorfor disse faktorer skulle være de faktorer, der påvirker tyngdekraften; den forsøger blot at give en sparsommelig forklaring, der gør det muligt at forudsige tyngdekraften for enhver situation.

Selvfølgelig skal vi, selv hvis dette var helt korrekt, for at kunne lave en forudsigelse også kende den tilsvarende skaleringsfaktor, G. I princippet burde det dog være muligt at lære denne værdi at kende gennem observation. Hvis vi har antaget den korrekte (eller næsten korrekte) model for, hvordan tingene fungerer i virkeligheden, har vi en god chance for at kunne lære de relevante detaljer fra data.

I tilfældet med tyngdekraften viste Einstein naturligvis til sidst, at Newtons model kun var nogenlunde korrekt, og at den fejler under ekstreme forhold. For de fleste omstændigheder er Newtons model dog god nok, hvilket er grunden til, at folk var i stand til at lære konstanten G= 6,674×10^(-11) N – (m/kg)² og bruge den til at lave forudsigelser.

Einsteins model er meget mere kompleks, og der er flere detaljer, som man kan lære gennem observation. Under de fleste omstændigheder giver den omtrent den samme forudsigelse som den newtonske model ville gøre, men den er mere præcis under ekstreme omstændigheder, og den har naturligvis været afgørende for udviklingen af teknologier som GPS. Endnu mere imponerende er det, at relativitetsteoriens sekundære forudsigelser har været forbløffende, idet det f.eks. er lykkedes at forudsige eksistensen af sorte huller, før vi nogensinde kunne håbe på at teste, om de fandtes. Alligevel ved vi, at også Einsteins model ikke er helt korrekt, da den ikke stemmer overens med kvantemekanikkens modeller under endnu mere ekstreme forhold.

Gravitation er naturligvis deterministisk (så vidt vi ved). Inden for maskinlæring og statistik har vi derimod typisk at gøre med modeller, der involverer usikkerhed eller tilfældighed. For eksempel ville en simpel model for, hvor længe du kommer til at leve, være blot at forudsige gennemsnittet af befolkningen for det land, du bor i. En bedre model kunne tage hensyn til relevante faktorer, f.eks. din nuværende sundhedstilstand, dine gener, hvor meget du motionerer, om du ryger cigaretter eller ej osv. I stort set alle tilfælde vil der dog være en vis usikkerhed omkring forudsigelsen, fordi vi ikke kender alle de relevante faktorer. (Dette er naturligvis anderledes end den tilsyneladende sande tilfældighed, der forekommer på det subatomare niveau, men vi vil ikke bekymre os om den forskel her).

Udover at være en utrolig vellykket rebranding af neurale netværk og maskinlæring (i sig selv nok en ret vellykket rebranding af statistik) henviser udtrykket deep learning til en særlig type model, nemlig en model, hvor output er resultatet af en række mange enkle transformationer, der anvendes på input (meget gerne vores ledningsdiagram fra ovenfor). Selv om deep learning-modeller bestemt er komplekse, er de ikke sorte bokse. Faktisk ville det være mere korrekt at betegne dem som glaskasser, fordi vi bogstaveligt talt kan kigge ind i dem og se, hvad hver enkelt komponent gør.

Problemet er naturligvis, at disse systemer også er komplicerede. Hvis jeg giver dig et simpelt sæt regler, som du skal følge for at lave en forudsigelse, så længe der ikke er for mange regler, og reglerne i sig selv er simple, kan du ret nemt regne det fulde sæt af input-til-output-tilknytninger ud i dit hoved. Dette gælder også, om end i mindre grad, for en klasse af modeller, der er kendt som lineære modeller, hvor virkningen af at ændre et input kan fortolkes uden at kende værdien af andre input.

Dybe indlæringsmodeller involverer derimod typisk ikke-lineariteter og interaktioner mellem input, hvilket betyder, at der ikke blot ikke er nogen simpel kortlægning fra input til output, men at virkningen af at ændre et input kan afhænge kritisk af værdierne af andre input. Dette gør det meget svært mentalt at regne ud, hvad der sker, men detaljerne er ikke desto mindre gennemsigtige og helt åbne for inspektion.

Den faktiske beregning, som disse modeller udfører, når de foretager en forudsigelse, er typisk ret ligetil; hvor tingene bliver vanskelige, er i den faktiske indlæring af modelparametrene ud fra data. Som beskrevet ovenfor skal vi, når vi først har antaget en bestemt form for en model (i dette tilfælde et fleksibelt neuralt netværk), forsøge at finde frem til gode værdier for parametrene ud fra data.

I eksemplet med tyngdekraften skal vi, når vi først har antaget en “god nok” model (proportional med masse og omvendt proportional med afstanden i kvadrat), blot finde frem til værdien af en parameter (G) ved at tilpasse modellen til observationer. Med moderne deep learning-systemer kan der derimod let være millioner af sådanne parametre, der skal læres.

I praksis trænes næsten alle disse deep learning-modeller ved hjælp af en variant af en algoritme kaldet stochastic gradient descent (SGD), som tager tilfældige prøver fra træningsdataene og gradvist justerer alle parametre for at gøre det forudsagte output mere lig det, vi ønsker. Præcis hvorfor den fungerer så godt, som den gør, er stadig ikke helt forstået, men det vigtigste at huske på er, at den også er gennemsigtig.

Da den normalt initialiseres med tilfældige værdier for alle parametre, kan SGD føre til forskellige parametre, hver gang vi kører den. Selve algoritmen er dog deterministisk, og hvis vi brugte den samme initialisering og de samme data, ville den give det samme resultat. Med andre ord er hverken modellen eller algoritmen en sort boks.

Og selv om det er noget utilfredsstillende, ligger det fuldstændige svar på, hvorfor et maskinlæringssystem gjorde noget, i sidste ende i kombinationen af de antagelser, vi har gjort ved udformningen af modellen, de data, den blev trænet på, og forskellige beslutninger om, hvordan parametrene skulle læres, herunder tilfældigheden i initialiseringen.

Tilbage til sorte bokse

Hvorfor er alt dette vigtigt? Jo, der er mindst to måder, hvorpå begrebet sorte bokse er yderst relevant for maskinlæring.

For det første er der masser af algoritmer og softwaresystemer (og ikke kun dem, der er baseret på maskinlæring), som er sorte bokse for så vidt angår brugeren. Dette er måske mest almindeligt i proprietær software, hvor brugeren ikke har adgang til det indre arbejde, og hvor det eneste, vi får at se, er input og output. Det er den slags systemer, som ProPublica rapporterede om i sin dækning af algoritmer til domsafsigelse (specifikt COMPAS-systemet fra Northpointe). I det tilfælde kender vi input, og vi kan se de risikoscorer, der er givet til folk som output. Vi har imidlertid ikke adgang til den algoritme, som virksomheden har anvendt, eller de data, den er blevet trænet på. Ikke desto mindre kan man roligt sige, at nogen har adgang til detaljerne – formentlig virksomhedens ansatte – og det er højst sandsynligt helt gennemsigtigt for dem.

Den anden måde, hvorpå metaforen om sorte bokse er relevant, er med hensyn til de systemer, vi forsøger at lære, f.eks. det menneskelige syn. På nogle måder er menneskelig adfærd usædvanligt gennemsigtig, idet vi faktisk kan spørge folk, hvorfor de gjorde noget, og få forklaringer. Der er imidlertid god grund til at tro, at vi ikke altid kender de sande årsager til de ting, vi gør. Vi er langt fra gennemsigtige for os selv, men vi har simpelthen ikke bevidst adgang til mange af de interne processer, der styrer vores adfærd. Hvis vi bliver bedt om at forklare, hvorfor vi gjorde noget, kan vi måske give en fortælling, der i det mindste formidler, hvordan beslutningsprocessen føltes for os. Hvis vi derimod bliver bedt om at forklare, hvordan vi er i stand til at genkende objekter, tror vi måske, at vi kan give en slags forklaring (noget med kanter og farver), men i virkeligheden fungerer denne proces langt under bevidsthedsniveauet.

Men selv om der er særlige omstændigheder, hvor vi faktisk kan inspicere det indre arbejde i menneskelige eller andre pattedyrs systemer, f.eks. neurovidenskabelige eksperimenter, forsøger vi generelt at bruge maskinlæring til at efterligne menneskelig adfærd ved kun at bruge input og output. Med andre ord, set fra et maskinlæringssystems perspektiv er mennesket den sorte boks.

Slutning

Sammenfattende er det nyttigt at reflektere over, hvad folk ønsker, når de tænker på systemer, der ikke er sorte bokse. Folk forestiller sig typisk noget i stil med det scenarie, hvor en selvkørende bil er kørt af vejen, og vi vil gerne vide hvorfor. I den folkelige fantasi synes forventningen at være, at bilen skal have evalueret mulige udfald, tildelt dem sandsynligheder og valgt det med den bedste chance for at maksimere et eller andet bedre udfald, hvor bedre bestemmes i henhold til en slags moral, der er blevet programmeret ind i den.

I virkeligheden er det højst usandsynligt, at det er sådan, tingene vil fungere. Hvis vi snarere spørger bilen, hvorfor den gjorde, som den gjorde, vil svaret snarere være, at den anvendte en gennemsigtig og deterministisk beregning ved hjælp af værdierne af dens parametre, givet dens aktuelle input, og at dette bestemte dens handlinger. Hvis vi spørger, hvorfor den havde netop disse parametre, vil svaret være, at de er resultatet af den model, der blev valgt, de data, den blev trænet på, og detaljerne i den læringsalgoritme, der blev anvendt.

Dette virker frustrerende ubehjælpsomt, og det er let at se, hvorfor folk griber til metaforen med den sorte boks. Men tænk på, at vi faktisk ikke har denne form for adgang for de systemer, vi forsøger at efterligne. Hvis vi spørger en menneskelig bilist, hvorfor han kørte af vejen, vil han sandsynligvis være i stand til at svare sprogligt og give en eller anden redegørelse for sig selv – at han var fuld, eller distraheret, eller at han var nødt til at svinge ud, eller at han blev blændet af vejret – men bortset fra at give en form for narrativ sammenhæng ved vi ikke rigtig, hvorfor han gjorde det, og det gør han heller ikke. I det mindste kan vi med maskinlæring genskabe den samme situation og undersøge den indre tilstand. Det er måske kompliceret at forstå, men det er ikke en sort boks.