Microsoft vs Google - Vem leder det artificiella intelligenslottet?

Microsoft vs Google - Vem leder det artificiella intelligenslottet? / Framtida Tech

AI är tillbaka.

För första gången sedan 1980-talet gör artificiella intelligensforskare konkreta framsteg på hårda problem, och folk börjar prata allvarligt om starkt AI igen. Under tiden har vår alltmer datadrivna värld sparkat upp en vapenrace mellan företag som vill tjäna pengar på den nya intelligensen, särskilt i mobilutrymmet.

De två titanerna som leder paketet är Google och Microsoft. Den första striden? En ny domän i artificiell intelligens kallas “Djup lärning.”

Så vem vinner?

Google Brain

Googles forskningsinsatser har varit centrerade kring ett projekt som heter "Google Brain". Google Brain är en produkt av Googles berömda / hemliga "Google X" -forskningslaboratorium, som ansvarar för moon-shot-projekt med låga odds för framgång, men med mycket hög potential. Andra produkter från Google X inkluderar Project Loon, ballongens internetinitiativ och Googles självdrivna bilprojekt. Här är hur vi ska komma till en värld fylld med förare utan bil. Så här kommer vi till en värld fylld med förare utan bil. Driving är en tråkig, farlig och krävande uppgift. Kan det idag automatiseras av Googles drivlösa bilteknik? Läs mer .

Google Brain är ett enormt maskininlärningsinitiativ som i första hand syftar till bildbehandling, men med mycket större ambitioner. Projektet startades av Stanford professor Andrew Ng, en maskinlärande expert som sedan har lämnat projektet för att arbeta för Baidu, Kinas största sökmotor.

Google har en lång historia av medverkan i AI-forskning. Matthew Zeiler, VD för en maskinvisuell igångsättning, och en praktikant som arbetade på Google Brain uttrycker det så här:

“Google är inte riktigt ett sökföretag. Det är ett maskinlärande företag [...] Allt i företaget drivs verkligen av maskininlärning.”

Målet med projektet är att hitta sätt att förbättra djupinlärningsalgoritmer för att konstruera neurala nätverk som kan hitta djupare och mer meningsfulla mönster i data med mindre bearbetningskraft. För detta ändamål har Google aggressivt köpt upp talang i djupt lärande, vilket gör förvärv som inkluderar 500 miljoner dollar inköp av AI-uppstart DeepMind.

DeepMind var orolig över tillämpningarna av deras teknik att de tvingade Google att skapa en etikettbräda som utformats för att förhindra att deras programvara förstör världen. Här är varför forskare tror att du borde vara orolig för artificiell intelligens. Här är varför forskare tror att du borde vara orolig för artificiell intelligens Tror du att artificiell intelligens är farlig? Kan AI utgöra en allvarlig risk för mänskligheten. Det här är några anledningar till varför du kanske vill vara orolig. Läs mer . DeepMind hade ännu inte släppt sin första produkt, men företaget anställde en betydande del av alla djupt lärande experter i världen. Hittills har deras enda offentliga demo av deras teknik varit en leksak AI som verkligen är riktigt bra på Atari.

Eftersom djupt lärande är ett relativt nytt fält har det inte varit dags att producera en stor generation av experter. Som ett resultat är det ett mycket litet antal personer med kompetens inom området, och det betyder att det är möjligt att få stor fördel i fältet genom att anställa alla inblandade.

Google Brain har hittills tillämpats på Android: s röstigenkänningsfunktion och att automatiskt katalogisera StreetView-bilder och identifierar viktiga funktioner som adresser. Ett tidigt test var det kända kattexperimentet, där ett Google deep learning-nätverk automatiskt lärde sig identifiera katter i Youtube-videor med en högre noggrannhet än den tidigare toppmoderna tekniken. I sitt papper om ämnet sätter Google det så här:

