Hur fungerar ansiktsigenkänning egentligen?

2019-08-22 14:00  
Våra hjärnor omvandlar data i den här bilden till information: vi identifierar ett ansikte. På ett liknande sätt kan artificiell intelligens numera också göra det. Foto: Skyscanner/REX

Hur kan artificiell intelligens känna igen ett ansikte? Jo, så här.

Ansiktsigenkänning i stor skala blev möjligt tack vare den djupa maskininlärningens genombrott i början av det här årtiondet.

Djup maskininlärning eller djupa neurala nätverk handlar om ett datorprogram som lär sig på egen hand. Att det kallas ”neuralt” eller ”neuronnät” kommer sig av att tekniken är inspirerad den mänskliga hjärnans egenskaper för att omvandla data till information. Det är en variant av det bredare begreppet maskininlärning, som i sin tur är en del av det vi kallar artificiell intelligens.

Med djup maskininlärning serveras en algoritm träningsdata och spottar ut ett resultat. Men på vägen mellan dessa två tolkar algoritmen signalerna – alltså träningsdata – i ett antal lager. För varje nytt lager ökar graden av abstraktion.

Läs mer: Svensk ansiktsteknik lockar internationella storbolag

Säg att du vill bygga ett djupt neuralt nätverk som kan skilja olika ansikten åt eller som kan avgöra vilka ansikten som är identiska. Träningsdata bör då vara ett stort antal bilder på ansikten (ju större dataset, desto mer pricksäkert blir nätverket, åtminstone i teorin). Dels på olika ansikten, men också många bilder på samma ansikte.

Mätvärden är unika för varje ansikte

En dator ”ser” naturligtvis inte ett ansikte på bilden, utan ett antal värden som representerar olika pixlar. Med pixlarna som underlag lär sig det djupa neurala nätverket att hitta mönster. För varje lager som passeras i nätverket blir vissa mönster mer intressanta (starkare signal mellan ”neuronerna” i nätverket) medan andra nonchaleras (svagare signal). Under träningen ändras det som ai-forskare kallar ”vikterna” på de olika signalerna för att allt bättre producera det önskade resultatet.

Första, andra och hundrade gången algoritmen genomför den här proceduren brukar resultatet inte vara så bra, men så småningom kan nätverket uppnå imponerande resultat. På ett sätt kan man säga att nätverket lärt sig abstrahera och generalisera, från råa pixelvärden till klassificering av olika människors ansikten.

Men det är kanske inte vad vi människor tänker på när vi använder begrepp som generalisering: det rör sig snarare om att nätverket klurat ut ett antal mätvärden som är unika för varje ansikte. Serveras det färdigtränade nätverket en ny bild på ett ansikte kan nätverket matcha det ansiktets mätvärden mot ansikten på andra bilder. Genererar nätverket ungefär samma värden för olika bilder är det sannolikt samma person på båda bilderna.

Läs mer: Löftet från svenska bolaget: ”anonym ansiktsigenkänning”

Det kallas djup maskininlärning eftersom en sådan modell kan använda flera – ibland hundratals – lager. Där finns också en symbolisk mening på så vis att vi människor inte riktigt kan begripa hur datorprogrammet gör för att hitta mönster. Det opererar så att säga djupt, under ytan.

Även om algoritmerna utvecklas och raffineras allt eftersom är det egentligen två andra orsaker bakom de djupa neurala nätverkens genombrott: tillgång till stora dataset och billig beräkningskraft, framförallt i form av grafikkort som tidigare mest var förknippat med datorspel.

Man kan också ha i åtanke att den ovan beskrivna metoden för klassificeringsändamål bara är en av många. Men den är vanligt förekommande.

Peter Ottsjö

Kommentarer

Välkommen att säga din mening på Ny Teknik.

Principen för våra regler är enkel: visa respekt för de personer vi skriver om och andra läsare som kommenterar artiklarna. Alla kommentarer modereras efter publiceringen av Ny Teknik eller av oss anlitad personal.

  Kommentarer

Debatt