Over hodet på personen foran TV-en står en liten elefant med en ramme rundt kroppen. På rammen står «chair».
Elefanten er limt inn i et fotografi av en stue. I en annen versjon av bildet står den lenger til venstre, ved gardinene, og har fått navnet «elephant». Det er det samme dyret, med de samme ørene og den samme snabelen.
Faster R-CNN med NASNet merker den samme elefanten som «elephant» og «chair» på de to plasseringene.
I 2018 brukte Amir Rosenfeld og to kolleger slike innliminger til å undersøke bildegjenkjenning. De testet Faster R-CNN med NASNet, et nevralt nettverk: en beregning med mange justerbare tall. Da de flyttet elefanten, forsvant eller endret også merkelapper andre steder i stua seg.
Stolen er lett å le av. Men ved gardinene klarte programmet å gi dyret rett navn, og det gjør feilen mer interessant enn om det aldri hadde gjenkjent en elefant. Noe skjer når dyret flyttes inne i det samme rommet.
Rammen rundt kroppen får det til å se ut som om programmet først har skilt ut elefanten og deretter undersøkt den. Slik vi kunne klippet den ut med en saks. Men rammen viser hvor programmet plasserer svaret sitt, ikke hvor i bildet det fant grunnlaget for å svare.
Bildesamlingen systemet var trent på, heter COCO, en forkortelse for Common Objects in Context. De som samlet den, hadde bevisst lett etter fotografier hvor ting opptrer sammen. Søker du etter en hund, får du gjerne et stort dyr midt i bildet. De søkte i stedet etter hund og bil sammen, og fant dermed flere situasjoner med mange gjenstander og uvante synsvinkler.
Så måtte mennesker gå gjennom fotografiene, merke hvilke slags ting som fantes der, finne hver enkelt av dem og tegne rundt dem.
En merkelapp som sier «elefant», forteller imidlertid bare hva svaret skal være. Den sier ingenting om hvor mye snabelen skal telle, eller om gardinene skal telle i det hele tatt. Nettverket får vite når det har svart feil, uten å få en forklaring på hvilke egenskaper ved bildet det burde ha sett etter.
De justerbare tallene i nettverket kalles vekter og bestemmer hvordan signaler kombineres gjennom beregningen. Under treningen sammenlignes forslagene med menneskenes merking: Har nettverket valgt riktig kategori, og hvor godt passer rammen det foreslår? Avvikene samles i et mål på feil, og så regnes det bakover gjennom nettverket for å finne hvordan små endringer i vektene vil påvirke dette målet. Vektene justeres i en retning som skal redusere feilen. Deretter kommer flere eksempler og nye justeringer.
Forskerne slipper å skrive en uttømmende liste over alt som kan gjøre en elefant gjenkjennelig. De lar beregningen formes av eksemplene, gjennom et arbeid som går ut på å redusere feilene som måles. Det sikrer ikke at nettverket vil legge vekt på det samme som oss.
Når treningen er over og systemet får et nytt bilde, bruker det vektene til å beregne et svar. Det følger ingen ny fasit med bildet som automatisk retter dem.
Nå må det fungere på bilder det ikke er blitt justert etter. Det er dette som kalles generalisering, og det er her vi får vite om treningen har gjort systemet nyttig utenfor bildesamlingen.
I Faster R-CNN går først hele fotografiet gjennom lag av beregninger med de trente vektene. Fargeverdiene i originalbildet blir til tall som uttrykker reaksjoner på mønstre, samlet i det som kalles egenskapskart. Senere beregninger kombinerer reaksjoner fra tidligere lag. Slik kan informasjon fra stadig større deler av fotografiet møtes underveis.
Fra disse kartene foreslår én del av systemet områder som kan inneholde gjenstander, mens en annen bruker områdene til å beregne kategorier og mer presise rammer. De deler beregninger over bildet. Elefanten blir altså ikke klippet ut av originalfotografiet før den får et navn.
Når programmet kommer så langt som til å vurdere området rundt kroppen, kan omgivelsene allerede være blandet inn. Rammen rundt dyret avgrenser ikke hva som har påvirket svaret. Programmet kan ha brukt langt mer av stua enn rammen lar oss se.
Programmet kan ha lært at det pleier å stå stoler i stuer. Men forskerne isolerte ingen enkelt årsak til stol-resultatet, så vi vet ikke om det var denne sammenhengen som gjorde utslaget.
En flytting kan endre beregningen lenge før det er meningsfullt å snakke om stuer og elefanter. Mange bildenettverk gjør egenskapskartene mindre ved å beholde verdier med bestemte mellomrom. En skarp reaksjon på et mønster kan dermed treffe et punkt som beholdes i én plassering, men falle mellom punktene i en annen. Da har selve flyttingen endret hva som kommer videre gjennom nettverket.
I egne forsøk viste Aharon Azulay og Yair Weiss at en flytting på ett eneste piksel kunne være nok til å endre kategorien flere bildenettverk ga et bilde. Bildet kan se nesten uendret ut for oss, mens beregningen likevel gir et annet svar.
Det er derfor ikke likegyldig hva slags nye bilder vi prøver systemet på. Enda et fotografi med lignende utsnitt og belysning er en annen prøve enn et dyr flyttet inn i en stue. Vi kan få gode grunner til å stole på den første bruken og fortsatt vite lite om den andre.
Forsøket fra 2018 gjaldt bestemte systemer og avgjør ikke hva alle dagens bildemodeller kan. At et program gjenkjenner en elefant på ett sted i bildet, garanterer ikke at det gjenkjenner den når omgivelsene endres.
Forskerne behøvde ikke gjøre elefanten mer lik en stol. De flyttet den.