“I motsats till vad som verkar vara en allmänt hållen intuition avslöjar våra experimentella resultat att det är möjligt att träna en ansiktsdetektor utan att behöva märka bilder som ett ansikte eller inte [...] Nätverket är känsligt för koncept på hög nivå, t.ex. katt ansikten och mänskliga kroppar. Med utgångspunkt från dessa lärda egenskaper utbildade vi den för att få 15,8 procent noggrannhet vid erkännande av 20 000 objektkategorier, ett steg på 70 procent relativ förbättring jämfört med tidigare tidigare [nätverk].”

Så småningom vill Google att dess djupa inlärningsalgoritmer ska göra ... ja, så mycket, faktiskt. Kraftfulla AI-plattformar som IBMs Watson är beroende av denna typ av maskininlärningsalgoritmer på låg nivå, och förbättringar på den här fronten gör det övergripande området för AI som är mycket kraftfullare.

En framtida version av Google Now, som drivs av Google Brain, kunde identifiera både tal och bilder och ge intelligenta insikter om den dataen för att hjälpa användarna att fatta smartare beslut. Googles hjärna kan förbättra allt från sökresultat till Google Translate.

Microsoft Adam

Microsofts inställning till det djupa inlärningskriget har varit lite annorlunda. I stället för att försöka köpa upp experter med djup inlärning för att förfina sina algoritmer har Microsoft fokuserat på att förbättra implementeringen och hitta bättre sätt att parallellisera de algoritmer som används för att tåg djupa inlärningsalgoritmer.

Detta projekt heter “Microsoft Adam.” Deras tekniker reducerar överflödig beräkning, vilket fördubblar kvaliteten på resultaten medan färre processorer använder sig av dem. Detta har lett till imponerande tekniska prestationer, inklusive ett nätverk som kan känna igen enskilda raser av hundar från fotografier med hög noggrannhet.

Microsoft beskriver projektet så här:

Målet med Project Adam är att möjliggöra programvara för att visuellt identifiera något objekt. Det är en lång order, med tanke på det enorma neurala nätverket i mänskliga hjärnor som möjliggör sådana sammanslutningar via trillioner av anslutningar. [...] Med 30 gånger färre maskiner än andra system användes [Internet image data] för att utbilda ett neuralt nätverk upp på mer än två miljarder anslutningar. Denna skalbara infrastruktur är dubbelt mer exakt i dess objektigenkänning och 50 gånger snabbare än andra system.

Den uppenbara applikationen för denna teknik är i Cortana, Microsofts nya virtuella assistent. Hur Cortana blev den "andra kvinnan" i mitt liv. Hur Cortana blev den "andra kvinnan" i mitt liv. Hon verkade en dag och förändrat mitt liv. Hon vet exakt vad jag behöver och har en ond humor. Det är inte konstigt att jag har fallit för Cortanas charm. Läs mer, inspirerad av AI-karaktären i Halo. Cortana, som syftar till att konkurrera med Siri, kan göra ett antal kloka saker, med hjälp av sofistikerade taligenkänningstekniker.

Designmålet är att bygga en assistent med mer naturlig interaktion och kan utföra en bredare uppsättning användbara uppgifter för användaren, något som djupt lärande skulle hjälpa till med enormt.

Microsofts förbättringar på baksidan av djupt lärande är imponerande och har lett till att applikationer inte tidigare varit möjliga.

Hur djupt lärande fungerar

För att förstå problemet lite bättre, låt oss ta en minut för att förstå denna nya teknik. Djupinlärning är en teknik för att bygga intelligent programvara, ofta applicerad på neurala nätverk. Det bygger stora, användbara nätverk genom att lägga i enklare neurala nätverk, varje funktionsmönster i utgången från föregångaren. För att förstå varför detta är användbart är det viktigt att titta på vad som kom före djupt lärande.

Backpropagating Neural Networks

Den underliggande strukturen hos ett neuralt nätverk är faktiskt ganska enkelt. Varje "neuron" är en liten nod som tar en inmatning, och använder interna regler för att bestämma när till “brand” (producera produktionen). Ingångarna som matar in i varje neuron har “vikter” - multiplikatorer som kontrollerar om signalen är positiv eller negativ och hur stark.

