Hur Google 'översätter' bilder till ord med hjälp av vektorrymdmatematik

Att översätta ett språk till ett annat har alltid varit en svår uppgift. Men under de senaste åren har Google förändrat denna process genom att utveckla maskinöversättningsalgoritmer som förändrar karaktären på tvärkulturell kommunikation genom Google Translate.





Nu använder det företaget samma maskininlärningsteknik för att översätta bilder till ord. Resultatet är ett system som automatiskt genererar bildtexter som korrekt beskriver innehållet i bilder. Det är något som kommer att vara användbart för sökmotorer, för automatiserad publicering och för att hjälpa synskadade att navigera på webben och, faktiskt, världen i stort.

Den konventionella metoden för språköversättning är en iterativ process som börjar med att översätta ord individuellt och sedan ändra ordningen på orden och fraserna för att förbättra översättningen. Men på senare år har Google utarbetat hur man kan använda sin massiva sökdatabas för att översätta text på ett helt annat sätt.

Tillvägagångssättet är i huvudsak att räkna hur ofta ord förekommer bredvid, eller nära, andra ord och sedan definiera dem i ett abstrakt vektorrum i förhållande till varandra. Detta gör att varje ord kan representeras av en vektor i detta utrymme och meningar kan representeras av kombinationer av vektorer.



Google fortsätter med att göra ett viktigt antagande. Detta är att specifika ord har samma relation till varandra oavsett språk. Till exempel bör vektorn kung - man + kvinna = drottning gälla på alla språk.

Det gör språköversättning till ett problem med vektorrumsmatematik. Google Translate närmar sig det genom att förvandla en mening till en vektor och sedan använda den vektorn för att generera motsvarande mening på ett annat språk.

Nu använder Oriol Vinyals och kompisar på Google ett liknande tillvägagångssätt för att översätta bilder till ord. Deras teknik är att använda ett neuralt nätverk för att studera en datauppsättning med 100 000 bilder och deras bildtexter och så lära sig hur man klassificerar innehållet i bilder.



Men istället för att producera en uppsättning ord som beskriver bilden, producerar deras algoritm en vektor som representerar förhållandet mellan orden. Denna vektor kan sedan kopplas in i Googles befintliga översättningsalgoritm för att producera en bildtext på engelska, eller faktiskt på något annat språk. I själva verket har Googles maskininlärningsmetod lärt sig att översätta bilder till ord.

För att testa effektiviteten av detta tillvägagångssätt använde de mänskliga utvärderare som rekryterats från Amazons Mechanical Turk för att betygsätta bildtexter som genereras automatiskt på detta sätt tillsammans med de som genereras av andra automatiserade tillvägagångssätt och av människor.

Resultaten visar att det nya systemet, som Google kallar Neural Image Caption, klarar sig bra. Genom att använda en välkänd datauppsättning av bilder som kallas PASCAL, överträffade Neural Image Capture klart andra automatiserade metoder. NIC gav ett BLEU-poäng på 59, att jämföras med det nuvarande toppmoderna på 25, medan mänsklig prestation når 69, säger Vinyals och co.



Det är inte dåligt och tillvägagångssättet ser ut att bli bättre i takt med att storleken på träningsdatauppsättningarna ökar. Det är tydligt från dessa experiment att när storleken på tillgängliga datauppsättningar för bildbeskrivning ökar, så kommer prestanda för metoder som NIC att öka, säger Google-teamet.

Uppenbarligen är detta ännu en uppgift för vilken dagarna av mänsklig överhöghet över maskiner är räknade.

Ref: arxiv.org/abs/1411.4555 : Visa och berätta: En neural bildtextgenerator



Dölj