Google Translate-appen kan nå utføre sanntids visuell oversettelse mellom langt flere språk enn tidligere. (Bilde: Google via YouTube)
Facebook er blant selskapene som forsker kunstig intelligens, blant annet områder som nevrale nettverk. Nå har selskapet gjort flere av verktøyene det bruker tilgjengelige som åpen kildekode. (Bilde: Mopic/Alamy/All Over Press)

Google Translate

Plasserer et nevralt nettverk i lommen din

Oversetter restaurantmenyen for deg helt uten nettilgang.

De færreste har noe forhold til hva et nevralt nettverk er, selv om mange i alle fall indirekte bruker dette hver eneste dag. Har man en smartmobil, er det ikke usannsynlig at man finner et slik nettverk også der. Et nevralt nettverk er i stor grad en kunstig etterligning av nervevev fra biologiske hjerner.

En utbredt mobilapp som tar i bruk et lokalt, nevralt nettverk, er Google Translate-appen (Oversetter) til Android og iOS. Appen benytter dette i alle fall i forbindelse med sanntids, visuell oversettelse av tekst.

Denne uken ble denne funksjonen utvidet med støtte for 20 nye språk, i tillegg til de syv appen støttet fra før. Dette betyr at man nå kan rette kameraet på smartmobilen mot for eksempel en finskspråklig restaurantmeny og straks få oversatt teksten til norsk, eller noe som i alle fall er mer forståelig for de fleste nordmenn enn finsk.

Les også: – Nå blir oversettelser enda bedre 

Dette kan også gjøres uten nettilgang

I forbindelse et den nye versjonen av Translate-appen, har Google også utgitt et blogginnlegg som forteller hvordan dette gjøres. For selskapet har måtte løse en rekke utfordringer for å få dette til.

Selve funksjonen består grovt sett av fire trinn. Det første handler om å luke vekk alle de dele av motivet som ikke er tekst. Dette gjøres delvis ved å se på samlinger av piksler med omtrent samme farge, og som også er i nærheten av andre lignende pikselsamlinger.

Deretter må hvert av tegnene i teksten gjenkjennes. Dette er ikke som å lese bokstaver fra et ark, for teksten kan like gjerne står på en laminert og flekkete meny, som på et skitten bildør. Tegnene må kunne tolkes til tross for slike forstyrrelser.

I stedet for å trene opp det nevrale nettverket ved å la det studere fotografier av virkelig tekst, har Google utviklet en tegngenerator som kombinerer tegn med alle mulige former for kunstig «smuss». Ifølge selskapet er dette enklere enn å finne tilstrekkelig mange fotografier av tekst, på alle aktuelle språk, som har blitt utsatt for slike forstyrrelser.

Også andre: Oversetter Skype-samtaler i sanntid 

Ordbokoppslag

Så snart tegnene har blitt gjenkjent, så må appen slå opp i ordbøker for å finne ordet de potensielt representeres. Dette må gjøres uten altfor mye nøyaktighet, siden man må ta hensyn til at noen av tegnene i ordet kan ha blitt feiltolket. For eksempel er det fort gjort å forveksle tegn som 5 eller $ med S, dersom teksten har en skittflekk og kanskje er skrevet med en skrifttype hvor disse tegnene er nokså like.

For å gjøre dette uten nettilgang må ordbøker for de aktuelle språkene lastes ned på forhånd av brukeren.

Til slutt tegnes den oversatte teksten inn i bildet som overføres direkte fra mobilkameraet til skjermen, med en stil som ligner med den opprinnelige teksten, ofte samtidig som at kameraet flyttes og motivene endres.

Lest du denne? Dette skjer når kunstig intelligens får dagdrømme

Underskudd av regnekraft

– Dersom vi kunne ha gjort dette i datasentrene våre, hadde det ikke vært så vanskelig. Men mange brukerne våre, spesielt dem som nettopp har tatt i bruk nettet, har ganske trege nettverksforbindelser og smartmobiler med underskudd av regnekraft. Disse enkle telefonene kan være 50 ganger tregere enn en god laptop – og en god laptop er igjen mye tregere enn de datasentrene hvor vi typisk kjører våre systemer for bildegjenkjenning, skriver Otavio Good, en programvareingeniør som jobber med Google Translate, i blogginnlegget.

Good forteller at disse kravene har ført til at det nevrale nettverket som benyttes er svært lite. Translate-gruppen har også måtte sette strenge grenser for hvor mye opplæring nettverket har kunnet få. Utfordringen på dette området har ifølge Good vært å skape så effektive treningsdata som mulig, for så å teste gjentatte ganger med små endringer i algoritmene, inntil får best mulig resultat.

Får å kunne gjøre det hele i sanntid, har Translate-teamet i stor grad håndkodet matematikkoperasjonene.

– Det betyr at bruk av prosessorens SIMD-instruksjoner og tuning av slikt som matrisemultiplisering for å tilpasse prosesseringen til alle nivåer av cacheminnet, forteller Good. Resultatet var bedre resultater uten særlig reduksjon i ytelsen.

Læres opp til å snakke naturlig språk: «Matet» kunstig intelligens med klassiske filmer 

Til toppen