Genom att ansluta dessa neuroner tillsammans kan du bygga ett nätverk som emulerar någon algoritm. Du matar in dina ingångar till de ingående neuronerna som binära värden, och mäter värdet för utgångsneuronerna för att få utmatningen. Som sådant är tricket till neurala nätverk av någon typ att ta ett nätverk och hitta den uppsättning vikter som bäst approximerar den funktion du är intresserad av.

Backpropagation, den algoritm som används för att träna nätverket baserat på data, är mycket enkelt: du startar ditt nätverk med slumpmässiga vikter och försök sedan klassificera data med kända svar. När nätverket är fel kontrollerar du varför det är fel (producerar en mindre eller större effekt än målet) och använder den informationen för att dämpa vikterna i en mer användbar riktning.

Genom att göra det om och om igen, för många datapunkter lär nätverket att klassificera alla dina datapunkter på rätt sätt, och förhoppningsvis att generalisera nya datapunkter. Den viktigaste inblicken i backpropagationsalgoritmen är att du kan flytta feldata bakåt genom nätverket och byta varje lager baserat på de förändringar du gjorde i det sista laget, vilket gör att du kan bygga nätverk flera lager djupt, vilket kan förstå mer komplicerade mönster.

Backprop uppfanns 1974 av Geoffrey Hinton, och hade den anmärkningsvärda effekten att göra neurala nätverk användbara för breda applikationer för första gången i historien. Triviala neurala nätverk har funnits sedan 50-talet, och ursprungligen implementerades med mekaniska, motordrivna neuroner.

Ett annat sätt att tänka på backpropalgoritmen är som en explorer på ett landskap av möjliga lösningar. Varje neuronvikt är en annan riktning där den kan utforska, och för de flesta neurala nätverk finns det tusentals av dessa. Nätverket kan använda sin felinformation för att se vilken riktning den behöver flytta in och hur långt, för att minska felet.

Det börjar på en slumpmässig punkt, och genom att kontinuerligt samråda med sin felkompass flyttas "nedförsbacke" i riktning mot färre fel, så småningom avgörande längst ner i närmaste dal: bästa möjliga lösningen.

Så varför använder vi inte backpropagation för allt? Tja, backprop har flera problem.

Det allvarligaste problemet kallas försvinnande gradientproblem. I grund och botten, när du flyttar feldata tillbaka genom nätverket blir det mindre meningsfullt varje gång du går tillbaka ett lager. Att försöka bygga mycket djupa neurala nätverk med backpropagation fungerar inte, eftersom felinformationen inte kommer att kunna penetrera tillräckligt djupt i nätverket för att träna de lägre nivåerna på ett användbart sätt.

Ett andra, mindre allvarligt problem är att neurala nätverk bara konvergerar till lokala optima: ofta blir de fångade i en liten dal och saknar djupare, bättre lösningar som inte ligger nära deras slumpmässiga utgångspunkt. Så, hur löser vi dessa problem?

Deep Belief Networks

Djupa tron ​​nätverk är en lösning på båda dessa problem, och de bygger på tanken på att bygga nätverk som redan har insikt i problemets struktur och sedan raffinera dessa nätverk med backpropagation. Det här är en form av djupt lärande och det som används gemensamt av både Google och Microsoft.

Tekniken är enkel och bygger på ett slags nätverk som heter a “Begränsad Boltzman Machine” eller “RBM”, som bygger på vad som är känt som oövervakat lärande.

Begränsade Boltzman-maskiner, i ett nötskal, är nätverk som helt enkelt försöker komprimera de data de ges, snarare än att försöka uttryckligen klassificera den enligt träningsinformation. RBMs tar en samling datapunkter och utbildas i enlighet med deras förmåga att reproducera dessa datapunkter från minnet.

Genom att göra RBM mindre än summan av all data som du frågar om att koda, tvingar du RBM att lära sig strukturella regelbundenhet om data för att lagra allt på mindre utrymme. Detta lärande av djup struktur gör att nätverket kan generaliseras: Om du tränar en RBM för att reproducera tusen bilder av katter kan du sedan mata in en ny bild i det - och genom att titta på hur energisk nätverket blir ett resultat kan du räkna ut huruvida den nya bilden innehöll en katt eller inte.

Inlärningsreglerna för RBMs liknar funktionen hos äkta neuroner i hjärnan på viktiga sätt som andra algoritmer (som backpropagation) inte gör. Som ett resultat kan de ha saker att lära forskare om hur det mänskliga sinnet fungerar. Tänkande maskiner: Vilken neurovetenskap och artificiell intelligens kan lära oss om medvetenhet Tänkande maskiner: Vilken neurovetenskap och artificiell intelligens kan lära oss om medvetenhet Kan bygga konstgjorda intelligenta maskiner och program lär oss om medvetandet och det mänskliga sinnets natur själv? Läs mer .

En annan snygg egenskap hos RBM är att de är “konstruktiv”, vilket innebär att de kan också springa i omvända, arbetar bakåt från en högnivåfunktion för att skapa imaginära ingångar som innehåller den funktionen. Denna process kallas “drömma.”

Så varför är detta användbart för djupt lärande? Jo, Boltzman Machines har allvarliga skaleringsproblem - ju djupare du försöker göra, desto längre tid tar det att träna nätverket.

Nyckeln till djupa trossnätverk är att du kan stapla tvåskikts RBM tillsammans, var och en utbildad för att hitta struktur i utgången från föregångaren. Detta är snabbt och leder till ett nätverk som kan förstå komplicerade, abstrakta egenskaper hos data.

I en bildigenkänningsuppgift kan det första skiktet lära sig att se linjer och hörn, och det andra laget kan lära sig att se kombinationerna av de linjer som utgör funktioner som ögon och näsor. Det tredje skiktet kan kombinera dessa funktioner och lära känna igen ett ansikte. Genom att omvandla detta nätverk till back-propagation kan du bara hänga in på de funktioner som relaterar till kategorierna du är intresserad av.

På många sätt är det här en enkel fix till backpropagation: det låter backprop “fuska” genom att starta det med en massa information om det problem som det försöker lösa. Detta hjälper nätverket att nå bättre minima, och det säkerställer att de lägsta nätnivåerna utbildas och gör något användbart. Det är allt.

Å andra sidan har djupa inlärningsmetoder skapat dramatiska förbättringar i maskinens inlärningshastighet och noggrannhet och är nästan ensam ansvarig för den snabba förbättringen av tal till textprogramvara de senaste åren.

Race för Canny Computers

Du kan se varför allt detta är användbart. Ju djupare du kan bygga nätverk, desto större och mer abstrakta begrepp som nätverket kan lära.

Vill du veta om ett e-postmeddelande är spam? För de kloka spammarna är det svårt. Du måste faktiskt läsa e-postmeddelandet och förstå några av avsikten bakom det. Försök att se om det finns ett förhållande mellan avsändare och mottagare och dra av mottagarens avsikter. Du måste göra allt som bygger på färglösa strängar av bokstäver, varav de flesta beskriver begrepp och händelser som datorn inte vet om.

Det är mycket att fråga om någon.

Om du ombads att lära dig att identifiera skräppost på ett språk som du inte redan talat, gav bara några positiva och negativa exempel, skulle du göra mycket dåligt - och du har en mänsklig hjärna. För en dator har problemet varit nästan omöjligt, fram till väldigt nyligen. Det är de insikter som djupt lärande kan ha, och det kommer att bli otroligt kraftfullt.

Just nu, Microsofts vinnande den här tävlingen med ett hår. I det långa loppet? Det är någons gissning.

Bildkrediter: “Dator AI“, av Simon Liu, “Bullfrog“, av Brunop, “Kompass Top“, av airguy1988, “Freer än gratis,” av opensource.com

Utforska mer om: Konstgjord intelligens.